﻿var tomorrow = new Date();
var nextYear = tomorrow.getFullYear() + 1;
var maxDate = new Date('12/31/' + nextYear);
var qsDATE = "departureDate";


var month = new Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sept", "Oct", "Nov", "Dec");


startCalendar();


function startCalendar() {
    $(document).ready(function () {
        $("#date-pick").datePicker({
                 startDate: tomorrow,
            endDate: maxDate,  
            createbutton:false
           }).bind(
          // when the link is clicked display the date picker
						'click',
						function () {
						    setDate($(this).dpGetSelected()[0]);
						    //$(this).dpDisplay();
						    return false;
						}
					).bind(
          // when a date is selected update the SELECTs
						'dateSelected',
						function (e, selectedDate, $td, state) {
						    setDate(selectedDate);
						}
					).bind(
						'dpClosed',
						function (e, selected) {
						    setDate(selected[0]);
						}
					);

        $("#date-pick").datePicker("option", "endDate", maxDate);
        var defaultDate = getDefaultDate();
        $("#date-pick").datePicker("setDate", defaultDate);

    });
}
function populateDays() {
    var sel = document.getElementById("day");
    if (sel != null) {
        for (var i = 1; i <= 31; ++i) {
            addOption(sel, i, i);
        }
    }
}
function getDay(dayNo) {
    var dayName = "";
    switch (dayNo) {
        case 0:
            dayName = "Sun";
            break;
        case 1:
            dayName = "Mon";
            break;
        case 2:
            dayName = "Tue";
            break;
        case 3:
            dayName = "Wed";
            break;
        case 4:
            dayName = "Thu";
            break;
        case 5:
            dayName = "Fri";
            break;
        case 6:
            dayName = "Sat";
            break;
        default:
            dayName = "Sun";
    }
    return dayName;
}
function addOption(selectbox, text, value) {
    var optn = document.createElement("OPTION");
    optn.text = text;
    optn.value = value;
    selectbox.options.add(optn);
}
function PopulateMonths() {
    var sel = document.getElementById("monthYear");
    var d = new Date();
    var currentYear = d.getFullYear();
    var maxYear = d.getFullYear() + 1;
    var currentMonth = d.getMonth()
    while (currentYear <= maxYear) {
        for (var i = currentMonth; i < month.length; ++i) {

            addOption(sel, month[i] + ' ' + currentYear, i + 1 + '/' + currentYear);
        }
        currentYear++;
        currentMonth = 0;
    }
}
function setDayName(dayNo) {
    var dayName = getDay(dayNo);
    var dayLabel = document.getElementById("Dayname")
    if (dayLabel != null) {
        dayLabel.innerHTML = dayName;
    }
}
function setDate(dateToSet) {
    var d = new Date(dateToSet);
    var day = d.getDate();
    var monthYear = d.getMonth() + 1 + '/' + d.getFullYear();
    var sel = document.getElementById("day");
    var mYear = document.getElementById("monthYear");
    setSelectedValue(sel, day);
    setSelectedValue(mYear, monthYear);
    setDayName(d.getDay());
    var d = new Date(getInputDate());
    setCalendarDate(d);
}
function setCalendarDate(setDate) {
    var d = new Date(setDate)
   
            $("#date-pick").dpSetSelected(d.asString());
  
}
function setSelectedValue(sel, val) {
    for (var i = 0, limit = sel.options.length; i < limit; ++i) {
        if (sel.options[i].value == val)
            sel.options[i].selected = true;
    }
}
function updateDay() {

    var d = new Date(getInputDate());
  
    setDate(d);

}
function getInputDate() {
    var sel = document.getElementById("day");
    var mYear = document.getElementById("monthYear");
    var monthYear = mYear.options[mYear.selectedIndex].value.split("/");
    var month = monthYear[0];
    var year = monthYear[1]
    var day = sel.options[sel.selectedIndex].value;
    return month + '/' + day + '/' + year
}
function getCalDefaultDate() {
    //Check querystring

    setDate(getDefaultDate());

}

function getDefaultDate() {
    var qSDate = getQuerystring(qsDATE);
    var retDate = '';

    if (qSDate != '') {
        var arrDate = qSDate.split(" ");

        var monthYear = arrDate[0].split("/");
        retDate = new Date(monthYear[1] + '/' + monthYear[0] + '/' + monthYear[2]);
       // setDate(monthYear[1] + '/' + monthYear[0] + '/' + monthYear[2]);

    } else {
        var tomorrow = new Date();
        tomorrow.setDate(tomorrow.getDate() + 1);
        retDate = tomorrow;
        //setDate(tomorrow);
    }
    return retDate;
}
function getQuerystring(key, default_) {
    if (default_ == null) default_ = "";
    key = key.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
    var regex = new RegExp("[\\?&]" + key + "=([^&#]*)");
    var qs = regex.exec(window.location.href);
    if (qs == null)
        return default_;
    else
        return qs[1];
}
