var lastUpdate;
var nextUpdate;

function startUpdate() {
	interval	= (framerate < 1) ? 500 : (1000/framerate);
	nextUpdate	= 0;
	
	setInterval("updateWebcam()",interval);
}

function updateWebcam() {
	current = (new Date()).getTime();

	if (nextUpdate <= current) {
	
		var lmt = document.getElementById("webcam_frame");
		if (lmt != null) lmt.src = webcamUrl+"?timestamp="+current;
	
		lastUpdate = current;
		nextUpdate = current + (1/framerate*1000);	
	}
	
	var lmt = document.getElementById("webcam_text");
	if (lmt != null) lmt.innerHTML = "Volgende update over " + Math.round((nextUpdate-current) / 1000) + " seconden";
}

function loadPeriods() {
	var lmt = document.getElementById("webcam_period");
	if (lmt != null) {
		lmt.options.length = 0;
		for (i = 0; i < review.length; i++) {
			lmt.options.length += 1;
			if (review[i][0] < 60)
				lmt.options[i].text = review[i][0]+" min.";
			else 
				lmt.options[i].text = (review[i][0]/60)+" uur";
				
			lmt.options[i].value = review[i][0];
		}
	}
	loadTimes();
}

function loadTimes() {
	var lmt1 = document.getElementById("webcam_period");
	var lmt2 = document.getElementById("webcam_time");
	if (lmt1 != null && lmt2 != null) {
		idx = lmt1.selectedIndex;
		lmt2.options.length = 0;
		for (i = 0; i < review[idx][1].length; i++) {
			lmt2.options.length += 1;
			frame = review[idx][1][i];
			date = frame.substr(6, 2) + "-" + frame.substr(4, 2) + "-" + frame.substr(0, 4) + " " + frame.substr(8, 2) + ":" + frame.substr(10, 2) + ":" + frame.substr(12, 2);
			lmt2.options[i].text = date;
			lmt2.options[i].value = frame;
		}
	}
	loadFrame();
}

function loadFrame() {
	var lmt1 = document.getElementById("webcam_time");
	var lmt2 = document.getElementById("webcam_frame");
	if (lmt1 != null && lmt2 != null) {
		frame = lmt1.options[lmt1.selectedIndex].value;
		lmt2.src = webcamUrl+prefix+frame+suffix;
	}
}
