var formError;

function checkform(ele){ 
	
	formError = false;
	checkTree(ele);
	if(formError && !($("#belCB_h").val()=='off' && $("#postCB_h").val()=='off')) {
		alert('Vul de gemarkeerde velden correct in.');
	}
	return !formError;
}

function checkTree(ele) {
	var elements = ele.childNodes;
	for(var i=0; i<elements.length; i++) { 
		if(elements[i].nodeType == 1) {	
			if(elements[i].style.display != 'none') {
				//alert(elements[i].name + '-' + elements[i].value + '-'  + elements[i].tagName)
				if(elements[i].tagName == 'INPUT') {			
					
				if (elements[i].name=='bel' || elements[i].name=='post'){
					if ($("#belCB_h").val()=='off' && $("#postCB_h").val()=='off' && $("#belpost").val()=='on') {
					$("#belpost").val('off');
					testCorrect(elements[i]);
					}
					//alert( $("#belCB_h").val() );
				}else{
					testCorrect(elements[i]);
				}
				}
				checkTree(elements[i]);
			}
		}
	}
}

function testCorrect(ele) {
	var reEmail = /^.+\@.+\..+$/
	var reTel = /^(-|\+|\d|\s){10,30}$/;
	var rePC = /^(\d{4}\s{0,2}[A-Za-z]{2}|[A-Za-z]\s{0,2}\d{4})$/;
	var reSpace=/^\s+$/; 

	if(ele.getAttribute('mandatory') != null) { 
		ele.style.border = '1px solid #caccf5';
		
		switch(ele.getAttribute('mandatory')){ 
			case '1':  
				if(reSpace.test(ele.value) || ele.value.length==0){ 
					ele.style.border = '1px solid red';
					formError = true;
				} 
			break; //algemeen 
			case '2':  
				if(!reEmail.test(ele.value)){
					ele.style.border = '1px solid red';
					formError = true;
				} 
			break; //email 
			case '3':  
				if(!rePC.test(ele.value)){ 
					ele.style.border = '1px solid red';
					formError = true;
				} 
			break; //pc 
			case '4':  
				if(!reTel.test(ele.value)){ 
					ele.style.border = '1px solid red';
					formError = true;
				} 
			break; //tel 
			case '5': 
				if(!ele.checked && !formError){ 
					alert("U moet nog akkoord gaan met de algemene voorwaarden.");
					formError = true;
				} 
			break; //checkbox
			case '6': 
				if(ele.value=='off'){ 
					alert("Maak een keuze: 'Bel mij terug' of 'Stuur mij de gratis brochure'");
					formError = true;
				} 
			break; //checkbox
		} 
	} 
}
