/*
Original author: Robert Hashemian
http://www.hashemian.com/
*/

function calcage(secs, num1, num2) {
  s = ((Math.floor(secs/num1))%num2).toString();
  return s;
}

function CountBack(secs,DisplayFormat,CountActive,CountStepper,SetTimeOutPeriod,FinishMessage) {
  if (secs < 0) {
    $("#MenuCounterId").html("Countdown to next race: <span class=\"menudiv\">0</span> days <span class=\"menudiv\">0</span> hours <span class=\"menudiv\">0</span> minutes <span class=\"menudiv\">0</span> seconds");
    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));

  $("#MenuCounterId").html(DisplayStr);
  if (CountActive)
    setTimeout("CountBack(" + (secs+CountStepper) + ",'"+DisplayFormat+"',"+CountActive+","+CountStepper+","+SetTimeOutPeriod+")", SetTimeOutPeriod);
}
function StartCounter(dthen) {
  var DisplayFormat = "Countdown to next race: <span class=\"menudiv\">%%D%%</span> days <span class=\"menudiv\">%%H%%</span> hours <span class=\"menudiv\">%%M%%</span> minutes <span class=\"menudiv\">%%S%%</span> seconds";
  var CountActive = true;
  var CountStepper = -1;
  var LeadingZero = false;

CountStepper = Math.ceil(CountStepper);
if (CountStepper == 0)
  CountActive = false;
var SetTimeOutPeriod = (Math.abs(CountStepper)-1)*1000 + 990;
//var dthen = new Date(TargetDate);
var dnow = new Date();
if(CountStepper>0)
  ddiff = new Date(dnow-dthen);
else
  ddiff = new Date(dthen-dnow);
gsecs = Math.floor(ddiff.valueOf()/1000);
CountBack(gsecs,DisplayFormat,CountActive,CountStepper,SetTimeOutPeriod);
}