var httpObj=false;
var dataAry = [];
// 200710 Lac.nakano 詳細画面表示方法変更 Ins -Str
var action;
var changeDiv;
// 200710 Lac.nakano 詳細画面表示方法変更 Ins -End
function dataRequest(URL,mtd){
    httpObj=createXMLHttpRequest();
    if(httpObj){
        httpObj.onreadystatechange = mtd;
        httpObj.open("GET",URL,true);
        httpObj.send(null);
    }
}
function createXMLHttpRequest(){
    if(window.XMLHttpRequest) return new XMLHttpRequest();
    else if(window.ActiveXObject){
        try{return new ActiveXObject("Msxml2.XMLHTTP");}
        catch(e){try{new ActiveXObject("Microsoft.XMLHTTP");} catch(e2){return null;}}
    }else{return null;}
}
function isReady(){
    if(httpObj&&(httpObj.readyState==4)&&(httpObj.status==200)) return true;
    else return false;
}
function getNodeValue(obj){
    if(obj){
        if(obj.firstChild){
            if(obj.firstChild.nodeValue) return obj.firstChild.nodeValue;
            else return '';
        }
        else if(obj.text) return obj.text;
        else if(obj.textContent) return obj.textContent;
        else return '';
    }else return '';
}
function getObject(id){
    if(document.getElementById) return document.getElementById(id);
    else if(document.all) return document.all(id);
    else if(document.layers) return document.layers[id];
}

// 200710 Lac.nakano 詳細画面表示方法変更 Ins -Str

// Tab切替
function changeTab(nextPage,sQuery){
	
	var nextUrl; //遷移先URL
	
	//戻る用URL設定
	sethistory(sQuery);

	//遷移先URL取得
	nextUrl=getUrl(nextPage);
	
	if(nextPage == 0)
	{//ホテル詳細
		changeDiv = "divhotelDetail";
		//現在表示されているホテル名のIndex
		if(getObject("idDetailPageNo"))var page = getObject("idDetailPageNo").value;
		nextUrl += sQuery + "&Page=" + page;
	}
	else if(nextPage == 1)
	{//タリフ一覧
		changeDiv = "divhotelTarifu";
		nextUrl += sQuery;
	}
	else if(nextPage == 2)
	{//プラン一覧
		changeDiv = "divhotelPlan";
		nextUrl += sQuery;
	}
	
	//画面表示切替
	var result= httpRequest(nextUrl,displayChange);
	
}

//URL取得
function getUrl(pageType){
	
	var ret;
	if(pageType == 0)
	{
		ret = "/kaigai/htl/Ajax/XML/HotelDetailXML.aspx";
	}
	else if(pageType == 1)
	{
		ret = "/kaigai/htl/Ajax/XML/HotelTarifuXML.aspx";
	}
	else if(pageType == 2)
	{
		ret = "/kaigai/htl/Ajax/XML/HotelPlanXML.aspx";
	}
	
	return ret;
}

//指定画面のURLを取得
function getNowPage(){

	var nowPage
	
	if(getObject("idNowPageNo"))nowPage = getObject("idNowPageNo").value
	
	return nowPage;
}

// 内容を入れ替える
function displayChange(res){
	if(res!=""){
		
		//innerHTML初期化
		clear_Table('divhotelDetail');
		clear_Table('divhotelTarifu');
		clear_Table('divhotelPlan');
		//innerHTML書込み
        getObject(changeDiv).innerHTML = res;
        //include書込み
        getInclude();
        //画面トップに表示移動
        location.href="#TOP";
        //画面履歴登録フラグ（true:戻る処理 false:遷移処理）
        boolpop = false;
        
    }
}

//includeファイル取得
function getInclude(){

	var attentionUrl=""; //ご注意IncludeURL

	if(changeDiv == "divhotelDetail")
    {//ホテル詳細
		//include取得
		get_inc("/kaigai/htl/include/detail/Gochui_Detail.html","attention");
		//ホテル詳細ページサブタイトル変更
		if(getObject("idHotelName")) getObject('hotel_name_title').firstChild.nodeValue = getObject("idHotelName").value
		//add 20090723 JSS.suzuki HTL_045対応 ホテル名英語表記追加 --Start
		if(getObject("idHotelNameE")) getObject('hotel_name_title_e').firstChild.nodeValue = getObject("idHotelNameE").value
		//add 20090723 JSS.suzuki HTL_045対応 ホテル名英語表記追加 --End

		//パンくず変更
		get_topicpath(0);
    }
    else if(changeDiv == "divhotelTarifu")
    {//タリフ画面表示の時
		//include取得
		get_inc("/kaigai/htl/include/planlist/Nihon/Guidance.html","guidance-japan");
		get_inc("/kaigai/htl/include/planlist/local/Guidance.html","guidance-local");
		//各includeURL
		if(getObject("gochui_tarifu"))
		{//全部
			attentionUrl = getObject("gochui_tarifu").value;
		}
		else if(getObject("gochui_nihon"))
		{//日本円払いinclude
			attentionUrl = getObject("gochui_nihon").value;
		}
		else if(getObject("guidance-local"))
		{//現地払いinclude
			attentionUrl = getObject("guidance-local").value;
		}
		if(attentionUrl)get_inc(attentionUrl,"attention");
		//パンくず変更
		get_topicpath(2);
		
	}
	else if(changeDiv == "divhotelPlan")
	{//プラン一覧
		//パンくず変更
		get_topicpath(1);
	}
}

//履歴追加
function sethistory(sQuery){
	
	if(boolpop == false)
	{
		var nowPageNo = getNowPage();
		//プラン画面対応
		if(nowPageNo == 2)
		{
			if(getObject("idDepartureDate"))
			{
				tarifuCheckInMonth = (getObject("idDepartureDate").value).substr(0,6);
				tarifuCheckInDay   = (getObject("idDepartureDate").value).substr(6,2);
			}
			if(getObject("idNumberOfStay"))tarifuStayDays = getObject("idNumberOfStay").value;
			if(getObject("idNumberOfRoom"))tarifuRoomList = getObject("idNumberOfRoom").value;
			if(getObject("idMinimumPrice"))tarifuMinPrice = getObject("idMinimumPrice").value;
			if(getObject("idMaximumPrice"))tarifuMaxPrice = getObject("idMaximumPrice").value;
		}
		historyAry.push(nowPageNo + "," + sQuery);
	}else if(boolpop == true) boolpop = false;
}

//戻るリンク
function backPage(){

	if(historyAry.length > 0){
        var index = historyAry.length - 1;
        var scr = historyAry[index].split(",",2);
        
        historypop();
        if(scr[0] != 2)
        {
			changeTab(scr[0],scr[1]);
        }
        else
        {
			//serchTarifuData();
			changePlanPage();
        }
        
    }else{
        history.back();
    }
}

// HttpRequestを実行
function httpRequest(url,mtd){
	// レスポンス受信後に実行するメソッドを指定
	action = mtd;
    // XMLHttpRequestオブジェクト作成
    objhttp = createXMLHttpRequest();
    if (objhttp == null){
		return -1;
	}
    // CallBack関数を指定
	objhttp.onreadystatechange = check;
	objhttp.open("GET", url, true);
	objhttp.send(null);
}

// CallBack関数
function check(){
	if (objhttp.readyState == 4) {
		if (objhttp.status == 200) {
			action(objhttp.responseText);//生成した文字列を取得
		}
	}
}
// 200710 Lac.nakano 詳細画面表示方法変更 Ins -End

//ADD 20081111 Aタグのjavascript関数の引数にURLエンコーディングされた文字があると勝手にデコードされしかも文字化けする問題対応 START

// changeTabの引数「sQuery」をテキストボックスから取得し、changeTabを実行する(Aタグの中にURLエンコードされた文字があると文字化けしてしまうため)
function to_changeTab(nextPage, tbId){
	var sQuery2 = document.getElementById(tbId).value;	//テキストボックスから値を取得
	changeTab(nextPage, sQuery2);
}
//ADD 20081111 Aタグのjavascript関数の引数にURLエンコーディングされた文字があると勝手にデコードされしかも文字化けする問題対応 END