$(document).ready(function () {
    $('#start-date').datepicker({
        minDate: 0,
        maxDate: '+1Y',
        numberOfMonths: 2,
        hideglitched: false,
        showOn: 'both',
        buttonImage: 'http://louisiana-bookdirect.com/images/bookdirect_images/shreveport-bossier.org/cal.gif',
        buttonImageOnly: true,
        onSelect: DatePicked
    });
    $('#end-date').datepicker({
        minDate: 1,
        maxDate: '+1Y',
        numberOfMonths: 2,
        hideglitched: false,
        showOn: 'both',
        buttonImage: 'http://louisiana-bookdirect.com/images/bookdirect_images/shreveport-bossier.org/cal.gif',
        buttonImageOnly: true,
        onSelect: DatePicked
    });

    $("#nights").change(DatePicked);
    DatePicked();
}); 


// JavaScript Document
function format_date(ms) {
    var thedate;
    thedate = new Date(ms);
    return (thedate.getMonth() + 1) + '/' + zeropad(thedate.getDate(),2) + '/' + thedate.getFullYear();  // Jan = 0
}

function zeropad (num, zeros) {
    var retval = '';
    var numstr = num.toString();
    for (var i=numstr.length; i < zeros; i++) {
        retval += '0';
    }
    retval += numstr;
    return retval;
}

function DatePicked() {
	var departure = $("#start-date");
	var arrival = $("#end-date");
	var nights = $("#nights");
	var oneDay = 1000*60*60*24;
	var triggeringElement = $(this);
	
	var departureDate = departure.datepicker("getDate");
	
	var minArrivalDate = new Date();
	if (departureDate != null) {
		var minArrivalDate = new Date(departureDate.getTime() + (oneDay));
	} else {
		minArrivalDate.setDate(minArrivalDate.getDate());
	}
	arrival.datepicker('option', 'minDate', minArrivalDate);
	
	var arrivalDate = arrival.datepicker("getDate");
	
	if (departureDate != null && arrivalDate != null && triggeringElement.attr("id") != "nights") {
		var difference = Math.ceil((arrivalDate.getTime() - departureDate.getTime()) / oneDay);
		nights.val(difference);
	} else if (departureDate != null && triggeringElement.attr("id") == "nights") {
		var nightsEntered = parseInt(nights.val());
		if (nightsEntered >= 2) {
			var newArrivalDate = new Date();
			newArrivalDate.setDate(departureDate.getDate() + nightsEntered);
			arrival.datepicker("setDate", newArrivalDate);
		} else {
			alert("You must select 1 or more nights.");
		}
	}
	
	set_date_fields();
}

function DatePicked_LA_conf(){
	var departure = $("#start-date");
	var arrival = $("#end-date");
	var nights = $("#nights");
	var oneDay = 1000*60*60*24;
	var triggeringElement = $(this);
	
	var departureDate = departure.datepicker("getDate");
	
	var minArrivalDate = new Date();
	if (departureDate != null) {
		minArrivalDate = departureDate;
		minArrivalDate.setDate(minArrivalDate.getDate()+1);
	} else {
		minArrivalDate.setDate(minArrivalDate.getDate());
	}
	
	if(departureDate.getDate()>arrival.datepicker("getDate").getDate()) arrival.datepicker('setDate', minArrivalDate);
	
	var arrivalDate = arrival.datepicker("getDate");
	
	if (departureDate != null && arrivalDate != null && triggeringElement.attr("id") != "nights") {
		var difference = Math.ceil((arrivalDate.getTime() - departureDate.getTime()) / oneDay);
		nights.val(difference);
	} else if (departureDate != null && triggeringElement.attr("id") == "nights") {
		var nightsEntered = parseInt(nights.val());
		if (nightsEntered >= 2) {
			var newArrivalDate = new Date();
			newArrivalDate.setDate(departureDate.getDate() + nightsEntered);
			arrival.datepicker("setDate", newArrivalDate);
		} else {
			alert("You must select 1 or more nights.");
		}
	}
	
	set_date_fields();
}
		
function set_arrival (chosenvalue) {
    update_hiddens('arrival', chosenvalue); 
}
function set_departure (chosenvalue) {
    update_hiddens('departure', chosenvalue); 
}

function set_date_fields() {
    var arrival, departure;
    var now = new Date();
    var one_day=1000*60*60*24;							
    
	arrival = new Date(document.getElementById('start-date').value);
	
    document.getElementById('sDay').value = arrival.getDate();
    if(document.getElementById('sDay').value.length==1){
    	document.getElementById('sDay').value = '0'+document.getElementById('sDay').value;
    }    
    document.getElementById('sMonth').value = arrival.getMonth() + 1;  // Jan = 0
    if(document.getElementById('sMonth').value.length==1){
    	document.getElementById('sMonth').value = '0'+document.getElementById('sMonth').value;
    }
    document.getElementById('sYear').value = arrival.getFullYear();	

}



function check_submit(){
	if(document.getElementById('group_id').value == ''){
    	alert('Please enter a city.');
        return false;
    }
    else{
    	return true;
    }
}

function check_dates(){
	if(document.getElementById('start-date').value == 'Check-In' || document.getElementById('end-date').value == 'Check-Out'){
	    document.getElementById('start-date').value = $(":hidden[id$=hidTomorrow]").val();
	    document.getElementById('end-date').value = $(":hidden[id$=hidFollowingDay]").val();
    }
}

function submit_asp(site_url){
	check_dates();
	form_data = $('#jrs_calendar_form :input').serialize();
	window.open(site_url+'redirect_booking.php?'+form_data);
}
;

function jrs_submit_form(){
	
    check_dates();
    
    var now = new Date();
    var one_day=1000*60*60*24;							
    var nights = Math.max(1, Math.ceil(document.getElementById('nights').value));
    
    arrival = new Date(document.getElementById('start-date').value);
	departure = new Date(document.getElementById('end-date').value);
    
    document.getElementById('sDay').value = arrival.getDate();
    if(document.getElementById('sDay').value.length==1){
    	document.getElementById('sDay').value = '0'+document.getElementById('sDay').value;
    }    
    document.getElementById('sMonth').value = arrival.getMonth() + 1;  // Jan = 0
    if(document.getElementById('sMonth').value.length==1){
    	document.getElementById('sMonth').value = '0'+document.getElementById('sMonth').value;
    }
    document.getElementById('sYear').value = arrival.getFullYear();  
 
    nights = Math.ceil((departure.getTime()-arrival.getTime())/(one_day));
    nights = Math.max(nights, 1);
    document.getElementById('nights').value = nights; 
 
  
	var clone_id = document.getElementById('cloneID').value;
    var group_id = document.getElementById('group_id').value;
   	var nights = document.getElementById('nights').value;
    var sDay = document.getElementById('sDay').value;
    var sMonth = document.getElementById('sMonth').value;
    var sYear = document.getElementById('sYear').value;
    var lodgingID = document.getElementById('lodgingID').value;
    var s_date = document.getElementById('start-date').value;
    var e_date = document.getElementById('end-date').value;
	var submit_url = 'http://louisiana-bookdirect.com/redirect_booking.php?cloneID='+clone_id+'&group_id='+group_id+'&nights='+nights+'&sDay='+sDay+'&sMonth='+sMonth+'&sYear='+sYear+'&lodgingID='+lodgingID+'&start-date='+s_date+'&end-date='+e_date;
	window.open(submit_url);
}
