﻿Date.prototype.getDayNumber = function () {
    var onejan = new Date(this.getFullYear(), 0, 1);
    return Math.ceil((this - onejan) / 86400000) + 1;
}

function getCurrentDateString(CookieName) {
    document.cookie = CookieName + "=" + new Date().toLocaleDateString();
}

function getCurrentDate(CookieName) {
    var currentDate = new Date();

    var year = currentDate.getFullYear();
    var month = currentDate.getMonth() + 1;
    var date = currentDate.getDate();

    document.cookie = CookieName + "=" + month + "/" + date + "/" + year;
}

function showDateTime(labelObject) {
    setInterval("getDateTime('" + labelObject + "')", 10); // Start clock quickly to avoid a flicker!!!
}

function getCurrentDateAuto(CookieName) {
    setInterval("getCurrentDate('" + CookieName + "')", 10); // Start clock quickly to avoid a flicker!!!
}

function getDateTime(divObject) {
    var currentDate = new Date();

    var dateString = currentDate.toLocaleDateString() + " " + currentDate.toLocaleTimeString();

    document.getElementById(divObject).innerText = dateString;
}

function SecondsToHHMMSS(inSecs, inAddMinus) {
    sec = parseInt(inSecs);

    hours = pad(Math.floor(sec / 3600));

    minutes = pad(Math.floor((sec % 3600) / 60));

    seconds = pad((sec % 3600) % 60);

    if (inAddMinus) {
        return "-" + hours + ":" + minutes + ":" + seconds;
    } else {
        return hours + ":" + minutes + ":" + seconds;
    }

}

function pad(num) {
    num = num + "";
    if (num.length == 1) {
        num = "0" + num;
    }
    return num;
}

function HHMMSSToSeconds(inHours, inMinutes, inSecs) {
    return (inHours * 3600) + (inMinutes * 60) + inSecs;
}

function addMonth(d, month) {
    t = new Date(d);

    t.setMonth(d.getMonth() + month);

    if (t.getDate() < d.getDate()) {
        t.setDate(0);
    }

    return t;
}

function daysBetween(date1, date2) {
    var DSTAdjust = 0;
    // constants used for our calculations below
    oneMinute = 1000 * 60;
    var oneDay = oneMinute * 60 * 24;
    // equalize times in case date objects have them
    date1.setHours(0);
    date1.setMinutes(0);
    date1.setSeconds(0);
    date2.setHours(0);
    date2.setMinutes(0);
    date2.setSeconds(0);
    // take care of spans across Daylight Saving Time changes
    if (date2 > date1) {
        DSTAdjust =
            (date2.getTimezoneOffset() - date1.getTimezoneOffset()) * oneMinute;
    } else {
        DSTAdjust =
            (date1.getTimezoneOffset() - date2.getTimezoneOffset()) * oneMinute;
    }
    var diff = Math.abs(date2.getTime() - date1.getTime()) - DSTAdjust;

    return Math.ceil(diff / oneDay);
}
