// @version $Id: forms-code-validation-all-check-funcs-blob.js 127 2010-11-12 09:12:04Z agevatte $
function validPLZ(plz){
	var test=plz.search(/^\d{5}$/);
	if(test==-1){
		return false;
	}else{
		return true;
	}
}
function validEmail(email){
	var strReg='^[a-zA-Z0-9][a-zA-Z0-9_.-]*\\@(?:[a-zA-Z0-9][a-zA-Z0-9._-]*\\.)*[a-zA-Z0-9][a-zA-Z0-9._-]*\\.[a-zA-Z]{2,5}$';
	var regex=new RegExp(strReg);
	return(regex.test(email));
}
function checkStringLength(checkString,minlength,maxlength){
	var mincheck=false;
	var maxcheck=false;
	if(minlength!==""&&minlength!==null){
		if(checkString.length>=minlength){
			mincheck=true;
		}else{
			mincheck=false;
		}
	}else{
		mincheck=true;
	}
	if(maxlength!==""&&maxlength!==null){
		if(checkString.length<=maxlength){
			maxcheck=true;
		}else{
			maxcheck=false;
		}
	}else{
		maxcheck=true;
	}
	if(mincheck===true&&maxcheck===true){
		return true;
	}else{
		return false;
	}
}
function checkRadio(elementname){
	var a=0;
	var b=document.getElementsByName(elementname).length;
	b--;
	do{
		if(!(document.getElementsByName(elementname)[a].checked)){
			a++;
		}else{
			return true;
		}
	}
	while(a<=b);
	return false;
}
function checkBit(bitbox){
	if(!(document.getElementsByName(bitbox)[0].checked))
			{return false;}
	else{return true;}
}
function validMobile(nummer){
	var test=nummer.search(/^\s*0[0-9]{3,6}\W?[0-9]{6,12}\s*$/);
	if(test==-1){
		return false;
	}
	else{
		return true;
	}
}
function validPhone(nummer){
	var test=nummer.search(/^\s*0[0-9]{2,9}\W?[0-9]{3,12}\s*$/);
	if(test==-1){
		return false;
	}
	else{
		return true;
	}
}
function checkDate(Wert){
	var test=Wert.search(/^[0-9]{1,2}\.[0-9]{1,2}\.[0-9]{4,4}$/);
	if(test==-1){
		return false;
	}else{
		return true;
	}
}
function checkYear(Wert){
	var test=Wert.search(/^[0-9]{4,4}$/);
	if(test==-1){
		return false;
	}else{
		return true;
	}
}
function validMobilePrefix(vorwahl){
	var test=vorwahl.search(/^\s*[0]{1,1}\W?[0-9]{3,6}\s*$/);
	if(test==-1){
		return false;
	}else{
		return true;
	}
}
function validMobileNumber(nummer){
	var test=nummer.search(/^\s*[0-9]{6,12}\s*$/);
	if(test==-1){
		return false;
	}else{
		return true;
	}
}
function checkNumericValue(wert){
	var test=wert.search(/^\s*[0-9]{1,10}\s*$/);
	if(test==-1){
		return false;
	}else{
		return true;
	}
}
function plausiCheck_DATUMSFELD(wert,aufbau){
	var ergebnis=new Object();
	if(wert===''){
		ergebnis['status']='errEmpty';
	}else{
		if(!wert.match(/^\d{1,2}\.\d{1,2}\.\d{4}$/)){
			ergebnis['status']='errFormat';
		}else{
			var date=new Array();
			date=wert.split('.');
			wert=(date[0].length==1?'0'+date[0]:date[0])+'.'+(date[1].length==1?'0'+date[1]:date[1])+'.'+date[2];
			var jetzt=new Date();
			var millisecJetzt=jetzt.getTime();
			var millisecDatumEingabe=new Date(date[2],date[1]-1,date[0],jetzt.getHours(),jetzt.getMinutes(),jetzt.getSeconds());
			var diff=Math.round((millisecDatumEingabe-millisecJetzt)/86400000);
			var dateInvers=new Date(millisecDatumEingabe);
			var dateInversTag=dateInvers.getDate()+'';
			var dateInversMonat=(dateInvers.getMonth()+1)+'';
			var dateInversJahr=dateInvers.getFullYear()+'';
			var dateInversString=(dateInversTag.length==1?'0'+dateInversTag:dateInversTag)+'.';
			dateInversString+=(dateInversMonat.length==1?'0'+dateInversMonat:dateInversMonat)+'.'+dateInversJahr;
			if(dateInversString!=wert){
				ergebnis['status']='errInvalid';
			}else{
				ergebnis['status']='ok';
				ergebnis['lage']=diff;
			}
		}
	}
	return ergebnis;
}
function validGeb(wert){
	var ergebnis=new Object();
	ergebnis=plausiCheck_DATUMSFELD(wert);
	if(ergebnis['status']=='errEmpty'){
				return false;
		
	}else if(ergebnis['status']=='errFormat'){
		return false;
		
	}else if(ergebnis['status']=='errInvalid'){
				return false;
		
	}else if(ergebnis['status']=='ok'&&ergebnis['lage']>0){
		return false;
		
	}else{
	return true;
	}
}
function createErrorClass(element)
{
	element.parentNode.parentNode.getElementsByTagName("label")[0].className="errTxt";
	if(element.type!='radio'){
		if(element.className!=="")
		{
			if(element.className.indexOf("error")>-1)
			{
				return false;
			}
			element.className=element.className+" error";
		}
		else
		{
			element.className="error";
		}
	}
	return false;
}
function removeErrorClass(element)
{
	element.parentNode.parentNode.getElementsByTagName("label")[0].className=element.parentNode.parentNode.getElementsByTagName("label")[0].className.replace("errTxt","");
	element.className=element.className.replace("error","");
}
var getParameterArray=null;
function getAllUrlParameter(){
	getParameterArray=new Array();
	if(location.search.length>0){
		var get_param_str=location.search.substring(1,location.search.length);
		var get_params=get_param_str.split("&");
		for(i=0;i<get_params.length;i++){
			var key_value=get_params[i].split("=");
			if(key_value.length==2){
				var key=key_value[0];
				var value=key_value[1];
				getParameterArray[key]=value;
			}
		}
	}
}
function utf8UrlDecode(encodedString){
	var lsRegExp=/\+/g;
	return utf8Decode(unescape(String(encodedString).replace(lsRegExp," ")));
}
function utf8Decode(utftext){
	var string="";
	var i=0;
	var c=c1=c2=0;
	while(i<utftext.length){
		c=utftext.charCodeAt(i);
		if(c<128){
			string+=String.fromCharCode(c);
			i++;
		}
		else if((c>191)&&(c<224)){
			c2=utftext.charCodeAt(i+1);
			string+=String.fromCharCode(((c&31)<<6)|(c2&63));
			i+=2;
		}
		else{
			c2=utftext.charCodeAt(i+1);
			c3=utftext.charCodeAt(i+2);
			string+=String.fromCharCode(((c&15)<<12)|((c2&63)<<6)|(c3&63));
			i+=3;
		}
	}
	return string;
}
function getUrlParameterByName(key){
	if(!getParameterArray){getAllUrlParameter();}
	if(getParameterArray[key]){
		return(utf8UrlDecode(getParameterArray[key]));
	}else{
		return false;
	}
}
function setInputTextByUrlParam(key){
	if(getUrlParameterByName(key)&&document.getElementsByName(key)[0]){
		document.getElementsByName(key)[0].value=getUrlParameterByName(key);
	}
}
function setInputCheckboxByUrlParam(key){
	if(getUrlParameterByName(key)==="true"&&document.getElementsByName(key)[0]){
		document.getElementsByName(key)[0].checked="checked";
	}
}
function setInputRadioByUrlParam(key){
	var radioObj=document.getElementsByName(key);
	var radioValue=getUrlParameterByName(key);
	if(radioValue&&radioObj){
		for(var i=0;i<radioObj.length;i++){
			if(radioObj[i].value==radioValue){
				radioObj[i].checked="checked";
				break;
			}
		}
	}
}
function setFormErrorText(errorString,version){
	var elementTdId="errorText";
	var elementTrId="errorMessage";
	var elementClass="errTxt";
	var messageTr=document.getElementById(elementTrId);
	if(messageTr===null){
		var errMsgTr=document.createElement("tr");
		errMsgTr.id=elementTrId;
		var errMsgTd=document.createElement("td");
		errMsgTd.id=elementTdId;
		errMsgTd.className=elementClass;
		errMsgTd.colSpan=2;
		errMsgTd.innerHTML=errorString;
		errMsgTr.appendChild(errMsgTd);
		document.getElementsByTagName("tbody")[0].insertBefore(errMsgTr,document.getElementsByTagName("tr")[2]);
	}else{
		document.getElementById(elementTdId).innerHTML=errorString;
	}
}
function setElementErrorText(errorIdx,objField,isError,version){
	if(isError){
		createErrorClass(objField);
		return setFormErrorCode(errorIdx);
	}else{
		removeErrorClass(objField);
		return"";
	}
}
function setErrorTextByUri(key,version){
	if(getUrlParameterByName(key)!==false){
		setFormErrorText(setFormErrorCode(getUrlParameterByName(key)),version);
	}
}
function setFormErrorCode(errorIdx){
	var formErrorCodes=getFormErrorCodes();
	if(formErrorCodes&&formErrorCodes[errorIdx]){
		return formErrorCodes[errorIdx];
	}else{
		return"unbekannter Fehler";
	}
}

