// JavaScript Document<script language="JavaScript">


//First, try to fetch the current time

var current_time = new Date();
var REFRESH_TIME = 300000; 
var clock_timeout_id = null;

function fetch_clock() {
	if(!$('server_clock')) return;
	
	window.clearTimeout(clock_timeout_id);
	$('server_clock').update('Syncing to server time...');
	new Ajax.Request('CURRENT_TIME.php',
					 {
						 method: 'get',
						 onSuccess: function(transport) {
							 current_time.setTime(transport.responseText);
							 setTimeout("fetch_clock()", REFRESH_TIME);
							 update_clock();
						 },
						 onFailure: function(transport) {
							 $('server_clock').update('Problem contacting server');
						 }
					 });
}

function update_clock() {
	clock_timeout_id = setTimeout("update_clock();",1000);
var day = new Array('Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday');
	var month = new Array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'); 
	var TimeNow = "";
	current_time.setTime(current_time.getTime()+1000);	
	var mthN = String(current_time.getMonth());
	var mth = month[mthN];
	var mthday = String(current_time.getDate());
	var yrN = String(current_time.getFullYear());
	var dayN = String(current_time.getDay());
	var dd = day[dayN];
	var hhN  = current_time.getHours();
    if(hhN > 12){
	   var hh = String(hhN - 12);
	   var AP = "PM";
	}else if(hhN == 12){
	   var hh = "12";
	   var AP = "PM"; 
	}else if(hhN == 0){
	   var hh = "12";
	   var AP = "AM";     
	}else{
	   var hh = String(hhN);
	   var AP = "AM";
	}
    var mm  = String(current_time.getMinutes());
    var ss  = String(current_time.getSeconds());
	TimeNow = dd + " "+((hh < 10) ? " " : "") + hh + ((mm < 10) ? ":0" : ":") + mm + ((ss < 10) ? ":0" : ":") + ss + AP + "  " + mth + " " + mthday + ", " + yrN;
	$('server_clock').update(TimeNow);
}
