// JavaScript Document

/* Algemeen */

String.prototype.ltrim = function () { return this.replace(/^ */,"");}
String.prototype.rtrim = function () { return this.replace(/ *$/,"");}
String.prototype.trim = function () { return this.ltrim().rtrim();}
String.prototype.StartsWith = function(str) {return (this.match("^" + str) == str)}
String.prototype.EndsWith = function(str) {return (this.match(str + "$") == str)}

function textCounter(field,cntfield,maxlimit) {
	try {
		if (field.value.length > maxlimit) {
			field.value = field.value.substring(0, maxlimit);}
		else {
			var el = document.getElementById(cntfield);
			el.innerHTML = maxlimit - field.value.length;}
	}
	catch(err) {}
}

function checkLength(obj, maxlen) {
	try {
		maxlen = maxlen - 1;
		if (obj.getAttribute && obj.value.length > maxlen)obj.value = obj.value.substring(0,maxlen)
	}
	catch(err) {}
}

function toggle(obj) {
	try {
		var el = document.getElementById(obj);
		if (el.style.display != 'none' ) {el.style.display = 'none';}
		else {el.style.display = '';}
	}
	catch(err) {}
}

function slimboxReset() {
	try {
		$("a[rel^='lightbox']").slimbox({  }, null, function(el) {
			return (this == el) || ((this.rel.length > 8) && (this.rel == el.rel));
		});
	}
	catch(err) {}
}

function focusEnd(TB) {
	try {
/*
		if (TB.createTextRange) {
			var FieldRange = TB.createTextRange();
			FieldRange.moveStart('character', TB.value.length);
			FieldRange.collapse();
			FieldRange.select();
		}
*/
	}
	catch(err) {}
}

function getEventKey(e) {
	try {
		var code;
		if (!e) var e = window.event;
		if (e.keyCode) code = e.keyCode;
		else if (e.which) code = e.which;
		return code;
	}
	catch(err) {}
}

function getEventMouse(e) {
	try {
		var code = event.button;
		return code;
	}
	catch(err) {}
}

function setValue(objId, val) {
	try {
		var obj = document.getElementById(objId);
		obj.value = val;
		setTimeout("__doPostBack('" + objId + "','')", 0);
	}
	catch(err) {}
}

function focusEmpty() {
	try {
		var allObj;
		if (typeof _j_focusPanel != 'undefined' && _j_focusPanel != null && _j_focusPanel != '') {
//			alert('focus panel=' + _j_focusPanel);
			allObj = document.getElementById(_j_focusPanel).getElementsByTagName('*');}
		else {
//			alert('geen panel voor focus');
			allObj = document.getElementsByTagName("*");}
		var l = allObj.length,i;
		var bak = '';
		for(i = 0; i < l; i++) {
			switch(allObj[i].type) {
				case 'text': case 'select-one': case 'textarea': case 'password': case 'file':
				if (allObj[i].value == '') {
					allObj[i].focus();
					return;
				}
				else {bak = allObj[i].id;}
			}
		}
		if (bak != '') {
			document.getElementById(bak).focus();
		}
	}
	catch(err) {}
}

function focusSave(obj) {
	try {
		document.getElementById("__LASTFOCUS").value = obj.id;
	}
	catch(err) {}
	try {
		_objFocus = obj.id;
	}
	catch(err) {}
}

function nextField(e, obj) {
	try {
		if (getEventKey(e) == 13) {
			return focusNext(e,obj);
		}
		return true;
	}
	catch(err) {}
}

function focusNext(e, obj) {
	try {
		var objId = obj.id;
		if (objId == '') {
			if (obj.hasChildNodes()) {
				for(var c=0; c < obj.childNodes.length; c++) {
					if (obj.childNodes[c].id != '') {objId = obj.childNodes[c].id;}
				}
			}
		}
		var allObj;
		if (typeof _j_focusPanel != 'undefined' && _j_focusPanel != null && _j_focusPanel != '') {
//			alert('focus panel=' + _j_focusPanel);
			allObj = document.getElementById(_j_focusPanel).getElementsByTagName('*');}
		else {
//			alert('geen panel voor focus');
			allObj = document.getElementsByTagName("*");}
		var found = 0;
		var l = allObj.length,i;
		for(i = 0; i < l; i++) {
			if (allObj[i].id == '') continue;
			if (found == 0) {if (allObj[i].id == objId) {found = 1;}}
			else {
				switch(allObj[i].type) {
					case 'text':
					case 'select-one':
					case 'textarea':
					case 'checkbox':
					case 'submit':
					case 'password':
						e.returnValue = false;
						e.cancelBubble = true;
						allObj[i].focus();
						return false;
				}
			}
		}
	}
	catch(err) {alert(err);}
	e.returnValue = false;
	e.cancelBubble = true;
	document.getElementById(objId).focus();
	return false;
}

function focusObject(objId) {
	try {
		document.getElementById(objId).focus();
	}
	catch(err) {}
}

function classChangeRow(rows, objId, objClass) {
	try {
		for (var i = 0; i <= rows; i++)  {
			if (document.getElementById(objId + i)) {
				document.getElementById(objId + i).className = objClass;
			}
		}
	}
	catch(err) {}
}

function classChange(Id, Class) {
	try {
		var obj = document.getElementById(Id);
		obj.className = Class;
	}
	catch(err) {}
}

/* Checkboxlist */
function cblOver(cblId, cblRow) {
	try {
		if (document.getElementById(cblId + '_' + cblRow) && document.getElementById(cblId + '_' + cblRow + 's')) {
			var span = document.getElementById(cblId + '_' + cblRow + 's');
			var input = document.getElementById(cblId + '_' + cblRow);
			if (input.checked == false) {span.parentNode.className = "checked";}
		}
	}
	catch(err) {}
}
function cblOut(cblId, cblRow) {
	try {
		if (document.getElementById(cblId + '_' + cblRow) && document.getElementById(cblId + '_' + cblRow + 's')) {
			var span = document.getElementById(cblId + '_' + cblRow + 's');
			var input = document.getElementById(cblId + '_' + cblRow);
			if (input.checked == false) {span.parentNode.className = "";}
		}
	}
	catch(err) {}
}
function cblClass(cblId, cblRow, submitId) {
	try {
		if (document.getElementById(cblId + '_' + cblRow) && document.getElementById(cblId + '_' + cblRow + 's')) {
			var span = document.getElementById(cblId + '_' + cblRow + 's');
			var input = document.getElementById(cblId + '_' + cblRow);
			if (input.checked == false) {
				span.parentNode.className = "";
			}
			else {
				span.parentNode.className = "checked";
			}
			document.getElementById(submitId).disabled = false;
		}
	}
	catch(err) {}
}
function cblClassAll(cblId, cblRows) {
	for (var i = 0; i < cblRows; i++)  {
		try {
			var span = document.getElementById(cblId + '_' + i + 's');
			var input = document.getElementById(cblId + '_' + i);
			if (input.checked == true) {span.parentNode.className = "selected";} else {span.parentNode.className = "";}
		}
		catch(err) {}
	}
}

/* Tooltip */
function showTooltip(obj,tooltipId,display) {
	try {
		if (document.getElementById(tooltipId)) {
			var layer = document.getElementById(tooltipId);
			tooltipSet(obj.id,layer,display);
			return true;
		}
	}
	catch(err) {}
	var allObj = document.getElementsByTagName("*");
	var l = allObj.length,i;
	for(i = 0; i < l; i++) {
		if (allObj[i].getAttribute("name") == tooltipId) {
			tooltipSet(obj.id,allObj[i],display);
			return true;
		}
	}
}

function tooltipSet(objId,layer,display) {
	try {
		layer.style.display = display;
		switch (display) {
			case 'block':
				var minWidth = 150;
				var maxWidth = 700;
				if (document.getElementById(objId)) {
					var obj = document.getElementById(objId);
					var w = obj.offsetWidth;
					w = w - 4; // border compensatie
					if (w <= minWidth) {w = minWidth;}
					else if (w >= maxWidth) {w = maxWidth;}
					layer.style.width = w + 'px';
					if(layer.firstChild) {
						w = w - 60; // padding compensatie
						var oChild = layer.firstChild;
						while (oChild) {
							if (oChild.nodeType == 1) {oChild.style.width = (w) + 'px';}
							oChild = oChild.nextSibling;
						}
					}
				}
		}
	}
	catch(err) {}
}