function validate(formElem)
{		
	var message = 0;
	var email = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
	var postcode = /^[1-9]{1}[0-9]{3}[a-zA-Z]{2}$/;
	var naam = /^[a-zA-Z\ \-]+$/;
	var straat = /^[a-zA-Z0-9\ \-.]+$/;
	var woonplaats = /^[a-zA-Z\ \'\-]+$/;
	var mobiel = /^([0-0]{1})+([0-9]{9})$/;
	var birth = /^([0-3]{1}[0-9]{1})+\-([0-1]{1}[0-9]{1})+\-([0-9]{4})+$/;
	var huisnr = /^[a-zA-Z0-9\ \-]+$/;
	
	//registration
	if (document.getElementById('registrationform')) {
		
		if (formElem.voorwaarden.checked == false) 
			message = 'U dient akkoord te gaan met de algemene voorwaarden.';
		
		if (formElem.toestemming.checked == false) 
			message = 'U heeft geen toestemming gegeven.';
		
		if (!email.test(formElem.email.value)) 
			message = 'U dient een geldig email adres op te geven.';	
					
		if (formElem.wachtwoord.value != formElem.wachtwoord2.value) 
			message = 'De opgegeven wachtwoorden komen niet overeen.';	
			
		if (formElem.wachtwoord.value.length > 32) 
			message = 'Uw wachtwoord is te lang.';	
			
		if (formElem.wachtwoord.value.length < 4) 
			message = 'U wachtwoord is te klein.';
			
		if (!mobiel.test(formElem.mobiel.value)) 
			message = 'Dit is geen juiste mobiele nummer.';	
		
	}
	
	//personalinfo
	if (document.getElementById('personalinfoform')) {
		
		if (formElem.gender[0].checked == false && formElem.gender[1].checked == false)
			message = 'U dient aan te geven of u een man of vrouw bent.';
		
		if (!birth.test(formElem.geboortedatum.value))
			message = 'U dient een geldige geboortedatum op te geven. (dd-mm-jjjj)';
			
		if (!woonplaats.test(formElem.woonplaats.value)) 
			message = 'U dient een geldige woonplaats op te geven.';
			
		if (!postcode.test(formElem.postcode.value)) 
			message = 'U dient een geldige postcode op te geven.';;	
			
		if (!huisnr.test(formElem.huisnummer.value))
			message = 'U dient een geldig huisnummer op te geven.';
		
		if (!straat.test(formElem.straat.value)) 
			message = 'U dient een geldige straat op te geven.';
		
		if (!naam.test(formElem.achternaam.value)) 
			message = 'U dient een geldige achternaam op te geven.';
		
		if (formElem.tussenvoegsel.value.length > 0) {
			if (!naam.test(formElem.tussenvoegsel.value)) 
				message = 'Dit is geen geldig tussenvoegsel.';
		}

		if (!naam.test(formElem.voornaam.value)) 
			message = 'U dient een geldige naam op te geven.';
		
		
		member = document.getElementsByName('member');
		if(member.length > 0)
		{
			isValid =false;
			for(var i =0; i < member.length; i++)
				if(member[i].checked)
					isValid = true;					

			if(!isValid)
				message = 'U dient aan te geven of u lid bent.';
		}
			
	}
	
	//interrests
	if (document.getElementById('interestsform')) {
	
		orgFlag = false;
	//	for(var i=0; i < formElem['organisations[]'].length; i++)
			//if (formElem['organisations[]'][i].checked == true) 
			//	orgFlag = true;
	
		//if(!orgFlag)
		//	message = 'U dient tenminste een organisatie op te geven.';
		
		interestFlag = false;
		for(var i=0; i < formElem['interests[]'].length; i++)
			if (formElem['interests[]'][i].checked == true) 
				interestFlag = true;
		
		if(!interestFlag)
			message = 'U dient tenminste een interesse op te geven.';
	}
	
	//contact
	if (document.getElementById('contact')) {
		
		if (formElem.vraag.value.length < 1) 
			message = 'U dient een vraag / bericht in te vullen.';
		
		if (!email.test(formElem.email.value)) 
			message = 'U dient een geldig email adres op te geven.';
		
		/*if (formElem.subrubriek.value.length < 1) 
			message = 'U dient een subrubriek op te geven.';*/
			
		if (formElem.rubriek.value.length < 1) 
			message = 'U dient een rubriek op te geven.';
	}
	
	//lostemail
	if (document.getElementById('lostpassword')) {
		
		if (!email.test(formElem.email.value)) 
			message = 'U dient een geldig email adres op te geven.';
	}
	
	//upd username
	if(document.getElementById('updusername')){
		
		if (!email.test(formElem.email.value)) 
			message = 'U dient een geldig email adres op te geven.';
	}

	if (message != 0) 
	{
		alert(message);
		return false;
	}
		
	return true;
	
}

function saveForm(formElem)
{
	if($('woonplaats'))
		$('woonplaats').enable();
	if($('straat'))
		$('straat').enable();	
	
	if(validate(formElem))
		formElem.submit();
}

function saveFormNpl(formElem)
{
	if($('woonplaats'))
		$('woonplaats').enable();
	if($('straat'))
		$('straat').enable();	
	
	formElem.submit();
}

//waitmomenst
function saveWaitForm(formElem)
{
	function confirmation()
	{
		var answer = confirm("Als u geen dag kiest dan zullen de bestaande wachtmomenten verloren gaan, wilt u verder gaan?")
		if (answer) 
		{
			formElem.submit();
		}
		else
		{
			return false;
		}
	}
	
	if (formElem.dag.value == 'geen')
	{
		confirmation();
	}
	else
	{
		formElem.submit();
	}
}

function saveVacationForm(formElem)
{
	function confirmation()
	{
		alert("Niet alle velden zijn ingevuld, echter is elk veld verplicht.")
		
	}
	
	if (formElem.vacation_start.value == '' || formElem.vacation_end.value == '' || formElem.vacation_reason.value == '' || formElem.sms_frequency.value == '')
	{
		confirmation();
	}
	else
	{
		formElem.submit();
	}
}


function  removeWaitMoment(moment_id)
{
	submitForm = document.createElement('form');
	submitForm.method='post';
	inputField = document.createElement('input');
	inputField.type = 'hidden';
	inputField.name = 'remove_moment';
	inputField.value = moment_id;
	
	submitForm.appendChild(inputField);
	document.body.appendChild(submitForm);
	submitForm.submit();
	
}

function  removeVacationMoment(moment_id,action)
{
	submitForm = document.createElement('form');
	submitForm.method='post';
	submitForm.action=action;
	inputField = document.createElement('input');
	inputField.type = 'hidden';
	inputField.name = 'remove_vacation';
	inputField.value = moment_id;
	
	submitForm.appendChild(inputField);
	document.body.appendChild(submitForm);
	submitForm.submit();
	
}

function checkUncheckAll(theElement,char)
{
  	var theForm = theElement.form, z = 0;
  	for(z=0; z<theForm.length;z++)
	{
	    if(
			theForm[z].type == 'checkbox' && 
			theForm[z].name != 'all_interests' && 
			theForm[z].name != 'all_organisations' &&
			theForm[z].id.charAt(0) == char
		)
		{
			theForm[z].checked = theElement.checked;
			theForm[z].disabled = theElement.checked;
	    }
	}
}

function waitmoments(){
	
}

/*function debug(elem){

	var str = '';	
	for(el in elem)
		str += (el + '\n');
		
	alert(str);	

}*/

