// JavaScript Document
  var handle;
  var targetDate = new Date();
  //18 feb 2010:
  targetDate.setFullYear(2010,1,18);
  targetDate.setHours(0);
  targetDate.setMinutes(0);
  targetDate.setSeconds(0);
  var targetMillis = Date.parse(targetDate);
  
  var dayMillis     = 1000*60*60*24;
  var hourMillis    = 1000*60*60;
  var minMillis     = 1000*60;
  
  
  function runCoundown(){
    try{
        var elem = document.getElementById("countdown");
        var now = new Date();
        var nowMillis = Date.parse(now);
        
        var timeLeft = targetMillis - nowMillis;
        
        if(timeLeft <= 0){
            elem.innerHTML = "End!";
            killTimeout(handle);
        }
        
        //DAYS *****************************************************************
        //determine how many DAYS are left:
        var daysLeft = parseInt(timeLeft/dayMillis);
        
        //determine millis in daysLeft
        var daysLeftMillis = daysLeft*dayMillis;
        
        //HOURS ****************************************************************
        //now subtract this from timeLeft to determine the hours/mins:
        var millisLeftAfterDayRemovel = timeLeft - daysLeftMillis;
        
        //now work out the hours in millisLeftAfterDayRemovel:
        var hoursLeft = parseInt(millisLeftAfterDayRemovel/hourMillis);
        
        //determine millis in hoursLeft:
        var hoursLeftMillis = hoursLeft * hourMillis;
        
        //MINUTES **************************************************************
        //subtract hoursLeftMillis from millisLeftAfterDayRemovel to determine remaining minutes
        millisLeftAfterDayAndHourRemovel = millisLeftAfterDayRemovel - hoursLeftMillis;
        
        //determine minutes left:
        var minutesLeft = parseInt(millisLeftAfterDayAndHourRemovel/minMillis);
        
        //work out millis in minutesLeft:
        var minutesLeftMillis = minutesLeft * minMillis;
        
        //now work out the remaining milliseconds:
        millisLeftAfterDayHourAndMinuteRemovel = millisLeftAfterDayAndHourRemovel - minutesLeftMillis;
        
        //SECONDS **************************************************************
        var secondsLeft = millisLeftAfterDayHourAndMinuteRemovel/1000;
        
        
        //var output = targetDate + "<br>";
        //output += timeLeft + "<br />";
        var output = daysLeft + " days, ";
        output += hoursLeft + " hours, ";
        output += minutesLeft + ":";
        output += secondsLeft;
        //output +=  "<hr />millisLeftAfterDayRemovel: " + millisLeftAfterDayRemovel + "<br />";
        //output +=  "millisLeftAfterDayAndHourRemovel: " + millisLeftAfterDayAndHourRemovel + "<br />";
        //output +=  "millisLeftAfterDayHourAndMinuteRemovel: " + millisLeftAfterDayHourAndMinuteRemovel + "<br />";
        elem.innerHTML =  output; 
        
        handle = setTimeout("runCoundown()",1000);
    }
    catch(e){
        
    }
  }

function killTimer(handle){
    
    //var elem = document.getElementById("countdown");
    //elem.innerHTML = "Timeout reached!";
    clearTimeout(handle);
}
