var activecounters = new Array();

(function ($) {
	$(document).ready(function(){
		$(".countmedown").each(function(){	
			activecounters.push(new Counter($(this))); // create new counter objects and add to activecounters
		});
		countDown();	
	});
	
})(jQuery);

function countDown(){
	for(var i = 0; i < activecounters.length; i++){
		activecounters[i].countdown();	
	}
	setTimeout('countDown()',1000);
}

/** counter class **/
function Counter(c){

	var days = c.find(".days").text();
	var hours = c.find(".hours").text();
	var minutes = c.find(".minutes").text();
	var seconds = c.find(".seconds").text();
	
	c.find(".days").html(getNumberHtml(days));
	c.find(".hours").html(getNumberHtml(hours));
	c.find(".minutes").html(getNumberHtml(minutes));
	c.find(".seconds").html(getNumberHtml(seconds));
	
	this.countdown = function countdown(){
		seconds--;
		if(seconds < 0){
			seconds = 59;
			minutes--;
			
			if(minutes < 0){
				minutes = 59;
				hours--;
				
				if(hours < 0){
					days--;
					hours = 23;
					c.find(".days").html(getNumberHtml(days)); //TODO: animate changes?
				}
				c.find(".hours").html(getNumberHtml(hours));
			}
			c.find(".minutes").html(getNumberHtml(minutes));
		}
		c.find(".seconds").html(getNumberHtml(seconds));
		
		if(days <= 0 && hours <= 0 && minutes <= 0 && seconds <= 0){
			if(c.closest(".launchboxcounter").size() > 0){
				var lbc = c.closest(".launchboxcounter");
				c.addClass("justlaunched");
				c.html("<a href='"+lbc.find(".title a").attr("href")+"'>view the launch page</a>");
				c.siblings(".launchesin").html("Just Launched!");
			
			}else{
				var lbc = c.closest(".launchboxcounter");
				c.addClass("justlaunched");
				c.html("<span class='digit'>Just Launched!</span><a class='unit' href='"+window.location+"'>refresh this page</a>");
			}
			//TODO:remove this counter from activecounters array
		}
	}
	
	function getNumberHtml(number){		
		num = String(number);
		var digits = num.split("");
		var returnstring = "";
		for(var i = 0; i < digits.length; i++){
			returnstring += "<span class='digit d"+digits[i]+"'>"+digits[i]+"</span>";
		}
		return returnstring;
	}
}


