﻿/// <reference path="~/Scripts/jquery-1.3.2.min-vsdoc.js" />

var DS4M = (function() {

    var _Root;

    var _DateTimeDisplay;
    var _DateTimeInterval;

    var _DateTimeOffset;

    var _Days = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
    var _Months = ['January', 'Febuary', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];

    var _Tick = function() {
        // Get new local time.
        var LocalTime = new Date();
        // Calculate offset.
        LocalTime.setMilliseconds(LocalTime.getMilliseconds() - _DateTimeOffset);

        // Display new time.
        //_DateTimeDisplay.html(_Days[LocalTime.getUTCDay()] + ' ' + ((LocalTime.getUTCHours() < 10) ? '0' : '') + LocalTime.getUTCHours() + ':' + ((LocalTime.getUTCMinutes() < 10) ? '0' : '') + LocalTime.getUTCMinutes() + ':' + ((LocalTime.getUTCSeconds() < 10) ? '0' : '') + LocalTime.getUTCSeconds()/* + ' ' + _Days[LocalTime.getDay()] + ' ' + LocalTime.getDate() + ' ' + _Months[LocalTime.getMonth()] + ', ' + LocalTime.getFullYear()*/);
    };

    var _o = {
        'Root': '',
        'Initialize': function(Root, Time) {
            // Set the app root.
            _Root = Root;

            _o.Root = Root;

            // Set server and local time.
            var ServerTime = new Date(Time);
            var LocalTime = new Date();

            // Calculate Offset.
            _DateTimeOffset = LocalTime - ServerTime;

            // Set the clock.
            _DateTimeDisplay = $('#DateTime');

            // Start Interval.
            _DateTimeInterval = setInterval(_Tick, 1000);
        },
        'GetSelectedOption': function(Id) {
            var Element = document.getElementById(Id);
            if (Element) {
                return { 'Value': Element.options[Element.selectedIndex].value, 'Text': Element.options[Element.selectedIndex].text };
            }
        }
    };

    return _o;
})();
