//Pixelindustries Validator 1.0

fValDefaultMessage="Het veld '%fieldname%' is niet correct ingevuld."

fVal=new Array;

FV_EMPTY	= /\S+/
FV_POSTCODE	= /^[0-9]{4}\s*[a-zA-Z]{2}$/
FV_EMAIL	= /^[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)*@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/
FV_NUMBER	= /^\d+([\s\.\,]?\d)*$[a-zA-Z]/
FV_TELNUM	= /^\d{2}[-\s]?\d{8}$|^\d{3}[-\s]?\d{7}$|^\d{4}[-\s]?\d{4,6}$/
FV_USERNAME	= /^\w{4,}$/
FV_MOBIEL	= /^\d{2}[-\s]?\d{8}$|^\d{3}[-\s]?\d{10}$|^\d{4}[-\s]?\d{4,6}$/

function setTextVal(name,re,opt,msg){fVal[name]=[re,opt||0,msg||fValDefaultMessage];}
function setSelectVal(name,msg){fVal[name]=["sel",msg||fValDefaultMessage];}
function setCheckVal(nameArr,min,msg){fVal[nameArr[0]||nameArr]=["chk",nameArr,min,msg||fValDefaultMessage];}
function setRadioVal(name,msg){fVal[name]=["rad",msg||fValDefaultMessage];}

function trim(str){return str.replace(/^\s+|\s+$/g,'')}

function badInput(frmEle,msg,nameArr){
	alert(msg.replace(/%fieldname%/g,nameArr||frmEle.name));
	if(frmEle.focus) frmEle.focus();
	return false;
}

function formVal(frm){
	for(var i=0;i<frm.elements.length;i++){
		var frmEle=frm.elements[i];
		if(fVal[frmEle.name]){
			var eleVal=fVal[frmEle.name];
			if(eleVal[0]=="sel"){
				if(!frmEle[frmEle.selectedIndex].value) return badInput(frmEle,eleVal[1]);
			}else if(eleVal[0]=="chk"){
				var chkCnt=0;
				if(eleVal[1].indexOf){
					for(var j=0;j<frm.elements[eleVal[1]].length;j++){
						if(frm.elements[eleVal[1]][j].checked) chkCnt++;
					}	if(chkCnt<eleVal[2]) return badInput(frmEle,eleVal[3]);
				}else{
					for(var j=0;j<eleVal[1].length;j++){
						if(frm.elements[eleVal[1][j]].checked) chkCnt++;
					}	if(chkCnt<eleVal[2]) return badInput(frmEle,eleVal[3],eleVal[1]);
				}
			}else if(eleVal[0]=="rad"){
				var radCnt=0;
				for(var k=0;k<frm.elements[frmEle.name].length;k++){
					if(frm.elements[frmEle.name][k].checked) radCnt++;
				}	if(radCnt<1) return badInput(frmEle,eleVal[1]);
			}else{
				frmEle.value=trim(frmEle.value);
				var doChk=(eleVal[1]==0||(eleVal[1]==1&&frmEle.value.length>0));
				if(doChk&&!eleVal[0].test(frmEle.value)) return badInput(frmEle,eleVal[2]);
			}
		}
	}
	return fValCustomVal(frm);
}

function fValCustomVal(frm){
	return true;
}