/* scripts voor gebruik van Ajax */

function GetXmlHttpObject() {
	var xmlHttp=null;
	try { // Firefox, Opera 8.0+, Safari
		xmlHttp=new XMLHttpRequest();
	} catch (e) {
		try { // Internet Explorer
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	if (xmlHttp==null) {alert("De browser ondersteunt geen XMLHTTP.");}
	return xmlHttp;
}

var xmlhttp = null;	//globale object declaratie
var ctrl;

/* load a textfile (url) from server en plaats het in control ID ctrlID */
function loadXMLDoc(url, ctrlID) {
	xmlhttp = GetXmlHttpObject();
	if (xmlhttp!=null) {
		ctrl = ctrlID;
		xmlhttp.onreadystatechange=function() {
			//executeer deze function bij elke state change
			if (xmlhttp.readyState==4) { // 4 = "loaded"
				if (xmlhttp.status==200) { // 200 = "OK"
					document.getElementById(ctrl).innerHTML=xmlhttp.responseText;
				} else {alert("Problem retrieving data:" + xmlhttp.statusText);}
			}
		}
		xmlhttp.open("GET",url,true);
		xmlhttp.send(null);
	}
}
//==========================================================================================
	
	//Trim function
	String.prototype.trim = function() { return this.replace(/^\s+|\s+$/g, ''); };
	
	//check datum invoer formaat d-m-jj of d-m-jjjj
	function IsDate(input) {
		if (input.value=="") {return true;}
		check = true;
		datum = input.value.split('-');
		if (datum[0].length==1) {datum[0] = "0"+datum[0]}
		if (datum[1].length==1) {datum[1] = "0"+datum[1]}
		if (datum[2]<20) {datum[2] = "20"+datum[2];}
		if (datum[2]>20 && datum[2]<100) {datum[2]="19"+datum[2];} 
		d=new Date(datum[2],datum[1]-1,datum[0]);
		check=(1*datum[0]==d.getDate() && 1*datum[1]==(d.getMonth()+1) && 1*datum[2]==d.getFullYear());
		if (datum[2]<1900 || datum[2]>2100) {check = false;}
		if (check) {
			input.value = datum[0]+"-"+datum[1]+"-"+datum[2];
		} else {
			alert("Ongeldige datum: " + input.value + "\ngeldig formaat: dd-mm-jjjj");
			setTimeout("document."+input.form.name+"."+input.name+".focus()",10);			
		}
		return check;
	}

	//check e-mail invoer
	function IsEmail(input) {
		check = true;
		apos=input.value.indexOf("@");
		dotpos=input.value.lastIndexOf(".");
		lastpos=input.value.length-1;
		check = !(apos<1 || dotpos-apos<2 || lastpos-dotpos>3 || lastpos-dotpos<2)
		if (!check) {
			alert("Ongeldige email adres: " + input.value);
			setTimeout("document."+input.form.name+"."+input.name+".focus()",10);
		}
		return check;
	}

	//Input check voor usernaam en wachtwoord
	//min    = minimum aantal karakters
	//action = t  trim input
	//       = l (letter l) lowercase input
	function checkinput(input, min, action) {
		if (action.indexOf("t")!=-1) {value=input.value.trim();}
		if (action.indexOf("l")!=-1) {value=input.value.toLowerCase();}
		if (min>0 && input.value.length<min) {
			alert('Invoer is minder dan '+min+' karakters!');
			setTimeout("document."+input.form.name+"."+input.name+".focus()",10);
			return false;
		}
		return true;
	}
	
	//check numerieke invoer (geheel positief)
	function IsNumeric(sText) {
		var ValidChars = "0123456789";
		var IsNumber=true;
		var Char; 
			for (i=0; i<sText.value.length && IsNumber==true; i++) {
				Char = sText.value.charAt(i); 
				if (ValidChars.indexOf(Char) == -1) {IsNumber = false;}
			}
			if (!IsNumber) {
				alert("Ongeldig getal: " + sText.value);
				setTimeout("document."+sText.form.name+"."+sText.name+".focus()",10);
			}
			return IsNumber;
	}
	
	//check numerieke invoer (decimaal getal)
	function IsFloat(sText) {
		var ValidNumbs = "0123456789";
		var ValidChars = "+-.";
		var PointFound = false;
		var IsNumber   = true;
		var Char; 
			for (i=0; i<sText.value.length && IsNumber==true; i++) {
				Char = sText.value.charAt(i); 
				if (ValidNumbs.indexOf(Char) == -1) {
					if (ValidChars.indexOf(Char)==-1) {IsNumber = false;}
					else {
						if (i==0) {IsNumber = true;}
						else {
							if (Char=='.' && !PointFound) {IsNumber = true;}
							else {IsNumber = false;}
						}
					}
					if (Char==".") PointFound=true;
				}
			}
			if (!IsNumber) {
				alert("Ongeldig getal: " + sText.value);
				setTimeout("document."+sText.form.name+"."+sText.name+".focus()",10);
			}
			return IsNumber;
	}

	
	//popup windows
	function popup(url, name, width, height, left, top, 
				   toolbar, location, directory, status, menubar, scrollbars, resizable)
	{
	//setting string ZONDER spaties
	//toolbar t/m resizable "yes" of "no"
	settings=
	"toolbar="+toolbar+",location="+location+",directories="+directory+","+
	"status="+status+",menubar="+menubar+",scrollbars="+scrollbars+","+
	"resizable="+resizable+",width="+width+",height="+height+",left="+left+",top="+top;
	PopupWindow=window.open(url,name,settings);
	}

	//schrijf het scherm en keer terug op de scrollpositie waar je het scherm hebt verlaten
	function repaint($url){
        $pageoffset = document.body.scrollTop;
        window.location.href=$url + "&scrol=" + $pageoffset;
	}
	function rescroll($scrol){
		window.document.body.scrollTop = $scrol;
	}

	

//=================================================================================================

	
