﻿
var httpReq;
function createRequest()
{
	try{
		httpReq=new XMLHttpRequest();
	}catch(ex)
	    {
	    	try{
	    		httpReq=new ActiveXObject("Msxml2.XMLHTTP");
	    	}catch(ex)
	    	{
	    		try{
	    			httpReq=new ActiveXObject("Microsoft.XMLHTTP");
	    		}catch(ex)
	    		{
	    			httpReq=false;
	    		}
	    	}
	    }
	    if(!httpReq)
	    {
	    	alert("Error initializing Request!");
	    }
}

var whpLoadFlag=0;
function GenerateWHPJRequest()
{
    //Loading...............
    if(whpLoadFlag==0){
        var strLoadingHTML="";
        strLoadingHTML+="<table style='width:200px;height:190px;' cellpadding='1'>";
        strLoadingHTML+="<tr><td style='height:190px;text-align:center; vertical-align:middle'><img src='Images/Loading.gif'/></td></tr>";
        strLoadingHTML+="</table>";
        var whpjElem=document.getElementById("whpj");
        whpjElem.innerHTML=strLoadingHTML;
        whpLoadFlag=1;
    }
	createRequest();
	var SoapRequest="/webservice/rate/default.aspx";
	
	try{
	httpReq.onreadystatechange=DealLinkWHPJChange;
	httpReq.open("GET",SoapRequest,true);
	httpReq.setRequestHeader("If-Modified-Since","0"); 
	httpReq.send();
	}catch(ex){}
	setTimeout("GenerateWHPJRequest()", 60000); 
}

function DealLinkWHPJChange()
{
	if(httpReq.readyState==4)
	{
		
		if(httpReq.status==200)
		{
			var whpjElem=document.getElementById("whpj");
			var resStringTable=httpReq.responseText;
			var currCodeArray = ['GBP','HKD','USD','SGD','YEN','AUD','EUR','THB'];
			var tablAppend="<table width='100%' cellpadding='0' cellspacing='0'>";
			tablAppend+="<tr><td style='height:24px;' colspan='3'></td></tr>";
			if(resStringTable.length>0)
			{
			    var currArray=resStringTable.split("|");
			    for(var i=0;i<currArray.length-1;i++)
			    {
			        var itemArray=currArray[i].split("@");
			        var currName=itemArray[0];
			        var currPrice=itemArray[1];
			        tablAppend+="<tr height='21'><td style='width:45%; text-align:center;'>" + currName + "</td><td style='width:20%; text-align:left;'>" + currCodeArray[i] + "</td><td style='width:35%;text-align:left'>" + currPrice + "</td></tr>";
			        if(i<currArray.length-2)
			            tablAppend+="<tr height='1'><td colspan='3' bgcolor='#ffffff'></td></tr>";
			    }
			}
			tablAppend+="</table>";
			whpjElem.innerHTML=tablAppend;
		}
	}
	
}

//hot city automatic search
var oFckCtrl="";
function generateHotCityRequest(sTxt)
{
        oFckCtrl=sTxt;
        var oTxt=document.getElementById(sTxt);
		var oSel=document.getElementById(sTxt + "List");
        if(event.keyCode==13)
		{
		    if(oSel.length>0){
		            oSel.selectedIndex=0;
		            oTxt.value=oSel.options[oSel.selectedIndex].text;
		            hideSelDivList(sTxt);
		    }
		    
		}else if(event.keyCode==40)
		{
		    if(oSel.length>0){
		        oSel.selectedIndex=0;
		            //oTxt.value=oSel.options[oSel.selectedIndex].text;
		            //showSelDivList(sTxt);
		            setHotCitySlect(sTxt,"change");
		            oSel.focus();
		            
		        }
		}else if(event.keyCode!=37 && event.keyCode!=38 && event.keyCode!=39){
                var oTxt=document.getElementById(sTxt);
			    var curCityKey=oTxt.value;
			    if(curCityKey.length>=2){
                    createRequest();
			        SetAutoSlectDiv(sTxt,curCityKey);
			        var SoapRequest="hajxCityHelper.aspx?keyword=" + curCityKey;
			        try{
				        httpReq.onreadystatechange=dealHotCityHttpChange;
				        httpReq.open("GET",SoapRequest,true);
				        httpReq.send();		
			        }catch(ex){}
			    }
			    else if(curCityKey.length==0){
			        var ffCityElem=document.getElementById(sTxt + "List");
			        ffCityElem.length=0;
			        hideSelDivList(sTxt);
		        }
		}
}

function SetAutoSlectDiv(sTxt,txtVal)
{
	txtVal=String(txtVal);
	txtVal=txtVal.replace(/\ /g,"");
	var oTxt=document.getElementById(sTxt);
	var oDiv;
	if(document.getElementById)
		oDiv=document.getElementById(sTxt + "ListDiv");
	else
		oDiv=document.all(sTxt + "ListDiv");
	if(txtVal=='')
		oDiv.style.display="none";
	else
		oDiv.style.display="block";	
	
	var eTop=oTxt.offsetTop;
	var eLeft=oTxt.offsetLeft;
	var eWidth=oTxt.offsetWidth;
	var eHeight=oTxt.offsetHeight;
	while(oTxt = oTxt.offsetParent)
    	{ 
	        eTop += oTxt.offsetTop; 
	        eLeft += oTxt.offsetLeft; 
    	} 

	oDiv.style.top=eTop + eHeight;
	oDiv.style.left=eLeft;
	
}

function setHotCityAutoSlectDiv(sTxt)
{
	var oTxt=document.getElementById(sTxt);
	var oDiv;
	if(document.getElementById)
		oDiv=document.getElementById(sTxt + "ListDiv");
	else
		oDiv=document.all(sTxt + "ListDiv");
	oDiv.style.display="block";	
	
	var eTop=oTxt.offsetTop;
	var eLeft=oTxt.offsetLeft;
	var eWidth=oTxt.offsetWidth;
	var eHeight=oTxt.offsetHeight;
	while(oTxt = oTxt.offsetParent)
    	{ 
	        eTop += oTxt.offsetTop; 
	        eLeft += oTxt.offsetLeft; 
    	} 

	oDiv.style.top=eTop + eHeight;
	oDiv.style.left=eLeft;
	
}

function dealHotCityHttpChange()
{
    var ffCityElem=document.getElementById(oFckCtrl + "List");
	for(var j=ffCityElem.length-1;j>=0;j--)
			ffCityElem.options.remove(j);
	var opt=document.createElement("OPTION");
	opt.value="";
	opt.text="数据装载中,请稍后...";
	ffCityElem.options.add(opt);
				    			
	if(httpReq.readyState==4)
	{
		if(httpReq.status==200)
		{
			ffCityElem=document.getElementById(oFckCtrl + "List");
			for(var j=ffCityElem.length-1;j>=0;j--)
				ffCityElem.options.remove(j);
			
			var selCityString=httpReq.responseText;
			if(selCityString.length>0)
			{
			    var tempArray=selCityString.split("|");
			    for(var i=0;i<tempArray.length;i++)
			    {
			        var listArray=tempArray[i].split("@");
			        countryCode=listArray[0];
			        cityCode=listArray[1];
			        countryName=listArray[2];
			        cityName=listArray[3];
			        isAreaFlag=listArray[4];
			        var opt=document.createElement("OPTION");
				    opt.value=cityCode + "|" + countryCode + "|" + isAreaFlag
				    opt.text=cityName + "," + countryName
				    ffCityElem.options.add(opt);
			    }
			}
			
		}
	}
}
    function getLocationParmValueByName(parmName){
            var parmValue="";
            var parmString=window.location.search;
            parmString=parmString.replace(/\?/g,"");
            var parmArray=parmString.split("&");
            for(var i=0;i<parmArray.length;i++){
                var tempItem=parmArray[i];
                var tempField=tempItem.split("=");
                if(tempField[0]==parmName){
                    parmValue=tempField[1];
                    break;
                }
            }
            return parmValue;
    }
    
    function diffDays(date1,date2){
        s1 = date1.replace(/-/g, "/"); 
        s2 = date2.replace(/-/g, "/"); 
        s1 = new Date(s1);
        s2 = new Date(s2);
        var times= s2.getTime() - s1.getTime(); 
        var days = parseInt(times / (1000 * 60 * 60 * 24));    
	    return days;
    }

    function showWaitingMessage(){
        var oMsg=document.getElementById("spWaitingMsg");
        var chkInDate=getLocationParmValueByName("chkInDt");
        var chkOtDate=getLocationParmValueByName("chkOtDt");
        var cityKeyName=getLocationParmValueByName("cityKeyName");
        var days=diffDays(chkInDate,chkOtDate);
        var reqMsgString="&nbsp;&nbsp;请稍等，我们正在为您查找" + unescape(cityKeyName) + "酒店<br/>";
        reqMsgString+="&nbsp;&nbsp;入住日期：" + chkInDate + "&nbsp;,&nbsp;退房日期：" + chkOtDate + ",共：" + days + "晚<br/>";
        reqMsgString+="&nbsp;&nbsp;请注意，您看见的价格即为您需要支付的价格，我们保证没有隐含的费用";
        oMsg.innerHTML=reqMsgString;
    }
    
    function generateHotelSearchRequest(){
        showWaitingMessage();
	    createRequest();
	    var s =  window.location.search;
	    var SoapRequest="XmlCallCenter.aspx" + s + "&act=srch";
	    //var oHHParms=document.getElementById("hhSearchParms");
	    //oHHParms.value=s;
	    try{
	        httpReq.onreadystatechange=dealHotelHttpChange;
	        httpReq.open("GET",SoapRequest,true);
	        httpReq.setRequestHeader("If-Modified-Since","0"); 
	        httpReq.send();
	    }catch(ex){}
    }
    
    function dealHotelHttpChange(){
        var s =  window.location.search;
	    if(httpReq.readyState==4){
		    if(httpReq.status==200){
		        var oDLMsg=document.getElementById("spWaiting01");
    		    var oDLResult=document.getElementById("hhDealResult");
    		    var hhSearchKeyString=httpReq.responseText;
    		    oDLMsg.innerHTML="酒店搜索完毕";
    		    oDLResult.innerHTML="正在对数据进行最后处理,请稍侯...";
    		    //go to display page
    		    var linkDspPage="HotelResultDisplay.aspx" + s + "&sKey=" + hhSearchKeyString;
    		    window.location.href=linkDspPage;
		    }
	    }
	
	}