﻿/*
COMO booking bar handle
*/
function validateDate() {
	var dayDropDownList = document.getElementById('DayDropDownList');
	var selectedDate = document.getElementById('DayDropDownList').value;
	var selectedMonthYear = document.getElementById('MonthYearDropDownlist').value;

	var temp = [];
	temp = selectedMonthYear.split("/");

	var month = temp[0];
	var year = temp[1];

	/*
	temp[0] = month
	temp[1] = year
	DropDownList selectedIndex is zero based
	*/
	switch (temp[0]) {
		//Check if february                     
		case '02':
			//Calculate leap year
			if (checkLeapYear(year)) {
				if (selectedDate > 29) {
					dayDropDownList.selectedIndex = 28;
				}
			} else {
				if (selectedDate > 28) {
					dayDropDownList.selectedIndex = 27;
				}
			}
			break;
		//Check if april, june, september or november                           
		case '04':
		case '06':
		case '09':
		case '11':
			if (selectedDate > 30) {
				dayDropDownList.selectedIndex = 29;
			}
			break;
	}
}

function checkLeapYear(year) {
	var isLeapYear;

	if ((year % 4) == 0) {
		if ((year & 100) == 0) {
			isLeapYear = ((year % 400) == 0);
		}
		else {
			isLeapYear = 1;
		}
	}
	return isLeapYear;
}

function redirectToBookingEngine(hotelId, languageId, reservationUrl) {

	try {
		pageTracker._trackEvent('goto_booking_site', 'click', +'label_for_hotel_' + hotelId + "'");
	} catch (e) { }

	//Settings
	var dayDropDownListId = "#DayDropDownList";
	var monthYearDropDownlistId = "#MonthYearDropDownlist";
	var nightsDropDownListId = "#NightsDropDownList";
	//var adultsDropDownListId = "#RoomsDropDownList"; -- 8rr-ralp 24082011
	var adultsDropDownListId = "#ctl00_ctl00_bookingbar_placeholder_bookingbar_placeholder_BookingBarUC_AdultDropDownList";
	var childDropDownListId = "#ctl00_ctl00_bookingbar_placeholder_bookingbar_placeholder_BookingBarUC_ChildDropDownList";
	var whiteSpace = "%2F";

	//Get selected values
	var arrivalDate = jQuery(dayDropDownListId).val();
	var monthYear = jQuery(monthYearDropDownlistId).val();
	var nights = jQuery(nightsDropDownListId).val();
	//var adults = 1; -- 8rr-ralp 24082011
	var adults = jQuery(adultsDropDownListId).val();
	var child = jQuery(childDropDownListId).val();
	var temp = [];
	temp = monthYear.split('/');
	var arrivalMonth = temp[0];
	var arrivalYear = temp[1];

	var departureDate = new Date();
	departureDate.setFullYear(arrivalYear, arrivalMonth - 1, arrivalDate);
	departureDate.setDate(departureDate.getDate() + parseInt(nights, 10));
	if (hotelId == "4781" || hotelId == "4790") {
		reservationUrl = reservationUrl + "?HotelID=" + hotelId + "&datein=" + arrivalMonth + whiteSpace + arrivalDate + whiteSpace + arrivalYear + "&languageid=" + languageId +
	                                  "&domdatein=" + arrivalDate + "&mondatein=" + arrivalMonth + whiteSpace + "&nights=" + nights + "&Adults=" + adults;
	} else {
		//Default value for number of nights and adult
		switch (hotelId) {
			case "27732": //CSE
				//adults = 2; -- 8rr-ralp 24082011
				//nights = nights < 3 ? 3 : nights;
				break;
			case "27454": //Cocoa island
				//adults = 2; -- 8rr-ralp 24082011
				//nights = nights < 3 ? 3 : nights;
				break;
			case "27586": //Parrot cay
				//adults = 2; -- 8rr-ralp 24082011
				//nights = nights < 3 ? 3 : nights;
				break;
			case "27591": //Uma ubud
				//adults = 2; -- 8rr-ralp 24082011
				break;
			case "27592": //Uma paro
				//adults = 2; -- 8rr-ralp 24082011
				break;
			case "27585": //Halkin
				break;
			case "27593": //Met london
				break;
			case "27595": //Met bangkok
				break;
		}
		reservationUrl = reservationUrl + "?Hotel=" + hotelId + "&Chain=10327&template=GCO2&shell=GCO&start=1&locale=en-US&arrive=" + arrivalMonth + whiteSpace + arrivalDate + whiteSpace + arrivalYear +
									"&depart=" + (departureDate.getMonth() + 1) + whiteSpace + departureDate.getDate() + whiteSpace + departureDate.getUTCFullYear() +
									"&nights=" + nights + "&adult=" + adults + "&child=" + child;
	}
	window.open('' + reservationUrl + '', 'Synxis');
	return false;
}

//Setup booking bar trigger
jQuery(function() {
	jQuery('.bookingbartrigger').click(function(e) {
		jQuery('#bookingbartrigger').hide();
		jQuery('#bookingbar').fadeIn(500);
		//Event tracker
		try {
			pageTracker._trackEvent("Select date", "click", "label_for_hotel_" + $(".hotel_id_hiddenfield").val());
		} catch (e) { }
		e.preventDefault();
	});
});

