/*
 * おすすめ商品ナビダイアログ(ページ内ウィンドウ)用 JavaScript
 *
 * Library: prototype Window Class v1.3、prototype v1.5.1-rc3
 *
 */

/*-------------------------------------------------------------------------------------------------*
 * globals
 *-------------------------------------------------------------------------------------------------*/
var CGIurl = "/rinnai_life/navi/cgi-bin/navi.cgi" ; // おすすめ商品ナビ用CGI
var win;     // 設問ウィンドウオブジェクト用
var owin;    // 特長/ラインアップウィンドウオブジェクト用
var moveEvent;


/*-------------------------------------------------------------------------------------------------*/
// functions.
/*-------------------------------------------------------------------------------------------------*/
/*-------------------------------------------------------------------*/
// window functions.
/*-------------------------------------------------------------------*/
/*-------------------------------------------*/
// ページ内に設問ウィンドウを生成 
// 引数：おすすめナビTOPで選択した商品カテゴリ
/*-------------------------------------------*/
function pwlopenWin(category){

  // ウィンドウの初期化
  initopenWin();

    // ウィンドウオブジェクトの生成
    win = new Window( "naviwin",                  // ウィンドウID
                          {title: "おすすめ商品ナビ", // オプション：タイトル
                          className: "dialog",    // クラス名
                          top:0,                  // ウィンドウの表示Y座標（上）
                          left:0,                 // ウィンドウの表示X座標（左）
                          width:430,              // 横幅
                          height:320,             // 縦幅
                          zIndex:10150,             // 
                          resizable:false,        // リサイズ可能フラグ（true/false : リサイズ可能/不可）
                          draggable:true,         // ドラッグ可能フラグ（true/false : リサイズ可能/不可）
                          closable:false,          // クローズ可能フラグ（true/false : 可能/不可）
                          minimizable:true,       // 最小化ボタン（true/false : ボタンあり/なし）
                          maximizable:false       // 最大化ボタン（true/false : ボタンあり/なし）
                          }
                        );

    // ウィンドウが閉じられたらウィンドウ情報（ウィンドウオブジェクト）も破棄
    // これを指定しないと内部ではウィンドウ情報が残ったままになる
    win.setDestroyOnClose();
 
    // ウィンドウの表示(モーダルモード（[true]する、[false or 省略]しない）)
    //win.showCenter(false,0,0); // 使えればBEST
    win.show();
  
  // ウィンドウに設問を表示
  // wh or kitchen or remocon or tv
  date = new Date;
  time = date.getTime();
  loadXmlQuestion({"mode":"js","cat":category, "rand":time});

  // 特長/ラインナップウィンドウ自動起動
  outsideWindow();
  
  
}


/*-------------------------------------------*/
// ページ内に特長/ラインナップウィンドウを生成 
// 引数：おすすめナビTOPで選択した商品カテゴリ
/*-------------------------------------------*/
function outsideWindow(){

  // ウィンドウオブジェクトの生成
  owin = new Window( "owin",                  // ウィンドウID
                        {title: "特長及びラインナップ",           // オプション：タイトル
                        className: "dialog",  // クラス名
                        top:0,                // ウィンドウの表示Y座標（上）
                        left:280,             // ウィンドウの表示X座標（左）
                        width:716,            // 横幅
                        height:500,           // 縦幅
                        zIndex:10100,         // ウィンドウ表示順
                        resizable:false,      // リサイズ可能フラグ（true/false : リサイズ可能/不可）
                        draggable:true,       // ドラッグ可能フラグ（true/false : リサイズ可能/不可）
                        closable:false,       // クローズ可能フラグ（true/false : 可能/不可）
                        minimizable:true,     // 最小化ボタン（true/false : ボタンあり/なし）
                        maximizable:false     // 最大化ボタン（true/false : ボタンあり/なし）
                        }
                      );

  // ウィンドウが閉じられたらウィンドウ情報（ウィンドウオブジェクト）も破棄
  // これを指定しないと内部ではウィンドウ情報が残ったままになる
  owin.setDestroyOnClose();

  // ウィンドウの表示(モーダルモード（[true]する、[false or 省略]しない）)
  owin.show();

  return(owin);

}


/*-------------------------------------------*/
// ウィンドウの初期化を行う 
/*-------------------------------------------*/
function initopenWin(){
   // 既にウィンドウが起動していたらウィンドウを初期化
   // 常にウィンドウは設問と特長/ラインアップを重複させない
   if (typeof(owin) != 'undefined' ) {
      owin.setDestroyOnClose();
   }
   if (typeof(win) != 'undefined' ) {
      win.setDestroyOnClose();
  }
  // ウィンドウを終了
  Windows.closeAll();
}


/*-------------------------------------------------------------------*/
// submit functions.
/*-------------------------------------------------------------------*/
/*-------------------------------------------*/
// Ajaxによる情報の取得
// 引数：params :設問/回答IDの履歴をサーバー側で制御
/*-------------------------------------------*/
function loadXmlQuestion(params){
  // サーバーへ要求を行う
  win.setAjaxContent(
    CGIurl,                      // URLはサーバー上のCGIへのパスの指定(XML等の指定)
    { method: "get",             // 通信メソッドの指定
      parameters: params,        // CGIへのパラメータ指定
      asyncflag : "false",       // 非同期通信フラグ (true/false : 非同期/同期)
      onComplete:function(httpObj){
        setHTMLQuestion(httpObj.responseText);  // TEXTでデータを取得しセット
      },
      on404:function(httpObj){//通信失敗時の処理
        alert("サーバーとの接続が出来ません。(" + httpObj.status + " : " +  httpObj.statusText + "])");
        initopenWin();
      },
      onFailure:function(httpObj){//サーバー側での処理が失敗の時
        alert("サーバー内部エラー(" + httpObj.status + " : " +  httpObj.statusText + "])");
        initopenWin();
      }
   },
   false,   // Window センタリング（true/false : する/しない）
   false    // Window modal Mode（true/false : modal/nomal）
  );
}

/*-------------------------------------------*/
// おすすめナビの２つのウィンドウを閉じて
// 検索結果の商品のぺージを表示する。
// 引数：params :設問/回答IDの履歴をサーバー側で制御
/*-------------------------------------------*/
function jumpLineUpPage(linupurl){
  initopenWin();
  location.href=linupurl;
}
/*-------------------------------------------------------------------*/
// create html functions.
/*-------------------------------------------------------------------*/
/*-------------------------------------------*/
// 設問のHTML生成
// 引数：responseData:動的生成された設問HTML
/*-------------------------------------------*/
function setHTMLQuestion(responseData){
  // レスポンスデータのHTMLを設問ウィンドウにセット
  win.getContent().innerHTML = responseData;
}


