// JavaScript Document

//Integration to NetBrokers
//Modified by Marvin


	function isDate(day,month,year) {
		TestDate  = new Date(year,month,day);

		if ( (TestDate.getFullYear() == year) && (TestDate.getMonth() == month) && (TestDate.getDate() == day) )
			return true;
		else
			return false;
	}
	
	function addDays(myDate,days) {
 	   return new Date(myDate.getTime() + days*24*60*60*1000);
	}
	
	function passParams(){
	full_doa=new Date(getFieldDate(document.ReservationForm.dp_CheckInDate.value, 'MMM'));
	full_dod=new Date(getFieldDate(document.ReservationForm.dp_CheckOutDate.value, 'MMM'));
	
	document.ReservationForm.doa_dd.value=full_doa.getDate();
    document.ReservationForm.doa_mm.value=full_doa.getMonth()+1;
    document.ReservationForm.dod_dd.value=full_dod.getDate();
    document.ReservationForm.dod_mm.value=full_dod.getMonth()+1;
	//TEST SCRIPTS ONLY
	//alert(document.ReservationForm.doa_dd.value);
	//alert(document.ReservationForm.doa_mm.value);
	//alert(document.ReservationForm.dod_dd.value);
	//alert(document.ReservationForm.dod_mm.value);
	}
	
	function validateReservationDate() {
		passParams();
		jvarToday = new Date();
		jvarToday_dd = jvarToday.getDate();
		jvarToday_mm = jvarToday.getMonth();
		jvarToday_yy = jvarToday.getFullYear();

		jvar_doa_dd = document.ReservationForm.doa_dd.value;
		jvar_doa_mm = document.ReservationForm.doa_mm.value - 1;
		jvar_doa_yy = jvarToday_yy;
		jvar_dod_dd = document.ReservationForm.dod_dd.value;
		jvar_dod_mm = document.ReservationForm.dod_mm.value - 1;
		jvar_dod_yy = jvarToday_yy;

		if ((jvar_doa_mm < jvarToday_mm) || ((jvar_doa_mm == jvarToday_mm) && (jvar_doa_dd < jvarToday_dd))) {
			jvar_doa_yy = jvar_doa_yy + 1;
		}

		if (jvar_dod_mm < jvar_doa_mm) {
			jvar_dod_yy = jvar_doa_yy + 1;
		}
		else {
			jvar_dod_yy = jvar_doa_yy;
		}

		jvar_doa = new Date(jvar_doa_yy, jvar_doa_mm, jvar_doa_dd);
		jvar_dod = new Date(jvar_dod_yy, jvar_dod_mm, jvar_dod_dd);
		jvar_dod_MAX = addDays(jvar_doa, 80);

		if (jvar_doa >= jvar_dod) {
			alert('Your arrival date must be before departure date.');
			return false;
		}
		
		if (isDate(jvar_doa_dd, jvar_doa_mm, jvar_doa_yy) == false) {
			alert('You have specify an invalid arrival date.');
			return false;
		}
		
		if (isDate(jvar_dod_dd, jvar_dod_mm, jvar_dod_yy) == false) {
			alert('You have specify an invalid departure date.');
			return false;
		}


		if (jvar_dod > jvar_dod_MAX) {
			alert('Your arrival date and departure date should not be more than 80 days apart.');
			return false;
		}				
		
		return true;
	}
	
	function ReservationDefaultDate() {
		jvarToday = new Date();
		jvarTmrow = addDays(jvarToday,1);
		
		document.ReservationForm.doa_dd.selectedIndex = jvarToday.getDate() - 1;
		document.ReservationForm.doa_mm.selectedIndex = jvarToday.getMonth();
		
		document.ReservationForm.dod_dd.selectedIndex = jvarTmrow.getDate() - 1;
		document.ReservationForm.dod_mm.selectedIndex = jvarTmrow.getMonth();
	}

	function forwardTo(jvarLang) {
		var url="https://indecorp.ibe.netbooker.com/web/FrontController.nb4?module=Reservation&operation=RetrieveReservationRV&execute=yes&instanceId=24&token=1067029055865&locale=" + jvarLang + "&lookAndFeelId=175";
		popUp(url, 600, 600);
	}

	function getReservationPage(jvarLang)
	{
		var url_A = "https://www.phgsecure.com/IBE/bookingRedirect.ashx?propertyCode=SINFH";
		var url_B = "&arrivalDate=";
		var url_C = "&numberOfNights=";
		//var url_D = "&iataNumber=";
		//var url_E = "&rateCode=";
		var url_F = "&numberOfAdults=";
		var url_G = "&numberOfChildren=";
		var url_H = "&numberOfRooms=";
		//var url_I = "&lookAndFeelId=3703";
		
		//&locale=" + jvarLang;

		var arriveDay = '';
		var arriveMonth = '';
		var arriveYear = '';
		var departDay = '';
		var departMonth = '';
		var departYear = '';
		var nightCount = 0;
		var iataNumber = '';
		var rateCode = '';
		var adultCount = '';
		var childrenCount = 0;
		var roomCount = 1;

		todayDate = new Date();		

		jvar_doa_dd = document.ReservationForm.doa_dd.value;
		jvar_doa_mm = document.ReservationForm.doa_mm.value - 1;
		jvar_doa_yy = jvarToday_yy;
		jvar_dod_dd = document.ReservationForm.dod_dd.value;
		jvar_dod_mm = document.ReservationForm.dod_mm.value - 1;
		jvar_dod_yy = jvarToday_yy;

		if ((jvar_doa_mm < jvarToday_mm) || ((jvar_doa_mm == jvarToday_mm) && (jvar_doa_dd < jvarToday_dd))) {
			jvar_doa_yy = jvar_doa_yy + 1;
		}

		if (jvar_dod_mm < jvar_doa_mm) {
			jvar_dod_yy = jvar_doa_yy + 1;
		}
		else {
			jvar_dod_yy = jvar_doa_yy;
		}

		arriveDay = jvar_doa_dd;
		arriveMonth = jvar_doa_mm + 1;
		arriveYear = jvar_doa_yy;
		departDay = jvar_dod_dd;
		departMonth = jvar_dod_mm + 1;	
		departYear = jvar_dod_yy;
	
		adultCount = document.ReservationForm.num_adults.value;
		roomCount = document.ReservationForm.num_rooms.value;
		childrenCount = document.ReservationForm.num_children.value;

		//iataNumber = document.ReservationForm.iataNumber.value;
		//rateCode = document.ReservationForm.rateCode.value;


		var aDay = 1000 * 60 * 60 * 24;
		arriveDate = new Date(arriveYear, arriveMonth-1, arriveDay);
		departDate = new Date(departYear, departMonth-1, departDay);

		//nightCount = parseInt((departDate - arriveDate) / aDay);
		nightCount = Math.ceil((departDate.getTime() - arriveDate.getTime()) / aDay);
	
		//		window.open(url_A + url_B + arriveMonth + "%20" + arriveDay + "%20" + arriveYear + url_C + nightCount + url_D + iataNumber + url_E + rateCode + url_F + adultCount + url_G + childrenCount + url_H + roomCount + url_I);		
		
		window.open(url_A + url_B + arriveMonth + "%20" + arriveDay + "%20" + arriveYear + url_C + nightCount + url_F + adultCount + url_G + childrenCount + url_H + roomCount);		
		
	}

function popUp(URL, width, height) {

   var id = 1;
   
   wWidth = width
   wHeight = height
   
   if (document.all)
        var xMax = screen.width, yMax = screen.height;
    else if (document.layers)
       var xMax = window.outerWidth, yMax = window.outerHeight;
    else
        var xMax = 760, yMax=480;

    var xOffset = (xMax - wWidth)/2, yOffset = (yMax - wHeight)/2;
   
   eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width='+wWidth+',height='+wHeight+',top='+yOffset+',left='+xOffset);");
   }
   
   
   
   // old booking link/page
	function getReservationPage_Old(jvarLang)
	{
		var url_A = "https://indecorp.ibe.netbooker.com/web/FrontController.nb4?module=PropertySearch&operation=SinglePropertySearchResult&adults=";
		var url_B = "&numberOfRooms=";
		var url_C = "&arriveDate=";
		var url_D = "&arriveMonth=";
		var url_E = "&arriveYear=";
		var url_F = "&departDate=";
		var url_G = "&departMonth=";
		var url_H = "&departYear=";
		var url_I = "&numberOfNights=";
		var url_J = "&execute=yes&propertyCodeType=RV&chainCode=IN&instanceId=24&rateCode=&travelAgentId=&propertyCode=SINFH&lookAndFeelId=3703&locale=" + jvarLang;
		// - change the look and feel id to 3703   [adrian : 20081103]
		//var url_J = "&execute=yes&propertyCodeType=RV&chainCode=IN&instanceId=24&rateCode=&travelAgentId=&propertyCode=SINFH&lookAndFeelId=175&locale=" + jvarLang;

		var adultCount = '';
		var roomCount = '';
		var nightCount = 0;
		var arriveDay = '';
		var arriveMonth = '';
		var arriveYear = '';
		var departDay = '';
		var departMonth = '';
		var departYear = '';
	
	
		todayDate = new Date();		

		jvar_doa_dd = document.ReservationForm.doa_dd.value;
		jvar_doa_mm = document.ReservationForm.doa_mm.value - 1;
		jvar_doa_yy = jvarToday_yy;
		jvar_dod_dd = document.ReservationForm.dod_dd.value;
		jvar_dod_mm = document.ReservationForm.dod_mm.value - 1;
		jvar_dod_yy = jvarToday_yy;

		if ((jvar_doa_mm < jvarToday_mm) || ((jvar_doa_mm == jvarToday_mm) && (jvar_doa_dd < jvarToday_dd))) {
			jvar_doa_yy = jvar_doa_yy + 1;
		}

		if (jvar_dod_mm < jvar_doa_mm) {
			jvar_dod_yy = jvar_doa_yy + 1;
		}
		else {
			jvar_dod_yy = jvar_doa_yy;
		}

		arriveDay = jvar_doa_dd;
		arriveMonth = jvar_doa_mm + 1;
		arriveYear = jvar_doa_yy;
		departDay = jvar_dod_dd;
		departMonth = jvar_dod_mm + 1;	
		departYear = jvar_dod_yy;
	
		adultCount = document.ReservationForm.num_adults.value;
		roomCount = document.ReservationForm.num_rooms.value;
	
		var aDay = 1000 * 60 * 60 * 24;
		arriveDate = new Date(arriveYear, arriveMonth-1, arriveDay);
		departDate = new Date(departYear, departMonth-1, departDay);

		//nightCount = parseInt((departDate - arriveDate) / aDay);
nightCount = Math.ceil((departDate.getTime() - arriveDate.getTime()) / aDay);
	
		window.open(url_A + adultCount + url_B + roomCount + url_C + arriveDay + url_D + arriveMonth + url_E + arriveYear + url_F + departDay + url_G + departMonth + url_H + departYear + url_I + nightCount + url_J);
	}   


