﻿var NewYearsHelper = new Function();


NewYearsHelper.getStyleSheetLinkRef = function(linkTitle) {
    var i, linkRef;

    for (i = 0; (linkRef = document.getElementsByTagName("link")[i]); i++) {
        if (linkRef.getAttribute("rel").indexOf("style") != -1 && linkRef.getAttribute("title") == linkTitle)
            return linkRef;
    }

    return null;
}

NewYearsHelper.setActiveStyleSheet = function(linkTitle) {
    var bodyThemeLink = NewYearsHelper.getStyleSheetLinkRef("Body Theme");

    if (linkTitle == "DayTheme") {
        bodyThemeLink.href = "/Directories/Custom/208/Assets/Css/DayTheme.css";

        document.getElementById("dayThemeLink").className = "dayThemeActive";
        document.getElementById("nightThemeLink").className = "nightThemeInactive";
    }
    else {
        bodyThemeLink.href = "/Directories/Custom/208/Assets/Css/NightTheme.css";

        document.getElementById("nightThemeLink").className = "nightThemeActive";
        document.getElementById("dayThemeLink").className = "dayThemeInactive";
    }

    NewYearsHelper.createCookie("DefaultBodyTheme", linkTitle, 365);
}   //end setActiveStyleSheet


NewYearsHelper.createCookie = function(name, value, days) {
    var date = new Date();
    date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));

    var expires = "; expires=" + date.toGMTString();
    document.cookie = name + "=" + value + expires + "; path=/";
} //end createCookie


//will hold the newyears date in milliseconds representing utc time
var newYearsDateObj = Date.UTC(new Date().getFullYear() + 1, 0, 1);
//set the time components, represented in milliseconds
var oneDay = 86400000;
var oneHour = 3600000;
var oneMinute = 60000;
var oneSecond = 1000;

//this is a function that will show the countdown to New Years day based on the offset on 2 labels. One for the days left and one for 
//the time left. Once called, this will set a timeout to call itself again every second
NewYearsHelper.showNewYearsCountdownText = function(hoursOffset, daysElementId, timeElementId) {
    //get todays date in UTC milliseconds
    var today = new Date();
    today = Date.UTC(today.getUTCFullYear(), today.getUTCMonth(), today.getUTCDate(), today.getUTCHours(), today.getUTCMinutes(), today.getUTCSeconds());

    //add the hours offset
    var utcOffset = oneHour * hoursOffset;

    var milisecondsLeft = (newYearsDateObj - today) - utcOffset;

    var daysLeft = Math.floor(milisecondsLeft / oneDay);
    var hoursLeft = Math.floor((milisecondsLeft % (oneDay)) / oneHour);
    var minutesLeft = Math.floor(((milisecondsLeft % (oneDay)) % (oneHour)) / oneMinute);
    var secondsLeft = Math.floor((((milisecondsLeft % (oneDay)) % (oneHour)) % (oneMinute)) / oneSecond);

    if (minutesLeft < 10)
        minutesLeft = "0" + minutesLeft;

    if (secondsLeft < 10)
        secondsLeft = "0" + secondsLeft;

    document.getElementById(daysElementId).innerHTML = daysLeft;
    document.getElementById(timeElementId).innerHTML = hoursLeft + ":" + minutesLeft + ":" + secondsLeft;

    var methodCall = "NewYearsHelper.showNewYearsCountdownText(" + hoursOffset + ", '" + daysElementId + "', '" + timeElementId + "')";
    //call this method again in 1 second
    window.setTimeout(methodCall, 1000);
} //end of showNewYearsCountdownText