﻿
function GetClientLocalSettings() {

    var rightNow = new Date();
    var jan1 = new Date(rightNow.getFullYear(), 0, 1, 0, 0, 0, 0);  // jan 1st
    var june1 = new Date(rightNow.getFullYear(), 6, 1, 0, 0, 0, 0); // june 1st
    var temp = jan1.toGMTString();
    var jan2 = new Date(temp.substring(0, temp.lastIndexOf(" ") - 1));
    temp = june1.toGMTString();

    var june2 = new Date(temp.substring(0, temp.lastIndexOf(" ") - 1));
    var std_time_offset = (jan1 - jan2) / (1000 * 60 * 60);
    var daylight_time_offset = (june1 - june2) / (1000 * 60 * 60);
    var dst;

    if (std_time_offset == daylight_time_offset) {
        dst = "0"; // daylight savings time is NOT observed
    } else {
        // positive is southern, negative is northern hemisphere
        var hemisphere = std_time_offset - daylight_time_offset;
        if (hemisphere >= 0)
            std_time_offset = daylight_time_offset;
        dst = "1"; // daylight savings time is observed
    }

    var viewportwidth;
    var viewportheight;

    // the more standards compliant browsers (mozilla/netscape/opera/IE7) use window.innerWidth and window.innerHeight

    if (typeof window.innerWidth != 'undefined') {
        viewportwidth = window.innerWidth;
        viewportheight = window.innerHeight;
    }

    // IE6 in standards compliant mode (i.e. with a valid doctype as the first line in the document)

    else if (typeof document.documentElement != 'undefined' && typeof document.documentElement.clientWidth != 'undefined' && document.documentElement.clientWidth != 0) {
        viewportwidth = document.documentElement.clientWidth;
        viewportheight = document.documentElement.clientHeight;
    }

    // older versions of IE

    else {
        viewportwidth = document.getElementsByTagName('body')[0].clientWidth;
        viewportheight = document.getElementsByTagName('body')[0].clientHeight;
    }

    var oldCookie = document.cookie;
    var MyCookieData = "ClientLocalData=";
    MyCookieData += "STDoffset!" + std_time_offset + "#";
    MyCookieData += "DSToffset!" + daylight_time_offset + "#";
    MyCookieData += "DST!" + dst + "#";
    MyCookieData += "DateNow!" + rightNow.toLocaleDateString() + "#";
    MyCookieData += "TimeNow!" + rightNow.toLocaleTimeString() + "#";
    MyCookieData += "ScreenHeight!" + screen.height + "#"
    MyCookieData += "ScreenWidth!" + screen.width + "#"
    MyCookieData += "ViewHeight!" + viewportheight + "#"
    MyCookieData += "ViewWidth!" + viewportwidth + "#"
    MyCookieData += "AvailHeight!" + screen.availHeight + "#"
    MyCookieData += "AvailWidth!" + screen.availWidth + "#"
    MyCookieData += "ColorDepth!" + screen.colorDepth + "#"
    MyCookieData += ";"

 
    var dtExpires = new Date();
    dtExpires.setTime(dtExpires.getTime + (3600000));   // 1 hour
    var expires = " expires=" + dtExpires.toLocaleString + ";";
    MyCookieData += expires;

    MyCookieData += " path=/;"

    document.cookie = MyCookieData;
    // we will try not to set the expire time so this is a one time cookie.
}

function convert(value) {
    var hours = parseInt(value);
    value -= parseInt(value);
    value *= 60;
    var mins = parseInt(value);
    value -= parseInt(value);
    value *= 60;
    var secs = parseInt(value);
    var display_hours = hours;
    // handle GMT case (00:00)
    if (hours == 0) {
        display_hours = "00";
    } else if (hours > 0) {
        // add a plus sign and perhaps an extra 0
        display_hours = (hours < 10) ? "+0" + hours : "+" + hours;
    } else {
        // add an extra 0 if needed 
        display_hours = (hours > -10) ? "-0" + Math.abs(hours) : hours;
    }

    mins = (mins < 10) ? "0" + mins : mins;
    return display_hours + ":" + mins;
}

