function Countdown(id, targetDateStr)
{
	this.id = id;
	this.targetDate = new Date(targetDateStr);
	this.padValue = function(val)
	{
		var s = val.toString();
		if (s.length == 1)
			s = "0"+s;
		return s;
	}
	this.updateCounter = function()
	{		
		var nowDate = new Date();
		var diff = this.targetDate.getTime() - nowDate.getTime();
		if (diff < 0)
			diff = 0;

		// Calculate the values
		var millisecs = diff % 1000;
		diff = Math.floor(diff / 1000);
		
		var seconds = diff % 60;
		diff = Math.floor(diff / 60);
		
		var minutes = diff % 60;
		diff = Math.floor(diff / 60);
		
		var hours = diff % 24;
		diff = Math.floor(diff / 24);
		
		var days = diff;
		
		// Place in HTML
		val = document.getElementById(this.id + '-seconds-value');
		if (val)
			val.innerHTML = this.padValue(seconds);
		val = document.getElementById(this.id + '-minutes-value');
		if (val)
			val.innerHTML = this.padValue(minutes);
		val = document.getElementById(this.id + '-hours-value');
		if (val)
			val.innerHTML = this.padValue(hours);
		val = document.getElementById(this.id + '-days-value');
		if (val)
			val.innerHTML = days;
			
		// Set the timer
		window.setTimeout(this.timeoutFunc, 1000);
	}
	
	var thisObj = this;
	this.timeoutFunc = function() { thisObj.updateCounter(); }

	this.updateCounter();	
}

