var bF = "False";
var bT = "True";
var NN = "NONE";
var SGL = "Single";
var TWN = "Twin";
var DBL = "Double";
var TPL = "Triple";
var QUAD = "Quad";
var cdHotel = "Quad";
var StartImg = 1, EndImg = 4;
var sHC = {
	dHotel : new Array(),
	sortOriginal : new Array(),
	sortAlphabet : new Array(),
	sortStar : new Array(),
	sortStartmp : new Array(),
	sortFoc : new Array(),
	sortFoctmp : new Array(),
	sortDisplay : new Array(),
	isCompleted : false,
	perpage : 10,
	perrange : 4,
	RSPrice : 0
}
sHC.setHotel = function(data){
	sHC.xHotel = data[0];
	sHC.dHotel[data[0]] = {
		"HotelId" : data[0],
		"HotelName" : data[1],
		"Currency" : data[2],
		"MarketName" : data[3],
		"CancelPolicyId" : data[4],
		"InternalCode" : data[5],
		"avail" : (data[6].toUpperCase()=="TRUE" || data[6].toUpperCase()=="Y"),
		"star" : data[7],
		"image" : data[8],
		"Plus2" : data[9],
		"ResId" : data[10],
		"HBId" : data[11],
		"isFOC" : false,
		"dFOC" : new Array(),
		"dCatg" : new Array()
	}
	var Alp = data[1].substr(0, 1).toUpperCase();
	if (!Alp.match(/[a-z|A-Z]/g)) Alp = "Etc";
	if (!sHC.sortAlphabet[Alp]) sHC.sortAlphabet[Alp] = [];
	if (!sHC.sortAlphabet["All"]) sHC.sortAlphabet["All"] = [];
	sHC.sortAlphabet[Alp][sHC.sortAlphabet[Alp].length] = sHC.xHotel;
	sHC.sortAlphabet["All"][sHC.sortAlphabet["All"].length] = sHC.xHotel;
	sHC.sortOriginal[sHC.sortOriginal.length] = sHC.xHotel;
	sHC.sortDisplay = sHC.sortOriginal;
	if (!sHC.sortStartmp[data[7]]) sHC.sortStartmp[data[7]] = new Array();
	sHC.sortStartmp[data[7]][sHC.sortStartmp[data[7]].length] = sHC.xHotel;
}
sHC.setCatg = function(data){
	sHC.RSPrice = 0;
	sHC.xCatg = data[0];
	sHC.xBFType = data[6];
	sHC.dHotel[sHC.xHotel]["dCatg"][data[0]+"-"+data[6]] = {
		"Code" : data[0],
		"Name" : data[1],
		"NetPrice" : data[2],
		"GrossPrice" : data[3],
		"CommPrice" : data[4],
		"Price" : data[5],
		"NetPriceUp" : sHC.DiscountUp(data[2], aDiscount, aDiscountLevel, aDiscountFlag, aDiscountType, 1, 1),
		"GrossPriceUp" : sHC.DiscountUp(data[3], aDiscount, aDiscountLevel, aDiscountFlag, aDiscountType, 1, 1),
		"CommPriceUp" : sHC.DiscountUp(data[4], aDiscount, aDiscountLevel, aDiscountFlag, aDiscountType, 1, 1),
		"PriceUp" : sHC.DiscountUp(data[5], aDiscount, aDiscountLevel, aDiscountFlag, aDiscountType, 1, 1),
		"BFType" : data[6],
		"Seq" : data[8],
		"Available" : data[9],
		"LangName" : data[10]
	}
	sHC.dHotel[sHC.xHotel]["dCatg"][sHC.xCatg+"-"+sHC.xBFType].dType = sHC.setType(data[7]);
	sHC.dHotel[sHC.xHotel]["dCatg"][sHC.xCatg+"-"+sHC.xBFType].NetPriceUp = sHC.RSPrice;
}
sHC.setType = function(data){
	var obj = new Array();
	for (var iT=0; iT<data.length; iT++) {
		var dType = data[iT];
		obj[iT] = {
			"TypeName" : dType[0],
			"NumRooms" : dType[1],
			"TotalPrice" : dType[2],
			"avrNightPrice" : dType[3],
			"RTGrossPrice" : dType[4],
			"RTCommPrice" : dType[5],
			"RTNetPrice" : dType[6],
			"TotalPrice" : sHC.DiscountUp(data[2], aDiscount, aDiscountLevel, aDiscountFlag, aDiscountType, 1, 1),
			"avrNightPriceUp" : sHC.DiscountUp(dType[3], aDiscount, aDiscountLevel, aDiscountFlag, aDiscountType, 1, 1),
			"RTGrossPriceUp" : sHC.DiscountUp(dType[4], aDiscount, aDiscountLevel, aDiscountFlag, aDiscountType, 1, 1),
			"RTCommPriceUp" : sHC.DiscountUp(dType[5], aDiscount, aDiscountLevel, aDiscountFlag, aDiscountType, 1, 1),
			"RTNetPriceUp" : sHC.DiscountUp(dType[6], aDiscount, aDiscountLevel, aDiscountFlag, aDiscountType, 1, 1),
			"dOffSet" : sHC.setOffSet(dType[7])
		};
	}
	return obj;
}
sHC.setOffSet = function(data){
	var obj = new Array();
	for (var iR=0; iR<data.length; iR++) {
		var dRate = data[iR];
		obj[iR] = {
			"NightPrice" : dRate[0],
			"Child" : {"MinAge":dRate[2], "MaxAge":dRate[3], "Desc":dRate[4]},
			"RatePromotion" : {"MINDay":dRate[18], "MINFromDt":dRate[19], "MINToDt":dRate[20]},
			"Minstay" : {"MSDay":dRate[5], "MSType":dRate[6], "MSRate":dRate[7], "MSServiceType":dRate[17]},
			"Compulsory" : {"Name":dRate[8]},
			"Supplement" : {"Name":dRate[9]},
			"Promotion" : {"Name":dRate[10], "Value":dRate[11]},
			"EarlyBird" : {"EBType":dRate[12], "EBRate":dRate[13], "EBServiceType":dRate[16]},
			"Commission" : {"CommType":dRate[14], "CommRate":dRate[15]},
			"dRoomRate" : sHC.setRoomRate(dRate[1],dRate[6],dRate[12])
		};
		if ((!sHC.dHotel[sHC.xHotel].dFOC[sHC.xCatg+"-"+sHC.xBFType]) && (dRate[11].toUpperCase()=="TRUE" || dRate[11].toUpperCase()=="Y"))
		{
			var dCatg = sHC.dHotel[sHC.xHotel]["dCatg"][sHC.xCatg+"-"+sHC.xBFType];
			sHC.dHotel[sHC.xHotel].dFOC[sHC.xCatg+"-"+sHC.xBFType] = "<b>"+dCatg.LangName+"-"+dCatg.BFType+" : </b>"+dRate[10];
			sHC.dHotel[sHC.xHotel].isFOC = true;
		}
		var bF = (sHC.dHotel[sHC.xHotel].isFOC)?"Y":"N";
		if (!sHC.sortFoctmp[bF]) sHC.sortFoctmp[bF] = new Array();
		var n = sHC.sortFoctmp[bF].length;
		if(cdHotel != sHC.xHotel){
			cdHotel=sHC.xHotel;
			sHC.sortFoctmp[bF][n] = sHC.xHotel;
		}
	}
	return obj;
}
sHC.setRoomRate = function(data,MSType,EBType){
	var obj = new Array();
	var SumPrice = 0, RoomPrice = 0, MinstayPrice = 0, CompulsoryPrice = 0, SupplementPrice = 0, PromotionBFPrice = 0, EarlyBirdDiscount = 0, CommissionPrice = 0;
	for (var iO=0; iO<data.length; iO++) {
		var dRate = data[iO];
		RoomPrice = sHC.DiscountUp(dRate[4], aDiscount, aDiscountLevel, aDiscountFlag, aDiscountType, 1, 1)
		MinstayPrice = (MSType=="AMOUNT") ? dRate[5] : sHC.DiscountUp(dRate[5], aDiscount, aDiscountLevel, aDiscountFlag, aDiscountType, 1, 1)
		CompulsoryPrice = (aDiscountLevel=="ACCOM") ? dRate[6] : sHC.DiscountUp(dRate[6], aDiscount, aDiscountLevel, aDiscountFlag, aDiscountType, 1, 1)
		SupplementPrice = (aDiscountLevel=="ACCOM") ? dRate[7] : sHC.DiscountUp(dRate[7], aDiscount, aDiscountLevel, aDiscountFlag, aDiscountType, 1, 1)
		PromotionBFPrice = (aDiscountLevel=="ACCOM") ? dRate[8] : sHC.DiscountUp(dRate[8], aDiscount, aDiscountLevel, aDiscountFlag, aDiscountType, 1, 1)
		EarlyBirdDiscount = (EBType=="AMOUNT") ? dRate[9] : sHC.DiscountUp(dRate[9], aDiscount, aDiscountLevel, aDiscountFlag, aDiscountType, 1, 1)
		CommissionPrice = (aDiscountLevel=="ACCOM") ? dRate[10] : sHC.DiscountUp(dRate[10], aDiscount, aDiscountLevel, aDiscountFlag, aDiscountType, 1, 1)
		obj[iO] = {
			"AdultNum" : dRate[0],
			"ChildNum" : dRate[1],
			"ChildAge1" : dRate[2],
			"ChildAge2" : dRate[3],
			"RoomPrice" : dRate[4],
			"MinstayPrice" : dRate[5],
			"CompulsoryPrice" : dRate[6],
			"SupplementPrice" : dRate[7],
			"PromotionBFPrice" : dRate[8],
			"EarlyBirdDiscount" : dRate[9],
			"CommissionPrice" : dRate[10],
			"sRoomType" : dRate[11],
			"RoomPriceUp" : RoomPrice,
			"MinstayPriceUp" : MinstayPrice,
			"CompulsoryPriceUp" : CompulsoryPrice,
			"SupplementPriceUp" : SupplementPrice,
			"PromotionBFPriceUp" : PromotionBFPrice,
			"EarlyBirdDiscountUp" : EarlyBirdDiscount,
			"CommissionPriceUp" : CommissionPrice

		};
		sHC.RSPrice += (RoomPrice+CompulsoryPrice+SupplementPrice+PromotionBFPrice+CommissionPrice)-(MinstayPrice+EarlyBirdDiscount);
	}
	return obj;
}
sHC.setdisplay = function(n,roomseq){
	var decHotel = "";
	var i = sHC.perpage*n;
	while((i<sHC.sortDisplay.length) && (i<((n+1)* sHC.perpage))) {
		var HotelCode = sHC.sortDisplay[i];
		var dHotel = sHC.dHotel[HotelCode];
		if($("lyroomcatg")) $("lyroomcatg").innerHTML="";
		var roomcatgcode = "";
		var classroomcatg = "";
		var classstatus = "";
		var classbtnbook = "";
		var avail = "";
		for (var xCatg in dHotel.dCatg){
			var dCatg = dHotel.dCatg[xCatg];
			var dType = dCatg.dType;
			var CatgCode = dCatg.Code;
			var tmp = $("lytemproomcatg").innerHTML;
			tmp = tmp.split("xxxHotelCodexxx").join(HotelCode);
			tmp = tmp.split("xxxCatgCodexxx").join(xCatg);
			tmp = tmp.split("xxxNamexxx").join(dCatg.LangName);
			tmp = tmp.split("xxxBFTypexxx").join(strBF[dCatg.BFType]);
			tmp = tmp.split("xxxRoomSeqxxx").join(dCatg.Seq);
			classroomcatg = (roomseq==dCatg.Seq) ? "rs-rate-rm-act" : "rs-rate-rm";
			if(roomseq==dCatg.Seq) roomcatgcode = xCatg;
			tmp = tmp.split("xxxRoomCatgClassxxx").join(classroomcatg);
			classbtnbook = (dCatg.Available=="Y") ? "rs-rm-btn-book-av" : "rs-rm-btn-book";
			tmp = tmp.split("xxxClassBtnBookxxx").join(classbtnbook);
			classstatus = (dCatg.Available=="Y") ? "rs-rm-status-av" : "rs-rm-status-rq";
			avail = (dCatg.Available=="Y") ? _Available : _On_Request;
			tmp = tmp.split("xxxClassStatusxxx").join(classstatus);
			tmp = tmp.split("xxxStatusxxx").join(avail);
			tmp = tmp.split("xxxStatusBookxxx").join(dCatg.Available);
			tmp = tmp.split("xxxNetPricexxx").join(jNumberFormat(dCatg.NetPriceUp, 2)+" "+sHC.dHotel[HotelCode].Currency);
			$("lyroomcatg").innerHTML += tmp;
			if(roomseq=="0") sHC.showRoom(roomcatgcode,HotelCode,roomseq);
		}
		i++;
	}
}
sHC.showRoom = function(RoomCatgID,HotelCode,RoomSeq){
	for (var xCatg in sHC.dHotel[HotelCode].dCatg) if($(xCatg)) $(xCatg).className = "rs-rate-rm"; else $(RoomCatgID).className = "rs-rate-rm";
	$(RoomCatgID).className = "rs-rate-rm-act";
	var dCatg = sHC.dHotel[HotelCode].dCatg[RoomCatgID];
	var dType = dCatg.dType;
	var lytmpRate = $("lytmpRate").innerHTML;
	lytmpRate = lytmpRate.split("xxxCatgNamexxx").join(dCatg.LangName);
	lytmpRate = lytmpRate.split("xxxBFTypexxx").join(strBF[dCatg.BFType]);
	lytmpRate = lytmpRate.split("xxxCatgCodexxx").join(RoomCatgID);
	lytmpRate = lytmpRate.split("xxxRoomSeqxxx").join(RoomSeq);
	lytmpRate = lytmpRate.split("xxxHotelCodexxx").join(HotelCode);
	var roomstatus = "";
	var classroomstatus = "";
	classroomcatg = (dCatg.Available=="Y") ? "rate-rm-name-av" : "rate-rm-name-rq";
	roomstatus = (dCatg.Available=="Y") ? _Available : _On_Request;
	lytmpRate = lytmpRate.split("xxxClassRoomStatusxxx").join(classroomcatg);
	lytmpRate = lytmpRate.split("xxxRoomStatusxxx").join(roomstatus);
	$("lyRate").innerHTML = lytmpRate;
	if(dCatg.Seq==RoomSeq){
		var Compulsory = "", Supplement = "", Promotion = "", EarlyBirds = "", Minstay = "", MinstayRate = "", MinstayDay = "", strComp = "", strSupp = "", strPro = "", strEarlyBirds = "", strMinstay = "", strRatePromotion = "", dCompul = "", dSupple = "";
		var RatePromotion = 0;
		var splFromDt = $("txtFromDate").value.split("-");
		objDate = new Date(parseFloat("20"+splFromDt[2]),parseFloat(splFromDt[1]-1),parseFloat(splFromDt[0]));
		var lydailyrate = "";
		for(var j=0;j<dType.length;j++){
			var dOffSet = dType[j].dOffSet;
			for(var k=0;k<dOffSet.length;k++){
				var cObjDate=new Date(objDate.getFullYear(),objDate.getMonth(),objDate.getDate()+k);
				var showDate = cObjDate.getDate()+" "+calendar2.mName[cObjDate.getMonth()].substr(0,3)+" "+cObjDate.getFullYear();
				var tmpdailyrate = $("lytempratedaily").innerHTML;
				if (dType[j].TypeName.toUpperCase() == 'SINGLE')
				{
					var RoomTypeName = _Single;
				}
				else if (dType[j].TypeName.toUpperCase() == 'TWIN')
				{
					var RoomTypeName = _Twin;
				}
				else if (dType[j].TypeName.toUpperCase() == 'DOUBLE')
				{
					var RoomTypeName = _Double;
				}
				else if (dType[j].TypeName.toUpperCase() == 'TRIPLE')
				{
					var RoomTypeName = _Triple;
				}
				else if (dType[j].TypeName.toUpperCase() == 'QUAD')
				{
					var RoomTypeName = _Quad;
				}
				tmpdailyrate = tmpdailyrate.split("xxxRoomTypexxx").join(dType[j].TypeName);
				tmpdailyrate = tmpdailyrate.split("xxxRoomTypeNamexxx").join(RoomTypeName);
				tmpdailyrate = tmpdailyrate.split("xxxNumRoomsxxx").join(dType[j].NumRooms);
				tmpdailyrate = tmpdailyrate.split("xxxDayNamexxx").join(calendar2.dName[cObjDate.getDay()]);
				tmpdailyrate = tmpdailyrate.split("xxxDatePricexxx").join(showDate);
				tmpdailyrate = tmpdailyrate.split("xxxRTxxx").join(j);
				tmpdailyrate = tmpdailyrate.split("xxxNightxxx").join(k);
				var dRoomRate = dOffSet[k].dRoomRate;
				var NightPrice = 0;
				for(var m=0;m<dRoomRate.length;m++){
					NightPrice += (dRoomRate[m].RoomPriceUp+dRoomRate[m].CompulsoryPriceUp+dRoomRate[m].SupplementPriceUp+dRoomRate[m].PromotionBFPriceUp+dRoomRate[m].CommissionPriceUp)-(dRoomRate[m].MinstayPriceUp+dRoomRate[m].EarlyBirdDiscountUp);
				}
				tmpdailyrate = tmpdailyrate.split("xxxNightPricexxx").join(jNumberFormat(NightPrice, 2));
				tmpdailyrate = tmpdailyrate.split("xxxCurrencyxxx").join(sHC.dHotel[HotelCode].Currency);
				$("lyratedaily"+RoomCatgID).innerHTML += tmpdailyrate;
				if(dOffSet[k].Promotion.Name != 'NONE'){
					$("lyNightPrice-"+j+k).innerHTML = "<strong>Free Night</strong>";
					if(dOffSet[k].NightPrice > 0){
						$("lyFOCPrice-"+j+k).style.display = "";
						if(dOffSet[k].Promotion.Name.search('Compulsory') >= 0){
							$("lyFOCCharge-"+j+k).innerHTML = "Compulsory Breakfast";
						}else{
							$("lyFOCCharge-"+j+k).innerHTML = "Additional Surcharge";
						}
					}
				}
				if(dOffSet[k].Compulsory.Name!="NONE"){
					dCompul += ", "+showDate;
					if(Compulsory!=dOffSet[k].Compulsory.Name){
						Compulsory = dOffSet[k].Compulsory.Name;
						strComp += ",<br>"+dOffSet[k].Compulsory.Name;
					}
				}
				if(dOffSet[k].Supplement.Name!="NONE"){
					dSupple += ", "+showDate;
					if(Supplement!=dOffSet[k].Supplement.Name){
						Supplement = dOffSet[k].Supplement.Name;
						strSupp += ",<br>"+dOffSet[k].Supplement.Name;
					}
				}
				if(Promotion!=dOffSet[k].Promotion.Name&&dOffSet[k].Promotion.Name!="NONE"){
					Promotion = dOffSet[k].Promotion.Name;
					strPro  += ",<br>"+sHC.dHotel[HotelCode].dFOC[RoomCatgID];
				}
				if(dOffSet[k].EarlyBird.EBType!="NONE"){
					if(EarlyBirds!=dOffSet[k].EarlyBird.EBType){
						EarlyBirds = dOffSet[k].EarlyBird.EBType;
						var rmEarlyBird = dCatg.LangName;
						if (dOffSet[k].EarlyBird.EBServiceType == "NONE")
						{
							rmEarlyBird = "all rooms";
						}
						if (EarlyBirds == "PERCENT")
						{
							strEarlyBirds += ",<br>Get discount "+dOffSet[k].EarlyBird.EBRate+" % for "+rmEarlyBird;
						}
						else
						{
							strEarlyBirds += ",<br>Get discount amount "+dOffSet[k].EarlyBird.EBRate+" "+sHC.dHotel[HotelCode].Currency+" for "+rmEarlyBird;
						}
					}
				}
				if(dOffSet[k].Minstay.MSType!="NONE"){
					if(Minstay != dOffSet[k].Minstay.MSType || MinstayRate != dOffSet[k].Minstay.MSRate || MinstayDay != dOffSet[k].Minstay.MSDay){
						Minstay = dOffSet[k].Minstay.MSType;
						MinstayRate = dOffSet[k].Minstay.MSRate;
						MinstayDay = dOffSet[k].Minstay.MSDay;
						var rmMinstay = dCatg.LangName;
						if (dOffSet[k].Minstay.MSServiceType == "NONE")
						{
							rmMinstay = "all rooms";
						}
						if (Minstay == "PERCENT")
						{
							strMinstay += ",<br>Stay minimum "+dOffSet[k].Minstay.MSDay+" night(s). Get discount "+dOffSet[k].Minstay.MSRate+" % for "+rmMinstay;
						}
						else
						{
							strMinstay += ",<br>Stay minimum "+dOffSet[k].Minstay.MSDay+" night(s). Get discount amount "+dOffSet[k].Minstay.MSRate+" "+sHC.dHotel[HotelCode].Currency+" for "+rmMinstay;
						}
					}
				}
				if(dOffSet[k].RatePromotion.MINDay>0){
					if (RatePromotion!=dOffSet[k].RatePromotion.MINDay)
					{
						var arrMinFromDt = dOffSet[k].RatePromotion.MINFromDt.split("-");
						var objMinFromDt = new Date(arrMinFromDt[0],parseFloat(arrMinFromDt[1]-1),arrMinFromDt[2]);
						var MINFromDt = objMinFromDt.getDate()+" "+calendar2.mName[objMinFromDt.getMonth()].substr(0,3)+" "+objMinFromDt.getFullYear();
						var arrMinToDt = dOffSet[k].RatePromotion.MINToDt.split("-");
						var objMinToDt = new Date(arrMinToDt[0],parseFloat(arrMinToDt[1]-1),arrMinToDt[2]);
						var MINToDt = objMinToDt.getDate()+" "+calendar2.mName[objMinToDt.getMonth()].substr(0,3)+" "+objMinToDt.getFullYear();
						RatePromotion = dOffSet[k].RatePromotion.MINDay;
						strRatePromotion += ",<br>Min stay "+dCatg.LangName+" "+MINFromDt+" to "+MINToDt+", "+dOffSet[k].RatePromotion.MINDay+" Night(s). You will get special rate.";
					}
				}
				if(k==0) $("lyRoomType-"+dType[j].TypeName).style.display = "";
			}
			$("lyratedaily"+RoomCatgID).innerHTML += "<br>";
		}
		var lytempcomp = $("lytempcomp").innerHTML;
		lytempcomp = lytempcomp.split("xxxCompulsoryNamexxx").join("<br>"+dCompul.substr(1)+strComp.substr(1));
		if(Compulsory=="NONE"||Compulsory==""){
			$("lycomp"+RoomCatgID).style.display = "none";
			lytempcomp = "";
		}
		$("lycomp"+RoomCatgID).innerHTML += lytempcomp;

		var lytempsupp = $("lytempsupp").innerHTML;
		lytempsupp = lytempsupp.split("xxxSupplementNamexxx").join("<br>"+dSupple.substr(1)+strSupp.substr(1));
		if(Supplement=="NONE"||Supplement==""){
			$("lysupp"+RoomCatgID).style.display = "none";
			lytempsupp = "";
		}
		$("lysupp"+RoomCatgID).innerHTML += lytempsupp;

		var lytempfoc = $("lytempfoc").innerHTML;
		lytempfoc = lytempfoc.split("xxxPromotionNamexxx").join(strPro.substr(1));
		if(Promotion=="NONE"||Promotion==""){
			$("lyfoc"+RoomCatgID).style.display = "none";
			lytempfoc = "";
		}
		$("lyfoc"+RoomCatgID).innerHTML = lytempfoc;

		var lytempearlybirds = $("lytempearlybirds").innerHTML;
		lytempearlybirds = lytempearlybirds.split("xxxEarlyBirdsNamexxx").join(strEarlyBirds.substr(1));
		if(EarlyBirds=="NONE"||EarlyBirds==""){
			$("lyear"+RoomCatgID).style.display = "none";
			lytempearlybirds = "";
		}
		$("lyear"+RoomCatgID).innerHTML = lytempearlybirds;

		var lytempminstay = $("lytempminstay").innerHTML;
		lytempminstay = lytempminstay.split("xxxMinstayNamexxx").join(strMinstay.substr(1));
		if(Minstay=="NONE"||Minstay==""){
			$("lymin"+RoomCatgID).style.display = "none";
			lytempminstay = "";
		}
		$("lymin"+RoomCatgID).innerHTML = lytempminstay;

		var lytempratepromotion = $("lytempratepromotion").innerHTML;
		lytempratepromotion = lytempratepromotion.split("xxxRatePromotionxxx").join(strRatePromotion.substr(1));
		if(RatePromotion=="NONE"||RatePromotion==""){
			$("lyratepromotion"+RoomCatgID).style.display = "none";
			lytempratepromotion = "";
		}
		$("lyratepromotion"+RoomCatgID).innerHTML = lytempratepromotion;
	}
}
sHC.rCancel = function (CodeHotel){
	if($("Policy"+CodeHotel)){
		sHC.popupVCancelPolicy("<img src='../../imgrsvn/sLoad.gif'>");
		var fy,fm,fd,ty,tm,td;
		if($("Policy"+CodeHotel).value==""){
			var dHotel = sHC.dHotel[CodeHotel];
			var myurl = "ajax/ViewCXLPolicy.php", http = new getXMLHTTPRequest();
			var PaxPassport = sHC.sNationality;
			var InternalCode = dHotel.InternalCode;
			var CancelPolicyID = dHotel.CancelPolicyId;
			var txtqsfromdate = $("txtFromDate").value.split("-");
			objFromDt = new Date("20"+txtqsfromdate[2], parseFloat(txtqsfromdate[1])-1, txtqsfromdate[0]);
			fy = objFromDt.getFullYear();
			fm = ((objFromDt.getMonth()+1)<10) ? "0"+(objFromDt.getMonth()+1) : objFromDt.getMonth()+1;
			fd = (objFromDt.getDate()<10) ? "0"+objFromDt.getDate() : objFromDt.getDate();
			var txtqstodate = $("txtToDate").value.split("-");
			objToDt = new Date("20"+txtqstodate[2], parseFloat(txtqstodate[1])-1, txtqstodate[0]);
			ty = objToDt.getFullYear();
			tm = ((objToDt.getMonth()+1)<10) ? "0"+(objToDt.getMonth()+1) : objToDt.getMonth()+1;
			td = (objToDt.getDate()<10) ? "0"+objToDt.getDate() : objToDt.getDate();
			var FromDt = fy+"-"+fm+"-"+fd;
			var ToDt = ty+"-"+tm+"-"+td;
			var flagAvail = ((dHotel.avail)?"Y":"N");
			var PartPost = "CodeHotel="+CodeHotel+"&PaxPassport="+PaxPassport+"&InternalCode="+InternalCode+"&FromDt="+FromDt+"&ToDt="+ToDt+"&flagAvail="+flagAvail+"&CancelPolicyID="+CancelPolicyID
			http.onreadystatechange = function() {if (http.readyState != 4) { return; }
				if($("Policy"+CodeHotel)){
					rp = http.responseText;
					$("Policy"+CodeHotel).value=rp;
				}
				sHC.popupVCancelPolicy($("Policy"+CodeHotel).value);
			};
			http.open("POST", myurl, true); http.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
			http.send(PartPost+"&"+new Date().getTime());
		}else{
			sHC.popupVCancelPolicy($("Policy"+CodeHotel).value);
		}
	}
}
sHC.popupVCancelPolicy = function (txt){
	$("ly-txtcancel").innerHTML=txt;
	$("ly-poploading").style.left="33%";
	$("ly-poploading").style.top=(document.documentElement.scrollTop+50)+"px";
	$("ly-poploading").style.visibility="";
	$("ly-popbg").style.visibility="";
	var pSize = sHC.getPageSize();
	$("ly-popbg").style.height = pSize[1]+"px";
}
sHC.hideVCancelPolicy = function (){
	$("ly-txtcancel").innerHTML="";
	$("ly-poploading").style.visibility="hidden";
	$("ly-popbg").style.visibility="hidden";
}
sHC.roomDetail = function (RoomCatg,HotelCode,RoomSeq){
	sHC.showRoom(RoomCatg,HotelCode,RoomSeq)
	if($("Room"+RoomCatg)){
		if($("Room"+RoomCatg).value==""){
			sHC.popupVRoomDetail("<img src='../../imgrsvn/sLoad.gif'>");
			var myurl = "ajax/RoomDetail.php", http = new getXMLHTTPRequest();
			var PartPost = "RoomCatg="+RoomCatg;
			PartPost += "&HotelCode="+HotelCode;
			if ($("txtLanguage"))
			{
				PartPost += "&txtLanguage="+$("txtLanguage").value;
			}
			http.onreadystatechange = function() {if (http.readyState != 4) { return; }
				if($("Room"+RoomCatg)){
					rp = http.responseText;
					$("Room"+RoomCatg).value=rp;
				}
				sHC.popupVRoomDetail($("Room"+RoomCatg).value);
			};
			http.open("POST", myurl, true); http.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
			http.send(PartPost+"&"+new Date().getTime());
		}else{
			sHC.popupVRoomDetail($("Room"+RoomCatg).value);
		}
	}
}
sHC.popupVRoomDetail = function (txt){
	$("ly-roomdetail").innerHTML=txt;
	$("ly-roomdetail-poploading").style.left="27%";
	$("ly-roomdetail-poploading").style.top=(document.documentElement.scrollTop+50)+"px";
	$("ly-roomdetail-poploading").style.visibility="";
	$("ly-popbg").style.visibility="";
	var pSize = sHC.getPageSize();
	$("ly-popbg").style.height = pSize[1]+"px";
}
sHC.hideVRoomDetail = function (){
	$("ly-roomdetail").innerHTML="";
	$("ly-roomdetail-poploading").style.visibility="hidden";
	$("ly-popbg").style.visibility="hidden";
}
sHC.ChangePicture = function (obj){
	$("ImgShow").src = obj.src;
	$("ImgShow").alt = obj.alt;
	$("ImgShow").title = obj.title;
}
sHC.ControlImg = function (Type, cntImage){
	var MaxImg = cntImage;
	if(Type == 'Previous'){
		ShowImg = StartImg - 1;
		if(ShowImg ==  0){ ShowImg = 1;	}
		$(ShowImg+"th").style.display="";

		if((StartImg - 1) == 0){
			HideImg = EndImg+1;
		}else{
			HideImg = EndImg;
			$(HideImg+"th").style.display="none";
			EndImg = HideImg-1;
		}
		StartImg = ShowImg;
	} else {
		ShowImg = EndImg+1;
		if(ShowImg > MaxImg){ ShowImg = MaxImg;	}
		$(ShowImg+"th").style.display="";

		if((EndImg+1) > MaxImg){
			HideImg = StartImg-1;
		}else{
			HideImg = StartImg;
			$(HideImg+"th").style.display="none";
		}
		if((EndImg+1) > MaxImg){ StartImg = StartImg;	} 	else {	 StartImg = StartImg+1;	}
		EndImg = ShowImg;
	}
}
sHC.jumpToPaxdetail = function (Available,RoomCatgCode){
	var dHotel = sHC.dHotel[sHC.xHotel];
	var url="makebooking.php";
	if (Mode && Mode == "Amend")
	{
		window.open(url+"?Mode="+Mode+"&SessionID="+SessionID+"&HBDocID="+HBDocID+"&FromDt="+FromDt+"&ToDt="+ToDt+"&Available="+Available, "_self");
	}
	else
	{
		window.open(url+"?Code="+dHotel.HotelId+"&Available="+Available+"&CancelPolicyID="+dHotel.CancelPolicyId+"&dRoomCatg="+RoomCatgCode, "_self");
	}
}
sHC.getPageSize = function () {
	var xScroll, yScroll;
	if (window.innerHeight && window.scrollMaxY) {
		xScroll = window.innerWidth + window.scrollMaxX;
		yScroll = window.innerHeight + window.scrollMaxY;
	} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
		xScroll = document.body.scrollWidth;
		yScroll = document.body.scrollHeight;
	} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
		xScroll = document.body.offsetWidth;
		yScroll = document.body.offsetHeight;
	}
	var windowWidth, windowHeight;
	if (self.innerHeight) { // all except Explorer
		if(document.documentElement.clientWidth){
			windowWidth = document.documentElement.clientWidth;
		} else {
			windowWidth = self.innerWidth;
		}
		windowHeight = self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
		windowWidth = document.documentElement.clientWidth;
		windowHeight = document.documentElement.clientHeight;
	} else if (document.body) { // other Explorers
		windowWidth = document.body.clientWidth;
		windowHeight = document.body.clientHeight;
	}
	// for small pages with total height less then height of the viewport
	if(yScroll < windowHeight){
		pageHeight = windowHeight;
	} else {
		pageHeight = yScroll;
	}
	// for small pages with total width less then width of the viewport
	if(xScroll < windowWidth){
		pageWidth = xScroll;
	} else {
		pageWidth = windowWidth;
	}
	arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight);
	return arrayPageSize;
}
sHC.DiscountUp = function(Price,Discount,DiscountLevel,DiscountFlag,DiscountType,sNight,NumRooms){
	Price = parseFloat(Price);
	if(DiscountFlag=="N" && Price > 0){
		switch(DiscountType){
			case "AMT" :
			case "AMOUNT" : Price=Price+(Discount*sNight*NumRooms);
				break;
			case "PERCENT" : Price=(Price*100)/(100-Discount);
				break;
		}
	}
	return(Price);
}
