//Javascript voor gebruik in formulieren
//maakt gebruik van jQuery!
function plaats() {
	//Deze voor ajxPlaatsSelect werkt nog niet...
	
	function updatePlaats(obj) {
		//ajx:
		var url="incl/ajx/ajxselectplaats.php";
		url=url+"?provincie="+$(obj).val();//provincie;
		$("#tbodyPlaats").load(url, {}, function() { 
			var labelP = $('#selectPlaats').parents("label");
			//label.append("<div class=\"infopop\">");	
			$(labelP).each(function(){
				$(obj).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(obj);
				}).blur(function(){
					// select veld verliest Focus
					doBlur(obj);
				});
			});
			//$('#selectPlaats').focus();
		});
	}
	
	$("select[name='provincie']").change(function(){updatePlaats(this)}).keyup(function(){updatePlaats(this)});
	
	
}

$(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 kunt 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 kunt 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})((( [\-] )|[\-])([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 'skypemask': mask=/^([a-zA-Z]{1})([a-zA-Z0-9\-\.]{5})([a-zA-Z0-9\-\.]{0,26})?$/;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-zA-Z0-9_\-]+(\.[_a-zA-Z0-9\-]+)*@([_a-zA-Z0-9\-]+\.)+([a-zA-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-zA-Z]([a-zA-Z0-9\-]*\.)+([a-zA-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-zA-Z0-9_\-\.~]+)*(\/([a-zA-Z0-9_\-\.]*)(\?[a-zA-Z0-9+_\-\.%=&amp;]*)?)?(#[a-zA-Z][a-zA-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-zA-Z0-9_\-\.~]+)*(\/([a-zA-Z0-9_\-\.]*)(\?[a-zA-Z0-9+_\-\.%=&amp;]*)?)?(#[a-zA-Z][a-zA-Z0-9_]*)?$/;break;
		case 'link2': mask=/^(http:\/\/(www\.)?facebook\.com)(\/people\/@)?(\/[a-zA-Z0-9_\-\.~]+)*(\/([a-zA-Z0-9_\-\.]*)(\?[a-zA-Z0-9+_\-\.%=&amp;]*)?)?(#[a-zA-Z][a-zA-Z0-9_]*)?$/;break;
		case 'link3': mask=/^(http:\/\/www\.funda\.nl)(\/[a-zA-Z0-9_\-\.~]+)*(\/([a-zA-Z0-9_\-\.]*)(\?[a-zA-Z0-9+_\-\.%=&amp;]*)?)?(#[a-zA-Z][a-zA-Z0-9_]*)?$/;break;
		case 'link4': mask=/^(http:\/\/)(www\.)?(([a-zA-Z]([a-zA-Z0-9\-]){1,18}[a-zA-Z0-9])|www)(\.hyves\.nl)(\/[a-zA-Z0-9_\-\.~]+)*(\/([a-zA-Z0-9_\-\.]*)(\?[a-zA-Z0-9+_\-\.%=&amp;]*)?)?(#[a-zA-Z][a-zA-Z0-9_]*)?$/;break;
		case 'link5': mask=/^(http:\/\/(www|nl)\.linkedin\.com)(\/[a-zA-Z0-9_\-\.~]+)*(\/([a-zA-Z0-9_\-\.]*)(\?[a-zA-Z0-9+_\-\.%=&amp;]*)?)?(#[a-zA-Z][a-zA-Z0-9_]*)?$/;break;
		case 'link6': mask=/^(http:\/\/verkopers\.marktplaats\.nl)(\/[a-zA-Z0-9_\-\.~]+)*(\/([a-zA-Z0-9_\-\.]*)(\?[a-zA-Z0-9+_\-\.%=&amp;]*)?)?(#[a-zA-Z][a-zA-Z0-9_]*)?$/;break;
		case 'link7': mask=/^(http:\/\/)([a-zA-Z]([a-zA-Z0-9\-]*\.)+([a-zA-Z]{2}|biz|com|edu|gov|info|int|jobs|museum|net|org|pro|travel))(\/[a-zA-Z0-9_\-\.~]+)*(\/([a-zA-Z0-9_\-\.]*)(\?[a-zA-Z0-9+_\-\.%=&amp;]*)?)?(#[a-zA-Z][a-zA-Z0-9_]*)?$/;break;
		case 'link8': mask=/^(http:\/\/twitter\.com)(\/[a-zA-Z0-9_\-\.~]+)*(\/([a-zA-Z0-9_\-\.]*)(\?[a-zA-Z0-9+_\-\.%=&amp;]*)?)?(#[a-zA-Z][a-zA-Z0-9_]*)?$/;break;
		case 'link9': mask=/^(http:\/\/www\.monsterboard\.nl)(\/[a-zA-Z0-9_\-\.~]+)*(\/([a-zA-Z0-9_\-\.]*)(\?[a-zA-Z0-9+_\-\.%=&amp;]*)?)?(#[a-zA-Z][a-zA-Z0-9_]*)?$/;break;
		case 'link10': mask=/^(http:\/\/www\.youtube\.com)(\/[a-zA-Z0-9_\-\.~]+)*(\/([a-zA-Z0-9_\-\.]*)(\?[a-zA-Z0-9+_\-\.%=&amp;]*)?)?(#[a-zA-Z][a-zA-Z0-9_]*)?$/;break;
		case 'link11': mask=/^(http:\/\/www\.flickr\.com)(\/[a-zA-Z0-9_\-\.~@]+)*(\/([a-zA-Z0-9_\-\.@]*)(\?[a-zA-Z0-9+_\-\.%=&amp;]*)?)?(#[a-zA-Z][a-zA-Z0-9_]*)?$/;break;
		case 'link12': mask=/^(http:\/\/www\.keurmerk\.info)(\/[a-zA-Z0-9_\-\.~]+)*(\/([a-zA-Z0-9_\-\.]*)(\?[a-zA-Z0-9+_\-\.%=&amp;]*)?)?(#[a-zA-Z][a-zA-Z0-9_]*)?$/;break;
		case 'link13': mask=/^(http:\/\/www\.eigenhuismakelaar\.nl)(\/[a-zA-Z0-9_\-\.~@]+)*(\/([a-zA-Z0-9_\-\.@]*)(\?[a-zA-Z0-9+_\-\.%=&amp;]*)?)?(#[a-zA-Z][a-zA-Z0-9_]*)?$/;break;
		case 'link14': mask=/^(https?:\/\/)([a-zA-Z]([a-zA-Z0-9\-]*\.)+([a-zA-Z]{2}|biz|com|edu|gov|info|int|jobs|museum|net|org|pro|travel))(\/[a-zA-Z0-9_\-\.~]+)*(\/([a-zA-Z0-9_\-\.]*)(\?[a-zA-Z0-9+_\-\.%=&amp;]*)?)?(#[a-zA-Z][a-zA-Z0-9_]*)?$/;break;
		case 'link15': mask=/^(http:\/\/www\.motoroccasion\.nl)(\/[a-zA-Z0-9_\-\.~]+)*(\/([a-zA-Z0-9_\-\.]*)(\?[a-zA-Z0-9+_\-\.%=&amp;]*)?)?(#[a-zA-Z][a-zA-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 "skypeerr": 		errmsg = "Ongeldige invoer: gebruik alleen letters en cijfers en begin met een letter";	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;
		case "link11err":		errmsg = "Fout!"; break;
		case "link12err":		errmsg = "Fout!"; break;
		case "link13err":		errmsg = "Fout!"; break;
		case "link14err":		errmsg = "Fout!"; break;
		case "link15err":		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;
		case "gebruiker_mailing": 		infomsg = "Wij vragen u om deze optie aan te laten staan zodat we u op de hoogte kunnen en mogen houden met relevante nieuws over onze website. Wij zullen u niet overdonderen met reclame. "; 		break;
		
		//Voor Wachtwoord opvragen:
		case "gebruiker_email_opvragen": 	infomsg = "Vul hier uw emailadres 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 "skype":	 		infomsg = "Vul uw skypenaam 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 = "Typ 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 relevante 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 "link11": 		infomsg = "Flickr";										break;
		case "link12": 		infomsg = "Webshop-keurmerk";							break;
		case "link13": 		infomsg = "Eigen huis";									break;
		case "link14": 		infomsg = "Webwinkel";									break;
		case "link15": 		infomsg = "Motoroccasion";									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;
		case "actief11": 	infomsg = "Flickr";										break;
		case "actief12": 	infomsg = "Webshop-keurmerk";							break;
		case "actief13": 	infomsg = "Eigen huis";									break;
		case "actief14": 	infomsg = "Webwinkel";									break;
		case "actief15": 	infomsg = "Motoroccasion";									break;
		
		/*stuurtip form*/
		case "accountemail":infomsg = "Hier uw mailadress, u mag deze ook wijzigen."; 				break;
		case "emailaan": 	infomsg = "Hier het mailadres van de persoon die u wilt tippen."; 		break;
		case "bericht":		infomsg = "Hier kunt u een persoonlijke bericht mee geven aan de tip.";	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 "skype": 		masktouse="skypemask"; 		errtouse="skypeerr"; 		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 "accountemail": 	masktouse="emailmask"; 			errtouse="emailerr"; 		break;
		case "emailaan": 		masktouse="emailmask"; 			errtouse="emailerr"; 		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;*/
		
		//Voor wachtwoord opvragen:
		case "gebruiker_email_opvragen":	masktouse="emailmask"; 		errtouse="emailerr"; 		break;	
		
		//Voor Iconenform:
		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;
		case "link11":		masktouse="link11"; 	errtouse="link11err"; 			break;
		case "link12":		masktouse="link12"; 	errtouse="link12err"; 			break;
		case "link13":		masktouse="link13"; 	errtouse="link13err"; 			break;
		case "link14":		masktouse="link14"; 	errtouse="link14err"; 			break;
		case "link15":		masktouse="link15"; 	errtouse="link15err"; 			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;
	}
}

function gotoPage(page) {
	/*
	Wordt gebruikt voor POST pagina-selectors (in beheer)
	*/
	$("#gotopage").val(page);
	$("#pageswitcher").click();
}

/* Check/UnCheck alle checkboxes van 1 name */
function SetAllCheckBoxes(FormName, FieldName, CheckValue)
{
	if(!document.forms[FormName])
		return;
	var objCheckBoxes = document.forms[FormName].elements[FieldName];
	if(!objCheckBoxes)
		return;
	var countCheckBoxes = objCheckBoxes.length;
	if(!countCheckBoxes)
		objCheckBoxes.checked = CheckValue;
	else
		// set the check value for all check boxes
		for(var i = 0; i < countCheckBoxes; i++)
			objCheckBoxes[i].checked = CheckValue;
}
