﻿var arrivalDate = null;
var departureDate = null;
var calendar = null;
var stDateCtrl = null;
var endDateCtrl = null;
var targetCtrlId = null;
var arrivalDay = null;
var departureDay = null;
var nights = null;
var week_name;
var weekdays = new Array(7);
weekdays[0] = "Sunday";
weekdays[1] = "Monday";
weekdays[2] = "Tuesday";
weekdays[3] = "Wednesday";
weekdays[4] = "Thursday";
weekdays[5] = "Friday";
weekdays[6] = "Saturday";


function dateClick(sender, eventArgs)
{
    //debugger;
    var date = eventArgs.get_renderDay().get_date();
    var year = date[0];
    var month = date[1];
    var day = date[2];
    var dfi = sender.DateTimeFormatInfo;
    var formattedDate = dfi.FormatDate(date, dfi.ShortDatePattern);
    if (targetCtrlId == "calControl1") {
        stDateCtrl.set_value(formattedDate);
        arrivalDate = new Date(year, month - 1, day);
        week_name = arrivalDate.getDay();
        document.getElementById('spminDate').innerHTML = weekdays[week_name];
        arrivalDay = arrivalDate.valueOf(day) / 86400000;
        week_name = null;
    }
    else {
        endDateCtrl.set_value(formattedDate);
        departureDate = new Date(year, month - 1, day);
        week_name = departureDate.getDay();
        document.getElementById('spmaxDate').innerHTML = weekdays[week_name] + ",";
        //alert(departureDate.valueOf(day));
        //departureDay = departureDate.valueOf(day) / 86400000;
        //nights = departureDay - arrivalDay;
        document.getElementById('spNights').innerHTML = days_between(arrivalDate,departureDate) + " Nights";
        week_name = null;   
    }
}
function days_between(date1, date2) {

    // The number of milliseconds in one day
    var ONE_DAY = 1000 * 60 * 60 * 24

    // Convert both dates to milliseconds
    var date1_ms = date1.getTime()
    var date2_ms = date2.getTime()

    // Calculate the difference in milliseconds
    var difference_ms = Math.abs(date1_ms - date2_ms)

    // Convert back to days and return
    return Math.round(difference_ms / ONE_DAY)

}

function clearControls(calId,targetCtrl,stDateId,endDateId) {
    stDateCtrl = $find(stDateId);
    endDateCtrl = $find(endDateId);
    
    calendar = $find(calId);
    calendar.unselectDates(calendar.get_selectedDates());
    targetCtrlId = targetCtrl;
    if (targetCtrl == "calControl1") {
        var CurrentDay = new Date();

        var selectDayTriplet = [CurrentDay.getFullYear(), CurrentDay.getMonth() + 1, CurrentDay.getDate()];
        calendar.set_rangeMinDate(selectDayTriplet);

        stDateCtrl.set_value("");
        endDateCtrl.set_value("");
        document.getElementById('spminDate').innerHTML = "";
        document.getElementById('spNights').innerHTML = "";
        document.getElementById('spmaxDate').innerHTML = "";
        arrivalDate = null;
        departureDate = null;
    }
    else {
        endDateCtrl.set_value("");
        departureDate = null;
        if (arrivalDate != null) {
            var nextDay = new Date(arrivalDate);
            nextDay.setDate(nextDay.getDate() + 1);
            var selectDayTriplet = [nextDay.getFullYear(), nextDay.getMonth() + 1, nextDay.getDate()];
            calendar.set_rangeMinDate(selectDayTriplet);
        }
    }

    
}

