// JScript ファイル
//こだわりWebService関連するjavascript
		   

//こだわり条件検査ユーザコントロールのリンクをクリックした時のフンクション
function SetKodawariValues(kodawaricode)
{
    //show背景用div、二回submitを防ぐ。
    showShadow();
    //ｃｓｓによってこだわり値を設定する。
    setSelectedKodawari();
    //画面すべての条件の値を取る。
    var pageValues=getValus();
    //検索結果画面なら
    if($get("conditionMode").value=="2")
    {
        //在庫カレンダー移動カウントを設定する。
        document.getElementById("arrowCnt").value="0";
        //flash移動カウントを設定する。
        document.getElementById("flashCnt").value="0";
        //キーワードエレメントが存在するなら
        if(document.getElementById("FreeWordHidden"))
        {
            //検索条件にキーワードを加える
            pageValues=pageValues+"$FreeWord:"+document.getElementById("FreeWordHidden").value;
        }
    }
    //画面スタイルを取る。
    var style= $get("conditionStyle").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: "KodawariCode="+kodawaricode+
                 "&styleType="+style+
                 "&inputValues="+pageValues+
                 "&ajaxType=kodawariChange"+
                 "&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){
             jqueryKodawariOnChangeSucceeded(msg);
           }
        }); 
    }
    else
    {
         //WebServiceを呼び出す。画面更新する。
	    KodawariConditionWebService.SetKodawariValues(kodawaricode,pageValues,style,SetKodawariValuesSucceeded, onFailed);
    }
}

function jqueryKodawariOnChangeSucceeded(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();
    }
    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();
    }
    if(document.getElementById("smallWindowUrlDiv"))
    {
        result["smallWindowUrl"]=$("#smallWindowUrlDiv",$("#ajaxDiv")).html();
    }
    document.getElementById("ajaxDiv").innerHTML="";
    
    //画面スタイルを取る。
    var style= $get("conditionStyle").value;
    //conditionMode(ツアー詳細条件検索用とか通用検査条件として使うとか判断する変数)
    var conditionMode= $get("conditionMode").value;
    //ランディングなどなら。
    if(conditionMode=="1")
    {
        //該当ツアー件数を設定する
        $get("has_course_cnt").innerHTML= result["courseCnt"];
        //フライトをupdate
        updateFlight(result,style);
        //こだわりをupdate
        updateKodawari(result,style);
        //ホテルをupdate
        updateHotel(result,style);
        //曜日をupdate
        updateDayOfWeek(result);
        //出発地をupdate
        updateDeparture(result,style);
        //画面特集部分のリンクを更新する。
        $get("deleSel").innerHTML=result["areaListLink"];
        //地図用XMLデータを更新
        $get("mapData").value=result["XmlData"];
        $get("neighborData").value=result["neighborXml"];
        //地図再表示
        showMap();
    }
    //toppage表示なら。
    else if(conditionMode=="0")
    {
        //該当ツアー件数を設定する
        $get("has_course_cnt").innerHTML= result["courseCnt"];
        //目的地グルプを更新する。
        updateDestinationGroup(result);
        //出発地をupdate
        updateDeparture(result,style);
        //曜日をupdate
        updateDayOfWeek(result);
         //こだわりをupdate
         $get("simpleKodawariUL").innerHTML=result["simpleKodawariHTML"];
         resetLinkBtnState("kodawariValues_Hidden"); 
         var tempArr=$("a[@class='cur']",$("#simpleKodawariUL"));
         $get("kodawariValues_Hidden").value=getHiddenString(tempArr);
    }
    //検査結果とツアー詳細画面なら。
    else
    {
        //検索結果画面ではない場合なら
        if(conditionMode!="2")
        {
            //該当ツアー件数更新。
            $get("has_course_cnt").innerHTML= result["courseCnt"];
        }
        //フライトをupdate
        updateFlight(result,style);
        //ホテルをupdate
        updateHotel(result,style);
        //こだわりをupdate
        updateKodawari(result,style);
        //目的地グルプをupdate
        updateDestinationGroup(result);
        //出発地をupdate
        updateDeparture(result,style);
        //曜日をupdate
        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();
     //目的地部分をチェックし、resetする。
     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 SetKodawariValuesSucceeded(result)
{
    //画面スタイルを取る。
    var style= $get("conditionStyle").value;
    //conditionMode(ツアー詳細条件検索用とか通用検査条件として使うとか判断する変数)
    var conditionMode= $get("conditionMode").value;
    //ランディングなどなら。
    if(conditionMode=="1")
    {
        //該当ツアー件数を設定する
        $get("has_course_cnt").innerHTML= result["courseCnt"];
        //フライトをupdate
        updateFlight(result,style);
        //こだわりをupdate
        updateKodawari(result,style);
        //ホテルをupdate
        updateHotel(result,style);
        //曜日をupdate
        updateDayOfWeek(result);
        //出発地をupdate
        updateDeparture(result,style);
        //画面特集部分のリンクを更新する。
        $get("deleSel").innerHTML=result["areaListLink"];
        //地図用XMLデータを更新
        $get("mapData").value=result["XmlData"];
        $get("neighborData").value=result["neighborXml"];
        //地図再表示
        showMap();
    }
    //toppage表示なら。
    else if(conditionMode=="0")
    {
        //該当ツアー件数を設定する
        $get("has_course_cnt").innerHTML= result["courseCnt"];
        //目的地グルプを更新する。
        updateDestinationGroup(result);
        //出発地をupdate
        updateDeparture(result,style);
        //曜日をupdate
        updateDayOfWeek(result);
         //こだわりをupdate
         $get("simpleKodawariUL").innerHTML=result["simpleKodawariHTML"];
         resetLinkBtnState("kodawariValues_Hidden"); 
         var tempArr=$("a[@class='cur']",$("#simpleKodawariUL"));
         $get("kodawariValues_Hidden").value=getHiddenString(tempArr);
    }
    //検査結果とツアー詳細画面なら。
    else
    {
        //検索結果画面ではない場合なら
        if(conditionMode!="2")
        {
            //該当ツアー件数更新。
            $get("has_course_cnt").innerHTML= result["courseCnt"];
        }
        //フライトをupdate
        updateFlight(result,style);
        //ホテルをupdate
        updateHotel(result,style);
        //こだわりをupdate
        updateKodawari(result,style);
        //目的地グルプをupdate
        updateDestinationGroup(result);
        //出発地をupdate
        updateDeparture(result,style);
        //曜日をupdate
        updateDayOfWeek(result);
    }
     //事件設定。こだわりが連動成功後,行う。
      try{   
         kodawariOnChanged();
      }catch(e){
         //事件が宣言が無い場合なら。背景が隠れる。
         hiddenShadow();
         //ランディング画面ではない場合なら
         if(conditionMode!="1")
         {
             //目的地部分をチェックし、resetする。
             checkDestinationOne();
         }
      } 
}

function kodawariDivUpdate(div)
{
    if(div.className=="closed")
    {
        ;
    }
    else
    {
        //show背景用div、二回submitを防ぐ。
        showShadow();
        //画面スタイルを取る。
        var style= $get("conditionStyle").value;
        //画面すべての条件の値を取る。
        var pageValues=getValus();
        //検索結果画面なら
        if($get("conditionMode").value=="2")
        {
            //キーワードエレメントが存在するなら
            if(document.getElementById("FreeWordHidden"))
            {
                //検索条件にキーワードを加える
                pageValues=pageValues+"$FreeWord:"+document.getElementById("FreeWordHidden").value;
            }
        }
        //WebServiceを呼び出す。画面更新する。
        KodawariConditionWebService.UpdateKodawariDiv(style,pageValues,kodawariDivUpdateSucceeded,onFailed);
    }
}

function kodawariDivUpdateSucceeded(result)
{
    //画面スタイルを取る。
    var style= $get("conditionStyle").value;
    //こだわりをupdate
    updateKodawari(result,style);
    hiddenShadow();
}

//こだわりの画面部分を更新する。
function updateKodawari(result,style)
{
    //conditionMode(ツアー詳細条件検索用とか通用検査条件として使うとか判断する変数)
    var conditionMode= $get("conditionMode").value;
    //ランディング画面ならば
    if(conditionMode=="1")
    {
        if(document.getElementById("slideBtn04").className=="closed")
        {
            ;
        }
        else
        {
            //ランディング画面と検査結果画面なら。
            if(style=="rightStyle")
            {
                //こだわり部分を更新する。
                $get("slideArea04").innerHTML=result["kodarwriHTML"];
                //元のhiddenの値によって画面表示ｃｓｓを切り替える。
                resetLinkBtnState("kodawariValues_Hidden"); 
            }
            //ツアー検査画面なら。
            else
            {
                //こだわり部分を更新する。
                $get("kodawariDiv").innerHTML=result["kodarwriHTML"];
                //元のhiddenの値によって画面表示ｃｓｓを切り替える。
                resetLinkBtnState("kodawariValues_Hidden");
                
            }
            //更新したｃｓｓによってhiddenの値を更新する。
            setSelectedKodawari();
        }
    }
    else if(conditionMode=="2")
    {
        if(document.getElementById("slideBtn03").className=="closed")
        {
            ;
        }
        else
        {
            //ランディング画面と検査結果画面なら。
            if(style=="rightStyle")
            {
                //こだわり部分を更新する。
                $get("slideArea04").innerHTML=result["kodarwriHTML"];
                //元のhiddenの値によって画面表示ｃｓｓを切り替える。
                resetLinkBtnState("kodawariValues_Hidden"); 
            }
            //ツアー検査画面なら。
            else
            {
                //こだわり部分を更新する。
                $get("kodawariDiv").innerHTML=result["kodarwriHTML"];
                //元のhiddenの値によって画面表示ｃｓｓを切り替える。
                resetLinkBtnState("kodawariValues_Hidden");
                
            }
            //更新したｃｓｓによってhiddenの値を更新する。
            setSelectedKodawari();
        }
    }
    else
    {
        //ランディング画面と検査結果画面なら。
        if(style=="rightStyle")
        {
            //こだわり部分を更新する。
            $get("slideArea04").innerHTML=result["kodarwriHTML"];
            //元のhiddenの値によって画面表示ｃｓｓを切り替える。
            resetLinkBtnState("kodawariValues_Hidden"); 
        }
        //ツアー検査画面なら。
        else
        {
            //こだわり部分を更新する。
            $get("kodawariDiv").innerHTML=result["kodarwriHTML"];
            //元のhiddenの値によって画面表示ｃｓｓを切り替える。
            resetLinkBtnState("kodawariValues_Hidden");
            
        }
        //更新したｃｓｓによってhiddenの値を更新する。
        setSelectedKodawari();
    }
}

//ｃｓｓによってこだわり値を設定する。
function setSelectedKodawari()
{
     var tempArr=$("a[@class='cur']",$("#kodawariDiv"));
     $get("kodawariValues_Hidden").value=getHiddenString(tempArr);
}

