// Eingabe auf maximal x Zeichen beschränken
function maxZeichen(max, nr) {
wert = document.globe.elements[nr].value.length;
	if (wert > max) {
		alert("Es dürfen höchstens " + max + " Zeichen eingegeben werden!\nSie haben aber " +wert+ " Zeichen eingegeben.");
		in_value = document.globe.elements[nr].value;
		out_value = in_value.substring(0,max);
		document.globe.elements[nr].value = out_value
		document.globe.elements[nr].focus();
		document.globe.elements[nr].select();
		return false;
	} else {
	return true;
	}
}

// Eingabe auf minimal x Zeichen beschränken
function minZeichen(min, nr) {
wert = document.globe.elements[nr].value.length;
	if (wert < min) {
		alert("Es müssen mindestens " + min + " Zeichen eingegeben werden!\nSie haben aber nur " +wert+ " Zeichen eingegeben.");
		in_value = document.globe.elements[nr].value;
		out_value = in_value.substring(0,min);
		document.globe.elements[nr].value = out_value
		document.globe.elements[nr].focus();
		document.globe.elements[nr].select();
		return false;
	} else {
	return true;
	}
}

// Eingabe auf Nummerische Eingabe und Maximalmalwert prüfen
function maxWert(max, nr) {
var wert = document.globe.elements[nr].value;
if (max != '-') {
	if (isNaN(wert) == true) {
		alert("Es müssen ganze Zahlen eingegeben werden!\nSie haben aber " +wert+ " eingegeben.");
		out_value = ''
		document.globe.elements[nr].value = out_value;
		document.globe.elements[nr].focus();
		document.globe.elements[nr].select();
		return false;
	} else {
		if (max < wert) {
			alert("Es dürfen nur ganze Zahlen mit dem Maximalwert von " + max + " eingegeben werden!\nSie haben aber " +wert+ " eingegeben.");
			out_value = ''
			document.globe.elements[nr].value = out_value;
			document.globe.elements[nr].focus();
			document.globe.elements[nr].select();
			return false;	
		} else {
		return true;
		}
	}
   }
}

// Eingabe auf Nummerische Eingabe und Minimalmalwert prüfen
function minWert(min, nr) {
var wert = document.globe.elements[nr].value;
if (min != '-') {
	if (isNaN(wert) == true) {
		alert("Es müssen ganze Zahlen eingegeben werden!\nSie haben aber " +wert+ " eingegeben.");
		out_value = ''
		document.globe.elements[nr].value = out_value;
		document.globe.elements[nr].focus();
		document.globe.elements[nr].select();
		return false;
	} else {
		if (min > wert) {
			alert("Es dürfen nur ganze Zahlen mit dem Minimalwert von " + min + " eingegeben werden!\nSie haben aber " +wert+ " eingegeben.");
			out_value = ''
			document.globe.elements[nr].value = out_value;
			document.globe.elements[nr].focus();
			document.globe.elements[nr].select();
			return false;	
		} else {
		return true;
		}
	}
   }
}



// Passwort auf Sonderzeichen prüfen
function passCheck(passStr) {

var passField = passStr;
var passStr = document.globe.elements[passStr].value;	

for (var i = 0; i < passStr.length; i++) {
	var abc = passStr.substring(i , i + 1);
	if ((abc < 0 || 9 < abc) && (abc < 'a' || 'z' < abc) && (abc < 'A' || 'Z' < abc)) {
	      alert("Das eingegebene Wort ist ungültig\nErlaubt sind nur folgende Zeichen:\n\n - von A bis Z\n - von a bis z\n - von 0 bis 9\n\nWiederholen Sie bitte die Eingabe!");
		document.globe.elements[passField].value = '';
		document.globe.elements[passField].focus();
		document.globe.elements[passField].select();
		return false;
		}
	}

}



// Email-Adresse Prüfen
function emailCheck(emailStr) {

var emailField = emailStr;
var emailStr = document.globe.elements[emailStr].value;

var emailPat=/^(.+)@(.+)$/
var specialChars="\\(\\)<>@,;:\\\\\\\"\\ä\\ö\\ü\\{\\}\\_\\.\\[\\]\\§\\°\\+\\*\\#\\ç\\%\\&\\/\\|\\¦\\¢\\=\\?\\`\\~\\´\\'\\^\\ü\\ä\\ö\\Ü\\Ö\\Ä\\!\\¨\\è\\à\\é\\$\\£\\}\\{"

var validChars="\[^\\s" + specialChars + "\]"
var quotedUser="(\"[^\"]*\")"
var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
var atom=validChars + '+'
var word="(" + atom + "|" + quotedUser + ")"
var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")
var matchArray=emailStr.match(emailPat)
if (matchArray==null) {
	alert("Emailadresse scheint nicht korrekt zu sein! Beachten Sie '@' and '.'");
	document.globe.elements[emailField].value = '';
	document.globe.elements[emailField].focus();
	document.globe.elements[emailField].select();
	return false
}

var user=matchArray[1]
var domain=matchArray[2]

if (user.match(userPat)==null) {
	alert("Der Username der Emailadresse scheint nicht korrekt zu sein!");
	document.globe.elements[emailField].value = '';
	document.globe.elements[emailField].focus();
	document.globe.elements[emailField].select();
	return false;
}

var IPArray=domain.match(ipDomainPat)
if (IPArray!=null) {
	  for (var i=1;i<=4;i++) {
		if (IPArray[i]>255) {
	      	alert("Die IP Adresse der Emailadresse scheint ungültig!");
			document.globe.elements[emailField].value = '';
			document.globe.elements[emailField].focus();
			document.globe.elements[emailField].select();
			return false;
			}
		}
	return true
}

var domainArray=domain.match(domainPat)
if (domainArray==null) {
	alert("Der Domainname der Emailadresse schein nicht korrekt zu sein!");
	document.globe.elements[emailField].value = '';
	document.globe.elements[emailField].focus();
	document.globe.elements[emailField].select();
	return false;
}


var atomPat=new RegExp(atom,"g")
var domArr=domain.match(atomPat)
var len=domArr.length
if (domArr[domArr.length-1].length<2 || 
    domArr[domArr.length-1].length>3) {
	alert("Die Endung der Emailadresse muss mindestens 2\nund maximal 3 Stellen aufweisen!");
	document.globe.elements[emailField].value = '';
	document.globe.elements[emailField].focus();
	document.globe.elements[emailField].select();
	return false;
}

if (len<2) {
	alert("In der Emailadresse fehlt der Hostname!");
	document.globe.elements[emailField].value = '';
	document.globe.elements[emailField].focus();
	document.globe.elements[emailField].select();
	return false;
}
return true;
}




