﻿
$(document).ready(function () {
    datepicksetup();
    var prm = Sys.WebForms.PageRequestManager.getInstance();
    prm.add_endRequest(function () {
        datepicksetup();
    });

});
function datepicksetup()
{
    $("#startdate, #enddate").datepicker({
        minDate: '0',
        maxDate: '+8M',
        firstDay: 1,
        numberOfMonths: 2,
        dateFormat: 'dd.mm.yy',
        changeMonth: true,
        onSelect: function (dateText, inst) {
            bindPickersTogether($(this).attr("id"));
        }
    });



    $("#fd-but-date_to").click(function () {
        $("#enddate").datepicker("show");
        return false;
    });

    $("#fd-but-date_from").click(function () {
        $("#startdate").datepicker("show");
        return false;
    });


}



function bindPickersTogether(id) {
    var active = $("#activeTimeSelectection").val();
    //if ((id == "enddate") || active == "true") {
    var MaxBookDays = 10;
    var startDateAddMaxBookDays = $('#startdate').datepicker('getDate', '+10d');
   
    startDateAddMaxBookDays.setDate(startDateAddMaxBookDays.getDate() + MaxBookDays);

    var ONE_DAY = 1000 * 60 * 60 * 24;
    var from_ms = $("#startdate").datepicker("getDate").getTime();
    var to_ms = $("#enddate").datepicker("getDate").getTime();
    // Calculate the difference in milliseconds
    var difference_ms = to_ms - from_ms;

    // Convert back to days and return
    var nights = Math.round(difference_ms / ONE_DAY);

    var startDateAddOneDay = $('#startdate').datepicker('getDate', '+1d');
    startDateAddOneDay.setDate(startDateAddOneDay.getDate() + 1);

    if (difference_ms > 0) {
        $("#totalnights").text(nights);

        //alert(parseInt(nights));
        //alert(parseInt(MaxBookDays));

        if (parseInt(nights) > parseInt(MaxBookDays)) {
            //alert("to many");
            //alert("Max: " +MaxBookDays);
            //Somehow (choosing startdate after end date): maximum nights is reached:
            $('#enddate').datepicker('setDate', startDateAddMaxBookDays);
            $("#enddate").datepicker("option", "minDate", startDateAddOneDay);
            $("#enddate").datepicker("option", "maxDate", startDateAddMaxBookDays);
        } else {
            $("#enddate").datepicker("option", "minDate", startDateAddOneDay);
            $("#enddate").datepicker("option", "maxDate", startDateAddMaxBookDays);
        }


    } else {
        //alert("negative");
        //Negative number of nights: set enddate to startdate + 1 
        $('#enddate').datepicker('setDate', startDateAddOneDay);
        $("#enddate").datepicker("option", "minDate", startDateAddOneDay);
        $("#enddate").datepicker("option", "maxDate", startDateAddMaxBookDays);
        $("#totalnights").text("Checkout date can not be lower than checkin date.");
    }

    $("#activeTimeSelectection").val("true");
    // }
}

