HTML_AJAX.defaultServerUrl = '/ajax.php';
var inProgress = false;
var statsInterval;
var lastPoll = false;

function setupStats() {
	statusInterval = window.setInterval(statsUpdate,6000);
	window.setInterval(graphUpdate,60000);
}
function graphUpdate() {
	var day = new Date();
	var id = day.getTime();
	document.getElementById('graph').src = "http://webthumb.bluga.net/graphs/graph-rate.php?"+ id;
}
function statsUpdate() {
	if (inProgress) {
		return;
	}

	inProgress = true;

	HTML_AJAX.call('WebthumbStats','updatesSince',statsCallback,lastPoll);
}
function statsCallback(result) {
	inProgress = false;
	if (result.time) {
		// do something with updates here
		lastPoll = result.time;

		$('queue').innerHTML = number_format(result.queue, 0, '.', ',');
		//$('lifetime').innerHTML = number_format(result.lifetime, 0, '.', ',');
		$('today').innerHTML = number_format(result.apitoday, 0, '.', ',');
		//$('apitoday').innerHTML = result.apitoday;

		var fadeIn = new fx.Opacity($('StatusBoxes'));
		fadeIn.custom(.1,1);

		var images = $('recent').getElementsByTagName('li');
		
		for(var i = 0; i < result.thumbs.length; i++) {
			var newImg = images[0].cloneNode(true);
			newImg.getElementsByTagName('img')[0].src = result.thumbs[i].img;
			newImg.getElementsByTagName('a')[0].href = 'pickup.php?id='+result.thumbs[i].id;
			newImg.getElementsByTagName('a')[1].href = result.thumbs[i].url;
			newImg.getElementsByTagName('a')[1].innerHTML = HTML_AJAX_Util.baseURL(result.thumbs[i].url.substring(7));

			$('recent').removeChild(images[3]);
			$('recent').insertBefore(newImg,images[0]);

/*8
			var shrink = new fx.Height(images[3],{duration:1000,onComplete:function()
				{ 
					$('recent').removeChild(images[3]); 
					$('recent').insertBefore(newImg,images[0]);
				}
			});
			shrink.custom(160,0);
*/
		}
	}
	else {
		lastPoll = result;
	}
}

// http://phpjs.org/functions/number_format:481
function number_format(number, decimals, dec_point, thousands_sep) {
    var n = !isFinite(+number) ? 0 : +number, 
        prec = !isFinite(+decimals) ? 0 : Math.abs(decimals),
        sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep,
        dec = (typeof dec_point === 'undefined') ? '.' : dec_point,
        s = '',
        toFixedFix = function (n, prec) {
            var k = Math.pow(10, prec);
            return '' + Math.round(n * k) / k;
        };
    // Fix for IE parseFloat(0.55).toFixed(0) = 0;
    s = (prec ? toFixedFix(n, prec) : '' + Math.round(n)).split('.');
    if (s[0].length > 3) {
        s[0] = s[0].replace(/\B(?=(?:\d{3})+(?!\d))/g, sep);
    }
    if ((s[1] || '').length < prec) {
        s[1] = s[1] || '';
        s[1] += new Array(prec - s[1].length + 1).join('0');
    }
    return s.join(dec);
}

