// JScript ファイル
//共通webservice用のjavascript.

//webservice失敗する場合行うファクション
function onFailed(error)
{ 
//    var stackTrace = error.get_stackTrace();    
//    var message = error.get_message();    
//    var statusCode = error.get_statusCode();    
//    var exceptionType = error.get_exceptionType();    
//    var timeout = error.get_timedOut();       
//   alert("<strong>Stack Trace: </strong>" +  stackTrace + "<br/>" +        
//         "<strong>Service Error: </strong>" + message + "<br/>" +        
//         "<strong>Status Code: </strong>" + statusCode + "<br/>" +        
//         "<strong>Exception Type: </strong>" + exceptionType + "<br/>" +        
//         "<strong>Is Timeout: </strong>" + timeout);
    //エラーをアレートする。
	//alert("webservice失敗する："+error.get_message());
	
	//---(BJB黄 2009/05/22 保守タスク0270対応 Start)---//
	LogWebService.Log(
	    "Search",
        null,
        "LOKCOM5200E",
        "[JavaScript Error]" + error.get_message(), 
        "stackTrace:" + error.get_stackTrace() +
        "\nmessage:" + error.get_message() +
        "\nstatusCode:" + error.get_statusCode() +
        "\nexceptionType:" + error.get_exceptionType() +
        "\ntimeout:" + error.get_timedOut()
    );
    //---(BJB黄 2009/05/22 保守タスク0270対応 End)---//
}

//hiddenの値によって、ｃｓｓを切り替える。（こだわり、フライト、ホテル用）
function resetLinkBtnState(hidden)
{
    //Hiddenの値を取る。
    var values=$get(hidden).value;
    //値は""の場合なら。
    if(values=="")
    {
        //何の操作を行わない。
        ;
    }
    //ほかの場合なら。
    else
    {
        //値を区切りする。
        var arrys=values.split('_');
        var i=0;
        //ループする。
        for(i;i<arrys.length;i++)
        {
            //エレメントが存在する場合
            if ( $get(arrys[i]) )
            {
                //ｃｓｓをresetする
                $get(arrys[i]).className="cur";
            }
            else
            {
               ;
            }
        }
    }
}

//ホテルとフライトのリンクをクリアする方法（ｃｓｓをdefに設定する方法）
function clearConditionByArea(type)
{
    //フライト更新なら。
    if(type=="flight")
    {
        //「 時間未定のツアーも含む 」チェックボックスをresetする。
        document.getElementById("timeunfixed").checked=false;
        //「航空オプション」をresetする。
        $("a[@class='cur']",$("#flightOptionDl")).each(
            function()
            {
                this.className="def";
            }
        )
        //「航空オプション」Hiddenをresetする。
        $get("flightOptionValues_Hidden").value="";
        //「出発時間帯 」をresetする。
        $("a[@class='cur']",$("#FlightStartTimeDl")).each(
            function()
            {
                this.className="def";
            }
        )
        //「出発時間帯 」Hiddenをresetする。
        $get("flightStartTimeValues_Hidden").value="";
        //「現地出国時間帯 」をresetする。
       $("a[@class='cur']",$("#flightLocalStartTimeDl")).each(
            function()
            {
                this.className="def";
            }
        )
        //「現地出国時間帯 」Hiddenをresetする。
        $get("flightLocalStartTimeValues_Hidden").value="";
        //「該当航空会社から選択  」をresetする。
        $("a[@class='cur']",$("#FlightCompanyDl")).each(
            function()
            {
                this.className="def";
            }
        )
        //「該当航空会社から選択  」Hiddenをresetする。
        $get("flightCompanyValues_Hidden").value="";
        //「該当航空会社」をresetする。
        flightListArr=new Array();
    }
    //ホテルなら
    else if(type=="hotel")
    {
        //「ホテルタイプ 」をresetする。
        $("a[@class='cur']",$("#hotelTypeDl")).each(
            function()
            {
                this.className="def";
            }
        )
        //「ホテルタイプ 」Hiddenをresetする。
        $get("hotelTypeValues_Hidden").value="";
        //「ホテルグレード  」をresetする。
        $("a[@class='cur']",$("#hotelGradeDl")).each(
            function()
            {
                this.className="def";
            }
        )
        //「ホテルグレード  」Hiddenをresetする。
        $get("hotelGradeValues_Hidden").value="";
        //「該当ホテル」をresetする。
        hotelListArr=new Array();
        //document.getElementById("hotelListKeySearch").value="";
    }
    //こだわりなら
    else if(type=="kodawari")
    {
        //「こだわり」をresetする。
        $("a[@class='cur']",$("#slideArea03")).each(
            function()
            {
                this.className="def";
            }
        )
        //「こだわり」Hiddenをresetする。
        $get("kodawariValues_Hidden").value="";
    }
    //事件設定。クリアが成功後,行う。
    afterClear();
}

//クリア後
function afterClear()
{
    //ajaxで画面と更新する。
   // updatePage();
}

//selectエレメントを更新する方法。「目的地用」
function addOptionForUpdate(selectid,opArry,value)
{
    //Selectエレメントを取る
    var sele=$get(selectid);
    var i=0;
    sele.length=0;
    //エリアselect更新なら。
    if(selectid.indexOf("area")!=-1)
    {
        opt=new Option();   
        opt.value="";   
        opt.text="目的のエリアを指定";   
        sele.options.add(opt);
    }
    //国select更新なら。
    if(selectid.indexOf("country")!=-1)
    {
        opt=new Option();   
        opt.value="";   
        opt.text="国（地域）を指定";   
        sele.options.add(opt);
    } 
    //町select更新なら。
    if(selectid.indexOf("city")!=-1)
    {
        opt=new Option();   
        opt.value="";   
        opt.text="都市を指定";   
        sele.options.add(opt);
    }
    //出発地select更新なら。
    if(selectid.indexOf("departure")!=-1)
    {
        opt=new Option();   
        opt.value="";   
        opt.text="出発地を指定";   
        sele.options.add(opt);
    }
    //select更新する。
    if(value!="default")
    {
        for(i;i<opArry.length;i++)
        {
            var op=opArry[i];
            opt=new   Option();   
            opt.value=op.value;   
            opt.text=op.text;
            opt.disabled=op.disabled;   
            opt.className=op.className;
            sele.options.add(opt);   
        }
    }
}	

//arryオブジェクトを特定のstring を変わる。
function getHiddenString(tempArr)
{
    //Stringを作成するオブジェクトを宣言する。
    var sb=new Sys.StringBuilder("");
    //Arrayをルップして、Stringを作成する。
    if(tempArr.length!=0)
    {
        for(var i=0;i<tempArr.length;i++)
        {
            if(i==tempArr.length-1)
            {
                 sb.append(tempArr[i].id);
                 break;
            }
            sb.append(tempArr[i].id+"_");
        }
    }
    //作成したStirngを返す。
    return sb.toString();
}



