var delay = new Array();
var url = new Array();
var img = new Array();
var count = new Array();
var stat_time = new Array();
var watchDog = new Array();
infoElement = new Array();

function initRefresh(ref, new_delay, infoEl)
{
    delay[ref.id] = new_delay;
    url[ref.id] = ref.src;
    img[ref.id] = new Image();
    count[ref.id] = 0;
    stat_time[ref.id] = 0;
    infoElement[ref.id] = infoEl;
	document.getElementById(ref.id).onload = function() { preload(ref.id); }
	//zavolat nacteni obrazku
    preload(ref.id);
}

function reset(id)
{
    var d = new Date();
	// v pripade zakousnuti znova nacte obrazek
	preload(id);
}
function setWatchDog(id)
{
    clearInterval(watchDog[id]);
	watchDog[id] = setInterval("reset('"+id+"')", 8000+delay[id]*2);
}

function repaint(id)
{
	setWatchDog(id);
	if (infoElement[id])
	{
		var date = new Date();
	    if (stat_time[id])
	    {
		    var prodleva = date.getTime() - stat_time[id].getTime();
		    if (prodleva > 0)
   				document.getElementById(infoElement[id]).innerHTML = (1000 / prodleva).toFixed(1) + ' fps, snímek č. ' + count[id];
		}
		stat_time[id] = date;
	}
    if (img[id].src)
    {
		document.getElementById(id).src = img[id].src;
	}
}
function setRepaint(id)
{
	setWatchDog(id);
	if (delay[id] >= 50)
		setTimeout("repaint('"+id+"')",delay[id]);
	else
		repaint(id);
}
function preload(id)
{
	setWatchDog(id);
	if (url[id].indexOf("?") == -1)
		img[id].src = url[id] + "?count=" + count[id]++;
	else
		img[id].src = url[id] + "&count=" + count[id]++;
		
	img[id].onLoad = setRepaint(id);
}

