jQuery.timer=function(interval,callback){var interval=interval||100;if(!callback)return false;_timer=function(interval,callback){this.stop=function(){clearInterval(self.id)};this.internalCallback=function(){callback(self)};this.reset=function(val){if(self.id)clearInterval(self.id);var val=val||100;this.id=setInterval(this.internalCallback,val)};this.interval=interval;this.id=setInterval(this.internalCallback,this.interval);var self=this};return new _timer(interval,callback)};

$(function() {
	$('#aftellerdata').each(function() {
		var aftellerdata = $(this).html().split(' ');
		var seconden_te_gaan = parseInt(aftellerdata[0]);
		var stoptijd = parseInt(aftellerdata[1]);
		if(seconden_te_gaan <= -stoptijd)
			ShowNextYear();
		else {
			var atd10 = $('#atd10');
			var atd1 = $('#atd1');
			var atu10 = $('#atu10');
			var atu1 = $('#atu1');
			var atm10 = $('#atm10');
			var atm1 = $('#atm1');
			var ats10 = $('#ats10');
			var ats1 = $('#ats1');
			if (seconden_te_gaan <= 0) {
				DelayShowNextYear(seconden_te_gaan + stoptijd);
				SetNumber(atd10, 0); SetNumber(atd1, 0);
				SetNumber(atu10, 0); SetNumber(atu1, 0);
				SetNumber(atm10, 0); SetNumber(atm1, 0);
				SetNumber(ats10, 0); SetNumber(ats1, 0);
			}
			else {
				$.timer(1000, function(timer) {
					seconden_te_gaan--;
					var dagen = 0; var uren = 0; var minuten = 0; var seconden = 0;
					if (seconden_te_gaan > 0) {
						var temp = seconden_te_gaan;
						dagen = Math.floor(temp / 86400); temp %= 86400;
						uren = Math.floor(temp / 3600); temp %= 3600;
						minuten = Math.floor(temp / 60); temp %= 60;
						seconden = Math.floor(temp % 60);
					}
					else {
						timer.stop();
						DelayShowNextYear(stoptijd);
					}
					SetNumber(atd10, Math.floor(dagen / 10)); SetNumber(atd1, dagen % 10);
					SetNumber(atu10, Math.floor(uren / 10)); SetNumber(atu1, uren % 10);
					SetNumber(atm10, Math.floor(minuten / 10)); SetNumber(atm1, minuten % 10);
					SetNumber(ats10, Math.floor(seconden / 10)); SetNumber(ats1, seconden % 10);
				});
			}
		}
	});
	
	function SetNumber(elem, number) {
		var className = 'aft_' + number;
		if(!elem.hasClass(className))
			elem.removeClass().addClass(className);
	}
	
	function DelayShowNextYear(delay) {
		$.timer(1000 * delay, function(timer) {
			timer.stop();
			ShowNextYear();
		});
	}
	
	function ShowNextYear() {
		$('#afteller').html('<div id="atny">See you next year!</div>');
	}
});