// Javascript 1.5
// Copyright (c) 2001,2002,2003 
// Stefan Schwalm <schwalm@wavefront.de>
//
// Parameter content validation
//
// V 1.06.154
// Last Modified 10.02.2005 12:46
///////////////////////////////////////
// changelog
//
// 10.02.2005 - improved email recognition pattern
// 30.05.2005 - bugfix email pattern recognition

function komma_cor(Objekt) { Objekt.value = Objekt.value.replace(/,/,"."); }

///////////////////////////////////////
// 
// Type verification code
// 
///////////////////////////////////////

function verify_mandatory_fields(List) {
	var fields = List.split(",");
	var objekt;

	if(fields.length > 0){
		for( var i=0; i<fields.length; i++){
			objekt = document.getElementsByName(fields[i])[0];
			if(objekt && objekt.value == ""){
				alert("Sie haben in das Pflichtfeld \""+fields[i]+"\" noch nichts eingetragen !");
				objekt.value = ''; objekt.focus(); return false;	
			}
		}
		return true;
	} else return false;
}

function verify_threshold(Objekt, minVal, maxVal, objName) {
	if((Objekt.value != "") && ((Objekt.value < minVal) || (Objekt.value > maxVal) || isNaN(Objekt.value))){
		alert("Das Feld "+objName+" enthält keinen gültigen Wert !");
		Objekt.value = ""; Objekt.focus(); return false;
	}
	return true;
}

function verify_number(Objekt, objName) {
	if((Objekt.value != "") && isNaN(Objekt.value)){
		alert("Das Feld "+objName+" enthält keinen gültigen Wert !");
		Objekt.value = ''; Objekt.focus();
		return false;
	}
	return true;
}

function verify_float(Objekt, objName) {
	komma_cor(Objekt); 	var Pattern = /^(\d+\.\d+|\d+)$/i;
	if((Pattern.test(Objekt.value) == false) && (Objekt.value != "")){
		alert("Der Inhalt des Feldes "+objName+" ist keine gültige Gleitkommazahl !");
		Objekt.focus();
	} else {
		var Pattern = /^(\d+)\.(\d\d)(\d*)$/i; Pattern.exec(Objekt.value); 
		Objekt.value = RegExp.$1+'.'+RegExp.$2;
	}
}

function verify_date(Objekt, objName) {
	var failure = false; var Datum = new Array;
	var Pattern = /^([0-3][0-9])\.([0-1][0-9])\.([1-2][09][0-9][0-9])$/i;
	if(Objekt.value == ""){ failure = true;	}
	else {
		Datum = Objekt.value.split('.');
		if(Datum[0].length < 2){ Datum[0] = '0'+Datum[0]; }
		if(Datum[1].length < 2){ Datum[1] = '0'+Datum[1]; }
		Objekt.value = Datum.join('.');
		if(Pattern.test(Objekt.value) == false){ failure = true; }
	}
	if(failure){
		alert("Der Inhalt des Feldes "+objName+" ist kein gültiges Datum !");
		Objekt.value = ''; Objekt.focus(); return false;
	}
	return true;
}

function verify_email(Objekt, objName) {
  	var Pattern = /^([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}$/;

	if((Pattern.test(Objekt.value) == false) && (Objekt.value != "")){
		alert("Der Inhalt des Feldes "+objName+" ist keine gültige eMail-Adresse !\n"+
		"Bitte nur die Zeichen 0-9 a-z A-Z und _.- verwenden (keine Leerzeichen) !\n");
		Objekt.value = ''; Objekt.focus(); return false;
	}
	return true;
}

function verify_password(Obj1, Obj2) {
	if(Obj1.value == ""){ alert("Es wurde kein Passwort eingegeben !"); return false; }
	if(Obj2.value == ""){ alert("Die Passwortwiederholung wurde nicht eingegeben !"); return false; }
	if((Obj1.value != "") && (Obj1.value.length < 6)){
		alert("Das eingebene Passwort ist zu kurz !\n Bitte min. 6 Zeichen verwenden");
		Obj1.value = ""; Obj2.value = "";		
		return false;
	}
	if((Obj1.value != "") && (Obj2.value != "") && (Obj1.value != Obj2.value)){
		alert("Die beiden Passworte stimmen nicht überein !");
		Obj1.value = ""; Obj2.value = "";
		return false;
	}
	return true;
}

function verify_ccard(Objekt, objName) {
	if((Objekt.value != "") && ((Objekt.value.length < 4) || isNaN(Objekt.value))){
		alert("Das Feld "+objName+" enthält keinen gültigen Wert !");
		Objekt.value = ""; Objekt.focus();
		return false;
	}
	return true;
}

///////////////////////////////////////
// 
// Obsolete functions
// 
///////////////////////////////////////

function num_threshold(Objekt, minVal, maxVal, objName) { verify_threshold(Objekt, minVal, maxVal, objName); }
