/*
	Deze functie controleert de invoer van formulieren. 
	
	Er wordt gecontroleerd of:
	-Alle verplichte velden zijn ingevuld
	-Een vinkje is gezet bij het vakje 'akkoord met algemene voorwaarden'
	-Een correct e-mailadres is ingevuld
*/
function check(which, verplicht, errorOld, emailerrorOld){
	var empty 	   		   	  = false;
	var veld  	   		   	  = "";
	var error 	   		   	  = false;
	var errorClass 		   	  = "error";
	var email	   		   	  = /^[_\.0-9a-z-]+\@([0-9a-z][0-9a-z-]*\.)+([a-z]{2,4})+$/i; //e-mail check
	var postcode  		   	  = /^[1-9]{1}[0-9]{3}[A-Z]{2}$/; // van 1000AA tot 8999ZZ - Let op, geen spatie!
	var oneSelected		   	  = false;
	
	var errorTekst 		   	  = Array();
	errorTekst['tekst']    	  = "- U heeft één of meerdere velden leeg gelaten\n";
	errorTekst['email']    	  = "- Het door u ingevoerde e-mailadres is niet geldig\n";
	errorTekst['postcode'] 	  = "- De door u ingevoerde postcode is niet geldig. Vul de postcode in met notatie 1234AB\n";
	errorTekst['checkbox'] 	  = "- U heeft bij één of meerdere checkboxen, geen checkbox aangevinkt.";
	errorTekst['radio'] 	  = "- U heeft bij één of meerdere radiobuttons, geen radiobutton aangevinkt.";
	
	var soortErrors 	   	  = Array();
	
	for (j=0;j<verplicht.length;j++){
		if(which[verplicht[j][0]]){
			veld  = which[verplicht[j][0]];
			error = false;
			
		    if(verplicht[j][1]=="string" || verplicht[j][1]=="textarea"){
				if(veld.className){
					className 	   = veld.className;
					
					//remove error class if exists
					veld.className = veld.className.replace(" "+errorClass,"");
				}else{
					veld.className = "";
				}
				
				if(veld.value=='' || veld.value==' '){
					error = true;
					empty = true;
					
					if(!soortErrors['tekst']){
						soortErrors['tekst'] = 'tekst';
					}
				}
				if((verplicht[j][0]=='email' || verplicht[j][0]=='e-mail' || verplicht[j][0]=='e-mailadres' || verplicht[j][0]=='emailadres') && !(email.test(veld.value))){
					error = true;
					empty = true;
					
					if(!soortErrors['email']){
						soortErrors['email'] = ['email'];
					}
				}
				/*if(verplicht[j][0]=='postcode' && !(email.test(veld.value))){
					veld.value = veld.value.toUpperCase();
											
					if (!postcode.test(postcode)) {
						error = true;
						empty = true;
						
						if(!soortErrors['postcode']){
							soortErrors['postcode'] = 'postcode';
						}
					}
				}*/
				
				if(error){
					veld.className = veld.className+' '+errorClass;
					error = false;
				}
			}
			else if(verplicht[j][1]=="checkbox" || verplicht[j][1]=="checkboxset"){
				oneSelected = false;
				
				if(veld.length>1){	
					for(i=0; i<veld.length;i++){
						if(veld[i].checked){
							oneSelected = true;
						}
					}
				}
				else{
					if(veld.checked==true){
						oneSelected = true;	
					}
				}	
					
				if(!oneSelected){
					empty = true;		
					if(!soortErrors['checkbox']){
						soortErrors['checkbox'] = 'checkbox';
					}
				}					
			}
			else if(verplicht[j][1]=="radio"){
				oneSelected = false;	
				
				for(i=0; i<veld.length;i++){
					if(veld[i].checked){
						oneSelected = true;
					}
				}	
					
				if(!oneSelected){
					empty = true;		
					if(!soortErrors['radio']){
						soortErrors['radio'] = 'radio';
					}
				}
			}					
		}
	}
	
	if(empty){
		var message = "U heeft de volgende onderdelen van het formulier niet correct ingevoerd:\n";		
		for(i in soortErrors){
			if(errorTekst[soortErrors[i]]){
				message += errorTekst[soortErrors[i]];
			}
		}
		alert(message);
		return false;
	} else {
		which.spamchecker.value = "GEEN_SPAM";
		return true;
	}
}

$(document).ready(function() { 
	$('#fotoalbum a .fotoinner').each(function () {
		var overlay = $('<span class="overlay" style="border: 0 solid #fff;"></span>').appendTo($(this));
      	overlay.css('opacity', 0.5);
		
		$(this).hover(function () {
    		overlay.animate({
				borderWidth: '5px'
        	}, 100);
		}, function () {
			overlay.animate({
          		borderWidth: '0px'
        	}, 100);
		});
	});
});
