// JScript ファイル
//出発地WebService関連するjavascript

//タイトルインフォメーションを保存する変数。
var titleInfo;

//出発地onchangeイベント
function departureOnChange(departureSelect)
{
    //show背景用div、二回submitを防ぐ。
    showShadow();
    //style(ツアー詳細条件検索用とか通用検査条件として使うとか判断する変数)
    var style= $get("conditionStyle").value;
    //画面すべての条件の値を取る。
    var pageValues=getValus();
    //検索結果画面なら。
    if($get("conditionMode").value=="2")
    {
        //在庫カレンダー移動カウントを設定する。
        document.getElementById("arrowCnt").value="0";
        //flash移動カウントを設定する。
        document.getElementById("flashCnt").value="0";
        //---(ASN蛭子井 一覧表示形式切り替え時条件破棄障害対応（検索結果一覧画面） 2010/06/15 Start)---//
        /*
        //キーワードエレメントが存在するなら
        if(document.getElementById("FreeWordHidden"))
        {
            //検索条件にキーワードを加える
            pageValues=pageValues+"$FreeWord:"+escape(document.getElementById("FreeWordHidden").value);
        }
        */
        //---(ASN蛭子井 一覧表示形式切り替え時条件破棄障害対応（検索結果一覧画面） 2010/06/15 End)---//
    }
    //トップページならば。
    if($get("conditionMode").value=="0")
    {
         //画面タイトル変える方法。
         changeTitle();
         //更新したタイトルを保存して。
         document.getElementById("titleHidden").value=document.title; 
    }
    //ほかの場合なら
    else
    {
        //cookieに出発地コードを保存して。
        setCookie("departureCode",escape(document.getElementById("departure").value));
    }
    //画面チェックを行う
    pageCheck();
  
    //検索結果画面なら
    if($get("conditionMode").value=="2")
    {
        //画面ロード待つ表示部分を表示させる。
        /*$get("searchResultDiv").innerHTML="<table border=\"1\" cellspacing=\"0\" cellpadding=\"0\" class=\"tourListTbl first\" summary=\"ツアー検索結果一覧\">"+
                                          "<tr><td><p class=\"mt10\"><img src=\""+document.getElementById("clientUrl").value+
                                          "/base/images/base/wait/ajax-loader2.gif\" alt=\"loading\" /></p><p class=\"mt10\">読み込み中</p></td></tr></table>";
        document.getElementById("currentPage_Hidden").value="1";
        //ページ表示件数選択部分を隠す。
        changeArea('baseCommend','none');
        changeArea('viewCommend','none');*/
        $.ajax({
           type: "POST",
           url: document.getElementById("clientUrl").value+"/toursearch/ajaxForSearchResult.aspx",
           data: "departureValue="+departureSelect.value+
                 "&style="+style+
                 "&pageValue="+pageValues+
                 "&ajaxType=departure&arrowCnt="+document.getElementById("arrowCnt").value+
                 "&displayItems="+document.getElementById(document.getElementById("ShowCntDropHidden").value).value+
                 "&sortItem="+document.getElementById(document.getElementById("sortItemHidden").value).value+
                 "&sortOrder="+document.getElementById(document.getElementById("sortOrderHidden").value).value+
                 "&allOpen="+document.getElementById(document.getElementById("allOpenHidden").value).value+
                 "&showType="+document.getElementById(document.getElementById("showTypeHidden").value).value+"",
           success: function(msg){
             jqueryDepartureOnChangeSucceeded(msg);
           }
        }); 
    }                               
    else
    {
         //WebServiceを呼び出す。画面更新する。
    DepartureWebService.SetDepartureValue(departureSelect.value,style,pageValues,departureOnChangeSucceeded,onFailed);
    }
}

function jqueryDepartureOnChangeSucceeded(msg)
{
    document.getElementById("ajaxDiv").innerHTML=msg; 
    var result=new Array();
    if(document.getElementById("dayOfWeekHTMLResultDiv"))
    {
        //result["dayOfWeekHTML"]=$("#dayOfWeekHTMLResultDiv",$("#ajaxDiv")).html();
        result["dayOfWeekHTML"]=$("select",$("#dayOfWeekHTMLResultDiv",$("#ajaxDiv"))).html();
    }    
    if(document.getElementById("destinationOne_AreaResultDiv"))
    {
        //result["destinationOne_Area"]=$("#destinationOne_AreaResultDiv",$("#ajaxDiv")).html();
        result["destinationOne_Area"]=$("select",$("#destinationOne_AreaResultDiv",$("#ajaxDiv"))).html();
    }
    if(document.getElementById("destinationOne_CountryResultDiv"))
    {
        //result["destinationOne_Country"]=$("#destinationOne_CountryResultDiv",$("#ajaxDiv")).html();
        result["destinationOne_Country"]=$("select",$("#destinationOne_CountryResultDiv",$("#ajaxDiv"))).html();
    }
    if(document.getElementById("destinationOne_CityResultDiv"))
    {
        //result["destinationOne_City"]=$("#destinationOne_CityResultDiv",$("#ajaxDiv")).html();
        result["destinationOne_City"]=$("select",$("#destinationOne_CityResultDiv",$("#ajaxDiv"))).html();
    }
    if(document.getElementById("courseCntResultDiv"))
    {
        result["courseCnt"]=$("#courseCntResultDiv",$("#ajaxDiv")).html();
    }
    if(document.getElementById("kodarwriHTMLResultDiv"))
    {
        result["kodarwriHTML"]=$("#kodarwriHTMLResultDiv",$("#ajaxDiv")).html();
    }
    if(document.getElementById("hotelHTMLResultDiv"))
    {
        result["hotelHTML"]=$("#hotelHTMLResultDiv",$("#ajaxDiv")).html();
    }
    if(document.getElementById("flightHTMLResultDiv"))
    {
        result["flightHTML"]=$("#flightHTMLResultDiv",$("#ajaxDiv")).html();
    }
    //---(ASN蛭子井 在庫・代金カレンダー表示：航空キャリア・アライアンス連動 2010/04/22 Start)---//
    if(document.getElementById("flightHTMLInterlockResultDiv"))
    {
        result["flightHTMLInterlock"]=$("#flightHTMLInterlockResultDiv",$("#ajaxDiv")).html();
    }
    //---(ASN蛭子井 在庫・代金カレンダー表示：航空キャリア・アライアンス連動 2010/04/22 End)---//
    if(document.getElementById("searchBaseHTMLResultDiv"))
    {
        result["searchBaseHTML"]=$("#searchBaseHTMLResultDiv",$("#ajaxDiv")).html();
    }
    if(document.getElementById("flashURLDiv"))
    {
        result["flashURL"]=$("#flashURLDiv",$("#ajaxDiv")).text();
    }
    if(document.getElementById("flashPeriodDiv"))
    {
        result["flashPeriod"]=$("#flashPeriodDiv",$("#ajaxDiv")).html();
    }
    if(document.getElementById("arrowLeftDiv"))
    {
        result["arrowLeft"]=$("#arrowLeftDiv",$("#ajaxDiv")).html();
    }
    if(document.getElementById("arrowRightDiv"))
    {
        result["arrowRight"]=$("#arrowRightDiv",$("#ajaxDiv")).html();
    }
    if(document.getElementById("calendarLeftDiv"))
    {
        result["calendarLeft"]=$("#calendarLeftDiv",$("#ajaxDiv")).html();
    }
    if(document.getElementById("calendarRightDiv"))
    {
        result["calendarRight"]=$("#calendarRightDiv",$("#ajaxDiv")).html();
    }
    if(document.getElementById("pageChangeLinkDiv"))
    {
        result["pageChangeLink"]=$("#pageChangeLinkDiv",$("#ajaxDiv")).html();
    }
    if(document.getElementById("departureHTMLDiv"))
    {
        //result["departureHTML"]=$("#departureHTMLDiv",$("#ajaxDiv")).html();
        result["departureHTML"]=$("select",$("#departureHTMLDiv",$("#ajaxDiv"))).html();
    }
    document.getElementById("ajaxDiv").innerHTML="";
     //style(ツアー詳細条件検索用とか通用検査条件として使うとか判断する変数)
    var style= $get("conditionStyle").value;
    //conditionMode(ツアー詳細条件検索用とか通用検査条件として使うとか判断する変数)
    var conditionMode= $get("conditionMode").value;
    //toppage表示なら。
    if(conditionMode=="0")
    {
        //該当ツアー件数を設定する。
        $get("has_course_cnt").innerHTML= result["courseCnt"];
         //出発地をupdate
         updateDeparture(result,style);
        //目的地を更新する。
        updateDestinationGroup(result);
        //曜日を更新する。
        updateDayOfWeek(result);
        //こだわりを更新する。
        $get("simpleKodawariUL").innerHTML=result["simpleKodawariHTML"];
        resetLinkBtnState("kodawariValues_Hidden");
        var tempArr=$("a[@class='cur']",$("#simpleKodawariUL"));
        $get("kodawariValues_Hidden").value=getHiddenString(tempArr);
    }
    //ランディングなどなら。
    else if(conditionMode=="1")
    {
        //該当ツアー件数を設定する。
        $get("has_course_cnt").innerHTML= result["courseCnt"];
         //出発地をupdate
         updateDeparture(result,style);
        //フライトを更新する。
        updateFlight(result,style);
        //ホテルを更新する。
        updateHotel(result,style);
        //こだわりを更新する。
        updateKodawari(result,style);
        //曜日を更新する。
        updateDayOfWeek(result);
        //画面特集部分のリンクを更新する。
        $get("deleSel").innerHTML=result["areaListLink"];
        //地図用XMLデータを更新
        $get("mapData").value=result["XmlData"];
        $get("neighborData").value=result["neighborXml"];
        //地図再表示
        showMap();
        
    }
    //検査結果とツアー詳細画面なら。
    else
    {
        //検索結果画面ではない場合なら
        if(conditionMode!="2")
        {
            //該当ツアー件数を設定する
            $get("has_course_cnt").innerHTML= result["courseCnt"];
        }
         //出発地をupdate
         //updateDeparture(result,style);
        //---(ASN蛭子井 在庫・代金カレンダー表示：航空キャリア・アライアンス連動 2010/04/12 Start)---//
        //フライトを更新する。
        updateFlightInterlock(result,style);
        //---(ASN蛭子井 在庫・代金カレンダー表示：航空キャリア・アライアンス連動 2010/04/12 End)---//
        //ホテルを更新する。
        //updateHotel(result,style);
        //こだわりを更新する。
        //updateKodawari(result,style);
        //目的地を更新する。
        updateDestinationGroup(result);
        changeImage();
        //曜日を更新する。
       // updateDayOfWeek(result)
    } 
     //$get("searchResultDiv").innerHTML=result["searchBaseHTML"];
     //$get("pageChangeLinkSpan").innerHTML=result["pageChangeLink"];
     /*document.getElementById(document.getElementById("viewCountHidden").value).value=result["courseCnt"];
     document.getElementById(document.getElementById("flashURLHidden").value).value=result["flashURL"];
     document.getElementById(document.getElementById("flashDateHidden").value).value=result["flashPeriod"];
     document.getElementById(document.getElementById("arrowLeftHidden").value).value=result["arrowLeft"];
     document.getElementById(document.getElementById("arrowRightHidden").value).value=result["arrowRight"];
     document.getElementById(document.getElementById("calendarLeftHidden").value).value=result["calendarLeft"];
     document.getElementById(document.getElementById("calendarRightHidden").value).value=result["calendarRight"];*/
    //事件が宣言が無い場合なら。背景が隠れる。
    hiddenShadow();
    //目的地状態をチェックする。
    checkDestinationOne();
    //フラグは一の場合（検索一覧なら）
   /* if(showAreaFlag=="1")
    {
        //一覧の時のスタイル作製する。
        changeViewStyle();
        //該当ツアーカウントを設定する。
        $get("has_course_cnt").innerHTML= document.getElementById(document.getElementById("viewCountHidden").value).value;
        $get("viewCommend").display="block";
    }
    //フラグは二の場合（検索結果なら）
    if(showAreaFlag=="2")
    {
        //検索結果のスタイル作製する。
        changeResultStyle();
        //該当ツアーカウントを設定する。
        $get("has_course_cnt").innerHTML= document.getElementById(document.getElementById("viewCountHidden").value).value;
        $get("baseCommend").display="block";
    }*/
    //画面タイトルを変わる方法。
    //changeResultTitle();
    //画面ID変わる方法
    //changeScreenId();
    //flashを更新する。
    //changeFlash();
}

//出発地webService操作が成功して、画面更新する。
function departureOnChangeSucceeded(result,style)
{
    //style(ツアー詳細条件検索用とか通用検査条件として使うとか判断する変数)
    var style= $get("conditionStyle").value;
    //conditionMode(ツアー詳細条件検索用とか通用検査条件として使うとか判断する変数)
    var conditionMode= $get("conditionMode").value;
    //toppage表示なら。
    if(conditionMode=="0")
    {
        //該当ツアー件数を設定する。
        $get("has_course_cnt").innerHTML= result["courseCnt"];
         //出発地をupdate
         updateDeparture(result,style);
        //目的地を更新する。
        updateDestinationGroup(result);
        //曜日を更新する。
        updateDayOfWeek(result);
        //こだわりを更新する。
        $get("simpleKodawariUL").innerHTML=result["simpleKodawariHTML"];
        resetLinkBtnState("kodawariValues_Hidden");
        var tempArr=$("a[@class='cur']",$("#simpleKodawariUL"));
        $get("kodawariValues_Hidden").value=getHiddenString(tempArr);
    }
    //ランディングなどなら。
    else if(conditionMode=="1")
    {
        //該当ツアー件数を設定する。
        $get("has_course_cnt").innerHTML= result["courseCnt"];
         //出発地をupdate
         updateDeparture(result,style);
        //曜日を更新する。
        updateDayOfWeek(result);
        //画面特集部分のリンクを更新する。
        $get("deleSel").innerHTML=result["areaListLink"];
        //地図用XMLデータを更新
        $get("mapData").value=result["XmlData"];
        $get("neighborData").value=result["neighborXml"];
        //地図再表示
        showMap();
        
    }
    //検査結果とツアー詳細画面なら。
    else
    {
        //検索結果画面ではない場合なら
        if(conditionMode!="2")
        {
            //該当ツアー件数を設定する
            //$get("has_course_cnt").innerHTML= result["courseCnt"];
        }
         //出発地をupdate
         //updateDeparture(result,style);
        //フライトを更新する。
        //updateFlight(result,style);
        //ホテルを更新する。
        //updateHotel(result,style);
        //こだわりを更新する。
        //updateKodawari(result,style);
        //目的地を更新する。
        updateDestinationGroup(result);
        //曜日を更新する。
       // updateDayOfWeek(result)
    } 
    //事件設定。出発地が連動成功後,行う。
      try{   
         departureOnChanged();
      }catch(e){
         //事件が宣言が無い場合なら。背景が隠れる。
         hiddenShadow();
         //ランディング画面ではない場合なら
         if(conditionMode!="1")
         {
            //目的地部分をチェックし、resetする。
             checkDestinationOne();
         }
      } 
}

//出発地の画面部分を更新する。
function updateDeparture(result,style)
{
    //今の値を取る。
     var currentValue=$get("departure").value;
     //画面更新を行う。
     $get("testSpan").innerHTML="<select>"+result["departureHTML"]+"</select>";
     var obArr=$("option",$("#testSpan"));
     addOptionForUpdate("departure",obArr,"notDefault");
     //前の値を元戻す。
     $("option[@value='"+currentValue+"']",$("#departure")).attr("selected", "selected");
}

