function checkValidUsername(srcObj) {
	err="";
	if (srcObj.value.length<4) err="Mindestens 4 Buchstaben erforderlich";
	if (srcObj.value.length>50) err="Nicht mehr als 50 Zeichen erlaubt";
	nonan=new RegExp(/[^a-zA-Z0-9 ]/);
	if (nonan.test(srcObj.value)) err="Alphanumerische Chatacters nur";
	setInnerHTML(srcObj.id+"Alert",err);
	
	srcObj.className=(err=="")?"normalinput":"failedinput";
	return (err=="");
}
var usernameInput=null;
function checkUsername(srcObj) {
	usernameInput=srcObj;
	if (checkValidUsername(srcObj)) {
		sendPostRequest("/index.php","cmd=availableUsername&username="+srcObj.value,usernameReceived);
	}
}
function usernameReceived(reply) {
	if (reply=="ok") {
		usernameInput.className="normalinput"
		setInnerHTML(usernameInput.id+"Alert","");
	}else{
		usernameInput.className="failedinput"
		setInnerHTML(usernameInput.id+"Alert",reply);
	}
}
function confirmWith(srcObj,tar) {
	err=""
	if (objid(tar).value!=srcObj.value) err="Stimmen nicht überein";
	srcObj.className=(err=="")?"normalinput":"failedinput";
	setInnerHTML(srcObj.id+"Alert",err);
}
function verifyLogin() {
	if (checkValidEmail(document.getElementById('username')) && checkValidPassword(document.getElementById('password'))) {
		setInnerHTML("loginMessage","Überprüfen Anmelden...");
		var un=document.getElementById('username').value;
		var pw=document.getElementById('password').value;
		var vars="cmd=loginverify&un="+un+"&pw="+pw;
		sendPostRequest("/index.php",vars,verifyReceived);
	}
}
function verifyReceived(reply) {
	if (reply.substr(0,1)=="!") {
		setInnerHTML("loginMessage",reply.replace("!",""));
	}else{
		setInnerHTML("loginMessage","Processing Anmelden...");
		var un=document.getElementById('username').value;
		var pw=document.getElementById('password').value;
		var vars="cmd=login&un="+un+"&pw="+pw+"&sec="+reply;
		vars+="&remember="+(document.getElementById('remember').checked?"on":"off");
		sendPostRequest("/index.php",vars,loggedin);
	}
}
function loggedin(reply) {
	if (reply=="loggedin") {
		setInnerHTML("loginMessage","Unterzeichnet in...");
		window.location='/';
	}else{
		setInnerHTML("loginMessage","Falsche Zeichen im Detail");
	}
}
function checkValidEmail(val) {	
    alpharegex=new RegExp(/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/);
    ok=alpharegex.test(val.value);
	if (ok) {
		val.className="normalinput";
		setInnerHTML(val.id+"Alert","");
	}else{
		val.className="failedinput";
		setInnerHTML(val.id+"Alert","Nicht eine gültige E-Mail-Format");
	}
	return ok;
}
function checkValidPassword(val) {	
    alpharegex=new RegExp(/^([a-zA-Z0-9]{6,11})$/);
    ok=alpharegex.test(val.value);
	if (ok) {
		val.className="normalinput";
		setInnerHTML(val.id+"Alert","");
	}else{
		val.className="failedinput";
		setInnerHTML(val.id+"Alert","6-11 alphanumerische Zeichen");
	}
	return ok;
}
var emailInput=null;
function validateEmail(src) {
	emailInput=src;
	if (checkValidEmail(src)) sendPostRequest("/index.php","cmd=available&email="+src.value,emailChecked);	
}
function emailChecked(reply) {
	if (reply=="ok") {
		emailInput.className="normalinput";
		setInnerHTML(emailInput.id+"Alert","");
	}else{
		emailInput.className="failedinput";
		setInnerHTML(emailInput.id+"Alert",reply);
	}
}
function register() {
	err=true;
	if (document.getElementById("registeremail").className=="normalinput") {
		if (document.getElementById("confirmemail").className=="normalinput") {
			if (document.getElementById("registerpassword").className=="normalinput") {
				if (document.getElementById("confirmpassword").className=="normalinput") {
					if (document.getElementById("firstname").className=="normalinput") {
						if (document.getElementById("lastname").className=="normalinput") {
							vars="cmd=register";
							vars+="&userpw="+document.getElementById("registerpassword").value;
							vars+="&userem="+document.getElementById("registeremail").value;
							vars+="&userfn="+document.getElementById("firstname").value;
							vars+="&userln="+document.getElementById("lastname").value;
							setInnerHTML("registerMessage","Registrieren...");
							err=false;
							sendPostRequest("/index.php",vars,registered);
						}
					}
				}
			}
		}
	}
	if (err) dropThisMessage("Nicht alle Eingänge gelten");
}
function checkvalidinput(src,withSpaces,minlength) {
	val=src.value;
	if (withSpaces) {
    	alpharegex=new RegExp(/^[\.@\/a-zA-Z0-9 ]*$/);
	}else{
    	alpharegex=new RegExp(/^[\.@\/a-zA-Z0-9]*$/);
	}
    ok=alpharegex.test(val);
	if (ok) {
		if (val.length<minlength) {
			src.className="failedinput";
			com="Mindestens "+minlength+" "+((minlength>1)?"Zeichen":"Charakter");
			setInnerHTML(src.id+"Alert",com);
			ok=false;
		}else{
			src.className="normalinput";
			setInnerHTML(src.id+"Alert","");
		}			
	}else{
		src.className="failedinput";
		setInnerHTML(src.id+"Alert","Alphanumerische nur");
	}
	return ok;
}
function registered(reply) {
	if (reply=="ok") {
		document.getElementById("registerform").innerHTML="<div style='padding:20px;text-align:center'><h2>Glückwünsche</h2><br />Sie sind jetzt registriert. Du kannst dich mit deinem vorgesehenen Details jetzt.</center>";
		//window.location="/";
	}else{
		setInnerHTML("registerMessage",reply);
	}
}
function isUsernameAvailable(src) {
	un=src.value;
	if (checkvalidinput(src,false,6)) {
		sendPostRequest("user.php","cmd=useravailable&usernom="+un,UsernameChecked);
		return true;
	}else{
		return false;
	}
}
function UsernameChecked(reply){
	if (reply=="OK") {
		document.getElementById("registerusername").className="normalinput";
		setInnerHTML("registerusernameAlert","");
	}else{
		document.getElementById("registerusername").className="failedinput";
		setInnerHTML("registerusernameAlert",reply);
	}
}
function getPassword() {
	if (checkValidEmail(document.getElementById('email'))) {
		setInnerHTML("emailAlert","Anfordern...");
		sendPostRequest("index.php","cmd=forgot&userem="+document.getElementById("email").value,forgotReceived);
	}else{
		setInnerHTML("emailAlert","Bitte geben Sie eine gültige E-Mail-Adresse");
	}
}
function forgotReceived(reply) {
	dropThisMessage(reply);
	setInnerHTML("loginMessage","");
	setInnerHTML("emailAlert",reply);
}
function resendValidation(un) {
	setInnerHTML("loginMessage","Nachsenden Überprüfung...");
	sendPostRequest("/index.php","cmd=resendValidation&un="+un,forgotReceived);
}
function validationSent(reply) {
	setInnerHTML("loginMessage",reply);
}
