function req_field(fld,descr) {
	if(fld.value == '') {
		alert('Het veld \'' + (descr == null ? fld.name : descr) + '\' moet worden ingevuld.');
		fld.focus();
		return false;
	} else {
		return true;
	}
}

function req_email(fld) {
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9])+$/;
	if(!filter.test(fld.value)) {
		alert('Vul een geldig e-mailadres in.');
		fld.focus();
		return false;
	} else {
		return true;
	}
}

function test_password(pwd, pwd_chk) {
	if(!req_field(pwd,'wachtwoord')) {
		return false;
	} else if(pwd.value != pwd_chk.value) {
		alert('De ingevoerde wachtwoorden komen niet overeen.');
		pwd.focus();
		return false;
	} else if(pwd.value.length < 6) {
		alert('Het gekozen wachtwoord moet minimaal 6 tekens bevatten,\ngebruik bij voorkeur een combinatie van letters en cijfers.');
		pwd.focus();
		return false;
	} else {
		return true;
	}
}

function check_telefoonnr(fld, descr) {
	var filter  = /^0[0-9]{9}$/;
	if(!filter.test(fld.value)) {
		alert('Vul een geldig telefoonnummer in.');
		fld.focus();
		return false;
	} else {
		return true;
	}
}

function check_date(fld,descr) {
	var error = false;
	var date_parts = fld.value.split('-');
	if(date_parts.length != 3) {
		error = true;
	} else {
		if(date_parts[0].length == 1) {
			date_parts[0] = '0'+date_parts[1];
		}
		if(date_parts[1].length == 1) {
			date_parts[1] = '0'+date_parts[1];
		}
		fld.value = date_parts.join('-');
		var objTempDate = new Date(date_parts[2],date_parts[1]-1,date_parts[0]);
		if(objTempDate.getFullYear() != date_parts[2] 
			|| objTempDate.getMonth() != date_parts[1]-1
			|| objTempDate.getDate() != date_parts[0]
			) {
			error = true;
		}
	}
	if (error) {
		alert('Het veld \'' + descr + '\' moet een geldige datum bevatten (dd-mm-jjjj)');
		fld.focus();
		return false;
	}
	return true;
}

function check_date_in_future(fld,descr) {
	if(check_date(fld,descr)) {
		var error = false;
		var date_parts = fld.value.split('-');
		var objTempDate = new Date(date_parts[2],date_parts[1]-1,date_parts[0]);
		var objCurrDate = new Date();
		if(objTempDate.getFullYear() >= objCurrDate.getFullYear()
			&& objTempDate.getMonth() >= objCurrDate.getMonth()
			&& objTempDate.getDate() > objCurrDate.getDate()
			) {
			alert('bla');
			return true;
		} else {
			alert('Het veld \'' + descr + '\' moet een geldige, toekomstige datum bevatten (dd-mm-jjjj)');
			fld.focus();
			return false;
		}
	} else {
		return false;
	}
}

function req_radio(fld,descr) {
	for(i = 0; i < fld.length; i++) {
		if(fld[i].checked) {
			return true;
		}
	}
	alert('Het veld \'' + (descr == null ? fld.name : descr) + '\' is verplicht en moet worden ingevuld.');
	fld[0].focus();
	return false;
}

function check_postcode(fld) {
	if(isNaN(parseInt(fld.value)) || parseInt(fld.value) < 1000 || parseInt(fld.value) > 9999) {
		alert('Voer een geldige postcode in.');
		fld.focus();
		return false;
	}
	return true;
}
