/*
Author: Robert Hashemian
http://www.hashemian.com/

You can use this code in any manner so long as the author's
name, Web address and this disclaimer is kept intact.
********************************************************
Usage Sample:

<script language="JavaScript">
TargetDate = "12/31/2020 5:00 AM";
BackColor = "palegreen";
ForeColor = "navy";
CountActive = true;
CountStepper = -1;
LeadingZero = true;
DisplayFormat = "%%D%% Days, %%H%% Hours, %%M%% Minutes, %%S%% Seconds.";
FinishMessage = "It is finally here!";
</script>
<script language="JavaScript" src="http://scripts.hashemian.com/js/countdown.js"></script>
*/

CountActive = true;
CountStepper = -1;
LeadingZero = true;
DisplayFormat = "%%D%%days %%H%%h %%M%%m %%S%%s";
FinishMessage = "Finnished";
    

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, CountStepper, SetTimeOutPeriod, sElementId) {
  if (secs < 0) {
    document.getElementById("countdown_" + sElementId).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("countdown_" + sElementId).innerHTML = DisplayStr;
  
  if (CountActive) {
    setTimeout("CountBack(" + (secs+CountStepper) + ", " + CountStepper + ", " + SetTimeOutPeriod + ", " + sElementId + ")", SetTimeOutPeriod);
  } else {
  
  }  
}

function putspan(backcolor, forecolor, sElementId) {
 document.write("<span id='countdown_" + sElementId + "'></span>");
                
}

function formatDate(sDate) {
    var d = new Date(sDate);
    var curr_hours = d.getHours()
    var curr_minutes = d.getMinutes()
    var curr_date = d.getDate();
    var curr_month = d.getMonth() + 1;
    var curr_year = d.getFullYear();
    var curr_date_return = curr_date + "/" + curr_month + "/" + curr_year + " " + curr_hours + ":" + curr_minutes + ":00"
    alert(curr_date_return);
    return curr_date_return;
}



function doCountdown(StartDate, sElementId) {
    var CountStepper, SetTimeOutPeriod, ddiff, dthen, dnow, gsecs;

    if (typeof(BackColor)=="undefined")
      BackColor = "white";
    if (typeof(ForeColor)=="undefined")
      ForeColor= "black";
    if (typeof(TargetDate)=="undefined")
      TargetDate = "12/31/2020 5:00 AM";
    if (typeof(StartDate)=="undefined")
      StartDate = "12/31/2000 5:00 AM";
    if (typeof(DisplayFormat)=="undefined")
      DisplayFormat = "%%D%% Days, %%H%% Hours, %%M%% Minutes, %%S%% Seconds.";
    if (typeof(CountActive)=="undefined")
      CountActive = true;
    if (typeof(FinishMessage)=="undefined")
      FinishMessage = "";
    if (typeof(CountStepper)!="number")
      CountStepper = -1;
    if (typeof(LeadingZero)=="undefined")
      LeadingZero = true;
      
    CountStepper = Math.ceil(CountStepper);
    if (CountStepper == 0)
      CountActive = false;
    SetTimeOutPeriod = (Math.abs(CountStepper)-1)*1000 + 990;
    putspan(BackColor, ForeColor, sElementId);
    gsecs = StartDate;

    CountBack(gsecs, CountStepper, SetTimeOutPeriod, sElementId);
    
}


