function capitalizeMe(str){
	var val = str;
	newVal = '';
	val = val.split(' ');
	for(var c=0; c < val.length; c++) {
		newVal += val[c].substring(0,1).toUpperCase() + val[c].substring(1,val[c].length).toLowerCase() + ' ';
	}
	return newVal.substring(0,newVal.length-1);
}



function isEmailAdres(string){
  var patroon =
    /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/;
  return patroon.test(string);
}



function isNum(argvalue){
	argvalue = argvalue.toString();
	if (!argvalue.length) return false;
	for (var n=0; n<argvalue.length; n++)
		if (argvalue.substring(n, n+1) < "0" || argvalue.substring(n, n+1) > "9")
			return false;
	return true;
}



function isMobile(string){
  var patroon =
    /^06(-{0,1})[1-9][0-9]{7}$/;
  return patroon.test(string);
}



function isTelefoon(string){
  var patroon =
    /^0[1-9][0-9]{1,2}(-{0,1})[1-9][0-9]{5,6}$/;
  return patroon.test(string);
}



function isTel(string){
	if(string.length!=10) return false;
	return isTelefoon(string) || isMobile(string);
}



function isPostcode(string){
	if(isPostcodeNL(string)) return true;
	return false;
}



function isPostcodeNL(string){
    var patroon =
      /^[1-9][0-9]{3}[A-Za-z]{2}$/;
    return patroon.test(string);
}



function valiDate(day,month,year){
	if(!isNum(day)||!isNum(month)||!isNum(year)) return false;
	if ((month < 1 || month > 12) || (day < 1 || day > 31)) return false;
	if ((month==4 || month==6 || month==9 || month==11) && day==31) return false;
	if (month == 2) {
		var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
		if (day>29 || (day==29 && !isleap)) return false;
	}
	if(year<1850 || year>2050)  return false;
	return true;
}



function getAge(day,month,year){
  t  = new Date();			// get current date
  y  = t.getFullYear();		// get year of current
  m  = t.getMonth() + 1;	// get month of current
  d  = t.getDate();			// get date of current
  age = y - year;
  if ((month > m) || (month == m && day > d)) age --;
  return age;
}



function replaceAll( str, from, to ){
    var idx = str.indexOf( from );
    while ( idx > -1 ) {
        str = str.replace( from, to );
        idx = str.indexOf( from );
    }
    return str;
}



function checkForm(){
	frm = document.frmContact;
	errorstr = "De volgende velden zijn niet of verkeerd ingevuld:";
	err = errorstr;
	agebool = true;
	strbool = true;
	frm.voornaam.value = replaceAll(frm.voornaam.value,","," ");
	frm.achternaam.value = replaceAll(frm.achternaam.value,","," ");
	frm.plaats.value = capitalizeMe(frm.plaats.value);
	var bSelected = false;

	if(!frm.geslacht[0].checked&&!frm.geslacht[1].checked){
		errorstr = errorstr+"\n- Geslacht";
	}

	if(frm.voornaam.value.length==0){
		errorstr += "\n - Voornaam";
	}

	if(frm.achternaam.value.length==0){
		errorstr += "\n - Achternaam";
	}

	if(frm.straat.value.length==0){
		errorstr += "\n - Straat";
		strbool = false;
	}

	if(frm.huisnummer.value.length==0){
		errorstr += "\n - Huisnummer";
		strbool = false;
	}

	if(strbool){
		if(frm.straat.value.indexOf(frm.huisnummer.value)!=-1){
			errorstr += "\n - Straat zonder huisnummer";
		}
	}

	frm.pcnumalf.value = replaceAll(frm.pc_num.value+frm.pc_alf.value," ","");
	if(!isPostcode(frm.pcnumalf.value)){
		errorstr += "\n - Postcode";
	}else{
		if(isPostcodeNL(frm.pcnumalf.value))
			frm.pcnumalf.value = frm.pcnumalf.value.substr(0,4)+" "+frm.pcnumalf.value.substr(4,6).toUpperCase();
	}

	if(frm.plaats.value.length==0){
		errorstr += "\n - Woonplaats";
	}
	else
	{
		if(frm.plaats.value.indexOf("@")!=-1){
			errorstr += "\n - Woonplaats";
		}
	}

	frm.telefoon.value = replaceAll(frm.telefoon.value,"-","");
	if(!isTel(frm.telefoon.value)){
		errorstr += "\n - Telefoon";
	}

	if(!isEmailAdres(frm.email.value))
	{
		errorstr += "\n - E-mail";
	}


	if(errorstr == err)
	{
		frm.submit();
	}
	else
	{
		alert(errorstr);
	}
}