function countdown_clock(year, month, day, hour, minute, time_sync, format, id_extension)
{
//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.
html_code = '
';
var xxx = 1219264499;
var zt = new Date();
var zzz = parseInt(zt.getTime() /1000);
// document.write (xxx + "
");
// document.write (zzz);
document.write(html_code);
// var xxx = "8,7,21,06,34,59";
// document.write ("
" + xxx);
Today = new Date();
Todays_Year = Today.getFullYear() - 2000;
Todays_Month = Today.getMonth();
//Computes the time difference between the client computer and the server.
Server_Date = new Date(8,7,21,06,34,59).getTime();
//Server_Date = (new Date(8, 3, 17,
// 23, 40, 24)).getTime();
Todays_Date = (new Date(Todays_Year, Todays_Month, Today.getDate(),
Today.getHours(), Today.getMinutes(), Today.getSeconds())).getTime();
countdown(year, month, day, hour, minute, (Todays_Date - Server_Date), time_sync, format, id_extension);
}
function countdown(year, month, day, hour, minute, time_difference, time_sync, format, id_extension)
{
Today = new Date();
Todays_Year = Today.getFullYear() - 2000;
Todays_Month = Today.getMonth();
//Convert today's date and the target date into miliseconds.
Todays_Date = (new Date(Todays_Year, Todays_Month, Today.getDate(),
Today.getHours(), Today.getMinutes(), Today.getSeconds())).getTime();
Target_Date = (new Date(year, month, day, hour, minute, 00)).getTime();
//Find their difference, and convert that into seconds.
//Taking into account the time differential between the client computer and the server.
Time_Left = Math.round((Target_Date - Todays_Date + time_difference - time_sync) / 1000);
if(Time_Left < 0)
Time_Left = 0;
switch(format)
{
case 0:
//The simplest way to display the time left.
innerHTML = Time_Left + ' seconds';
break;
case 1:
minutes = Math.floor(Time_Left / 60);
Time_Left %= 60;
seconds = Time_Left;
mps = 's'; sps = 's';
//ps is short for plural suffix.
if(minutes == 1) mps ='';
if(seconds == 1) sps ='';
innerHTML = minutes + ' minute' + mps + ' and ';
innerHTML += seconds + ' second' + sps;
break;
case 2:
hours = Math.floor(Time_Left / (60 * 60));
Time_Left %= (60 * 60);
minutes = Math.floor(Time_Left / 60);
Time_Left %= 60;
seconds = Time_Left;
hps = 's'; mps = 's'; sps = 's';
//ps is short for plural suffix.
if(hours == 1) hps ='';
if(minutes == 1) mps ='';
if(seconds == 1) sps ='';
innerHTML = hours + ' hour' + hps + ' ';
innerHTML += minutes + ' minute' + mps + ' and ';
innerHTML += seconds + ' second' + sps;
break;
case 3:
//More datailed.
days = Math.floor(Time_Left / (60 * 60 * 24));
Time_Left %= (60 * 60 * 24);
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 ='';
innerHTML = days + ' day' + dps + ' ';
innerHTML += hours + ' hour' + hps + ' ';
innerHTML += minutes + ' minute' + mps + ' and ';
innerHTML += seconds + ' second' + sps;
break;
case 4:
minutes = Math.floor(Time_Left / 60);
mps = 's';
//ps is short for plural suffix.
if(minutes == 1) mps ='';
innerHTML = minutes + ' minute' + mps;
break;
case 5:
hours = Math.floor(Time_Left / (60 * 60));
Time_Left %= (60 * 60);
minutes = Math.floor(Time_Left / 60);
hps = 's'; mps = 's';
//ps is short for plural suffix.
if(hours == 1) hps ='';
if(minutes == 1) mps ='';
innerHTML = hours + ' hour' + hps + ' and ';
innerHTML += minutes + ' minute' + mps;
break;
case 6:
//More datailed.
days = Math.floor(Time_Left / (60 * 60 * 24));
Time_Left %= (60 * 60 * 24);
hours = Math.floor(Time_Left / (60 * 60));
Time_Left %= (60 * 60);
minutes = Math.floor(Time_Left / 60);
dps = 's'; hps = 's'; mps = 's';
//ps is short for plural suffix.
if(days == 1) dps ='';
if(hours == 1) hps ='';
if(minutes == 1) mps ='';
innerHTML = days + ' day' + dps + ' ';
innerHTML += hours + ' hour' + hps + ' and ';
innerHTML += minutes + ' minute' + mps;
break;
default:
innerHTML = Time_Left + ' seconds';
}
countdown_id = 'countdown' + id_extension;
countdown_Object = document.getElementById(countdown_id);
countdown_Object.innerHTML = innerHTML;
time_out = 1000;
if(format > 3)
time_out *= 60;
//Recursive call, keeps the clock ticking.
setTimeout('countdown(' + year + ',' + month + ',' + day + ',' + hour + ',' + minute + ',' +
time_difference + ', ' + time_sync + ', ' + format + ', \'' + id_extension + '\');', time_out);
}