function countdown_clock(year, month, day, hour, minute, 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 = '
'; document.write(html_code); Today = new Date(); Todays_Year = Today.getYear() - 2000; Todays_Month = Today.getMonth(); //Computes the time difference between the client computer and the server. Server_Date = (new Date(8, 5, 12, 0, 16, 8)).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), format, id_extension); } function countdown(year, month, day, hour, minute, time_difference, format, id_extension) { Today = new Date(); Todays_Year = Today.getYear() - 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) / 1000); if(Time_Left < 0) { Time_Left = 0; //2006 Dates if(id_extension == 'OC06') innerHTML = "Pre-Reg is Open!!' + innerHTML + '
' countdown_id = 'countdown' + id_extension; eval('countdown_Object = document.all.' + countdown_id); countdown_Object.innerHTML = innerHTML; } else { switch(format) { case 0: //The simplest way to display the time left. innerHTML = Time_Left + ' seconds'; break; case 1: //Days, Hours, Minutes then Hours, Min Seconds when 0 Days 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 =''; //Add Leading 0 to single digit times if(days < 10) days = '0' + days; if(hours < 10) hours = '0' + hours; if(minutes < 10) minutes = '0' + minutes; if(seconds < 10) seconds = '0' + seconds; //Add Color to the Numbers FC = ''; //Remove Days if there are No Days if(days == 0) { innerHTML = FC + hours + ' hr' + hps + ' '; innerHTML += FC + minutes + ' min' + mps + ' '; innerHTML += FC + seconds + ' sec' + sps; //innerHTML = hours + ' hour' + hps + ' '; //innerHTML += minutes + ' minute' + mps + ' and '; //innerHTML += seconds + ' second' + sps; } else { innerHTML = FC + days + ' day' + dps + ' '; innerHTML += FC + hours + ' hr' + hps + ' '; innerHTML += FC + minutes + ' min' + mps; //Remove Seconds if Days are more than 0 //innerHTML += FC + seconds + ' sec' + sps; //innerHTML = days + ' day' + dps + ' '; //innerHTML += hours + ' hour' + hps + ' '; //innerHTML += minutes + ' minute' + mps + ' and '; //innerHTML += seconds + ' second' + sps; } break; case 2: //Days, Hours, Minutes, Seconds + Larger Font 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 =''; //Add Leading 0 to single digit times if(days < 10) days = '0' + days; if(hours < 10) hours = '0' + hours; if(minutes < 10) minutes = '0' + minutes; if(seconds < 10) seconds = '0' + seconds; //Add Color to the Numbers FC = ''; innerHTML = FC + days + ' day' + dps + ' '; innerHTML += FC + hours + ' hr' + hps + ' '; innerHTML += FC + minutes + ' min' + mps + ' '; innerHTML += FC + seconds + ' sec' + sps; //innerHTML = days + ' day' + dps + ' '; //innerHTML += hours + ' hour' + hps + ' '; //innerHTML += minutes + ' minute' + mps + ' and '; //innerHTML += seconds + ' second' + sps; break; default: innerHTML = Time_Left + ' seconds'; } countdown_id = 'countdown' + id_extension; eval('countdown_Object = document.all.' + countdown_id); countdown_Object.innerHTML = '' + innerHTML + '
'; //Recursive call, keeps the clock ticking. setTimeout('countdown(' + year + ',' + month + ',' + day + ',' + hour + ',' + minute + ',' + time_difference + ', ' + format + ', \'' + id_extension + '\');', 1000); } }