addEvent(window, 'load', init);

function init() {
	if ($('focus'))
		$('focus').focus();

	updateDate(60 - new Date().getSeconds());
}

function updateDate(interval) {
	var days = ['sunday', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday'];

	// a little bit of maneuvering to convert the client time to est
	var localNow = new Date();
	var localTime = localNow.getTime();
	var localOffset =  localNow.getTimezoneOffset() * 60000; // convert minutes to milliseconds
	var utcTime = localTime + localOffset;
	var estOffset = -5;
	var estNow = new Date(utcTime + (3600000 * estOffset)); // convert hours to milliseconds

	var day = estNow.getDay();
	var date = estNow.getDate();
	var month = estNow.getMonth();
	var year = estNow.getYear();
	var hours = estNow.getHours();
	var minutes = estNow.getMinutes();

	var day_f = days[day] + ' ';
	var month_f = month + 1 + '/';
	var date_f = date + '/';
	var year_f = year.toString().match(/[0-9][0-9]$/) + ', ';

	// convert from 24 hour time to 12 hour
	if (hours > 12)
		var hours_f = estNow.getHours() - 12;
	else if (hours == 0)
		var hours_f = 12;
	else
		var hours_f = hours;

	// add leading zeros if necessary; if minutes are 0, don't display them
	if (minutes < 10)
		var minutes_f = ':0' + minutes;
	else
		var minutes_f = ':' + minutes;

	var meridian = estNow.getHours() > 11 ? ' pm' : ' am';

	// show time
	$('date').getElementsByTagName('div')[0].innerHTML = day_f + month_f + date_f + year_f + hours_f + minutes_f + meridian + ' est';

	// update the time in one minute; use a closure to save the 'interval' variable
	var closure = function() {
		var interval = interval;
		setTimeout(function() { updateDate(60000); }, interval * 1000);
	}();
}

/*
	This addEvent function was design by Dean Edwards, 2005
	with input from Tino Zijdel, Matthias Miller, Diego Perini

	It has been packed to save space. Find the full version here:
	http://dean.edwards.name/weblog/2005/10/add-event/
*/
function addEvent(a,b,c){if(a.addEventListener){a.addEventListener(b,c,false)}else{if(!c.$guid)c.$guid=addEvent.guid++;if(!a.events)a.events={};var d=a.events[b];if(!d){d=a.events[b]={};if(a["on"+b]){d[0]=a["on"+b]}}d[c.$guid]=c;a["on"+b]=handleEvent}};addEvent.guid=1;function removeEvent(a,b,c){if(a.removeEventListener){a.removeEventListener(b,c,false)}else{if(a.events&&a.events[b]){delete a.events[b][c.$guid]}}};function handleEvent(a){var b=true;a=a||fixEvent(((this.ownerDocument||this.document||this).parentWindow||window).event);var c=this.events[a.type];for(var i in c){this.$handleEvent=c[i];if(this.$handleEvent(a)===false){b=false}}return b};function fixEvent(a){a.preventDefault=fixEvent.preventDefault;a.stopPropagation=fixEvent.stopPropagation;return a};fixEvent.preventDefault=function(){this.returnValue=false};fixEvent.stopPropagation=function(){this.cancelBubble=true};

// this functions returns the id of a passed element in the form name_000
function grabId(element) {
	return parseInt(element.id.split('_')[1]);
}
