
$(function(){

	$('.showcal').hover(
		function(){
			$('.calpop1').show();
			$('.calpop2').hide();
			$('#checkInTexts').hide();
			$('#checkInAlert').show();
		},
		function(){
			$('.calpop1').hide();
			
			if($('.dpickerInSelectDate').val() != 'Day' && $('.dpickerInSelectMonth').val() != 'Month')
			{
				$('#checkInAlert').hide();
				$('#checkInTexts').show();
			}
		}
	);
	
	$('.showcal2').hover(
		function(){
			$('#checkOutAlert').show();
			$('.calpop2').show();
			$('#checkOutTexts').hide();
		},
		function(){
			if($('.dpickerOutSelectDate').val() != 'Day' && $('.dpickerOutSelectMonth').val() != 'Month')
			{
				$('#checkOutAlert').hide();
				$('#checkOutTexts').show();
			}
			
			$('.calpop2').hide();
		}
	);
	
	$('#guestpicker').numPicker({
		'box':'#guests'	
	});
	
	$('#roompicker').numPicker({
		'box':'#rooms'	
	});

	$('#searchbox').validate({
		 /*rules: {
				hotelCheckin:{
					required:true
					},
				hotelCheckout:{
					required:true
					}	
		 },
		 messages:{
				hotelCheckin:"required",
				hotelCheckout:"required"
		 },*/			
		 submitHandler: function(form) {
			
			// Temporary Manual Form Checking
			if(!$('#hotelCheckin').val()){
				alert('Please Enter Check In and Check Out Dates');	
				return false;
			}
			if(!$('#hotelCheckout').val()){
				alert('Please Enter Check In and Check Out Dates');	
				return false;
			}
			
			var chIn 	= new Date($('#hotelCheckin').val());
			var chOut 	= new Date($('#hotelCheckout').val());
			
			if(chOut < chIn){
				alert('Check-In Date must be before Check-Out Date');
				return false;
			}
			 
			 
			if($('#bw_compare').attr('checked'))
			{
				var cityName 	= $('#citySearch').val().substring(0,$('#citySearch').val().indexOf(','));
				var checkIn  	= $('#hotelCheckin').val();
				var checkOut  	= $('#hotelCheckout').val();
				//var width = screen.width;
				//var height = screen.height;
				var left 	= (screen.width/2)-(900/2);
				var top 	= (screen.height/2)-(800/2);

				var url		=   domain+'/hotels/popup/choose3/'+urltext+'/'+encodeURIComponent(cityName)+'/'+checkIn+'/'+checkOut;
				var win2	=	window.open(url,"compare","menubar=1,resizable=1,scrollbars=no,width=900,height=800, top="+top+", left="+left)
				//win2.moveTo((screen.width/2)-450, 75);
			}
			
			
			showGlobe('Hold on tight while we search <br>HUNDREDS of websites to find you the best prices!');
			form.submit();
		 }	
	})	
	
	$("#dpickerIn").datepicker({
		minDate: minDate,
		dateFormat: '{"full": "yy-mm-dd","\'dayNum\'": "d","\'dayName\'": "MM","\'monthName\'": "DD","\'monthNum\'": "m"}',
		onSelect: function(dateText, inst) {
			$dt = $.parseJSON(dateText);
			
			$('#checkInTexts').find('.datefld').val($dt['full']);
			$('#checkInTexts').find('.date').html($dt['dayNum']);
			$('#checkInTexts').find('.day').html($dt['dayName']);
			$('#checkInTexts').find('.month').html($dt['monthName']);
			
			$('.dpickerInSelectDate').val($dt['dayNum']);
			$('.dpickerInSelectMonth').val($dt['monthNum']-1);
			
			var selectedDate = $dt['full'];
			
			var option 		= this.id == "dpickerIn" ? "minDate" : "maxDate";
			var instance 	= $( this ).data( "datepicker" );
			var date	 	= $.datepicker.parseDate('yy-mm-dd', selectedDate, instance.settings);
			
			$("#dpickerOut").datepicker( "option", option, date );
			$('#checkInAlert').hide();
			$('#checkInTexts').show();
			$('.calpop2').fadeIn();
			$('.calpop1').hide();
		}
	});
	
	
	
	$("#dpickerOut").datepicker({
		minDate: minDate,
		dateFormat: '{"full": "yy-mm-dd","\'dayNum\'": "d","\'dayName\'": "MM","\'monthName\'": "DD","\'monthNum\'": "m"}',
		onSelect: function(dateText, inst) {
			$dt = $.parseJSON(dateText);
			$('#checkOutTexts').find('.datefld').val($dt['full']);
			$('#checkOutTexts').find('.date').html($dt['dayNum']);
			$('#checkOutTexts').find('.day').html($dt['dayName']);
			$('#checkOutTexts').find('.month').html($dt['monthName']);
			
			$('.dpickerOutSelectDate').val($dt['dayNum']);
			$('.dpickerOutSelectMonth').val($dt['monthNum']-1);
			
			$('#checkOutAlert').hide();
			$('#checkOutTexts').show();	
		}
	});
	
	$('.dpickerInSelectDate').change(function(){
		var d = $(this).val();
		var m = $('.dpickerInSelectMonth :selected').val();
		var y = $('.dpickerInSelectMonth :selected').attr('year');
		setPickerDate('In',y,m,d,false);							
		$('.calpop2').fadeIn();
		$('.calpop1').fadeOut();
	})
	
	$('.dpickerInSelectMonth').change(function(){
		var d = $('.dpickerInSelectDate :selected').val();
		var m = $(this).val();
		var y = $('.dpickerInSelectMonth :selected').attr('year');		
		setPickerDate('In',y,m,d,false);
		$('.calpop2').fadeIn();
		$('.calpop1').fadeOut();							
	})
	
	$('.dpickerOutSelectDate').change(function(){
		var d = $(this).val();
		var m = $('.dpickerOutSelectMonth :selected').val();
		var y = $('.dpickerOutSelectMonth :selected').attr('year');	
		setPickerDate('Out',y,m,d,false);							
	})
	
	$('.dpickerOutSelectMonth').change(function(){
		var d = $('.dpickerOutSelectDate :selected').val();
		var m = $(this).val();
		var y = $('.dpickerOutSelectMonth :selected').attr('year');		
		setPickerDate('Out',y,m,d,false);							
	})

		
		
	$('.todayIn').click(function(){
		$('.tommorowOut').show();
		$('.todayOut').hide();		
		$('.calpop2').fadeIn();
		$('.calpop1').fadeOut();		
	});
	
	$('.tommorowIn').click(function(){
		$('.tommorowOut').hide();
		$('.todayOut').hide();	
		$('.calpop2').fadeIn();
		$('.calpop1').fadeOut();	
	});	
});


function setPickerDate(picker,year,month,day,updateBoxes)
{
	
	//console.log(year,month,day);
	if(!IsNumeric(month) || !day)
		return false;

	var myMonths	= ["January","February","March","April","May","June","July","August","September","October","November","December"];
	var myDays		= ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"];
	var dt 			= new Date(year,month,day);

	$('#dpicker'+picker).datepicker("setDate",  dt);
	
	var dayZero 	= dt.getDate();
	var monthZero 	= dt.getMonth()+1;

	
	if(monthZero<10) 	monthZero 	= "0"+monthZero;
	if(dayZero<10) 		dayZero 	= "0"+dayZero;
	
	$('#check'+picker+'Texts').find('.datefld').val(dt.getFullYear()+"-"+monthZero+"-"+dayZero);
	$('#check'+picker+'Texts').find('.date').html(dayZero);
	$('#check'+picker+'Texts').find('.month').html(myDays[dt.getDay()]);
	$('#check'+picker+'Texts').find('.day').html(myMonths[dt.getMonth()]);
	
	$('#check'+picker+'Alert').hide();
	$('#check'+picker+'Texts').show();

	if(updateBoxes)
	{
		//console.log(month);
		$('.dpicker'+picker+'SelectDate').val(day);
		$('.dpicker'+picker+'SelectMonth').val(month);
	}
	

	return false;
}
	

function IsNumeric(val) {

    if (isNaN(parseFloat(val))) {

          return false;

     }

     return true

}

