var javascript_countdown = function () {
	var time_left = 10; //number of seconds for countdown
	var output_element_id = 'countdown';
	var keep_counting = 1;
	var no_time_left_message = 'Today!';
 
	function countdown() {
		if(time_left < 2) {
			keep_counting = 0;
		}
 
		time_left = time_left - 1;
	}
 
	function add_leading_zero(n) {
		if(n.toString().length < 2) {
			return '0' + n;
		} else {
			return n;
		}
	}
 
	function format_output() {
		var hours, minutes, seconds;
		seconds = time_left % 60;
		minutes = Math.floor(time_left / 60) % 60;
		hours = Math.floor(time_left / 3600) % 24;
		days = Math.floor(time_left / 86400);
 
		seconds = add_leading_zero( seconds );
		minutes = add_leading_zero( minutes );
		hours = add_leading_zero( hours );
 		return '<table class="counter" cellpadding="0" cellspacing="0" border="0">' +
					'<tr><td>' +days + '</td><td>' + hours + '</td><td>' + minutes + '</td><td>' + seconds + '</td></tr>' +
					'<tr id="countdown-tags"><td>DAY</td><td>HOUR</td><td>MIN</td><td>SEC</td></tr>' +
					'</table>';
	}
 
	function show_time_left() {
		var element = document.getElementById(output_element_id);
		element.style.display = "block";
		element.innerHTML = format_output();
	}
 
	function no_time_left() {
		var element = document.getElementById(output_element_id);
		element.innerHTML = no_time_left_message
	}

	return {
		count: function () {
			countdown();
			show_time_left();
		},
		timer: function () {
			javascript_countdown.count();
 
			if(keep_counting) {
				setTimeout("javascript_countdown.timer();", 1000);
			} else {
				no_time_left();
			}
		},
		init: function (t, element_id) {
			time_left = t;
			output_element_id = element_id;
			javascript_countdown.timer();
		}
	};
}();
