//Javascript voor gebruik in formulieren
//maakt gebruik van jQuery!
function plaats() {
	//Deze voor ajxPlaatsSelect werkt nog niet...
	$("select[name='provincie']").change(function(){
			//ajx:
			var url="incl/ajx/ajxselectplaats.php";
			url=url+"?provincie="+$(this).val();//provincie;
			$("#tbodyPlaats").load(url, {}, function() { 
				var labelP = $('#selectPlaats').parents("label");
				//label.append("<div class=\"infopop\">");	
				$(labelP).each(function(){
					$(this).append("<div class=\"infopop\">");
					/*titletext = labelP.attr("title");
					//alert(titletext);
					//$(this).removeAttr("title"); //Niet weg halen zodat we het infopop bericht weer kunnen veranderen in de title
					$(".infopop",labelP).css({opacity:0}).html(titletext);*/
					$("select",this).focus(function(){
						// select veld krijgt Focus
						doFocus(this);
					}).blur(function(){
						// select veld verliest Focus
						doBlur(this);
					});
				});
				$('#selectPlaats').focus();
			});
	});
}

$(function(){
	// Vangt elk formulierelement
	//$("label[title]").each(function(){
	plaats();//Plaats moet even apart, want die wordt met ajax gegenereerd!
	
	$("label").not(".nocontent").each(function(){
		$(this).append("<div class=\"infopop\">");	
		
		//titletext = $(this).attr("title");
		//titletext = getInfoText($(this).attr("name"));
		
		//Help teksten
		//kvknummer
		$(this).has("input[name='kvknummer']").append("<div class=\"help\"></div>");
		$(this).has("input[name='kvknummer']").find(".help").html("Weet u niet wat uw kvk-nummer is? Dat kunt u deze opzoeken op: <a href=\"http://www.kvk.nl/handelsregister/zoekenframeset.asp?url=https://server.db.kvk.nl/wwwsrvu/html/zoek.htm\" target=\"_blank\" tabindex=\"-1\">www.kvk.nl</a>");
		//omschrijving(bedrijfspresentatie)
		$(this).has("textarea[name='omschrijving']").append("<div class=\"help\"></div>");
		$(this).has("textarea[name='omschrijving']").find(".help").html("U kan nog <span class=\"counter\"></span> karakters typen.");
		$(this).has("textarea[name='cbericht']").append("<div class=\"help\"></div>");
		$(this).has("textarea[name='cbericht']").find(".help").html("U kan nog <span class=\"counter\"></span> karakters typen.");
		
		
		//$(this).removeAttr("title"); //Niet weg halen zodat we het infopop bericht weer kunnen veranderen in de title
		$(".infopop",this).css({opacity:0});
		//$(".infopop",this).css({opacity:0}).html(titletext);
		$("input",this).lastValue = $("input",this).val();
		$("input",this).focus(function(){
			// input veld krijgt Focus
			doFocus(this);
		}).blur(function(){
			// input veld verliest Focus
			doBlur(this);
		}).keyup(function(){
			// input veld Keyup (voor ajx validatie)
			doKeyUp(this, false);
		});
		$("input:checkbox",this).mouseover(function(){
			// input veld krijgt Focus
			doFocus(this);
		}).mouseout(function(){
			// input veld krijgt Focus
			doBlur(this);
		}).focus(function(){
			// input veld krijgt Focus
			doFocus(this);
		}).blur(function(){
			// input veld verliest Focus
			doBlur(this);
		});
		$("textarea",this).focus(function(){
			// textarea veld krijgt Focus
			doFocus(this);
		}).blur(function(){
			// textarea veld verliest Focus
			doBlur(this);
		}).keyup(function(){
			// textarea Keyup (voor ajx validatie)
			doKeyUp(this, false);
		});
		$("select",this).focus(function(){
			// select veld krijgt Focus
			doFocus(this);
		}).blur(function(){
			// select veld verliest Focus
			doBlur(this);
		});
		$("input[name='kvknummer']", this).focus(function(){
			showHelp(this);
		}).blur(function(){
			hideHelp(this);
		});
		$("textarea[name='omschrijving']", this).focus(function(){
			showHelp(this);
		}).blur(function(){
			hideHelp(this);
		}).keyup(function(){
			updateCounter(this);
		});
		$("textarea[name='cbericht']", this).focus(function(){
			showHelp(this);
		}).blur(function(){
			hideHelp(this);
		}).keyup(function(){
			updateCounter(this);
		});
	});
});

function updateCounter(obj) {
	var len = $(obj).attr("maxlength") - obj.value.length;
	obj.finalValue = obj.value.substring(0,1024);
	if (obj.finalValue && len < 0) {
		obj.value = obj.finalValue;
		len = $(obj).attr("maxlength") - obj.value.length;
	}
	//alert(len);
	$(obj).parents("label").find(".counter").html(len);
}

function showHelp(obj) {
	$(obj).parents("label").find(".help").slideDown("normal");
	/*.css({display:block}).animate({opacity:1},{
							duration: 520, 
							queue: false});*/
}

function hideHelp(obj) {
	$(obj).parents("label").find(".help").slideUp("normal");
	/*.css({display:none}).animate({opacity:0},{
							duration: 520, 
							queue: false});*/
}

//functie voor ajaxvalidatie:
/*$(document).ready(function () {
  var veld = $('#gebruiker_naam');
  var validateUsername = $('#validateUsername');
  $('#gebruiker_naam').keyup(function () {
    var t = this; 
    if (this.value != this.lastValue) {
      if (this.timer) clearTimeout(this.timer);
      validateUsername.removeClass('error').html('<img src="images/ajax-loader.gif" height="16" width="16" /> controleert beschikbaarheid...');
      
      this.timer = setTimeout(function () {
        $.ajax({
          url: 'ajax-validatie.php',
          data: 'action=check_gebruikersnaam&gebruikersnaam=' + t.value,
          dataType: 'json',
          type: 'post',
          success: function (j) {
			  if (j.ok) {
			  	isGood(obj);
			  } else {
				  reportErr(obj, j.msg);
			  }
            //validateUsername.html(j.msg);
          }
        });
      }, 200);
      
      this.lastValue = this.value;
    }
  });
});
*/

//functie voor ajaxvalidatie:
function doKeyUp(obj, isBlur) {
	var ajxurl = null;
	switch(obj.name) {
		case "gebruiker_naam": 	ajxurl='action=check_gebruikersnaam&input='; 	break;
		case "gebruiker_email":	ajxurl='action=check_gebruikersemail&input='; 	break;
		//case "bedrijfsnaam": 	ajxurl='action=check_bedrijfsnaam&input='; 		break;
		case "kvknummer": 		ajxurl='action=check_kvknummer&input='; 		break;
				
		default: 				ajxurl=null;			 						break;
	}
	
	if (ajxurl) {
		var t = obj;
		if (jQuery.trim(obj.value) != obj.lastValue) {
			if (obj.timer) {
				clearTimeout(obj.timer);
			}
			$(obj).parents("label").find(".infopop").removeClass('error').html('<img src="images/ajax-loader.gif" height="16" width="16"> controleert beschikbaarheid...');
			
			obj.timer = setTimeout(function () {
				$.ajax({
					url: 'incl/ajx/ajax-validatie.php',
					data: ajxurl + t.value,
					dataType: 'json',
					type: 'post',
					success: function (j) {
						if (j.ok) {
							$(obj).removeClass("error").parents("label").addClass("isgood").removeClass("error").find(".infopop").removeClass("errorpop").html(j.msg);
							if (isBlur) {isGood(obj);}
						} else {
							reportErr($(obj), j.msg);
						}
					}
				});
			}, 200);
		} else {
			if (isBlur) {isGood(obj);}
		}
	} else {
		if (isBlur) {isGood(obj);}
	}
}

function doFocus(obj) {
	if (!obj.lastValue && obj.lastValue != '') {
		obj.lastValue = jQuery.trim(obj.value);
	}
	//titletext = $(obj).parents("label").attr("title");
	titletext = getInfoText($(obj).attr("name"));
	$(obj).addClass("active").removeClass("error").parents("label").addClass("active").removeClass("error").find(".infopop").removeClass("errorpop").html(titletext).animate({opacity:1,left:512},{
							duration: 520, 
							queue: false});
	//}
}

function doBlur(obj) {
	if (validate(obj)) {
		doKeyUp(obj, true);
	}
}

function reportErr(obj, message) {
	$(obj).addClass("error").parents("label").removeClass("isgood").addClass("error").find(".infopop").html(message).addClass("errorpop").animate({opacity:1,left:512},{
							duration: 520, 
							queue: false});
}

function isGood(obj) {
	$(obj).removeClass("error").removeClass("active").parents("label").addClass("isgood").removeClass("error").removeClass("active").find(".infopop").removeClass("errorpop").animate({opacity:0,left:533},{
							duration: 520, 
							queue: false});
}

function getmask(index) {
	// Extend het jQuery object om Regular expression masks op te nemen die aan eigenschappen zijn toegekend
	mask = null;
	switch (index) {
		case 'huisnummermask': mask=/^[0-9]{1,5}$/;break;
		case 'kvknummermask': mask=/^[0-9]{8}$/;break;
		case 'postcodemask': mask=/^[0-9]{4}(\s)?[A-Za-z]{2}$/;break;
		case 'telefoonmask': mask=/^(([0-9]{10}|[0-9]{3}[\s\-]{1}[0-9]{7}|[0-9]{4}[\s\-]{1}[0-9]{6})|[+]31([0-9]{9}|[0-9]{2}[\s\-]{1}[0-9]{7}|[0-9]{3}[\s\-]{1}[0-9]{6}))$/;break;
		case 'mobielmask': mask=/^((06([0-9]{8}|[\s\-]{1}[0-9]{8}))|[+]316([0-9]{8}|[\s\-]{1}[0-9]{8}))$/;break;
		case 'emailmask': mask=/^[a-z0-9_\-]+(\.[_a-z0-9\-]+)*@([_a-z0-9\-]+\.)+([a-z]{2}|aero|arpa|biz|com|coop|edu|gov|info|int|jobs|mil|museum|name|nato|net|org|pro|travel)$/;break;
		case 'webmask': mask=/^((https?|news):\/\/)?([a-z]([a-z0-9\-]*\.)+([a-z]{2}|aero|arpa|biz|com|coop|edu|gov|info|int|jobs|mil|museum|name|nato|net|org|pro|travel)|(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))(\/[a-z0-9_\-\.~]+)*(\/([a-z0-9_\-\.]*)(\?[a-z0-9+_\-\.%=&amp;]*)?)?(#[a-z][a-z0-9_]*)?$/;break;
		//case 'webmask2': mask=/^(((ht|f){1}(tp:[/][/]){1})|((www.){1}))[-a-zA-Z0-9@:%_\+.~#?&//=]+$/;break;	//Voor als de gewone webmask niet goed werkt
		case 'passwordmask': mask=/^.{5,16}$/;break;
		
		case 'link1': mask=/^(http:\/\/www\.ecabo\.com)(\/[a-z0-9_\-\.~]+)*(\/([a-z0-9_\-\.]*)(\?[a-z0-9+_\-\.%=&amp;]*)?)?(#[a-z][a-z0-9_]*)?$/;break;
		case 'link2': mask=/^(http:\/\/www\.facebook\.com\/people\/@)(\/[a-z0-9_\-\.~]+)*(\/([a-z0-9_\-\.]*)(\?[a-z0-9+_\-\.%=&amp;]*)?)?(#[a-z][a-z0-9_]*)?$/;break;
		case 'link3': mask=/^(http:\/\/www\.funda\.nl)(\/[a-z0-9_\-\.~]+)*(\/([a-z0-9_\-\.]*)(\?[a-z0-9+_\-\.%=&amp;]*)?)?(#[a-z][a-z0-9_]*)?$/;break;
		case 'link4': mask=/^(http:\/\/[a-z]([a-z0-9\-]){1,18}[a-z0-9]\.hyves\.nl)(\/)?$/;break;
		case 'link5': mask=/^(http:\/\/www\.linkedin\.com)(\/[a-z0-9_\-\.~]+)*(\/([a-z0-9_\-\.]*)(\?[a-z0-9+_\-\.%=&amp;]*)?)?(#[a-z][a-z0-9_]*)?$/;break;
		case 'link6': mask=/^(http:\/\/verkopers\.marktplaats\.nl)(\/[a-z0-9_\-\.~]+)*(\/([a-z0-9_\-\.]*)(\?[a-z0-9+_\-\.%=&amp;]*)?)?(#[a-z][a-z0-9_]*)?$/;break;
		case 'link7': mask=/^(http:\/\/www\.rssfeed\.com)(\/[a-z0-9_\-\.~]+)*(\/([a-z0-9_\-\.]*)(\?[a-z0-9+_\-\.%=&amp;]*)?)?(#[a-z][a-z0-9_]*)?$/;break;
		case 'link8': mask=/^(http:\/\/twitter\.com)(\/[a-z0-9_\-\.~]+)*(\/([a-z0-9_\-\.]*)(\?[a-z0-9+_\-\.%=&amp;]*)?)?(#[a-z][a-z0-9_]*)?$/;break;
		case 'link9': mask=/^(http:\/\/www\.monsterboard\.nl)(\/[a-z0-9_\-\.~]+)*(\/([a-z0-9_\-\.]*)(\?[a-z0-9+_\-\.%=&amp;]*)?)?(#[a-z][a-z0-9_]*)?$/;break;
		case 'link10': mask=/^(http:\/\/www\.youtube\.com)(\/[a-z0-9_\-\.~]+)*(\/([a-z0-9_\-\.]*)(\?[a-z0-9+_\-\.%=&amp;]*)?)?(#[a-z][a-z0-9_]*)?$/;break;
		default: mask=null;break;
	}
	/*mask = jQuery.extend({huisnummermask: /^[0-9]{1,5}$/
						, kvknummermask: /^[0-9]{8}$/
						, postcodemask: /^[0-9]{4}(\s)?[A-Za-z]{2}$/
						//, phonemask: /^[0-9\(\)\+\.\s-]{8,}$/i
						, telefoonmask: /^(([0-9]{10}|[0-9]{3}[\s\-]{1}[0-9]{7}|[0-9]{4}[\s\-]{1}[0-9]{6})|[+]31([0-9]{9}|[0-9]{2}[\s\-]{1}[0-9]{7}|[0-9]{3}[\s\-]{1}[0-9]{6}))$/
						//, passwordmask: /^\w{5,}$/
						, emailmask: /^[a-z0-9_\-]+(\.[_a-z0-9\-]+)*@([_a-z0-9\-]+\.)+([a-z]{2}|aero|arpa|biz|com|coop|edu|gov|info|int|jobs|mil|museum|name|nato|net|org|pro|travel)$/
						//, emailmask: /^([a-z0-9\+_\-]+)(\.[a-z0-9\+_\-]+)*@([a-z0-9\-]+\.)+[a-z]{2,6}$/
						, webmask: /^((https?|news):\/\/)([a-z]([a-z0-9\-]*\.)+([a-z]{2}|aero|arpa|biz|com|coop|edu|gov|info|int|jobs|mil|museum|name|nato|net|org|pro|travel)|(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))(\/[a-z0-9_\-\.~]+)*(\/([a-z0-9_\-\.]*)(\?[a-z0-9+_\-\.%=&amp;]*)?)?(#[a-z][a-z0-9_]*)?$/
						});*/
	return mask;
}

function geterrmsg(index) {
	// Extend het jQuery object om foutmeldingen toe te voegen die aan eigenschappen zijn toegekend
	switch(index) {
		case "reqerr": 			errmsg = "Dit veld is verplicht"; 									break;	//verplicht veld
		case "huisnummererr": 	errmsg = "Ongeldig huisnummer"; 									break;
		case "kvknummererr": 	errmsg = "Ongeldig kvk-nummer: deze moet uit 8 cijfers bestaan"; 	break;
		case "postcodeerr": 	errmsg = "Ongeldige postcode"; 										break;
		case "telefoonerr": 	errmsg = "Ongeldige invoer: gebruik alleen cijfers"; 				break;
		case "mobielerr": 		errmsg = "Ongeldige invoer: gebruik alleen cijfers"; 				break;
		case "emailerr": 		errmsg = "Ongeldig emailadres"; 									break;
		case "weberr": 			errmsg = "Ongeldig webadres"; 										break;	
		case "matcherr": 		errmsg = "Moet overeenkomen"; 										break;
		
		//case "textfielderr": errmsg = "Minimaal 5 letters"; break;
		//case "phoneerr": errmsg = "Vergeet het kengetal niet"; break;
		case "passworderr": 	errmsg = "Gebruik 5 tot 16 karakters"; break;
		//case "emailerr": errmsg = "Ongeldig adres"; break;
		
		case "link1err":		errmsg = "Fout!"; break;
		case "link2err":		errmsg = "Fout!"; break;
		case "link3err":		errmsg = "Fout!"; break;
		case "link4err":		errmsg = "Fout!"; break;
		case "link5err":		errmsg = "Fout!"; break;
		case "link6err":		errmsg = "Fout!"; break;
		case "link7err":		errmsg = "Fout!"; break;
		case "link8err":		errmsg = "Fout!"; break;
		case "link9err":		errmsg = "Fout!"; break;
		case "link10err":		errmsg = "Fout!"; break;
		default: 				errmsg = "Onbekende fout"; 								break;
	}
	
	return errmsg;
}

function getInfoText(name) {
	switch(name) {
		//Voor ContactForm:
		case "ccontact": 			infomsg = "Vul de contactpersoon in"; 										break;
		case "cnaam": 				infomsg = "Vul eventueel de bedrijfsnaam in"; 								break;
		case "cstraat": 			infomsg = "Vul de straatnaam in"; 											break;
		case "chuisnummer": 		infomsg = "Vul het huisnummer in"; 											break;
		case "ctoevoeging": 		infomsg = "Vul een eventuele toevoeging aan het huisnummer in"; 			break;
		case "cpostcode": 			infomsg = "Vul de postcode in"; 											break;
		case "cplaats": 			infomsg = "Kies de plaats"; 												break;
		case "ckvknummer": 			infomsg = "Vul het bij de Kamer van Koophandel gerigistreerde nummer in";	break;
		case "ctelefoon": 			infomsg = "Vul het telefoonnummer in"; 										break;
		case "cmobiel": 			infomsg = "Vul het mobiele nummer in"; 										break;
		case "cemail": 				infomsg = "Vul het e-mail adres in."; 										break;
		case "cwebsite": 			infomsg = "Vul hier eventueel het url van uw website in"; 					break;
		case "conderwerp": 			infomsg = "Vul hier het onderwerp in"; 										break;
		case "cbericht": 			infomsg = "Vul hier uw bericht in"; 										break;
		
		//Voor ZoekForm:
		case "zoekrubriek": 		infomsg = "Zoek op bedrijfsnaam, rubriek of beroep"; 					break;
		case "zoekplaats": 			infomsg = "Zoek op plaats, gemeente of postcode"; 						break;
		
		//Voor InlogForm:
		case "logingebruiker": 			infomsg = "Voer je gebruikersnaam in"; 								break;
		case "loginwachtwoord": 		infomsg = "Voer je wachtwoord in"; 									break;
		
		//Voor AccountForm:
		case "gebruiker_naam": 			infomsg = "Vul hier uw gebruikersnaam in"; 							break;
		case "wachtwoord1": 			infomsg = "Vul hier uw wachtwoord in"; 								break;
		case "wachtwoord2": 			infomsg = "Vul hier uw wachtwoord opnieuw in"; 						break;
		case "gebruiker_email": 		infomsg = "Vul hier uw emailadres in"; 								break;
		case "gebruiker_voornaam": 		infomsg = "Vul hier uw voornaam in"; 								break;
		case "gebruiker_achternaam":	infomsg = "Vul hier uw achternaam in"; 								break;
				
		//Voor BedrijfForm:
		case "bedrijfsnaam":	infomsg = "Vul de bedrijfsnaam in"; 										break;
		case "contact": 		infomsg = "Vul de contactpersoon in"; 										break;
		case "straat": 			infomsg = "Vul de straatnaam in"; 											break;
		case "huisnummer": 		infomsg = "Vul het huisnummer in"; 											break;
		case "toevoeging": 		infomsg = "Vul een eventuele toevoeging aan het huisnummer in"; 			break;
		case "postcode": 		infomsg = "Vul de postcode in"; 											break;
		case "provincie": 		infomsg = "Kies de provincie"; 												break;	
		case "plaats": 			infomsg = "Kies de plaats"; 												break;
		case "kvknummer": 		infomsg = "Vul het bij de Kamer van Koophandel gerigistreerde nummer in";	break;
		case "telefoon": 		infomsg = "Vul het telefoonnummer in"; 										break;
		case "mobiel": 			infomsg = "Vul het mobiele nummer in"; 										break;
		case "fax": 			infomsg = "Vul het faxnummer in"; 											break;
		case "email": 			infomsg = "Vul het e-mail adres in."; 										break;
		case "zichtbaar": 		infomsg = "Mag dit e-mail adres zichtbaar zijn voor bezoekers van ReclamevoorBedrijven.nl?";				break;
		case "website": 		infomsg = "Vul hier het url van de website in"; 							break;
		case "omschrijving": 	infomsg = "Type een korte omschrijving van uw bedrijf hierdoor wordt u nog beter gevonden door onze Internet bezoekers";		break;
		case "hoofdrubriek": 	infomsg = "Deze hoofdrubriek is toonaangevend op onze website, zoek een rubriek uit die het beste past bij uw bedrijf."; 									break;
		case "rubrieken[]": 		infomsg = "Kies nog een extra rubriek die ook past bij dit bedrijf. Hierdoor wordt uw bedrijf nog eerder gevonden via onze zoekfunctie"; 																								break;
		case "mailing": 		infomsg = "Wij vragen u om deze optie aan te laten staan zodat we u op de hoogte kunnen en mogen houden met relefante nieuws over onze website. Wij zullen u niet overdonderen met reclame. "; 				break;
		
		/*bedrijfsiconen*/
		case "link1": 		infomsg = "Ecabo"; 										break;
		case "link2": 		infomsg = "Facebook"; 									break;
		case "link3": 		infomsg = "Funda"; 										break;
		case "link4": 		infomsg = "Hyves"; 										break;	
		case "link5": 		infomsg = "Linkedin"; 									break;
		case "link6": 		infomsg = "Marktplaats";								break;
		case "link7": 		infomsg = "Rss feed"; 									break;
		case "link8": 		infomsg = "Twitter"; 									break;
		case "link9": 		infomsg = "Monsterboard"; 								break;
		case "link10": 		infomsg = "Youtube";									break;
		case "actief1": 		infomsg = "Ecabo"; 									break;
		case "actief2": 		infomsg = "Facebook"; 								break;
		case "actief3": 		infomsg = "Funda"; 									break;
		case "actief4": 		infomsg = "Hyves"; 									break;	
		case "actief5": 		infomsg = "Linkedin"; 								break;
		case "actief6": 		infomsg = "Marktplaats";							break;
		case "actief7": 		infomsg = "Rss feed"; 								break;
		case "actief8": 		infomsg = "Twitter"; 								break;
		case "actief9": 		infomsg = "Monsterboard"; 							break;
		case "actief10": 		infomsg = "Youtube";								break;
		
		
		default: 				infomsg = ""; 																break;
	}
	
	return infomsg;
}

function validate(obj) {
	// Extend het jQuery object om Regular expression masks op te nemen die aan eigenschappen zijn toegekend
	//mask = jQuery.extend({textfieldmask: /^[a-z\.\s-]{5,}$/i,phonemask: /^[0-9\(\)\+\.\s-]{8,}$/i,passwordmask: /^\w{5,}$/, emailmask:/^([a-z0-9\+_\-]+)(\.[a-z0-9\+_\-]+)*@([a-z0-9\-]+\.)+[a-z]{2,6}$/});
	// Extend het jQuery object om foutmeldingen toe te voegen die aan eigenschappen zijn toegekend
	//errmsg = jQuery.extend({reqerr:"Dit veld is verplicht",textfielderr:"Minimaal 5 letters",phoneerr: "Vergeet het kengetal niet",passworderr:"Minimaal 5 karakters",emailerr:"Ongeldig adres",matcherr: "Moet overeenkomen"});

	// Stel variabelen in die de details bevatten van welk masker we gaan gebruiken en of dit veld overeen moet komen met een ander veld
	var masktouse = null;
	var mustmatch = null;
	// Bepaal tegen welk mask-type we gaan valideren
	switch(obj.name) {
		//Voor inlogform:
		//case "logingebruiker": 	masktouse="textfieldmask"; 	errtouse="textfielderr"; 	break;
		//case "wachtwoord":		masktouse=null; 			errtouse="textfielderr"; 	break;
		
		//Voor BedrijfForm:
		case "huisnummer": 	masktouse="huisnummermask"; errtouse="huisnummererr"; 	break;
		case "kvknummer": 	masktouse="kvknummermask"; 	errtouse="kvknummererr"; 	break;
		case "postcode": 	masktouse="postcodemask"; 	errtouse="postcodeerr"; 	break;
		case "telefoon": 	masktouse="telefoonmask"; 	errtouse="telefoonerr"; 	break;
		case "mobiel": 		masktouse="mobielmask"; 	errtouse="mobielerr"; 		break;
		case "fax": 		masktouse="telefoonmask"; 	errtouse="telefoonerr"; 	break;
		case "email": 		masktouse="emailmask"; 		errtouse="emailerr"; 		break;
		case "website":		masktouse="webmask"; 		errtouse="weberr"; 			break;
		
		//Voor gebruikerForm:
		//case "gebruiker_email":	masktouse="emailmask"; 		errtouse="emailerr"; 		break;	//Niet nodig, omdat dit beter direct in de ajax-check kan, dan zien we direct ook resultaat(msg)!
		case "wachtwoord1": 	masktouse="passwordmask"; 	errtouse="passworderr"; 	mustmatch="wachtwoord2";	break;
		case "wachtwoord2": 	masktouse="passwordmask"; 	errtouse="passworderr"; 	mustmatch="wachtwoord1"; 	break;
		
		/*case "name": 		masktouse="textfieldmask"; 		errtouse="textfielderr"; 	break;
		case "phone": 		masktouse="phonemask"; 			errtouse="phoneerr"; 		break;
		case "username": 	masktouse="textfieldmask"; 		errtouse="textfielderr"; 	break;
		case "email": 		masktouse="emailmask"; 			errtouse="emailerr"; 		break;
		case "password": 	masktouse="passwordmask"; 		errtouse="passworderr"; 	mustmatch="verpassword";	break;
		case "verpassword": masktouse="passwordmask"; 		errtouse="passworderr"; 	mustmatch="password"; 		break;*/
		
		case "link1":		masktouse="link1"; 		errtouse="link1err"; 			break;
		case "link2":		masktouse="link2"; 		errtouse="link2err"; 			break;
		case "link3":		masktouse="link3"; 		errtouse="link3err"; 			break;
		case "link4":		masktouse="link4"; 		errtouse="link4err"; 			break;
		case "link5":		masktouse="link5"; 		errtouse="link5err"; 			break;
		case "link6":		masktouse="link6"; 		errtouse="link6err"; 			break;
		case "link7":		masktouse="link7"; 		errtouse="link7err"; 			break;
		case "link8":		masktouse="link8"; 		errtouse="link8err"; 			break;
		case "link9":		masktouse="link9"; 		errtouse="link9err"; 			break;
		case "link10":		masktouse="link10"; 	errtouse="link10err"; 			break;
		
		default: 			masktouse=null;			 		errtouse=null; 		break;
	}
//	alert("1");
	//if (doKeyUp(obj)) {
		// Controleer of het element een verplicht veld is, voordat we er tegen gaan valideren
		if($(obj).parents("label").hasClass("required") && masktouse) {
			// Verplicht veld met regex
			
			// Stel een snelle manier in om het object dat we valideren te bereiken
			//pointer = $(obj);
			// Test de waarde van het veld tegen de Regular Expression 
			//return testreg($(obj), mustmatch, mask[masktouse]);
			return testreg($(obj), mustmatch, getmask(masktouse));
		} else if ($(obj).parents("label").hasClass("required") ) {
			// Verplicht veld
			check = null;
			//Moeten we vergelijken met select- of een input-veld(en)?
			switch (obj.nodeName) {
				case 'SELECT': check=-1;	break;
				case 'INPUT': check='';		break;
				case 'TEXTAREA': check='';		break;
			}
			var arrayOfDropdowns = $(obj).parents("label").find("select").get();
			if (arrayOfDropdowns.length > 1) {
				//Als we een array van selectvelden hebben (bv rubrieken)
				val = jQuery.isArray(arrayOfDropdowns);
				len = arrayOfDropdowns.length;
				var ok = false;
				for (var i = 0; i < len; i++) {
					if (arrayOfDropdowns[i].value != check) {
						ok = true;
					}
				}
				if (!ok) {
					reportErr(obj, geterrmsg("reqerr"));	
					return false;
				} else {
					return true;
				}
			} else if (jQuery.trim($(obj).val()) == check) {
				// Veld (input of select) is verplicht maar niet ingevuld en er is geen mask ingesteld
				reportErr(obj, geterrmsg("reqerr"));	
				return false;
			} else {
				//Veld is verplicht en goed ingevuld en heeft geen mask ingesteld
				return true;
			}
		} else if (masktouse) {
			// Dit is geen verplicht veld, maar er is wel een mask ingesteld
			// Stel een snelle manier in om het object dat we valideren te bereiken
			//pointer = $(obj);
			// Test de waarde van het veld tegen de Regular Expression 
			if (jQuery.trim($(obj).val()) == '') {
				return true;
			} else {
				return testreg($(obj), mustmatch, getmask(masktouse));
			}
		} else if (mustmatch) {	
			return testreg($(obj), mustmatch, getmask(masktouse));
		} else {
			// Dit is geen verplicht veld en geen mask ingesteld, dus hoeven we dit nergens tegen te valideren			
			return true;
		}
}

function testreg(pointer, mustmatch, mask) {
	// Test de waarde van het veld tegen de Regular Expression 
	if (mask.test( jQuery.trim(pointer.val()) ) ) {
		// Het veld is succesvol gevalideerd!
		
		// Kijk of het veld overeen moet komen met een ander veld binnen het formulier
		if (mustmatch) {
			// Het moet overeenkomen, dus pak het object waarmee het overeen moet komen 
			matchobj = $("#"+mustmatch);
			//alert(matchobj.val() + " " + pointer.val());
			
			if ( jQuery.trim(matchobj.val()) != '' && jQuery.trim(matchobj.val()) != jQuery.trim(pointer.val()) ) {
				// De velden komen niet overeen, dus laat een foutmelding voor beide zien
				reportErr(pointer, geterrmsg("matcherr"));	
				reportErr(matchobj, geterrmsg("matcherr"));
				return false;
			} else {
				// Of de velden komen overeen, of het veld is nog niet afgerond
				// Als het andere veld afgerond is roep je de isGood-functie om de foutmeldingen te verwijderen
				if ( jQuery.trim(matchobj.val()) != '' ) { isGood(matchobj);}
				return true;
			}
		} else {
			// Er hoeft niets gechecked te worden, dus return true - validatie gelukt!
			return true;
		} 
	} else { 
		// De validatie van dit veld met een Regular Expression mislukt
		reportErr(pointer,geterrmsg(errtouse));
		return false; 
	}	
}

function onOffField(elem) {
	/*
	Aan en uischakelen van een element (disabelen)
	Gebruikt in bedrijfsiconen.php
	*/
	if ($(elem).attr("disabled") == true) {
		$(elem).attr("disabled", false);
		$(elem).css("display", "block").animate({opacity:1},{
							duration: 520, 
							queue: false});
		//elem.style.display = 'block';
	} else {
		//elem.value = "";
		$(elem).attr("disabled", true);
		$(elem).css("display", "none").animate({opacity:0},{
							duration: 520, 
							queue: false});
		//elem.style.display = 'none';
		//elem.disabled = true;
	}
}