var $year,$month,$day,$hour,$minute,$second,$micro;
var $threshold = 9847;
var $first = true;
var $secondpass = false;
var $toRemove = $threshold - 9999 + 1;
var $checkpoint = 0;
function addLeadingZero($obj) 
{ 
	$obj = $obj + "";
	if ($obj.length == 1) { $obj = "0" + $obj; }
	return $obj; 
}

function addLeadingZeroForMicro($obj) 
{ 
	$obj = $obj + "";
	
	o = eval($obj);
	
	if (o >= 1000)
	{p = 0;}
	else if (o >= 100)
	{p = 1;}
	else if (o >= 10)
	{p = 2;}
	else p = 3;
	
	
	for (var i = 0; i < p;i++)
	{ 
		$obj = "0" + $obj; 
	}
	return $obj; 
}

function getSpan($number)
{
	$text = "";
	for (var i = 0;i<$number.length;i++)
	{
		//$text = $text + "<span class=\"d" + $number[i] + "\"></span>";
		$text = $text + "<span class=\"big\">" + $number.substr(i,1) + "</span>";
	}
	return $text;
}

var syncTime = function syncTimeFromServer()
{
	$d = new Date();
	$.getJSON("backend.php?time=" + $d.getTime(),null,function(data){
		$year = data.YE;
		$month = data.MO;
		$day = data.DA;
		$hour = data.HO;
		$minute = data.MI;
		$second = data.SE;
	});
}

var handleIt = function handle()
{
	if ($year == undefined)
	{
		return;
	}
	
	$year = addLeadingZero($year);
	$month = addLeadingZero($month);
	$day = addLeadingZero($day);
	$hour = addLeadingZero($hour);
	$minute = addLeadingZero($minute);
	$second = addLeadingZero($second);
	
	$("#year").html(getSpan($year));
	$("#month").html(getSpan($month));
	$("#day").html(getSpan($day));
	$("#hour").html(getSpan($hour));
	$("#minute").html(getSpan($minute));
	$("#second").html(getSpan($second));
}

var handleMicro = function handlemicro()
{
	$current = $("label#" + $toRemove);


	$("<label class='blank' id='"+ $micro +"'> </label>").prependTo("div#mess");
	$("<label class=\"num\" id=\""+ $micro +"\">" + addLeadingZeroForMicro($micro) + "</label>").prependTo("div#mess");

	$current.remove();
	$("span#" + $toRemove).remove;
	if ($current.attr("id") == undefined && $checkpoint == 0)
	{
		$checkpoint = $toRemove;
	}
	
	
	$micro = $micro + 1;
	$toRemove = $toRemove + 1;
	
	
	if ($first && ($micro == 10000 - $threshold))
	{
		$micro = 1;
		$first = false;
		$secondpass = true;
	}
	else if ($secondpass && ($toRemove == 10000 - $threshold))
	{
		$toRemove = 1;
		$secondpass = false;
	}
	else if (!$first && $micro == 10000)
	{
		$micro = 1;
		$toRemove = $threshold;
	}
	else if (!$first && $toRemove == 10000)
	{
		$toRemove = 1;
	}
	
}

function initNumbers()
{
	$micro = 1;
}

$(document).ready(function(){
	syncTime();
	handleIt();
	initNumbers();
	setInterval(syncTime,1000);
	setInterval(handleIt,500);
	setInterval(function(){setInterval(handleMicro,10);}, 1000);
	setInterval(function(){window.location = "index.php"},40000);
	//$("a#handle").click(handleMicro);
});