var version = '1.1';
		
function countdown(elementString, dateString, mode, name) {

if (mode == null) mode = 0;
if (name == null) name = '0';
	var clock = document.getElementById(elementString);
	var eventdate = new Date(dateString);
	now = new Date();
	nowtime = now.getTime();
	eventtime = eventdate.getTime();
		
		var eventhour = eventdate.getHours();
		var eventminute = eventdate.getMinutes();
		var eventsecond = eventdate.getSeconds();
		var eventmonth = eventdate.getMonth()+1;
		var eventday = eventdate.getDate();
		var eventyear = eventdate.getFullYear();

	timeleft = Math.round((eventtime-nowtime) / 1000);
	
	var passed = 0;
	if (timeleft < 0) {
		timeleft = Math.abs(timeleft);
		passed = 1;
	}
	
	if (timeleft != 0) {
		years = Math.floor(timeleft/31556926);
		months = Math.floor((timeleft%31556926)/2629744);
		days = Math.floor(((timeleft%31556926)%2629744)/86400);
		hours = Math.floor((((timeleft%31556926)%2629744)%86400)/3600);
		minutes = Math.floor(((((timeleft%31556926)%2629744)%86400)%3600)/60);
		seconds = Math.floor(((((timeleft%31556926)%2629744)%86400)%3600)%60);
	}
	
	var togo = '';
	
	if (mode == 0) {
		togo += 'Time ';
		if (passed != 1) {
			togo += 'until <br />';
		} else {
			togo += 'since <br />';
		}
	}
	
	if ((mode != 2) && (mode != 3)) {
		togo += '<strong>';
		if (name != '0') togo += name + '';
		if ((eventhour + eventminute + eventsecond) != 0) {
			togo += eventhour + ':' + eventminute;
			if (eventsecond != 0) togo += ':' + eventsecond;
			togo += ' on ';
		}
//		togo += eventmonth + '/' + eventday;
		if (eventyear != now.getFullYear()) togo += '/' + eventyear;
		togo += '</strong>:<br />';
	}
	
	if (timeleft != 0) {
		if (years > 0) {
			togo += years + ' year';
			if (years > 1) togo += 's';
			if (months > 0) togo += ',';
			if ((minutes!=0)||(seconds!=0)||(hours!=0)||(days!=0)||(months!=0)) togo += ' ';
		}
		
		if (months > 0) {
			togo += months + ' month';
			if (months > 1) togo += 's';
			if (days > 0) togo += ',';
			if ((minutes!=0)||(seconds!=0)||(hours!=0)||(days!=0)) togo += ' ';
		}
		
		if (days > 0) {
			togo += days + ' day';
			if (days > 1) togo += 's';
			if (hours > 0) togo += ',';
			if ((minutes!=0)||(seconds!=0)||(hours!=0)) togo += ' ';
		}
		
		if (hours > 0) {
			togo += hours + ' hr';
			if (hours > 1) togo += 's';
			if (minutes > 0) togo += ',';
			if ((minutes!=0)||(seconds!=0)) togo += ' ';
		}
		
		if (minutes > 0) {
			togo += minutes + ' min';
			if (minutes > 1) togo += 's';
			if (seconds > 0) togo += ',';
			if (seconds != 0) togo += ' ';
		}
		
		if (seconds > 0) {
			togo += seconds + ' sec';
			if (seconds > 1) togo += 's';
		}
		
		var expld = togo.split(', ');
		
		var exlast = expld.length-1;
		var todo = '';
		var i;
		
		for (i=0 ; i<expld.length ; i++) {
			value = expld[i];
			todo += value;
			if ((i != exlast) && (expld.length!=2)) todo += ', ';
			if ((expld.length == 2) && (i != exlast)) todo += ' ';
			if (i == (exlast-1)) todo += 'and ';
			if ((i == exlast) && (passed == 1)) todo += ' ago';
			if ((i == exlast) && (mode != 3)) todo += '.';
		}
	} else {
		var todo = togo + ' Now!';
	}
	
	clock.innerHTML = todo;
	
	setTimeout('countdown(\'' + elementString + '\', \'' + dateString + '\', ' + mode + ', "' + name + '");', 1000); 
}
