var validateFields=new Array();var var_msg='Errors:';function Trim(STRING){STRING=LTrim(STRING);return RTrim(STRING);}
function RTrim(STRING){while(STRING.charAt((STRING.length-1))==" "){STRING=STRING.substring(0,STRING.length-1);}
return STRING;}
function LTrim(STRING){while(STRING.charAt(0)==" "){STRING=STRING.replace(STRING.charAt(0),"");}
return STRING;}
function initvalidateFields(sender){validateFields[sender]=new Array();}
function setMessage(msg){var_msg=msg;}
function setValidatorValues(sender,field,check,message,regex,len){validateFields[sender][validateFields[sender].length]=new Array(field,check,message,regex,len);}
function validateForm(sender,myarray,err_hd){var err_msg=!err_hd?new Array('Folgende Fehler sind aufgetreten:\n'):new Array(err_hd+'\n');var error=false;var field='';for(var i=0;i<myarray[sender].length;i++){field=document.forms[sender].elements[myarray[sender][i][0]];if(myarray[sender][i][1].indexOf('e')>-1){if(Trim(field.value)==''){if((field.type)=='hidden'){}else{error=true;err_msg.push(myarray[sender][i][2]);}}}
else if(myarray[sender][i][1].indexOf('m')>-1){if(field.value){var usr="([a-zA-Z0-9][a-zA-Z0-9_.-]*|\"([^\\\\\x80-\xff\015\012\"]|\\\\[^\x80-\xff])+\")";var domain="([a-zA-Z0-9][a-zA-Z0-9._-]*\\.)*[a-zA-Z0-9][a-zA-Z0-9._-]*\\.[a-zA-Z]{2,5}";var regex="^"+usr+"\@"+domain+"$";var myrxp=new RegExp(regex);var check=(myrxp.test(field.value));if(check!=true){error=true;err_msg.push(field.value+" "+myarray[sender][i][2]);}}}
else if(myarray[sender][i][1].indexOf('n')>-1){var num_error=false;if(field.value){var myvalue=field.value;var num=myvalue.match(/[^0-9,\.]/gi);var dot=myvalue.match(/\./g);var com=myvalue.match(/,/g);if(num!=null){num_error=true;}else if((dot!=null)&&(dot.length>1)){num_error=true;}else if((com!=null)&&(com.length>1)){num_error=true;}else if((com!=null)&&(dot!=null)){num_error=true;}}
if(num_error==true){error=true;err_msg.push(myvalue+" "+myarray[sender][i][2]);}}
else if(myarray[sender][i][1].indexOf('r')>-1){var notregex=myarray[sender][i][1].substr(1,1)?myarray[sender][i][1].substr(1,1):'';var regexp=myarray[sender][i][3];var erg=regexp.test(field.value);if(field.value){if(notregex=='-'){if(erg==true){error=true;err_msg.push(field.value+" "+myarray[sender][i][2]);}}else{if(erg==false){error=true;err_msg.push(field.value+" "+myarray[sender][i][2]);}}}}
else if(myarray[sender][i][1].indexOf('p')>-1){var myvalue=field.value;var reg=/,-{1,}|\.-{1,}/;var nantest_value=myvalue.replace(reg,"");var num=nantest_value.match(/[^0-9,\.]/gi);var sep=myarray[sender][i][1].substr(1,1)?myarray[sender][i][1].substr(1,1):',';if(field.value){var myvalue=field.value.replace(/\./,',');if(myvalue.indexOf(',')==-1){field.value=myvalue+sep+'00';}else if(myvalue.indexOf(",--")>-1){field.value=myvalue.replace(/,--/,sep+'00');}else if(myvalue.indexOf(",-")>-1){field.value=myvalue.replace(/,-/,sep+'00');}else if(!myvalue.substring(myvalue.indexOf(',')+2)){error=true;err_msg.push(field.value+" "+myarray[sender][i][2]);}else if(myvalue.substring(myvalue.indexOf(',')+3)!=''){error=true;err_msg.push(field.value+" "+myarray[sender][i][2]);}else if(num!=null){error=true;err_msg.push(field.value+" "+myarray[sender][i][2]);}}}
else if(myarray[sender][i][1].indexOf('c')>-1){var noble=new Array("de","von","van","der","d","la","da","of");var newvalue='';var myvalue=field.value.split(/\b/);for(k=0;k<myvalue.length;k++){newvalue+=myvalue[k].substr(0,1).toUpperCase()+myvalue[k].substring(1);}
for(k=0;k<noble.length;k++){var reg=new RegExp("\\b"+noble[k]+"\\b","gi");newvalue=newvalue.replace(reg,noble[k]);}
field.value=newvalue;}
else if(myarray[sender][i][1].indexOf('l')>-1){var min=myarray[sender][i][1].substr(1,1)?myarray[sender][i][1].substr(1,1):'';var minthere=myarray[sender][i][1].substr(2,2)?myarray[sender][i][1].substr(2,2):'';if(minthere=='+'){if(field.value){if(min=='-'){if(field.value.length<myarray[sender][i][4]){error=true;err_msg.push(myarray[sender][i][2]);}}else{if(field.value.length>myarray[sender][i][4]){error=true;err_msg.push(myarray[sender][i][2]);}}}}else{if(min=='-'){if(field.value.length<myarray[sender][i][4]){error=true;err_msg.push(myarray[sender][i][2]);}}else{if(field.value.length>myarray[sender][i][4]){error=true;err_msg.push(myarray[sender][i][2]);}}}}
else if(myarray[sender][i][1].indexOf('s')>-1){if(field.selectedIndex==myarray[sender][i][4]){error=true;err_msg.push(myarray[sender][i][2]);}}
else if(myarray[sender][i][1].indexOf('f')>-1){var field1=document.forms[sender].elements[myarray[sender][i][3]];var there=myarray[sender][i][1].substr(1,1)?myarray[sender][i][1].substr(1,1):'';if(there=='+'){if(field.value){if(field.value!=field1.value){error=true;err_msg.push(myarray[sender][i][2]);}}}else{if(field.value!=field1.value){error=true;err_msg.push(myarray[sender][i][2]);}}}
else if(myarray[sender][i][1].indexOf('b')>-1){var text=field.value;if(field.value){if(text.indexOf(' ')>-1){error=true;err_msg.push(myarray[sender][i][2]);}}}
else if(myarray[sender][i][1].indexOf('<')>-1){if(field.value<myarray[sender][i][4]){error=true;err_msg.push(myarray[sender][i][2]);}}
else if(myarray[sender][i][1].indexOf('>')>-1){if(field.value>myarray[sender][i][4]){error=true;err_msg.push(myarray[sender][i][2]);}}
else if(myarray[sender][i][1].indexOf('!')>-1){if(field.value){if(field.value==myarray[sender][i][3]){error=true;err_msg.push(myarray[sender][i][2]);}}}}
if(error){err_msg=err_msg.join('\n\xB7 ');alert(err_msg);return false;}else{return true;}}
