/*重要注意*/
//外部JSファイル内のスクリプトにASPのデミリタ（<%〜%>）を含めると
//ページ読み込み時に破損するので絶対記述しないこと
//→因みにASPデミリタが含まれているスクリプトをそのまま外部ファイルにコピペすると
//　よからぬ改行キーが配置されるのが判断ポイント
/*重要注意*/


////////////////////////////////////////////////////////////////////////////
//都市リスト作成処理
////////////////////////////////////////////////////////////////////////////
function CityInit()
{
//20081118変更

    //alert(document.getElementById);
    
    //地域選択リスト
    if(document.getElementById){        //e5,e6,n6,n7,m1,o7,s1用
      var rr = eval(document.getElementById('idAreaCode'));
      //alert('uhehe');
    } else if(document.all){            //e4用
		var rr = eval(document.all('idAreaCode'));
    } else if(document.layers) {        //n4用
		var rr = eval(document.layers('idAreaCode'));
    }
	//var rr = eval(document.getElementById("idAreaCode"));
	
    //地域コードを取得
    SelIdx = rr.selectedIndex;      
    countrycode = rr.options[SelIdx].value;
    //countryTXT = rr.options[SelIdx].text;
	    //alert(countrycode);
	    //alert(countryTXT);

    var len = self.CityArray.length;                                //都市格納配列要素の最大値を取得  
    
    //都市選択リスト
    if(document.getElementById){        //e5,e6,n6,n7,m1,o7,s1用
      var rrr = eval(document.getElementById("idCityCode"));
    } else if(document.all){            //e4用
		var rrr = eval(document.all("idCityCode"));
    } else if(document.layers) {        //n4用
		var rrr = eval(document.layers("idCityCode"));
    }
    //var rrr = eval("document.frmIndex.idCityCode");       //都市選択リスト
    var jj = 1;

    rrr.options.length = 0;
    rrr.options[0] = new Option( '都市選択', '指定なし' );
    rrr.options[0].selected = true;

    if( countrycode != '-1' )
    {
        for( ii = 0; ii < len; ii++ )
        {
            if( self.CityArray[ii].countrycode == countrycode )
            {
                rrr.options[jj++] = new Option( self.CityArray[ii].name, self.CityArray[ii].code );
            }
        }
    }
    
    /*ここから更に検索後の指定（Cookie）をプルダウンメニューに表示する*/
    var sCooCountryCode=getCookie("CooCountryCode");
    var iCityCodeIdx=eval(getCookie("CooCityCodeIdx"));
    if (sCooCountryCode==countrycode){
        if (iCityCodeIdx!=0){
        rrr.options[iCityCodeIdx].selected = true;
        }
    }
    
}

/*-----20081118追加-----*/
function SetCityCookie(){

    //地域選択リスト
    if(document.getElementById){        //e5,e6,n6,n7,m1,o7,s1用
      var rr = eval(document.getElementById('idAreaCode'));
      //alert('uhehe');
    } else if(document.all){            //e4用
		var rr = eval(document.all('idAreaCode'));
    } else if(document.layers) {        //n4用
		var rr = eval(document.layers('idAreaCode'));
    }
    SelIdx = rr.selectedIndex;
    sCountryCode = rr.options[SelIdx].value;
    setCookie("CooCountryCode",sCountryCode,367);

    //都市選択リスト
    if(document.getElementById){        //e5,e6,n6,n7,m1,o7,s1用
      var rrr = eval(document.getElementById("idCityCode"));
    } else if(document.all){            //e4用
		var rrr = eval(document.all("idCityCode"));
    } else if(document.layers) {        //n4用
		var rrr = eval(document.layers("idCityCode"));
    }

    iSelIdx = rrr.selectedIndex;
    setCookie("CooCityCodeIdx",iSelIdx,367);
}
function getCookie(c_name){
    var st="";
    var ed="";
    if (document.cookie.length>0){
        st=document.cookie.indexOf(c_name + "=");
        if (st!=-1){ 
            st=st+c_name.length+1;
            ed=document.cookie.indexOf(";",st);
            if (ed==-1) ed=document.cookie.length;
            return unescape(document.cookie.substring(st,ed));
        } 
    }
    return "";
}
function setCookie(c_name,value,expiredays){
    // 有効期限の日付
    var exdate=new Date();
    exdate.setDate(expiredays);
    // クッキーに保存する文字列を生成
    var s="";
    s+=c_name+"="+escape(value);
    s+=(expiredays==null)?"":"; expires="+exdate;
    // クッキーに保存
    document.cookie=s;
}
/*-----20081118追加-----*/

////////////////////////////////////////////////////////////////////////////
//都市リスト初期化処理
////////////////////////////////////////////////////////////////////////////
function CityClear()
{
	//都市選択リスト
	if(document.getElementById){        //e5,e6,n6,n7,m1,o7,s1用
      var rrr = eval(document.getElementById("CityCode"));
    } else if(document.all){            //e4用
		var rrr = eval(document.all("CityCode"));
    } else if(document.layers) {        //n4用
		var rrr = eval(document.layers("CityCode"));
    }
    //var rrr = eval("document.frmIndex.CityCode");       //都市選択リスト

    rrr.options.length = 0;
    rrr.options[0] = new Option( '都市選択', '指定なし' );
    rrr.options[0].selected = true;
}

///////////////////////////////////////////////////////////////////////
//ダイレクト検索”出発日”・”現地出発日”プルダウンメニューの動的動作を実行
///////////////////////////////////////////////////////////////////////
function JsSetDdMaxDep(){
//現地出発
//年・月プルダウンメニュー選択

//→表示年と選択月で月末を求め、日のMAXを決定
//→日はデフォルト１とする

var sSelectDate;
var sResDate;
var sLoopCnti;

var vOutFormat = new Array("yyyy/mm/dd");
//var vRefDate = new Array("2003/2/10");

	with( document.frmIndex ){
		
		//表示年と選択月と"01"をYYYY/MM/DD形式にする
		sSelectDate = DepDateY.value + "/" + DepDateM.value + "/01";
		//alert(sSelectDate);
		
		//月末をYYYY/MM/DD形式で求める
		var vRefDate = new Array(sSelectDate);
		sResDate=EDate(vRefDate[0],vOutFormat[0]);
		//alert(sResDate);

		//月末MMを取得
		var tMonth = sResDate.substr(8,2);
		
		//日プルダウンメニューを再作成
		DepDateD.options.length = 1;
		DepDateD.options[0] = new Option( "==", "",true,true );
		for( i=1 ; i<= tMonth ; i++ ) {
			if (i < 10){sLoopCnti = "0" + i}else{sLoopCnti = i};
			DepDateD.options[i] = new Option( sLoopCnti, sLoopCnti );
		}
		//日はデフォルト１とする
		DepDateD.selectedIndex=1;
	}		

}
function JsSetDdMaxArr(){
//現地出発
//年・月プルダウンメニュー選択

//→表示年と選択月で月末を求め、日のMAXを決定
//→日はデフォルト１とする

var sSelectDate;
var sResDate;
var sLoopCnti;

var vOutFormat = new Array("yyyy/mm/dd");
//var vRefDate = new Array("2003/2/10");

	with( document.frmIndex ){
		
		if (ArrDateM.value == "")
		{
			ArrDateD.options.length = 1;
			ArrDateD.options[0] = new Option( "==", "",true,true );
			ArrDateD.selectedIndex=0;
		}else
		{
			//表示年と選択月と"01"をYYYY/MM/DD形式にする
			sSelectDate = ArrDateY.value + "/" + ArrDateM.value + "/01";
		
			//月末をYYYY/MM/DD形式で求める
			var vRefDate = new Array(sSelectDate);
			sResDate=EDate(vRefDate[0],vOutFormat[0]);

			//月末MMを取得
			var tMonth = sResDate.substr(8,2);
		
			//日プルダウンメニューを再作成
			ArrDateD.options.length = 1;
			ArrDateD.options[0] = new Option( "==", "",true,true );
			for( i=1 ; i<= tMonth ; i++ ) {
				if (i < 10){sLoopCnti = "0" + i}else{sLoopCnti = i};
				ArrDateD.options[i] = new Option( sLoopCnti, sLoopCnti );
			}
			//日はデフォルト１とする
			ArrDateD.selectedIndex=1;
			//alert(sResDate);
		}	
	}		

}
function JsSet3DAfterArrDateD(){
//出発の３日後を現地出発に表示する

var sSelectDate;
var sResDate;
var iOptArrDateY=0;
var iAddCnt=0;

var sAddValueFlg = "d";
var iAddValue = 3;
var sOutFormat = "yyyy/mm/dd";


	with( document.frmIndex ){
		
		//出発表示年月日をYYYY/MM/DD形式にする
		sSelectDate = DepDateY.value + "/" + DepDateM.value + "/" + DepDateD.value;
		//alert(sSelectDate);
		
		//出発の３日後をYYYY/MM/DD形式で求める
		sResDate=DateAdd(sAddValueFlg,iAddValue,sSelectDate,sOutFormat)
		//alert(sResDate);

		//出発の３日後YYYYを取得
		var tYear = sResDate.substr(0,4);
		//alert(tYear);
		//出発の３日後MMを取得
		var tMonth = sResDate.substr(5,2);
		//alert(tMonth);
		//出発の３日後DDを取得
		var tDate = sResDate.substr(8,2);
		//alert(tDate);
						
						
		//出発の３日後を現地出発に表示する
		
		//alert(ArrDateY.options[ArrDateY.options.length-1].value);
		
		//出発の３日後を現地出発に表示する際、該当YYYYが存在しない場合、再構成する
		if (ArrDateY.options[ArrDateY.options.length-1].value < tYear){
			//ArrDateY.options[0] = new Option( "====", "",true,true );
			
			sStartOptArrDateY=ArrDateY.options[0].value;
			//alert(sStartOptArrDateY);
			//alert(tYear);
			
			//現地出発YYYYを再構成する
			//「出発の３日後を現地出発YYYY」−「現地出発YYYY（当年）」＝再構成するYYYYのカウント
			iAddCnt=tYear-sStartOptArrDateY;
			for( i=0 ; i<= iAddCnt ; i++ ) {
				iOptArrDateY=parseInt(sStartOptArrDateY)+i;
				ArrDateY.options[i] = new Option( iOptArrDateY, iOptArrDateY );
			}
		}
				
		//現地出発　YYYY index<>YYYYなので比較し選択状態にする
		for( i=0 ; i< ArrDateY.options.length ; i++ ) {
			if (ArrDateY.options[i].value == tYear) {
				ArrDateY.options[i].selected = true;
			}
		}		
		
		//現地出発　MM index=MMなのでそのまま判定
		//<%'Index0="==" Index1="01" Index2="02"%>
		if (tMonth<10){tMonth = tMonth.substr(1,1);};
		ArrDateM.selectedIndex=tMonth;

		//現地出発　DD index=DDなのでそのまま判定
		//<%'Index0="==" Index1="01" Index2="02"%>
		if (tDate<10){tDate = tDate.substr(1,1);};
		ArrDateD.selectedIndex=tDate;
	}		
}


///////////////////////////////////////////////////////////////////////
//frmIndex処理を実行
///////////////////////////////////////////////////////////////////////
function jsSubmitSearch()
{	//frmIndex送信
	//InputCheck();

        //20081118追加
	SetCityCookie();
	//---

	if(InputCheck() == false)
	{
	  return false;
	}
}

////////////////////////////////////////////////////////////////////////////////
//入力チェック
////////////////////////////////////////////////////////////////////////////////
function InputCheck()
{
	with( document.frmIndex )
	{
		if (AreaCode.value == "指定なし")
		{
		    alert('地域を選択して下さい。');
		    AreaCode.focus();
		    return(false);
		}

		if (CityCode.value == "指定なし")
		{
		    alert('都市を選択して下さい。');
		    CityCode.focus();
		    return(false);
		}

		//往復指定がデフォルト	20091001
		if (ArrDateY.value == "")
	    {
	        alert('現地出発日を選択して下さい。');
	        ArrDateY.focus();
	        return(false);
	    }
	    else if (ArrDateM.value == "")
	    {
	        alert('現地出発日を選択して下さい。');
	        ArrDateM.focus();
	        return(false);
	    }
	    else if (ArrDateD.value == "")
	    {
	        alert('現地出発日を選択して下さい。');
	        ArrDateD.focus();
	        return(false);
	    }

		/*
		//往復指定の場合
		if (RtOwType[0].checked)
		{
		    if (ArrDateY.value == "")
		    {
		        alert('往復検索の場合、現地出発日を選択して下さい。');
		        ArrDateY.focus();
		        return(false);
		    }
		    else if (ArrDateM.value == "")
		    {
		        alert('往復検索の場合、現地出発日を選択して下さい。');
		        ArrDateM.focus();
		        return(false);
		    }
		    else if (ArrDateD.value == "")
		    {
		        alert('往復検索の場合、現地出発日を選択して下さい。');
		        ArrDateD.focus();
		        return(false);
		    }
		}
		*/
		
		submit();
		return(true);
	}	
}

///////////////////////////////////////////////////////////////////////
//frmIndexのクリア処理を実行
///////////////////////////////////////////////////////////////////////
function jsSubmitClear(sCmbNowY,sCmbNowM,sCmbNowD)
{
//var sCmbNowY=<%=strcmbNowY%>;
//var sCmbNowM=<%=strcmbNowM%>;
//var sCmbNowD=<%=strcmbNowD%>;

	//frmIndex初期化
	//document.frmIndex.reset();
	
	with( document.frmIndex ){
		//出発地
		DepAirportCode.selectedIndex=0;
		
		//到着地
		AreaCode.selectedIndex=0;
		CityClear();
		
		//出発日
		for( i=0 ; i< DepDateY.options.length ; i++ ) {
			if (DepDateY.options[i].value == sCmbNowY) {
				DepDateY.options[i].selected = true;
			}
		}	
		for( i=0 ; i< DepDateM.options.length ; i++ ) {
			if (DepDateM.options[i].value == sCmbNowM) {
				DepDateM.options[i].selected = true;
			}
		}	
		for( i=0 ; i< DepDateD.options.length ; i++ ) {
			if (DepDateD.options[i].value == sCmbNowD) {
				DepDateD.options[i].selected = true;
			}
		}		
		
		//現地出発日
		for( i=0 ; i< ArrDateY.options.length ; i++ ) {
			if (ArrDateY.options[i].value == sCmbNowY) {
				ArrDateY.options[i].selected = true;
			}
		}	
		for( i=0 ; i< ArrDateM.options.length ; i++ ) {
			if (ArrDateM.options[i].value == sCmbNowM) {
				ArrDateM.options[i].selected = true;
			}
		}	
		ArrDateD.selectedIndex=0;
		
		//航空券
		RtOwType[0].checked=true;
		CarrierCode.selectedIndex=0;
		FareType.selectedIndex=0;
	}
}

///////////////////////////////////////////////////////////////////////
//カレンダーより選択の子画面表示
///////////////////////////////////////////////////////////////////////
function jsWindowOpenCln(wsFlg,sUrl)
{
//var sUrl="";
var sWindowsName="Newwindow";
var sProperty="width=490,height=265,status=no,scrollbars=no,resizable=no";

	//sUrl="<%=Session("HTTP_URL")%>";
	sUrl+="/active/SelectCalendar.asp?";
	sUrl+="fg="+wsFlg;
	with( document.frmIndex ){
		if (wsFlg == "go")
		{
			sUrl+="&selDateY=" + DepDateY.value;
			sUrl+="&selDateM=" + DepDateM.value;
		}else
		{
			sUrl+="&selDateY=" + ArrDateY.value;
			sUrl+="&selDateM=" + ArrDateM.value;
		}	
	}	
	//alert(sUrl);
	window.open(sUrl,sWindowsName,sProperty)
}

///////////////////////////////////////////////////////////////////////
//ご利用環境の子画面表示
///////////////////////////////////////////////////////////////////////
function jsWindowOpenUe(sUrl)
{
//var sUrl="";
var sWindowsName="Newwindow";
var sProperty="width=640,height=450,status=no,scrollbars=no,resizable=no";

	//sUrl="<%=Session("HTTP_URL")%>";
	sUrl+="/otherinfo/UseEnvironment.html";
	//alert(sUrl);
	window.open(sUrl,sWindowsName,sProperty)
}

///////////////////////////////////////////////////////////////////////
//アライアンス選択により該当航空会社セット	20091001
///////////////////////////////////////////////////////////////////////
function jsFncSetCarrier(){

	//アライアンス選択リスト
    if(document.getElementById){        //e5,e6,n6,n7,m1,o7,s1用
      var objCa = eval(document.getElementById("CboAlliance"));
    } else if(document.all){            //e4用
		var objCa = eval(document.all("CboAlliance"));
    } else if(document.layers) {        //n4用
		var objCa = eval(document.layers("CboAlliance"));
    }
    var Alliancecode = objCa.options[objCa.selectedIndex].value;           //アライアンスコードを取得

    var len = self.AirlineArray.length;                                //航空会社格納配列要素の最大値を取得  
    
    //航空会社選択リスト
    if(document.getElementById){        //e5,e6,n6,n7,m1,o7,s1用
      var objCc = eval(document.getElementById("CarrierCode"));
    } else if(document.all){            //e4用
		var objCc = eval(document.all("CarrierCode"));
    } else if(document.layers) {        //n4用
		var objCc = eval(document.layers("CarrierCode"));
    }
    
    
    var jj = 1;

    objCc.options.length = 0;
    objCc.options[0] = new Option( '航空会社選択', '' );
    objCc.options[0].selected = true;

	//alert(Alliancecode)
    if( Alliancecode != '' )
    {
    	//アライアンス選択時、該当の航空会社をセット
        for( ii = 0; ii < len; ii++ )
        {
            if( self.AirlineArray[ii].AllianceCd == Alliancecode )
            {
                objCc.options[jj++] = new Option( self.AirlineArray[ii].name, self.AirlineArray[ii].code );
            }
        }
    }else{
    	//”アライアンス選択”選択時、初期状態
    	for( ii = 0; ii < len; ii++ )
        {
            objCc.options[jj++] = new Option( self.AirlineArray[ii].name, self.AirlineArray[ii].code );
        }
    }

}

