var dateSelectorTitle = 'Please select your arrival and departure dates';
var dayNames = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
var dayNamesMin = ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'];
var monthNames = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
var monthNamesShort = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
var dialogWidth = 510;
var dialogHeight = 355;

var arrivalDate;	
var arrivalDay;
var arrivalMonth;
var arrivalYear;
var arrivalDateString;

var departureDate;	
var departureDay;
var departureMonth;
var departureYear;
var departureDateString;

var ESprefix = 'AP_EN_BlueLP_SheratonResorts2010_BOOKNOW_';

jQuery(function($) {
	if($('body.cn').length > 0) {
		dateSelectorTitle = '请选择您的抵达和离开日期';
		dayNames = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'];
		dayNamesMin = ['日', '一', '二', '三', '四', '五', '六'];
		monthNames = ['一月', '二月', '三月', '四月', '五月', '六月','七月', '八月', '九月', '十一月', '十二月', '二月'];
		monthNamesShort = monthNames;
		ESprefix = "AP_CN_BlueLP_SheratonResorts2010_BOOKNOW_";
	}
	var brandNavBrandList = $('#brandNavBrandList').addClass('hide');
	$('a.otherStarwoodBrands').click(function() {
		brandNavBrandList.toggleClass('hide');
		return false;
	});
	brandNavBrandList.mouseleave(function() {
		brandNavBrandList.toggleClass('hide');
	});
	
	$('.booklink').click(function() {
		var propertyID = $(this).attr('rel');
		$('#propertyID').val(propertyID);
		$('#ES').val(ESprefix+propertyID);
		var position = $(this).offset();
		$('div#dialog').dialog({
			title:dateSelectorTitle,
			width:dialogWidth,
			height:dialogHeight,
			position: [position.left - dialogWidth + $(this).width(), position.top-$(document).scrollTop]
		});
		$('div#dialog .date-from').datepicker({
			defaultDate:		arrivalDate,
			dayNames:			dayNames,
			dayNamesMin:		dayNamesMin,
			monthNames:			monthNames,
			monthNamesShort: 	monthNamesShort,								  
			onSelect: function(inst,dateText) {
				updateForm();
			}									  
		});
		$('div#dialog .date-to').datepicker({
			defaultDate:		departureDate,
			minDate:			arrivalDate,
			defaultDate:		arrivalDate,
			dayNames:			dayNames,
			dayNamesMin:		dayNamesMin,
			monthNames:			monthNames,
			monthNamesShort: 	monthNamesShort,	
			onSelect: function(inst,dateText) {
				updateForm();
			}									  
		});
		updateForm();
		return false;	
	});
	
	$('.hotelimg').hover(function() {
			var link = $(this);
			if($(this).find('div.loading').length < 1) {
				$('<div class="loading" />').appendTo($(this)).fadeTo(0,0.6);
			}
			var thumbnail = new Image();
			thumbnail.onload = function() {
				$('img.fullimg').remove();
				$('<img src="' + thumbnail.src + '" />').hide().appendTo(document.body).fadeIn().css({
					top:link.offset().top,
					left:link.offset().left
				}).addClass('fullimg').mouseout(function() {
					$(this).remove();	
				});	
				$('div.loading').remove();
			};
			thumbnail.src = $(this).find('a').attr('href');
		},function() {
			$(this).find('div.loading').remove();
		}
	);
	
});

function updateForm() {
	arrivalDate = new Date($('div#dialog .date-from').datepicker('getDate'));	
	arrivalDay = arrivalDate.getDate();
	arrivalMonth = arrivalDate.getMonth()+1;
	arrivalYear = arrivalDate.getFullYear();
	arrivalDateString  = zeroPad(arrivalMonth,2)+"/"+zeroPad(arrivalDay,2)+"/"+arrivalYear;
	
	$('div#dialog .date-to').datepicker("option", "minDate", arrivalDate);
	$('div#dialog .date-to').datepicker('refresh');
	
	departureDate = new Date($('div#dialog .date-to').datepicker('getDate'));	
	departureDay = departureDate.getDate();
	departureMonth = departureDate.getMonth()+1;
	departureYear = departureDate.getFullYear();
	departureDateString  = zeroPad(departureMonth,2)+"/"+zeroPad(departureDay,2)+"/"+departureYear;
	
	$('#lengthOfStay').val((departureDate - arrivalDate) / 86400000);
	$('#arrivalDateDay').val(arrivalDay);
	$('#arrivalDateMonth').val(arrivalMonth);
	$('#arrivalDateYear').val(arrivalYear);
	//$('#arrivalDate').val(encodeURIComponent(arrivalDateString));
	$('#arrivalDate').val(arrivalDateString);
	
	$('#departureDateDay').val(departureDay);
	$('#departureDateMonth').val(departureMonth);
	$('#departureDateYear').val(departureYear);
	//$('#departureDate').val(encodeURIComponent(departureDateString));
	$('#departureDate').val(departureDateString);

	$('.date-from-display').html(arrivalDateString);
	$('.date-to-display').html(departureDateString);
}

function zeroPad(num,count)
{
	var numZeropad = num + '';
	while(numZeropad.length < count) {
	numZeropad = "0" + numZeropad;
	}
	return numZeropad;
}

