﻿/* url validator */

function isValidURL(url) {
    var RegExp = /^(([\w]+:)?\/\/)?(([\d\w]|%[a-fA-f\d]{2,2})+(:([\d\w]|%[a-fA-f\d]{2,2})+)?@)?([\d\w][-\d\w]{0,253}[\d\w]\.)+[\w]{2,4}(:[\d]+)?(\/([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)*(\?(&?([-+_~.\d\w]|%[a-fA-f\d]{2,2})=?)*)?(#([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)?$/;

	if(RegExp.test(url)) {
		return true;
    } else {
		return false;
    }
}


/* email validator */

function isValidEmail(email) {
    var RegExp = /^((([a-z]|[0-9]|!|#|$|%|&|'|\*|\+|\-|\/|=|\?|\^|_|`|\{|\||\}|~)+(\.([a-z]|[0-9]|!|#|$|%|&|'|\*|\+|\-|\/|=|\?|\^|_|`|\{|\||\}|~)+)*)@((((([a-z]|[0-9])([a-z]|[0-9]|\-){0,61}([a-z]|[0-9])\.))*([a-z]|[0-9])([a-z]|[0-9]|\-){0,61}([a-z]|[0-9])\.)[\w]{2,4}|(((([0-9]){1,3}\.){3}([0-9]){1,3}))|(\[((([0-9]){1,3}\.){3}([0-9]){1,3})\])))$/

	if(RegExp.test(email)) {
        return true;
    } else {
        return false;
    }
}


/* formulier validator */

function checkrequired(which) {
    var pass=true;
    var passemail=true;
    var passalt=true;
    var passlink=true;
    var passrlink=true;
    var postcode1=true;
    var postcode2=true;

    if (document.images) {
      	for (i=0;i<which.length;i++) {
      		var tempobj=which.elements[i];

        	/* r velden die verplicht zijn valideren */

        	if (tempobj.name.substring(0,2)=="r_") {
          		if (((tempobj.type=="text"||tempobj.type=="textarea"||tempobj.type=="file"||tempobj.type=="select")&&
          			tempobj.value=='')||(tempobj.type.toString().charAt(0)=="s"&&
          			tempobj.selectedIndex==0)) {
         	 		pass=false;
          			break;
        		}
      		}

      		/* email validatie */

      		if(tempobj.name=="r_email") {
				if(!isValidEmail(form.r_email.value)) {
					passemail=false;
					break;
				}
      		}

      		/* alt afbeelding validatie */

      		if(tempobj.name=="afbeelding") {
				if(form.afbeelding.value!='') {

					if(form.alt.value=='') {
						passalt=false;
						break;
					}
				}
      		}

      		/* link validatie */

      		if(tempobj.name=="link") {
				if(form.link.value!='') {

					if(!isValidURL(form.link.value)) {
						passlink=false;
						break;
					}
				}
      		}

      		if(tempobj.name=="r_link") {
				if(!isValidURL(form.r_link.value)) {
					passrlink=false;
					break;
				}
      		}
    	}
  	}

  	if(!pass) {
    	shortFieldName=tempobj.name.substring(2,30).toUpperCase();
    	alert("Het invoerveld "+shortFieldName+" is verplicht!");
    	return false;
  	}

    if(!passemail) {
    	alert("Ongelding e-mail adres!");
    	return false;
    }

    if(!passalt) {
    	alert("U moet nog alt informatie aan de afbeelding geven!");
    	return false;
    }

    if(!passlink) {
    	alert("Ongeldige link!");
    	return false;
    }

    if(!passrlink) {
    	alert("Ongeldige link!");
    	return false;
    }
}
