var zeroPadding = false;
minNights = 3;
maxNights = 28;
_imagePath = '/scripts/hal/img';

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,
		onSuccess: function(transport){

var responseJS = transport.responseText;
if (responseJS) {
	$('priceQuoteDiv').innerHTML = responseJS;
	$('priceQuoteDiv').style.width = 'auto';
	$('priceQuoteDiv').style.height = 'auto';

        var today = new Date();
        calendarStart = zDate(today.getMonth()+1)+'/'+zDate(1)+'/'+today.getFullYear();

	var _imagePath='/scripts/hal/img/';
	var arrivalBookDate=new Hal.Calendar('book_check_in','CalGroup', 'Arrival Date', adjustBookingNightsLoad);
	var departureBookDate=new Hal.Calendar('book_check_out','CalGroup', 'Departure Date', adjustBookingNightsLoad);
	if (parseInt($('searchstay').value,10) && $('searchdate').value.length) {
		$('book_nights').value = $('searchstay').value;
		$('book_check_in').value = $('searchdate').value;
		adjustBookingCheckOut();
	} else if ( parseInt(searchstay,10) && searchdate.length ){
		$('book_nights').value = searchstay;
		$('book_check_in').value = searchdate;
		adjustBookingCheckOut();		
	} 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.getFull
                $('book_check_out').value = zDate(dt3.getMonth()+1)+'/'+zDate(dt3.getDate())+'/'+dt3.getFul
	}

	updateCalendar();
} else {
	$('priceQuoteDiv').innerHTML = 'Something wrong';
}
		}
	});


}

function hideCalendar() {
	$('priceQuoteDiv').hide();
}

function adjustSearchNights() {
        var minNights = parseInt($('searchstay').options[0].value,10);
        var maxNights = parseInt($('searchstay').options[$('searchstay').length-1].value,10);

        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) {
                       /* $('searchdate').value = hold[0];
                        $('searchdate_out').value = hold[1];
                        $('searchstay').value = hold[2];   
                        alert('Max nights is '+maxNights); */
			$('searchstay').value = nights = maxNights;
			adjustSearchCheckOut();
                        return;
                }
                if (nights<minNights) {
                        /*$('searchdate').value = hold[0];
                        $('searchdate_out').value = hold[1];
                        $('searchstay').value = hold[2];
                        alert('Min nights is '+minNights);*/
			$('searchstay').value = nights = minNights;
                        adjustSearchCheckOut();
                        return;
                }
                $('searchstay').value = nights;
		$('searchstay').disabled = false;
        } else {
                $('searchstay').value = '';
		$('searchstay').disabled = true;
        }
}

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) {
			/*$('book_check_in').value = hold[0];
			$('book_check_out').value = hold[1];
			$('book_nights').value = hold[2];
			alert('Max nights is '+maxNights);*/
                        $('book_nights').value = nights = maxNights;
                        adjustBookingCheckOut();
			return;
		}
		if (nights<minNights) {
			/*$('book_check_in').value = hold[0];
			$('book_check_out').value = hold[1];
			$('book_nights').value = hold[2];
			alert('Min nights is '+minNights);*/
                        $('book_nights').value = nights = minNights;
                        adjustBookingCheckOut();
			return;
		}
		$('book_nights').value = nights;
	} else {
		$('book_nights').value = '';
	}
}

function adjustBookingCheckOut() {
	if (parseInt($('book_nights').value) && $('book_check_in').value.length) {
		var hold = [$('book_check_in').value, $('book_check_out').value];
		var nights = parseInt($('book_nights').value,10);
		if (nights < minNights ){
			nights = minNights;
		} else if ( nights > maxNights ){
			nights = maxNights;
		}
		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() {
        var minNights = parseInt($('searchstay').options[0].value,10);
        var maxNights = parseInt($('searchstay').options[$('searchstay').length-1].value,10);

	if (parseInt($('searchstay').value,10) && $('searchdate').value.length) {
                var hold = [$('searchdate').value, $('searchdate_out').value]; 
                var nights = parseInt($('searchstay').value,10);
                if (nights < minNights ){
                        nights = minNights;
                } else if ( nights > maxNights ){
                        nights = maxNights;
                }
		dt1 = new Date($('searchdate').value);
		dt2 = new Date(dt1.getFullYear(), dt1.getMonth(), dt1.getDate()+nights, 0, 0, 0, 0);
		$('searchdate_out').value = zDate(dt2.getMonth()+1)+'/'+zDate(dt2.getDate())+'/'+dt2.getFullYear();
	}
}

function adjustBookingNightsLoad() {
	adjustBookingNights();
	updateCalendar();
}
function adjustBookingCheckOutLoad() {
	adjustBookingCheckOut();
	updateCalendar();
}
function adjustSearchCheckOutLoad() {
        adjustSearchCheckOut();
        searchdateChanged();
}
