
// some variables to save
var currentFile = 0;
var currentPosition = 0;
var currentBuffer = 0;
var currentVolume = 80;
var currentState = 'IDLE';
var currentLoad = 0;
var duration = 0;
var player;
var ffSeconds = 0;
var agendaPunten = [];

// This creates the player after the page has finished loading (onload).

function addListeners() {
	if(player.view) {
		//player.addListener('VOLUME',volumeUpdate);
		//player.addListener('LOAD',loadUpdate);
		player.addListener('STATE',stateUpdate);
		player.addListener('TIME',timeUpdate);
		player.addListener('BUFFER',bufferUpdate);
	} else {
		setTimeout("addListeners()",100);
	}
}
// These are the event listeners
function stateUpdate(ost,nst) {
	currentState = nst;
	//console.debug(currentState);
	if (currentState == "Completed") {
			if (currentFile < (fileArray.length - 1)) {
				currentFile++;
				//document.getElementById("log").innerHTML += "Nieuwe file: "+currentFile +"<br>";
				//setTimeout("seekTime(0, currentFile)", 3000);
				seekTime(1, currentFile);
			}
		
	}
};
function bufferUpdate(pct) {
	currentBuffer = pct;
};
function volumeUpdate(vol) {
	currentVolume = vol;
};
function loadUpdate(ldd) {
	currentLoad = ldd;
};
function timeUpdate(pos,dur) {
	currentPosition = pos;
	duration = dur;
};
function printConfig() {
	var cfg = player.getConfig();
	var txt = '';
	for(var itm in cfg) {
		txt += '<li>'+itm+': '+cfg[itm]+'</li>';
	}
}
function seekTime(pos, file, title) {
	ffSeconds = pos;
	if (isInt(file)) {
		currentFile = file;
		file = fileArray[file];
	} else {
		file = file;
	}
	if (player.getConfig().file != file) {
		player.sendEvent('load',file);
		setTimeout("checkFileLoaded()", 500);
	}
	else {
		checkFileLoaded();
	}
	_gaq.push(['_trackEvent', 'archive', 'seek', title]);

}

function checkFileLoaded() {
	if (currentState == "Opening") {	
		setTimeout("checkFileLoaded()", 1000);
	}
	else {
		if (currentState == "Playing") {
			player.sendEvent('scrub',ffSeconds);
		}
		else if (currentState == "Closed" || currentState == "IDLE" || currentState == "Paused") {
			player.sendEvent('play');
			setTimeout("checkFileLoaded()", 500);
		}
		else
		{
			setTimeout("checkFileLoaded()", 500);
		}
	}
}
function isInt(x) {
	var y=parseInt(x);
	if (isNaN(y)) return false;
	return x==y && x.toString()==y.toString();
}
	 
function highlightCurrent() {
	//console.debug, console.info, console.warn, and console.error.
	var gevonden = false;
	var currentPoint;
		 
		 
	if ($(agendaPunten).size() == 0) {
		getAgendaArray();
	}

	$.each(agendaPunten,
		function (intIndex, objValue) {
			var file = $(objValue).attr("id").split("|")[0];
			var offset = $(objValue).attr("id").split("|")[1];
			var end = $(objValue).attr("id").split("|")[2];
			$(objValue).removeClass("current");		
			if (currentFile == file && currentPosition > offset && currentPosition < end && gevonden == false) {
				currentPoint = agendaPunten[intIndex];
				gevonden = true;
			}
		})
	if (currentState == "Playing" || currentState == "Paused" || currentState == "Buffering") {
		$(currentPoint).addClass("current");
	}
	currentPoint = null;
}
	 
function getAgendaArray() {
	var i = 0;
	$("#agenda tr").each(function() {
		if ($(this).attr("class") == "agendaItem" && ($(this).attr("id") != "0|0" || i == 0)) {
			agendaPunten.push($(this));
		}
		i++;
	});
}
