var zeroPadding = false;
var minNights = 3;
var maxNights = 28;

function showCalendar(el, prop_id, searchdate, searchstay)  {
	$('priceQuoteDiv').clonePosition(el, {setLeft:false,setWidth:false,setHeight:false});
	$('priceQuoteDiv').innerHTML = '<img src="/images/loading.gif" width="100" height="20" alt="" />';
	$('priceQuoteDiv').show();
	new Ajax.Request("/search/",
	{
		method: 'get',
		parameters: 'property_id='+prop_id,
		onComplete: function(transport){
			var responseJS = transport.responseText;
			if (responseJS) {
				$('priceQuoteDiv').innerHTML = responseJS;
				$('priceQuoteDiv').style.width = 'auto';
				$('priceQuoteDiv').style.height = 'auto';
				$j(function() {
                	$j('#book_check_in').datepicker({
                		changeMonth: true,
                		changeYear: true,
                		minDate: 0,
                		maxDate: '+2Y',
                		onSelect: function (dates){
                		    $j('#book_check_out').datepicker("option", {minDate: $j('#book_check_in').datepicker("getDate")});
                		    updateCalendar3();
                		}
                	});
                	$j('#book_check_out').datepicker({
                	    minDate: 0,
                	    maxDate: '+2Y',
                		changeMonth: true,
                		changeYear: true, 
                		onSelect: function (dates){
                		    updateCalendar3();
                		}
                	});
				});
				if ( $('searchstay') && $('searchdate') && $('searchdate_out') && parseInt($('searchstay').value,10) && $('searchdate').value.length && $('searchdate_out').value.length) {
					$('book_nights').value = $('searchstay').value;
					$('book_check_in').value = $('searchdate').value;
					$('book_check_out').value = $('searchdate_out').value;
				} else if ( parseInt(searchstay,10) && searchdate.length ){
					$('book_nights').value = searchstay;
					$('book_check_in').value = searchdate;
				} else {
					$('book_nights').value = minNights;
					dt1 = new Date();
					dt2 = new Date(dt1.getFullYear(), dt1.getMonth(), dt1.getDate()+1, 0, 0, 0, 0);
					dt3 = new Date(dt1.getFullYear(), dt1.getMonth(), dt1.getDate()+minNights+1, 0, 0, 0, 0);
					$('book_check_in').value = zDate(dt2.getMonth()+1)+'/'+zDate(dt2.getDate())+'/'+dt2.getFullYear();
					$('book_check_out').value = zDate(dt3.getMonth()+1)+'/'+zDate(dt3.getDate())+'/'+dt3.getFullYear();
				}
				var dt = new Date();
				calendarStart = zDate(dt.getMonth()+1)+'/'+zDate(1)+'/'+dt.getFullYear();
				updateCalendar2();
				$('priceQuoteDiv').setStyle({ width: '864px' });
			} else {
				$('priceQuoteDiv').innerHTML = 'Something wrong';
			}
		}
	});
}
function hideCalendar() {
	$('priceQuoteDiv').hide();
}


function adjustSearchNights() {
	if ($('searchdate').value.length && $('searchdate_out').value.length) {
		var hold = [$('searchdate').value, $('searchdate_out').value, $('searchstay').value];
		dt1 = new Date($('searchdate').value);
		dt2 = new Date($('searchdate_out').value);
		if (dt1.getTime()>dt2.getTime()) {
				return;
		}
		var nights = Math.abs(Math.ceil((dt2 - dt1)/86400000));
		if (nights>maxNights) {
			nights = $('searchstay').value = maxNights;
			adjustSearchCheckOut();
			return;
		}
		if (nights<minNights) {
			nights = $('searchstay').value = minNights;
			adjustSearchCheckOut();
			return;
		}
		$('searchstay').value = nights;
	} else {
		$('searchstay').value = '';
	}
}

function adjustNights() {
	if ($('check_in').value.length && $('check_out').value.length) {
		dt1 = new Date($('check_in').value);
		dt2 = new Date($('check_out').value);
		if (dt1.getTime()>dt2.getTime()) {
			return;
		}
		var nights = Math.ceil((dt2 - dt1)/86400000);
		if (nights<0) {
			nights = -nights;
		}
		$('nights').value = nights;
	} else {
		$('nights').value = '';
	}
}
function adjustCheckOut() {
	if (parseInt($('nights').value) && $('check_in').value.length) {
		dt1 = new Date($('check_in').value);
		dt2 = new Date(dt1.getFullYear(), dt1.getMonth(), dt1.getDate()+parseInt($('nights').value,10), 0, 0, 0, 0);
		$('check_out').value = zDate(dt2.getMonth()+1)+'/'+zDate(dt2.getDate())+'/'+dt2.getFullYear();
	}
}
function zDate(x){
	if (!zeroPadding) {
		return x;
	} else {
		return(x<0||x>9?'':'0')+ x;
	}
}

function adjustBookingNights() {
	if ($('book_check_in').value.length && $('book_check_out').value.length) {
		var hold = [$('book_check_in').value, $('book_check_out').value, $('book_nights').value];
		dt1 = new Date($('book_check_in').value);
		dt2 = new Date($('book_check_out').value);
		if (dt1.getTime()>dt2.getTime()) {
			return;
		}
		var nights = Math.abs(Math.ceil((dt2 - dt1)/86400000));
		if (nights>maxNights) {
			nights = $('book_nights').value = maxNights;
			adjustBookingCheckOut();
			return;
		}
		if (nights<minNights) {
			nights = $('book_nights').value = minNights;
			adjustBookingCheckOut();
			return;
		}
		$('book_nights').value = nights;
	} else {
		$('book_nights').value = '';
	}
}

function adjustBookingCheckOut() {
	if (parseInt($('book_nights').value) && $('book_check_in').value.length) {
		var nights = parseInt($('book_nights').value,10);
		dt1 = new Date($('book_check_in').value);
		dt2 = new Date(dt1.getFullYear(), dt1.getMonth(), dt1.getDate()+nights, 0, 0, 0, 0);
		$('book_check_out').value = zDate(dt2.getMonth()+1)+'/'+zDate(dt2.getDate())+'/'+dt2.getFullYear();
	}
}

function adjustSearchCheckOut() {
	if (parseInt($('searchstay').value) && $('searchdate').value.length) {
		dt1 = new Date($('searchdate').value);
		dt2 = new Date(dt1.getFullYear(), dt1.getMonth(), dt1.getDate()+parseInt($('searchstay').value,10), 0, 0, 0, 0);
		$('searchdate_out').value = zDate(dt2.getMonth()+1)+'/'+zDate(dt2.getDate())+'/'+dt2.getFullYear();
	}
}

function adjustBookingNightsLoad() {
	//adjustBookingNights();
	updateCalendar2();
}
function adjustBookingCheckOutLoad() {
	//adjustBookingCheckOut();
	updateCalendar2();
}
function adjustSearchCheckOutLoad() {
	adjustSearchCheckOut();
}
