var countdown = {
	currentTime: null,
	targetTime: new Date("March 16, 2010 06:00:00"),
	container: null,
	daysDisplay: null,
	hoursDisplay: null,
	minutesDisplay: null,
	secondsDisplay: null,
	days: null,
	hours: null,
	minutes: null,
	seconds: null,
	
	updateDisplay: function(){
		$(countdown.daysDisplay).text(LZ(countdown.days));
		$(countdown.hoursDisplay).text(LZ(countdown.hours));
		$(countdown.minutesDisplay).text(LZ(countdown.minutes));
		$(countdown.secondsDisplay).text(LZ(countdown.seconds));
		countdown.seconds--;
		if(countdown.seconds < 0){
			countdown.seconds = 59;
			countdown.minutes--;
		}
		if(countdown.minutes < 0){
			countdown.minutes = 59;
			countdown.hours--;
		}
		if(countdown.hours < 0){
			countdown.hours = 23;
			countdown.days--;
		}
		if(countdown.days < 0){
			countdown.seconds = 0;
			countdown.minutes = 0;
			countdown.hours = 0;
			countdown.days = 0;
		}
		setTimeout("countdown.updateDisplay()", 1000);
	},
	
	init: function(){
		var
			initDifference = countdown.targetTime.getTime() - countdown.currentTime.getTime();
			oneDay = 1000*60*60*24,
			oneHour = 1000*60*60,
			oneMinute = 1000*60,
			oneSecond = 1000,
			initDays = 0;
			initHours = 0;
			initMinutes = 0,
			initseconds = 0;
		
		countdown.container = $("#countdown");
		countdown.daysDisplay = $(countdown.container).find(".days span");
		countdown.hoursDisplay = $(countdown.container).find(".hours span");
		countdown.minutesDisplay = $(countdown.container).find(".minutes span");
		countdown.secondsDisplay = $(countdown.container).find(".seconds span");
		
		initDays = Math.floor(initDifference / oneDay);
		initDifference = initDifference - (initDays * oneDay);
		initHours = Math.floor(initDifference / oneHour);
		initDifference = initDifference - (initHours * oneHour);
		initMinutes = Math.floor(initDifference / oneMinute);
		initDifference = initDifference - (initMinutes * oneMinute);
		initSeconds = Math.floor(initDifference / oneSecond);
		
		countdown.days = initDays;
		countdown.hours = initHours;
		countdown.minutes = initMinutes;
		countdown.seconds = initSeconds;
		
		countdown.updateDisplay();
	}
};

function LZ(n) {
    return (n != null && n < 10 && n >= 0 ? "0" : "") + n;
}

function LZZ(n) {
    return n != null && n < 100 && n >= 0 ? "0" + LZ(n) : "" + n;
}