function $$(id) {try {var tmp = document.getElementById(id).value;}catch(e) {alert("Field " + id + " existiert nicht!\nvalidation is configured on a field with no ID");return false;}if(tmp == "") {alert("Das Feld '" + caseConvert(id) + "' darf nicht leer sein!");document.getElementById(id).style.borderColor = "red";return false;}return tmp;}var required = {field : [],add : function(name, type) {this.field[this.field.length] = [name,type];},out : function() {return this.field;}}var validate = {check : function() {var tmp;// loop all required fieldsfor(var i=0; i<required.field.length; i++) {// check the form field existsthis.tmp = $$(required.field[i][0]);if(this.tmp) {if(this.checkit(required.field[i][0],required.field[i][1])) {// validated okay} else {	alert("Fehleingabe bei folgendem Feld: '"+caseConvert(required.field[i][0])+"' \n");document.getElementById(required.field[i][0]).focus();document.getElementById(required.field[i][0]).style.color = "red";return false;}} else {try {document.getElementById(required.field[i][0]).focus();} catch(e) { }return false;}} // forreturn true;},checkit : function(value,type) {exp : '';switch(type) {case "NOT_EMPTY":if(this.trim($$(value)).length < 1) { return false; } else { return true; }break;case "ALPHA":exp = /^[A-Za-z]+$/;if($$(value).match(exp)==null) { return false; } else { return true; }break;case "ALPHASPACE":exp = /^[A-Za-z ]+$/;if($$(value).match(exp)==null) { return false; } else { return true; }break;case "NUMERIC":exp = /^[0-9]+$/;if($$(value).match(exp)==null) { return false; } else { return true; }break;case "NUMERICPLUS":exp = /(^-*\d+$)|(^-*\d+\.\d+$)/;if($$(value).match(exp)==null) { return false; } else { return true; }break;case "ALPHANUM":exp = /^[a-zA-Z0-9]+$/;if($$(value).match(exp)==null) { return false; } else { return true; }break;case "ALPHANUMSPACE":exp = /^[a-zA-Z0-9 ]+$/;if($$(value).match(exp)==null) { return false; } else { return true; }break;case "EMAIL":exp = /^[a-zA-Z0-9._%-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;if($$(value).match(exp)==null) { return false; } else { return true; }break;case "YYYYMMDD":exp = /^(19|20)[0-9][0-9][- /.](0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])$/;if($$(value).match(exp)==null) { return false; } else { return true; }break;case "DDMMYYYY":exp = /^(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)[0-9][0-9]$/;if($$(value).match(exp)==null) { return false; } else { return true; }break;case "MMDDYYYY":exp = /^(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19|20)[0-9][0-9]$/;if($$(value).match(exp)==null) { return false; } else { return true; }break;default:exp = new RegExp(type);if($$(value).match(exp)==null) { return false; } else { return true; }} // switch},trim : function(s) {return s.replace(/^\s+/, '').replace(/\s+$/, '');}}function $val(id) {return document.getElementById(id);}function trim(id) {$val(id).value = $val(id).value.replace(/^\s+/, '').replace(/\s+$/, '');}// Uppercase first Field:function caseConvert(text) {  laenge = text.length;  firstLetter = text.substr(0,1).toUpperCase();  text = firstLetter + text.substr(1,laenge-1);return text;}