﻿

setInterval("SetServerDateTime()", 1000);

var monthNames = new Array();

monthNames[monthNames.length] = "January";
monthNames[monthNames.length] = "February";
monthNames[monthNames.length] = "March";
monthNames[monthNames.length] = "April";
monthNames[monthNames.length] = "May";
monthNames[monthNames.length] = "June";
monthNames[monthNames.length] = "July";
monthNames[monthNames.length] = "August";
monthNames[monthNames.length] = "September";
monthNames[monthNames.length] = "October";
monthNames[monthNames.length] = "November";
monthNames[monthNames.length] = "December";

function SetServerDateTime()
{
    var serverDateTime = new Date(document.getElementById("serverDateTimeHidden").firstChild.data);

    serverDateTime.setSeconds(serverDateTime.getSeconds() + 1);
    
    
    document.getElementById("serverTime").firstChild.data = PadDateTimePortion(serverDateTime.getHours()) +
                                                      ":" +
                                                      PadDateTimePortion(serverDateTime.getMinutes()) +
                                                      ":" +
                                                      PadDateTimePortion(serverDateTime.getSeconds());

    document.getElementById("serverDate").firstChild.data = AppendDateSuffix(serverDateTime.getDate()) +
                                                      " " + 
                                                      GetMonthName(serverDateTime.getMonth()) +
                                                      " " +
                                                      PadDateTimePortion(serverDateTime.getFullYear());
                                                      
    document.getElementById("serverDateTimeHidden").firstChild.data = serverDateTime.toString();
}

function PadDateTimePortion(dateTimePortion)
{
    var asString = dateTimePortion.toString();
    
    if (asString.length == 1)
        return "0" + asString;
        
    return asString;
}

function AppendDateSuffix(day)
{
    var lastDigit;
    
    var dayAsString = day.toString();

    if (dayAsString.length == 2)
        lastDigit = dayAsString.charAt(1);
    else
        lastDigit = dayAsString.charAt(0);
    
    switch (lastDigit)
    {
        case "0":
            return day + "th";
        case "1":
            return day + "st";
        case "2":
            return day + "nd";
        case "3":
            return day + "rd";
        case "4":
             return day + "th";
        case "5":
            return day + "th";
        case "6":
            return day + "th";
        case "7":
             return day + "th";
        case "8":
             return day + "th";
        case "9":
            return day + "th";
    }
}

function GetMonthName(arrayIndex)
{
    return monthNames[arrayIndex];
}