var error = '';
function validate(values){//values => ([0]['type'] = 'float', ['id'] = 'veld_id', 
	error = '';
	$.each(values, function (i, elem) {
		switch(elem.type){
			case 'float':
				isFloat(elem.id);
				break;
			case 'email':
				isEmail(elem.id);
				break;
			case 'notempty':
				notEmpty(elem.id);
				break;
			case 'alnum':
				isAlnum(elem.id);
				break;case 'alnum':
			case 'alphanum':
				isAlphaNum(elem.id);
				break;
			case 'postalcode':
				isZipcodeEU(elem.id);
				break;
		}
	});
	
	if(error != ''){
		alert(error);
		return false;
	}else{
		return true;
		//document.forms[form_id].submit();
	}
}

function isAlnum(elem_id) {
	var reg = new RegExp(/[0-9]/);
	var alnum = trim(document.getElementById(elem_id).value);

    if (!alnum.match(reg)){
      error += 'Fout: Vul een getal in voor ' + elem_id + '.' + "\n";
   }
}

function isAlphaNum(elem_id) {
	var reg = new RegExp(/^([a-zA-Z0-9_-]+)$/);
	var alphanum = trim(document.getElementById(elem_id).value);
    if (!alphanum.match(reg)){
      error += 'Fout: Vul een alphanumerieke waarde in voor ' + elem_id + '.' + "\n";
   }
}

function isFloat(elem_id) {
	var reg = new RegExp(/\.?\d[\d.,]*/g);
	var myFloat = trim(document.getElementById(elem_id).value);
    if (!myFloat.match(reg) || !myFloat.match(reg2)){
      error += 'Fout: Bedrag voor ' + elem_id + '.' + "\n";
   }
}

function isEmail(elem_id) {
   var reg = new RegExp(/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/);
   var address = trim(document.getElementById(elem_id).value);
   if (!address.match(reg)){
      error += 'Fout: Email Adres.' + "\n";
   }
}

function isZipcodeEU(elem_id){
	var reg = new RegExp(/([0-9]){4}\s{1}([A-Z]){2}/);
	var code = trim(document.getElementById(elem_id).value);
   if (!code.match(reg)){
      error += 'Fout: postcode.' + "\n";
   }
}

function notEmpty(elem_id){
	var reg = new RegExp(/\S/);
	var myStr = trim(document.getElementById(elem_id).value);
	if (!myStr.match(reg)){
      error += 'Fout: Het veld is leeg: ' + elem_id + '.' + "\n";
	}
}

function trim(value) {
  value = value.replace(/^\s+/,'');
  value = value.replace(/\s+$/,'');
  return value;
}
