var Referrer = "";
var RefreshTijd = 1;
var LastID = 0;
var Visitors = 1;
var NewAlert = 0;
var MenuPanel = 1;
var arrP2000 = new Array();
var numP2000 = 0;
var arrSounds = new Array();
var ServerMessage = "";
var MenuVisible = 0;
var ReadQuery = "";
var PlaySound = "";

function RefreshTimer() {
	if (RefreshTijd == 1) {
		RefreshTijd = -1;
		xmlhttpPost();
	} else {
		RefreshTijd = RefreshTijd - 1;
		if (RefreshTijd >= 0) { document.getElementById("status").innerHTML = "Status: &nbsp; " + RefreshTijd + " sec."; }
	}
	setTimeout('RefreshTimer()',1000);
}

function xmlhttpPost() {
	document.getElementById("status").innerHTML = "Status: &nbsp; Laden...";
	var strURL = '/ReadMonitor2.php';
	var xmlHttpReq = false;
	var self = this;
	
	//Google Analytics
	//_gaq.push(['_trackPageview','/ReadMonitor2.php']);
	_gaq.push(['_trackPageview']);
	
	// Mozilla/Safari
	if (window.XMLHttpRequest) {
		self.xmlHttpReq = new XMLHttpRequest();
	}
	// IE
	else if (window.ActiveXObject) {
		self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
	}
	self.xmlHttpReq.onreadystatechange = function() {
		if (self.xmlHttpReq.readyState == 4) {
			if (self.xmlHttpReq.status == 200) {
				UpdateArray(self.xmlHttpReq.responseText);
				UpdateMonitor();
				document.getElementById("status").innerHTML = "Status:";
			} else {
				_gaq.push(['_trackEvent', 'ReadMonitor', 'Error','Verkeerde xmlHttpReq status ('+self.xmlHttpReq.status+')']);
				RefreshTijd = 10;
			}
		}
	}
	if (self.xmlHttpReq.readyState <= 0) {
		self.xmlHttpReq.open('GET', strURL + '?'+ReadQuery+'LastID='+LastID, true);
		self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		self.xmlHttpReq.send(null);
	} else {
		RefreshTijd = 10;
	}
}

function UpdateArray(strTekst) {
	if (strTekst.length > 0) {
		var NewMessages = new Array;
		NewMessages = strTekst.split('<SPLIT>');
		if (NewMessages.length == 4) {
			if (LastID < NewMessages[3] && LastID > 0) {
				_gaq.push(['_trackEvent', 'ReadMonitor', 'Ready','Nieuwe meldingen',(NewMessages[3]-LastID)]);
				NewAlert = 1;
			} else {
				NewAlert = 0;
			}
			LastID = NewMessages[3];
			Visitors = NewMessages[2];
			ServerMessage = NewMessages[1];
			NewMessages.splice(NewMessages.length-3,3);
			if (numP2000 == 0) {
				arrP2000 = NewMessages;
			} else {
				NewMessages = NewMessages.concat(arrP2000);
				arrP2000 = NewMessages;
			}
			numP2000 = arrP2000.length;
			document.getElementById("visitors").innerHTML = Visitors;
			if (ServerMessage.length > 0) {
				document.getElementById("infobar").innerHTML = ServerMessage;
				document.getElementById("infobar").style.visibility = "visible";
				document.getElementById("warning").style.visibility = "hidden";
			} else {
				document.getElementById("infobar").style.visibility = "hidden";
				document.getElementById("warning").style.visibility = "hidden";
			}
		} else {
			_gaq.push(['_trackEvent', 'ReadMonitor', 'Error','Gegevens zijn misvormd']);
			document.getElementById("warning-text").innerHTML = " &nbsp; De gegevens zijn misvormd. Als deze fout blijft staan probeer dan de pagina te verversen. " + strTekst;
			document.getElementById("warning").style.visibility = "visible";
		}
	} else {
		_gaq.push(['_trackEvent', 'ReadMonitor', 'Error','Geen data ontvangen']);
		document.getElementById("warning-text").innerHTML = " &nbsp; Er komen geen nieuwe gegevens binnen. Ververs de pagina. Als dat niet helpt is er mogelijk een probleem op de server.";
		document.getElementById("warning").style.visibility = "visible";
	}
}

function UpdateMonitor() {
	var strHTML = "";
	for (i=0;i<numP2000;i++) {
		strHTML = strHTML + arrP2000[i];
	}
	document.getElementById("result").innerHTML = "<br/><TABLE width=100%>" + strHTML + "</TABLE>";
	if (NewAlert == 1) { SoundPlay(); NewAlert = 0; }
	RefreshTijd = 10;
}

function ShowMenu() {
	var Menu = document.getElementById("snelmenu");
	var Overlay = document.getElementById("overlay");
	
	if (MenuVisible == 0) {
		MenuVisible = 1;
		Overlay.style.height = document.getElementById("result").style.height;
		Overlay.style.visibility = "visible";
		Overlay.style.zIndex = 10;
		Menu.style.visibility = "visible";
		Menu.style.zIndex = 11;
	} else {
		MenuVisible = 0;
		Overlay.style.visibility = "hidden";
		Menu.style.visibility = "hidden";
	}
}

function SoundPlay() {
	if (PlaySound != '') {
		var Sound = soundManager.createSound(PlaySound,'sounds2/'+PlaySound+'.mp3');
		Sound.play();
	}
}

soundManager.url = './script/';
soundManager.onload = function() {
}
