var wd = null;
var year = null;
var month = null;
var day = null;
var hours = null;
var minutes = null;
var seconds = null;
var month_days = new Array();
var week_days = new Array();
week_days[week_days.length] = 'Monday';
week_days[week_days.length] = 'Tuesday';
week_days[week_days.length] = 'Wednesday';
week_days[week_days.length] = 'Thursday';
week_days[week_days.length] = 'Friday';
week_days[week_days.length] = 'Saturday';
week_days[week_days.length] = 'Sunday';

function showClock(y, m, d, h, i, s, week_day)
{
	if (year == null){
		
		month_days[month_days.length] = {month : 'January', days : '31'};
		month_days[month_days.length] = y%4 == 0 ? {month : 'February', days : '29'} : {month : 'Feb', days : '28'};
		month_days[month_days.length] = {month : 'March', days : '31'};
		month_days[month_days.length] = {month : 'April', days : '30'};
		month_days[month_days.length] = {month : 'May', days : '31'};
		month_days[month_days.length] = {month : 'June', days : '30'};
		month_days[month_days.length] = {month : 'July', days : '31'};
		month_days[month_days.length] = {month : 'August', days : '31'};
		month_days[month_days.length] = {month : 'September', days : '30'};
		month_days[month_days.length] = {month : 'October', days : '31'};
		month_days[month_days.length] = {month : 'November', days : '30'};
		month_days[month_days.length] = {month : 'December', days : '31'};	
		
		for (var j = 0; j < week_days.length; j++){
			if (week_days[j] == week_day){
				wd = j;
				break;
			}
		}
		
		year = y;
		month = m;
		day = d;
		hours = h;
		minutes = i;
		seconds = s;
	}
	 

	var clockobj = id("digital_clock");
	
	if (seconds > 59){
		minutes++;
		seconds = 0;
	}
	
	if (minutes > 59){
		hours++;
		minutes = 0;
	}
	
	if (hours > 23){
		day++;
		wd++;
		hours = 0;
		ampm = "AM"
	}
	
	if (wd > 6){
		wd = 0;
	}
	
	var this_month_days = month_days[month - 1]['days'];
	if (day > this_month_days){
		month++;
		day = 1;
	}
	
	if (month > 12){
		year++;
		month = 1;
	}
	
	if (minutes > 59){
		hours++;
		minutes = 0;
	}
	
	var display_hours = hours;
	var display_minutes = minutes;
	var display_seconds = seconds;
	var ampm = "AM";
	var suffix = "th";
	
	if (hours == 12)  {
		ampm = "PM";
	} else if (hours > 12){
		ampm = "PM";
		display_hours = hours - 12;
	} else if (hours == 0) {
		ampm = "AM";
		display_hours = 12;
	}		
	
	if (minutes <= 9) {
		display_minutes = "0" + minutes;
	}
	
	if (seconds <= 9) {
		display_seconds = "0" + seconds;
	}
	
	clockobj.innerHTML = week_days[wd] + "&nbsp;" + day  + "&nbsp;" + month_days[month - 1]['month'] + " " +  year + "&nbsp;&nbsp;" + display_hours + ":" + display_minutes + ":"  + display_seconds + " " + ampm;
	
	seconds++;
	setTimeout("showClock(year, month, day, hours, minutes, seconds)", 1000)
}
