﻿var clockHolder = '';

function countdown(holder, startDate, finishDate) {
    clockHolder = holder;
    TargetDate = finishDate;
    DisplayFormat = '<p align="center" style="font-size:1.2em; line-height:1.3em; margin:0px;"><strong>Countdown to Election Results</strong></p><div  class="clockHolder"><table class="jsCountdown" cellpadding="0" cellspacing="0"  border="0" align="center">' +
    	'<tr><td class="jsNum">%%D%%</td><td class="jsNum">%%H%%</td><td class="jsNum">%%M%%</td><td class="jsNum">%%S%%</td></tr>' +
        '<tr><td class="jsInfo">DAYS</td><td class="jsInfo">HOURS</td><td class="jsInfo">MINUTES</td><td class="jsInfo">SECONDS</td></tr>' +
    	'</table></div>';
    
    FinishMessage = "It is finally here!";

    CountActive = true;
    LeadingZero = true;
    CountStepper = Math.ceil(-1);
    var SetTimeOutPeriod = (Math.abs(CountStepper) - 1) * 1000 + 990;
    var dthen = new Date(TargetDate);

    var dnow = new Date(startDate);

    if (CountStepper > 0)
        ddiff = new Date(dnow - dthen);
    else
        ddiff = new Date(dthen - dnow);
    gsecs = Math.floor(ddiff.valueOf() / 1000);
    CountBack(gsecs);
}


function calcage(secs, num1, num2) {
    s = ((Math.floor(secs / num1)) % num2).toString();
    if (LeadingZero && s.length < 2)
        s = "0" + s;
    return s;
}

function CountBack(secs) {
    if (secs < 0) {
        location.reload(true);
        document.getElementById(clockHolder).innerHTML = FinishMessage;
        return;
    }

    DisplayStr = DisplayFormat.replace(/%%D%%/g, calcage(secs, 86400, 100000));
    DisplayStr = DisplayStr.replace(/%%H%%/g, calcage(secs, 3600, 24));
    DisplayStr = DisplayStr.replace(/%%M%%/g, calcage(secs, 60, 60));
    DisplayStr = DisplayStr.replace(/%%S%%/g, calcage(secs, 1, 60));

    document.getElementById(clockHolder).innerHTML = DisplayStr;
    if (CountActive) setTimeout("CountBack(" + (secs + CountStepper) + ")", 1000);
}
