﻿function countdown_clock(serverDT , Event_DT) {
         {
         
         //I chose a div as the container for the timer, but
         //it can be an input tag inside a form, or anything
         //who's displayed content can be changed through
         //client-side scripting.
         
        //Server time
         Server_Year = serverDT.getFullYear();
         Server_Month = serverDT.getMonth() +1;
      
         Local = new Date();
         Local_Year = Local.getFullYear();
         Local_Month = Local.getMonth() + 1;
         
         Event_Year = Event_DT.getFullYear();
         Event_Month = Event_DT.getMonth() + 1;
         Event_Day = Event_DT.getDate();
         Event_Hour = Event_DT.getHours();
         Event_Minute = Event_DT.getMinutes();
         Event_Seconds = Event_DT.getSeconds();
                
                            
         Local_Date = (new Date(Local_Year, Local_Month,Local.getDate(), Local.getHours(), Local.getMinutes(), Local.getSeconds())).getTime();
         
         Server_Date = (new Date(Server_Year, Server_Month,serverDT.getDate(), serverDT.getHours(), serverDT.getMinutes(), serverDT.getSeconds())).getTime();
          
         //difference in server and personal comp in milliseconds 
         delta = Math.round((Server_Date - Local_Date));
         countdown( Event_Year, Event_Month, Event_Day, Event_Hour, Event_Minute, Event_Seconds , delta);
         }
         
function countdown( Event_Year, Event_Month, Event_Day, Event_Hour, Event_Minute, Event_Seconds , delta)
 {

         Local = new Date();
         Local_Year = Local.getFullYear();
         Local_Month = Local.getMonth() + 1;
         
         //Convert both today's date and the target date into miliseconds.                           
         Local_Date = (new Date(Local_Year, Local_Month, Local.getDate(), Local.getHours(), Local.getMinutes(), Local.getSeconds())).getTime() + delta;
         
         Event_Date = (new Date(Event_Year, Event_Month, Event_Day, Event_Hour, Event_Minute, Event_Seconds)).getTime();
                           
         
         //Find their difference, and convert that into seconds. 
         Time_Left = Math.round((Event_Date - Local_Date)/1000);
         
         if(Time_Left < 0)
            Time_Left = 0;
         
                    hours = Math.floor(Time_Left / (60 * 60))
                    Time_Left %= (60 * 60);
                    minutes = Math.floor(Time_Left / 60);
                    Time_Left %= 60;
                    seconds = Time_Left;
                    
                    dps = 's'; hps = 's'; mps = 's'; sps = 's';
                    //ps is short for plural suffix.
                    //if(days == 1) dps ='';
                    if(hours == 1) hps ='';
                    if(minutes == 1) mps ='';
                    if(seconds == 1) sps ='';
                    
                    if (hours < 10)
                    document.getElementById("lblHrs").innerHTML = "0" + hours;
                    else 
                    document.getElementById("lblHrs").innerHTML =  hours;
                    
                    if (minutes<10)
                    document.getElementById("lblMins").innerHTML = "0" + minutes;
                    else 
                    document.getElementById("lblMins").innerHTML = minutes;
                    if (seconds < 10)
                    document.getElementById("lblSecs").innerHTML = "0" + seconds;
                    else
                    document.getElementById("lblSecs").innerHTML = seconds;
                      
               
         //Recursive call, keeps the clock ticking.
         
         setTimeout('countdown(' + Event_Year + ',' + Event_Month + ',' + Event_Day + ',' + Event_Hour + ',' + Event_Minute + ',' + Event_Seconds + ',' + delta + ');', 1000);
         }