
$(document).ready(function(){
if (typeof ($('[id$=txtDepartDate]').datepicker) != "undefined") {

		var MaxDate = new Date( $('[id$=hdMaxDate]').val() );
		MaxDate.setDate(MaxDate.getDate() - 1);
		$('[id$=txtDepartDate]').datepicker('option', 'maxDate', MaxDate);
        $('[id$=txtDepartDate]').bind("change", function() {        
            if ($('[id$=txtDepartDate]').val() != '' && IsDateMMDDYYYY($('[id$=txtDepartDate]').val())) {
                var NewDate = new Date( $('[id$=txtDepartDate]').val() );
				var MaxDate = new Date( $('[id$=hdMaxDate]').val() );
				if ( NewDate >= MaxDate ){
                    $('[id$=txtDepartDate]').val("").siblings("label").addClass("required");
					MaxDate.setDate(MaxDate.getDate() - 1);
					$("div.rule.errorMessage").html("Departing date cannot be greater than " + createDateStr(MaxDate) + ".");
					if ( $("div.rule.errorMessage").hasClass("hide") ){
						$("div.rule.errorMessage").removeClass("hide").addClass("show");
					}
					return false;
				} else {
					$('[id$=txtDepartDate]').siblings("label").removeClass("required");
					$("div.rule.errorMessage").html("");
					if ( $("div.rule.errorMessage").hasClass("show") ){
						$("div.rule.errorMessage").removeClass("show").addClass("hide");
					}
				}
                var MinDate = new Date( $("[id$=hdMinDate]").val() );
                if ( NewDate >= MinDate ){
                    NewDate.setDate(NewDate.getDate() + 1);
                    $('[id$=txtReturnDate]').datepicker('setDate', NewDate);
                    $('[id$=txtReturnDate]').datepicker('option', 'minDate', NewDate);
                } else {
                    NewDate.setDate(NewDate.getDate() + 1);
                    //$('[id$=txtReturnDate]').datepicker('setDate', NewDate);
                    $('[id$=txtReturnDate]').val( createDateStr(NewDate) );
                }
            }
        });
        $('[id$=txtDepartDate]').datepicker("option", "onSelect", function() {
            if ($('[id$=txtDepartDate]').val() != '' && IsDateMMDDYYYY($('[id$=txtDepartDate]').val())) {
                var NewDate = new Date( $('[id$=txtDepartDate]').val() );
				var MaxDate = new Date( $('[id$=hdMaxDate]').val() );
				if ( NewDate >= MaxDate ){
                    $('[id$=txtDepartDate]').val("").siblings("label").addClass("required");
					MaxDate.setDate(MaxDate.getDate() - 1);
					$("div.rule.errorMessage").html("Departing date cannot be greater than " + createDateStr(MaxDate) + ".");
					if ( $("div.rule.errorMessage").hasClass("hide") ){
						$("div.rule.errorMessage").removeClass("hide").addClass("show");
					}
					return false;
				} else {
					$('[id$=txtDepartDate]').siblings("label").removeClass("required");
					$("div.rule.errorMessage").html("");
					if ( $("div.rule.errorMessage").hasClass("show") ){
						$("div.rule.errorMessage").removeClass("show").addClass("hide");
					}
				}
                var MinDate = new Date( $("[id$=hdMinDate]").val() );                
                if ( NewDate >= MinDate ){                
                    NewDate.setDate(NewDate.getDate() + 1);
                    $('[id$=txtReturnDate]').datepicker('setDate', NewDate);
                    $('[id$=txtReturnDate]').datepicker('option', 'minDate', NewDate);
					$('[id$=txtReturnDate]').val(createDateStr(NewDate));
                } else {
                    NewDate.setDate(NewDate.getDate() + 1);
                    //$('[id$=txtReturnDate]').datepicker('setDate', NewDate);
                    $('[id$=txtReturnDate]').val( createDateStr(NewDate) );
                }
            }
        });
       }
       
       var startdate = getDefaultDate();
	    startdate = createDateObj(startdate);
	    $("[id$=txtReturnDate]").datepicker("option", "minDate", startdate);
});


// Create a date object from an american date format mm/dd/yyyy
function createDateObj(str) {
	// str = mm/dd/yyyy
	// date = yyyy/mm/dd
	
	if( str == null ){ return null; }
	
	if ( str.indexOf("/") > -1 ){
	    var arrDate = str.split("/");
	    var strDate = [arrDate[2], arrDate[0], arrDate[1]].join("/");
	    var o = new Date(strDate);
	    if (o.toString() == "NaN") {
		    return null;
	    } else {
		    return o;
	    }
	} else {
        var arrMonth = ["", "january", "february", "march", "april", "may", "june", "july", "august", "september", "october", "november", "december"];

        var arrDate = str.split(",");
        var month = $.trim( arrDate[1] ).split(" ")[0];
            month = ($.inArray(month.toLowerCase(), arrMonth)).toString();
        var date = $.trim( arrDate[1] ).split(" ")[1];
        var year = $.trim( arrDate[2] ).split(" ")[0];
	    var strDate = [year, month, date].join("/");
	    var o = new Date(strDate);
	    if (o.toString() == "NaN") {
		    return null;
	    } else {
		    return o;
	    }
	}
}

function getDefaultDate() {
	var d = createDateObj( $("[id$=hdMinDate]").eq(0).val() );	
    d.setDate(d.getDate() + 1);
    return createDateStr(d);
}


function createDateStr(date){
	if( date == null ){ return null; }
	
	if (typeof date == "string"){
		date = createDateObj( date );
	}
	return date.getMonth() + 1 + "/" + date.getDate() + "/" + date.getFullYear();
}

// This function displays as many child age drop down as required by the customer.
function BindKidsAge() {
	var loopCount = 0;
	var innerLoop = 0;
	var dropDowns = document.getElementsByTagName("li");
	var selector = $(".ddlKids select").val();
	var selector = Number(selector);
	$("#addDropBox li").addClass("adultsKids hideDiv");
	$("#addDropBox li:lt(" + selector + ")").removeClass("hideDiv");

}

function attachDialogBoxLodgingDetails(selector, event) {

	if ($("#ddlKids").length > 0) {
		$("#ddlKids select").unbind("change", BindKidsAge);
		$("#ddlKids select").bind("change", BindKidsAge);
	}

	$(selector).unbind(event);
	$(selector).bind(event,
	function() {
		// BindKidsAge();
		if ($('div#editDates').parents(".ui-dialog").length > 0) {} else {
			$('div#editDates').dialog("destroy");
			$('div#editDates').dialog({
				width: 700,
				bgiframe: true,
				autoOpen: false,
				modal: true,
				resizable: false,
				position: 'center',
				closeOnEscape: true
			});
		}

		    $('div#editDates').dialog("open");
		    $("#editDates").removeClass("hideDiv");
	});
}



function CloseKidsWindow()
{
$("#editDates").removeClass("hideDiv");
		$('div#editDates').dialog("close");
}


function attachDialogBox(selector, event) {

	if ($("#ddlKids").length > 0) {
		$("#ddlKids select").unbind("change", BindKidsAge);
		$("#ddlKids select").bind("change", BindKidsAge);
	}

	$(selector).unbind(event);
	$(selector).bind(event,
	function() {
		// BindKidsAge();
		if ($('div#editDates').parents(".ui-dialog").length > 0) {} else {
			$('div#editDates').dialog("destroy");
			$('div#editDates').dialog({
				width: 700,
				bgiframe: true,
				autoOpen: false,
				modal: true,
				resizable: false,
				position: 'center',
				closeOnEscape: true
			});
		}

	    var ddlKidsSelectedValue=$(".ddlKids select").val();
		if (ddlKidsSelectedValue!=null && ddlKidsSelectedValue>0)
		{
		    $('div#editDates').dialog("open");
		    $("#editDates").removeClass("hideDiv");
		}

	});
}