/*Deutsches Validierungs Script*/
var keylist="abcdefghijklmnopqrstuvwxyz123456789";
var temp='';
var plength=20;

function generatepass(){
	temp=''
	for (i=0;i<plength;i++)
	temp+=keylist.charAt(Math.floor(Math.random()*keylist.length))
	return temp
}

function chkText(fname,ftext,stext){
		if (!fname.value){
			alert("Bitte geben Sie " + stext + ftext + " ein!");
			fname.focus();
			return false;
		}
		return true;
	}

	function chkAlphanum(fname,ftext,stext){
		if (fname.value.length > 0){
			var x = fname.value;
			var filter  = /([a-zA-Z0-9])/;
			if (!filter.test(x)){
				alert("Das Feld " + ftext + " darf nur Zahlen und Buchstaben enthalten!");
				fname.focus();
				fname.select();
				return false;
			}
		} else {
			alert("Bitte geben Sie " + stext + ftext + " ein!");
			fname.focus();
			return false;
		}
		return true;
	}
	
	function chkPhone(fname,ftext){
		if (fname.value.length > 0){
			var x = fname.value;
			var filter = /^[1-9][0-9]{5,25}$/;
			if (!filter.test(x)){
				alert(ftext+": Falsches Format! Nur Ziffern eingeben, keine führende 0!");
				fname.focus();
				fname.select();
				return false;
			}
		} else {
			alert("Bitte geben Sie die " + ftext + " ein!");
			fname.focus();
			return false;
		}
		return true;
	}
	function chkRadio(fname){
		var retBoolSuccess=false;
		
		if(fname.value.length){
			for(var i=0;i<fname.length;i++){
				if(fname[i].checked){retBoolSuccess=true;}
			}
		}
		return retBoolSuccess;
	
	}
	
	function chkNumber(fname,ftext,stext){
		if (fname.value.length > 0){
			var x = fname.value;
			var filter  = /^([0-9]+)$/;
			if (!filter.test(x)){
				alert("Das Feld " + ftext + " darf nur Zahlen enthalten!");
				fname.focus();
				fname.select();
				return false;
			}
		} else {
			alert("Bitte geben Sie "+stext + ftext + " ein!");
			fname.focus();
			return false;
		}
		return true;
	}

	function chkSum(fname,ftext,stext,isDuty){
		if (fname.value.length > 0){
			var x = fname.value;
			var filter  = /^([(0-9)])+\.([(0-9)]{1,2})+$/;
			if (!filter.test(x)){
				alert("Das " + ftext + " - Format ist falsch!\nGültige Formate\n\t0.25,\n\t1.00,1125.00 od.\n\t12250.75");
				fname.focus();
				fname.select();
				return false;
			}
			if(isDuty && fname.value<=0){
				alert("Bitte geben Sie "+stext + ftext + " ein!");
				fname.focus();
				fname.select();
				return false;
			}
		} else {
			alert("Bitte geben Sie "+stext + ftext + " ein!");
			fname.focus();
			return false;
		}
		return true;
	}

	function chkList(fname,ftext){
		if (!fname.options[fname.selectedIndex].value){
			alert("Bitte wählen Sie " + ftext + " aus!");
			fname.focus();
			return false;
		}
		return true;
	}
	
function chkIdentity(firstField,secondField,firstTxt, secondTxt)
{
	if (secondField.value!=firstField.value){
		alert("Dein "+firstTxt+" ist nicht identisch mit Deinem "+secondTxt+"\nBitte korregiere die Eingabe und klicke \"weiter\".");
		secondField.focus();
		return false;
	}
	return true;
}
	
function chkFile(fname,ftext) {
	var ext1 = fname.value;
  ext1 = ext1.substring(ext1.length-3,ext1.length);
  ext1 = ext1.toLowerCase();
  if(ext1 != 'jpg' && ext1 != 'gif' && ext1 != 'JPG' && ext1 != 'GIF'){ 
  	alert('Du hast eine .'+ext1+' Datei ausgewählt, bitte wähle nur *.jpg oder *.gif Dateien!');
		fname.focus();
		return false;
  }
	return true;
}

	function chkEmail(fname, ftext){
		if (fname.value.length > 0){
			var x = fname.value;
			var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
			if (!filter.test(x)){
				alert("Bitte geben Sie die korrekte " + ftext +" ein!");
				fname.focus();
				return false;
			}
		} else {
			alert("Bitte geben Sie Ihre " + ftext + " ein!");
			fname.focus();
			return false;
		}
		return true;
	}
	function chkUrl(fname,ftext){
		if (fname.value.length > 0){
			var x = fname.value;
			var filter = /^([(http)+(s)])+\:\/\/([(www0-9)\.]{0,5})+(([a-zA-Z0-9\-.])+\.)+([a-zA-Z\/]{2,5})+([a-zA-Z0-9\-\.\?\&}\=\/])+$/;
			if (!filter.test(x)){
				alert("Falsches " + ftext + " - Format!\nGültige Formate:\n\thttp://www.domain.com,\n\thttp://www.server-name.info,\n\thttp://web-server.biz,\n\thttp://domain.at,\n\thttp://www.server-domain.net/folder/file.aspx od.\n\thttp://server-domain.net/file.aspx?var1=value&var2=value2.");
				fname.focus();
				fname.select();
				return false;
			}
		} else {
			alert("Bitte geben Sie die " + ftext + " ein!");
			fname.focus();
			return false;
		}
		return true;
	}
	function chkDate(fname, ftext){
		if (fname.value.length > 0){
			if (checkValidDate(fname.value) == false){
				alert("Das Datum " + ftext + " ist nicht korrekt!\n(Gültiges Format: TT.MM.JJJJ)");
				fname.focus();
				return false;
			}
		} else {
			alert("Bitte geben Sie " + ftext + " ein!");
			fname.focus();
			return false;
		}
		return true;
	}

	function chkDatePassed(fname, ftext,bname){
		if (fname.value.length > 0){
			var jetzt = new Date();
			d = fname.value.split(".");
			if ( Date.UTC(d[2],d[1]-1,d[0]) - Date.UTC(jetzt.getYear(),jetzt.getMonth(),jetzt.getDate()) < 0){
				alert("Das Datum " + ftext + " liegt in der Vergangenheit!")
				bname.focus();
				bname.select();
				return false;
			}
		} else {
			alert("Bitte geben Sie " + ftext + " ein!");
			bname.focus();
			return false;
		}
		
	}
	function chkDateIdentity(fname,ftextF,ftextS,bname){
		d = fname.value.split(".");
		if ( Date.UTC(d[5],d[4],d[3]) - Date.UTC(d[2],d[1],d[0]) < 0){
			alert("Das " + ftextS + " kann nicht kleiner sein als das " + ftextF+ "!")
			bname.focus();
			bname.select();
			return false;
		}
	}
	
	function isDigit(theDigit){
		var digitArray = new Array('0','1','2','3','4','5','6','7','8','9'),j;
		for (j = 0; j < digitArray.length; j++)
			if (theDigit == digitArray[j])
				return true
		return false 
	}

	function isPositiveInteger(theString){
		var theData = new String(theString);
		if (!isDigit(theData.charAt(0)))
			if (!(theData.charAt(0)== '+'))
				return false
		
		for (var i = 1; i < theData.length; i++)
			if (!isDigit(theData.charAt(i)))
				return false
		return true 
	}

	function isGermanDate(s){
		// datum in tag, monat, jahr zerlegen
		var a1=s.split(".");
		var e=true;
		// test auf tag UND monat UND jahr
		if (a1.length!=3)
			e=false
		else{
			if (isPositiveInteger(a1[0]) && isPositiveInteger(a1[1]) && isPositiveInteger(a1[2])){
				var d=a1[0];
				var m=a1[1];
				var y=a1[2];
				if (((e) && (y<1000)||y.length>4))
					e=false
				
				if (e){
					v=new Date(m+"/"+d+"/"+y);
					if (v.getMonth()!=m-1)
						e=false
				}
			}else
				e=false
		}
		return e;
	}
	function isTime(t){
		// uhrzeit in stunden, minuten, sekunden zerlegen
		var a1=t.split(".");
		var e=true;
		// test auf stunde UND minute UND sekunden
		if (a1.length!=3)
			e=false
		else{
			if (isPositiveInteger(a1[0]) && isPositiveInteger(a1[1]) && isPositiveInteger(a1[2])){
				var h=a1[0];
				var m=a1[1];
				var s=a1[2];
				if (((e) && (h>23)||h.length>2))
					e=false
				
				if (e){
					sysDate=new Date();
		
					sM=sysDate.getMonth();
					sD=sysDate.getDay();
					sY=sysDate.getFullYear();
					v=new Date(sM+"/"+sD+"/"+sY+" "+h+":"+m+":"+s);
					if (v.getHours()!=h || v.getMinutes()!=m || v.getSeconds()!=s)
						e=false
				}
			}else
				e=false
		}
		return e;
	}

	function checkValidDate(v){
		if (!isGermanDate(v))
			return false
		else
			return true
	}
	
	function chkTime(strTime){
		if (!isTime(strTime))
			return false
		else
			return true
	}


