﻿
Array.prototype.associate = function(keys, obj){
	var r = obj || {};
	for(var i = 0, n = Math.min(keys.length, this.length); i < n; i ++) r[keys[i]] = this[i];
	return r;
};

function getpar(par,str){ //string,[string]:string
	if(str){
		var pars = str.split("?")[1]?str.split("?")[1].split("&"):"";
	}else{
		var pars = (location.href.split("?")[1])?location.href.split("?")[1].split("&"):"";
	}
	if(pars){
		var hpars = {};
		for(var i = 0,j = pars.length;i<j;i++){
			var temp = pars[i].split("=");
			hpars[temp[0]]=temp[1];
		}
		return hpars[par]||"";
	}else return "";
}

function setpar(name,value,str){	//string,string,[string]:string
	if(str){
		var url = str;
	}else{
		url = location.href;
	}
	var domain = url.split("?")[0];
	var pars = url.split("?")[1]?url.split("?")[1].split("&"):"";
	var tempurl = domain;
	var hpars = {};
	if(pars){
		for(var i = 0,j = pars.length;i<j;i++){
			var temp = pars[i].split("=");
			hpars[temp[0]]=temp[1];
		}
	}
	hpars[name] = value;
	if(hpars){
		tempurl += "?";
		for(var i in hpars){
			tempurl+=i+"="+hpars[i]+"&";
		}
		tempurl = tempurl.slice(0,(tempurl.length-1));
	}

	return tempurl;
}

$myajax=function(url,content,callback){ //url,content[post],{ready:function(response){},waitting:function(){},falt:function(){}}
	var xmlVer=["MSXML2.XMLHTTP","Microsoft.XMLHTTP"],xmlObj;
	try {
		xmlObj=new XMLHttpRequest();
	} catch(e) {
		for (var i=0;i<xmlVer.length;i++)
			try {
				xmlObj=new ActiveXObject(xmlVer[i]);
				break;
			} catch(e) {}
	}
	if (!xmlObj) return;
	xmlObj.open(content?"POST":"GET",url||_.location.href,!!callback);
	xmlObj.setRequestHeader("Content-Type","application\/x-www-form-urlencoded");
	xmlObj.setRequestHeader("If-Modified-Since",new Date(0));
	if (callback&&callback["ready"])
		xmlObj.onreadystatechange=function(){
			if (xmlObj.readyState==4){
				if(xmlObj.status==200){
					var txt=xmlObj.status==200?(/xml/i.test(xmlObj.getResponseHeader("content-type"))?xmlObj.responseXML:xmlObj.responseText):null;
					if (callback["ready"](txt)===true){
						setTimeout(function(){
							_.$ajax(url,content,callback);
						},1000);
					}
				}else{
					callback["falt"]();
				}
				
			}else{
				callback["waitting"]();
			}
		};
	xmlObj.send(content||'');
	return callback?xmlObj:(xmlObj.status==200?(/xml/i.test(xmlObj.getResponseHeader("content-type"))?xmlObj.responseXML:xmlObj.responseText):null);
};

$r("domReady",function(){
	var url = "/Domestic/Tool/AjaxHotelPrice.aspx?hotel=";
	var today = new Date();
	var tomorrow = new Date();
	tomorrow = new Date(tomorrow.setDate(tomorrow.getDate()+1));

	var resElm = $("base_maincontent");
	var subElm = $("rechoose");
	var historydata = $pageValue.get("ajaxdata")||"";
	var hotelid = $("hotel").value||"10";

	var datestart = $("startdate").value||getpar("StartDate")||today.toStdString();
	var dateend = $("depdate").value||getpar("DepDate")||tomorrow.toStdString();
	$("startdate_1").value = datestart;
	$("depdate_1").value = dateend;
	var submithandler = function(){
		datestart = $("startdate_1").value||today.toStdString();
		dateend = $("depdate_1").value||tomorrow.toStdString();


		if(checkDate(["startdate_1","depdate_1"])){
			$("startdate").value = datestart;
			$("depdate").value = dateend;
			if(datestart&&dateend){
				HotelQuery.checkOut = dateend;
				HotelQuery.checkIn = datestart;
				var tempurl = url + hotelid + "&StartDate=" + datestart+"&DepDate="+dateend;
				var hotelajax = $myajax(tempurl,"",{
					ready:callbackready,
					waitting:callbackwaitting,
					falt:callbackfalt
				})
			}else{
				datestart.value?$alert(dateend,"请选择离店时间"):$alert(datestart,"请选择入住时间");
			}
		}
	}

	var callbackready = function(resTXT){
		if(resTXT=="null"){
			resElm.innerHTML = "已无房间";
		}else{
			$pageValue.set("ajaxdata",resTXT);
			
			HotelQuery.checkOut = dateend;
			HotelQuery.checkIn = datestart;
			//alert(HotelQuery.checkOut+":"+HotelQuery.checkIn);
			resElm.innerHTML = showRoomList(resTXT,hotelid);
		}
		enablesubmit();
	}
	var callbackwaitting = function(){
		resElm.innerHTML = "正在更新，请稍候 ";
		disablesubmit();
	}
	var callbackfalt = function(){
		resElm.innerHTML = "更新失败，请重试 ";
		enablesubmit();
	}
	if(historydata){
		callbackready(historydata);
	}

	function disablesubmit(){
		subElm.onclick = function (){return false};
	}

	function enablesubmit(){
		subElm.onclick = submithandler;
	}

	subElm.onclick = submithandler;
	submithandler();

},56)