var ctToday;
var ctPath = "/img/sys/";
var ctTimeout = 999;
var ctPostfixSeparator = "_";
var ctPastHTML = "<div class=\"ctMsg\">In Progress</div>";

var ct0 = new Image();
var ct1 = new Image();
var ct2 = new Image();
var ct3 = new Image();
var ct4 = new Image();
var ct5 = new Image();
var ct6 = new Image();
var ct7 = new Image();
var ct8 = new Image();
var ct9 = new Image();
var ctCol = new Image();

ct0.src = ctPath + "ct0.gif";
ct1.src = ctPath + "ct1.gif";
ct2.src = ctPath + "ct2.gif";
ct3.src = ctPath + "ct3.gif";
ct4.src = ctPath + "ct4.gif";
ct5.src = ctPath + "ct5.gif";
ct6.src = ctPath + "ct6.gif";
ct7.src = ctPath + "ct7.gif";
ct8.src = ctPath + "ct8.gif";
ct9.src = ctPath + "ct9.gif";
ctCol.src = ctPath + "ctCol.gif";

function ctInit()
{
    ctToday = new Date();

    //Minus 1 from month
    //ctRun(ctPostfixSeparator+"sct",new Date(2010,3,9,12,0));
    //ctRun(ctPostfixSeparator+"wct",new Date(2009,10,2,12,0));

    setTimeout("ctInit()", ctTimeout);
}

function ctRun(iPostfix,iTarg)
{
    if (document.getElementById("ctHolder" + iPostfix))
    {    
        if (ctToday > iTarg)
            ctInProgress(iPostfix);
        else
        {
            //Raw days = targ - current / 1000 (ms) / 60 (secs) / 60 (minutes) / 24 (hours)
            var daysRaw = (iTarg - ctToday) / 1000 / 60 / 60 / 24;
            var days = Math.floor(daysRaw);

            //Raw hours = targ - current / 1000 (ms) / 60 (secs) / 60 (minutes) = (time in hours) - calc'd days in hours
            var hoursRaw = ((iTarg - ctToday) / 1000 / 60 / 60) - (days * 24);
            var hours = Math.floor(hoursRaw);

            //Raw minutes = targ - current / 1000 (ms) / 60 (secs) = (time in mins) - calc'd days in mins - calc'd hours in mins
            var minsRaw = ((iTarg - ctToday) / 1000 / 60) - (days * 24 * 60) - (hours * 60);
            var mins = Math.floor(minsRaw);

            //Raw secs = targ - current / 1000 (ms) = (time in secs) - calc'd days in secs - calc'd hours in secs - calc'd mins in secs
            var secsRaw = ((iTarg - ctToday) / 1000) - (days * 24 * 60 * 60) - (hours * 60 * 60) - (mins * 60);
            var secs = Math.floor(secsRaw);

            ctRender(iPostfix,days,hours,mins,secs);
        }
    }
}

function ctRender(iPostfix,iDays,iHours,iMins,iSecs)
{
    days = String(iDays);
    hours = String(iHours);
    mins = String(iMins);
    secs = String(iSecs);

    if (days.length == 1)
    {
        document.getElementById("ctD1" + iPostfix).src = ct0.src;
        document.getElementById("ctD2" + iPostfix).src = ct0.src;
        document.getElementById("ctD3" + iPostfix).src = eval("ct" + days.substring(0,1) + ".src");
    }
    else if (days.length == 2)
    {
        document.getElementById("ctD1" + iPostfix).src = ct0.src;
        document.getElementById("ctD2" + iPostfix).src = eval("ct" + days.substring(0,1) + ".src");
        document.getElementById("ctD3" + iPostfix).src = eval("ct" + days.substring(1,2) + ".src");
    }
    else if (days.length == 3)
    {
        document.getElementById("ctD1" + iPostfix).src = eval("ct" + days.substring(0,1) + ".src");
        document.getElementById("ctD2" + iPostfix).src = eval("ct" + days.substring(1,2) + ".src");
        document.getElementById("ctD3" + iPostfix).src = eval("ct" + days.substring(2,3) + ".src");
    }

    if (hours.length == 1)
    {
        document.getElementById("ctH1" + iPostfix).src = ct0.src;
        document.getElementById("ctH2" + iPostfix).src = eval("ct" + hours.substring(0,1) + ".src");
    }
    else if (hours.length == 2)
    {
        document.getElementById("ctH1" + iPostfix).src = eval("ct" + hours.substring(0,1) + ".src");
        document.getElementById("ctH2" + iPostfix).src = eval("ct" + hours.substring(1,2) + ".src");
    }

    if (mins.length == 1)
    {
        document.getElementById("ctM1" + iPostfix).src = ct0.src;
        document.getElementById("ctM2" + iPostfix).src = eval("ct" + mins.substring(0,1) + ".src");
    }
    else if (mins.length == 2)
    {
        document.getElementById("ctM1" + iPostfix).src = eval("ct" + mins.substring(0,1) + ".src");
        document.getElementById("ctM2" + iPostfix).src = eval("ct" + mins.substring(1,2) + ".src");
    }

    if (secs.length == 1)
    {
        document.getElementById("ctS1" + iPostfix).src = ct0.src;
        document.getElementById("ctS2" + iPostfix).src = eval("ct" + secs.substring(0,1) + ".src");
    }
    else if (secs.length == 2)
    {
        document.getElementById("ctS1" + iPostfix).src = eval("ct" + secs.substring(0,1) + ".src");
        document.getElementById("ctS2" + iPostfix).src = eval("ct" + secs.substring(1,2) + ".src");
    }
}

function ctInProgress(iPostfix)
{
    var holder = document.getElementById("ctHolder" + iPostfix);
    
    if (holder.firstChild)
    {
        if (holder.firstChild == "IMG")
            holder.innerHTML = ctPastHTML;
        else
            holder.innerHTML = "";
    }
    else
        holder.innerHTML = ctPastHTML;
}