base		= "http://localhost/slap";
agent		= navigator.userAgent.toLowerCase();
macUser		= false;
winUser		= false;
safari		= false;

if (agent.indexOf("safari") != -1) {
	 safari = true;
}

if (agent.indexOf("mac") != -1) {
	macUser = true;
}
else {
	winUser = true;
}

function slappendelInit() {
	createxmastext();
	if ((isxmas >= beginxmas) && (isxmas <= endnewyear)) {
		startSnowing();
	}
}

function placeHeader() {
	var intInnerWidth = (window.innerWidth)? window.innerWidth : document.body.clientWidth;
	var intLeft = ((intInnerWidth - 780) / 2) + 2;
	var divLogo = document.getElementById("logo");
	var divTitle = document.getElementById("title");

	divLogo.style.left = intLeft;
	divTitle.style.left = intLeft;
	
	divLogo.style.display = "block";
	divTitle.style.display = "block";
	
}

function createxmastext() {
	var bron	= new Date();
	var dagnr	= bron.getDate();
	var maandnr	= bron.getMonth() + 1;
	var jaar	= bron.getYear();
	isxmas		= ""; // is global variable
	beginxmas	= ""; // is global variable
	endxmas		= ""; // is global variable
	endnewyear	= ""; // is global variable


	if (dagnr < 10) {
		dagnr = "0" + dagnr.toString();
	}

	if (maandnr < 10) {
		maandnr = "0" + maandnr.toString();
	}

	isxmas = jaar + "" + maandnr + "" + dagnr;
	if (maandnr == "01") {
		beginxmas	= (jaar - 1) + "" + "1217"; // 17 december
		endxmas		= (jaar - 1) + "" + "1226"; // 26 december
		endnewyear	= jaar + "" + "0107";	     // 7 januari
	}
	else if (maandnr == "12") {
		beginxmas	= jaar + "" + "1217";		// 17 december
		endxmas		= jaar + "" + "1226";		// 26 december
		endnewyear	= (jaar + 1) + "" + "0107";	// 7 januari
	}

	var deHTML	= "<table width='100%' border=0 cellspacing=0 cellpadding=0><tr valign=top><td width=79><img src='image/sneeuw_kerstbomen_links.gif' width=79 height=40 border=0 align=left hspace=5 vspace=2></td>";
	deHTML		+= "<td align=center valign=middle><font size=2 color='#CC0065'><b>";

	// periode 17 december - 26 december
	if ((isxmas >= beginxmas) && (isxmas <= endxmas)) {
		deHTML += "Wij wensen u Fijne Kerstdagen en een Gezond Nieuwjaar.";
	}

	if ((isxmas > endxmas) && (isxmas <= endnewyear)) {
		deHTML += "Wij wensen u een Gezond Nieuwjaar.";
	}

	deHTML		+= "</b></font></td>";	
	deHTML		+= "<td width=122><img src='image/sneeuw_kerstbomen_rechts.gif' width=122 height=40 border=0 align=right hspace=5 vspace=2></td></tr></table><br>";

	if ((isxmas >= beginxmas) && (isxmas <= endnewyear)) {
		document.getElementById('xmascontainer').innerHTML = deHTML;
	}
}

// functie voor het veranderen van de achtyergrondkleur in het overzicht
// 2 mode zijn er. het hele overzicht andere kleur of alleen 1 regel
// dit wordt gechecked door de naam van de checkbox, graag deze dus consistent houden
function checkCss(name, form) {
	var d	 = document;

	if (name.substring(0,6).toLowerCase() == "cb_all") { // dan gaat het om de algemene checkbox
		var length		= name.length;
		var sector		= name.substring(7, length);
		var elementsArray	= new Array();
		var elements		= d.forms[form].elements;

		// alle values van de checkboxen delete pakken
		var j = 0;
		for (var i = 0; i < elements.length; i++) {
			if (elements[i].name == "delete") {
				elementsArray[j] = elements[i].value;
				j++;
			}
		}

		// de waarden van elementsArray gebruiken om de rijen te pakken en deze achtergrond te kleuren
		// en de checkbox aan te vinken
		for (var i = 0; i < elementsArray.length; i++) {
			var cb  = d.getElementById("cb_" + sector + "" + elementsArray[i]);
			var row = d.getElementById("tr_" + sector + "" + elementsArray[i]);

			if (cb.checked) {
				cb.checked = false;
			}
			else {
				cb.checked = true;
			}

			if (row.className.toLowerCase() == "oz_clicked") {
				row.className = "";
			}
			else {
				row.className = "oz_clicked";
			}
		}
	}
	else { // nu 1 rij veranderen qua CSS class, de checkbox aan of uitvinken hoeft hier niet
		var row = d.getElementById(name);

		if (row.className.toLowerCase() == "oz_clicked") {
			row.className = "";
		}
		else {
			row.className = "oz_clicked";
		}
	}
}

// switchen tussen layers, array welke layers bestaan geef je mee
function switchTab(tab, arrTab) {
	document.forms["tabbladen"].elements["activeTab"].value = tab;
	arrTab = arrTab.split("$");

	for (var i = 0; i < arrTab.length; i++) {
		if (tab != arrTab[i]) {
			var className	= "tabNotClicked";
			document.getElementById("tab_" + arrTab[i]).style.display = "none";
		}
		else {
			var className	= "tabClicked";
			document.getElementById("tab_" + arrTab[i]).style.display = "inline";
		}

		document.getElementById(arrTab[i]).className = className;
	}
}

function switchTabCSS(tab, action) {
	switch (action) {
		case 'out':
			if (tab == document.forms["tabbladen"].elements["activeTab"].value) {
				document.getElementById(tab).className	= "tabClicked";
			}
			else {
				document.getElementById(tab).className	= "tabNotClicked";
			}
		break;
		case 'over':
			if (tab == document.forms["tabbladen"].elements["activeTab"].value) {
				document.getElementById(tab).className	= "tabClicked";
			}
			else {
				document.getElementById(tab).className	= "tabOver";
			}
		break;
	}
}

// functie om een in de stijl van de website
// msg = welke boodschap wil je laten zien
// img = welke afbeeldingen hoort daarbij
// title = welke titel krijgt het waarschuwingsscherm mee
function showAlertBox(msg, img, title) {
	var d			= document;
	var layerAlertBox	= d.getElementById("layerAlertBox");
	var alertBoxContent	= d.getElementById("alertBoxContent");
	var alertBoxTitle	= d.getElementById("alertBoxTitle");
	var alertBoxButton	= d.getElementById("alertBoxButton");
	var alertBoxTable	= d.getElementById("alertBoxTable");

	layerAlertBox.style.left	= ((document.body.clientWidth  - 250) / 2) + document.body.scrollLeft;
	layerAlertBox.style.top		= ((document.body.clientHeight - 150) / 2) + document.body.scrollTop;

	//layerAlertBoxShadow.style.left	= ((document.body.clientWidth  - 250) / 2) + document.body.scrollLeft + 5;
	//layerAlertBoxShadow.style.top	= ((document.body.clientHeight - 150) / 2) + document.body.scrollTop + 5;

	alertBoxContent.background	= base + "/images/boxIcons/" + img;
	alertBoxContent.innerHTML	= msg;
	alertBoxTitle.innerHTML		= title;

	layerAlertBox.style.visibility		= "visible";
	//layerAlertBoxShadow.style.visibility	= "visible";
}

// haal het waarschuwingsscherm van het scherm
function hideAlertBox() {
	var d = document;
	d.getElementById("layerAlertBox").style.visibility		= 'hidden';
	//d.getElementById("layerAlertBoxShadow").style.visibility	= 'hidden';
}

// functie om een consistent popupscherm te tonen
// page = pagina die in de popup wordt getoond > verplicht
// str  = waarden parameters > niet verplicht
// strNames = de namen van de parameters > niet verplicht
// strNames > de parameters krijgen automatisch de namen chrHidden1, chrHidden2.
// Vul je '$parameter' en je geeft 3 waarden mee dan krijg je > page?chrHidden1=waarde1&parameter=waarde2&chrHidden3=waarde3
// name = naam window > niet verplicht, standaard = ""
// width = breedte scherm (uitwendig) > niet verplicht, standaard = 600
// height = hoogte scherm (uitwendig) > niet verplicht, standaard = 400
// window options kun je NIET aanpassen
function popup(page, str, strNames, name, width, height) {
	var winvar = null;

	// window options opbouwen
	name	= (!name)  ? ""  : name;
	width	= (!width) ? 600 : width;
	height	= (!height)? 400 : height;

	// de popup in het midden van je scherm zetten
	var top  	= (screen.height - height) / 2;
	var left	= (screen.width  - width)  / 2;
	var winOptions	= "height=" + height + ",width=" + width + ","
			+ "top=" + top + ",left=" + left + ",status=yes,location=no,"
	   		+ "toolbars=no,directories=no,menubar=no,titlebar=no,"
	   		+ "scrollbars=yes,copyhistory=no;";
	// window options opgebouwd
	// dan nu str splitten

	if (str) {
		var winArguments = str.split("#");
	}

	if (strNames) {
		var winArgNames = strNames.split("#");
	}

	var URL		= page + "?";
	var j		= 0;
	var value	= "";
	var paramName	= "";

	if (str) {
		for (var i = 0; i < winArguments.length; i++) {
			j	= i + 1;
			value	= winArguments[i];

			if ((winArgNames) && winArgNames[i] != "") {
				paramName = winArgNames[i];
			}
			else {
				paramName = "chrHidden" + j;
			}

			if (i == 0) {
				URL += paramName + "=" + value;
			}
			else {
				URL += "&" + paramName + "=" + value;
			}
		}
	}

	winvar = open(URL, name, winOptions);
	winvar.focus();
}

function frmValidation(frmName, frmArray, frmNameArray, frmFunctionArray, missingText) {
	var missingText = missingText + "\n\n";
	var frmFocus	= false;
	var foundError	= false;
	var realyFound	= false;

	for (var i = 0; i < frmArray.length; i++) {
		var d		= document.forms[frmName].elements[frmArray[i]];
		foundError	= false;

		if (macUser) {
			document.getElementById("td" + frmArray[i]).style.color		= "#1F385F";
		}
		else {
			document.getElementById(frmArray[i]).className	= "npt";
			document.getElementById("td" + frmArray[i]).className	= "content";
		}

		if (d.type != "hidden") {
			//window.alert("1");
			if (d.value == "") {
				foundError = true;
			}
			else if (frmFunctionArray[i]) {
				foundError = eval(frmFunctionArray[i]);
			}

			if (foundError) {
				//window.alert("2");
				realyFound = true;
				if (!frmFocus) {
					frmFocus = d;
				}

				missingText += "- " + frmNameArray[i] + "\n";
				if (macUser) {
					document.getElementById("td" + frmArray[i]).style.color = "#FF0000";
				}
				else {
					document.getElementById("td" + frmArray[i]).className		= "error";
					document.getElementById(frmArray[i]).className	= "error";
				}
			}
		}
	}

	if (realyFound) {
		window.alert(missingText);
		if (!frmFocus.disabled) {
			frmFocus.focus();
		}
	}
	else {
		document.forms[frmName].submit();
	}
}

function isString(frmName, frmInput, minLength) {
	var ABCArray = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
	var frmInput = document.forms[frmName].elements[frmInput].value;

	if (frmInput.length < minLength) {
		return true;
	}

	for (var i = 0; i < frmInput.length; i++) {
		if (ABCArray.indexOf(frmInput.substring(i, i + 1).toUpperCase()) == -1) {
			return true;
		}
	}
}

function isNumber(frmName, frmInput, minLength) {
	var frmInput = document.forms[frmName].elements[frmInput].value;

	if (isNaN(frmInput)) {
		return true;
	}
	else if (frmInput.length < minLength) {
		return true;
	}
}

function checkCSSOverzicht(frmName, trName, row, cbName) {
	var intCb	 = 0;
	var intCbClicked = 0;

	if (row == 0) {
		for (var i = 0; i < document.forms[frmName].elements.length; i++) {
			if (document.forms[frmName].elements["cbAll"].checked) {
				if (document.forms[frmName].elements[i].name.substr(0, cbName.length) == cbName) {
					if (document.forms[frmName].elements[i].name != "cbAll") {
						document.forms[frmName].elements[i].checked = true;
						document.getElementById(trName + "" + document.forms[frmName].elements[i].value).className = "oz_clicked";
					}
				}
			}
			else if (document.forms[frmName].elements[i].name != "cbAll") {
				if (document.forms[frmName].elements[i].name.substr(0, cbName.length) == cbName) {
					document.forms[frmName].elements[i].checked = false;
					document.getElementById(trName + "" + document.forms[frmName].elements[i].value).className = "";
				}
			}
		}
	}
	else {
		for (var i = 0; i < document.forms[frmName].elements.length; i++) {
			if (document.forms[frmName].elements[i].name.substr(0, cbName.length) == cbName) {
				intCb++;

				if (document.forms[frmName].elements[i].checked == true) {
					intCbClicked++;
				}
			}
		}

		if (intCb == intCbClicked) { // iedereen is aangeklikt
			document.forms[frmName].elements["cbAll"].checked = true;
			for (var i = 0; i < document.forms[frmName].elements.length; i++) {
				if (document.forms[frmName].elements[i].name.substr(0, cbName.length) == cbName) {
					document.forms[frmName].elements[i].checked = true;
					document.getElementById(trName + "" + document.forms[frmName].elements[i].value).className = "oz_clicked";
				}
			}
		}
		else {
			document.forms[frmName].elements["cbAll"].checked = false;
			for (var i = 0; i < document.forms[frmName].elements.length; i++) {
				if (document.forms[frmName].elements[i].name.substr(0, cbName.length) == cbName) {
					if ((document.forms[frmName].elements[i].checked == true)) {
						document.getElementById(trName + "" + document.forms[frmName].elements[i].value).className = "oz_clicked";
					}
					else {
						document.getElementById(trName + "" + document.forms[frmName].elements[i].value).className = "";
					}
				}
			}
		}
	}
}

