
//// Dit script gaat ervan uit dat jQuery is geladen.

$(document).ready(function(){  
	var forms = document.getElementsByTagName("form");

	for(n=0; n<forms.length; n++){
		var form = forms[n];
		form.onsubmit = form_submit;
	}
});


form_submit = function(obj){
	if(! form_validate(this)) return false;
}

form_validate = function(form){

	this.valid = true;
	
	var elems = form.elements;
	for(n=0; n<elems.length && this.valid; n++){
		elem = elems[n];
		
		var required = elem.getAttribute("required");
		var vartype = elem.getAttribute("vartype");
		var message = elem.name;
		
		if(required != null){
			switch(required){
				case "true":
					if (vartype == "email"){
						if(is_email(elem.value)){
							this.valid = false;
							elem.select();
							msg = "Het veld '" + message + "' is niet of niet correct ingevuld.";
						}						
					}
					else if(elem.value.trim().length == 0){
						this.valid = false;
						elem.select();
						msg = "Het veld '" + message + "' is niet of niet correct ingevuld.";
					}
					break;
		
				default:
					if(test = elem.form.elements[required]){
						if(test.value != elem.value){
							this.valid = false;
							elem.select();
							msg = "De waarden van de velden '" + required + "' komen niet overeen.";
						}
					}
					break;				
			}
		}
	}
	
	//if(msg) alert(msg);

	return this.valid;
}

function is_email(email){
	var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
	var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$");
	return ! (!r1.test(email) && r2.test(email));	
}

String.prototype.trim = function() { return this.replace(/^\s+|\s+$/, ''); };

