var http_request= false;

function macheRequest(url) {
		http_request = false;
		
        if (window.XMLHttpRequest) { // Mozilla, Safari,...
            http_request = new XMLHttpRequest();
            if (http_request.overrideMimeType) {
                http_request.overrideMimeType('text/html');
                // zu dieser Zeile siehe weiter unten
            }
        } else if (window.ActiveXObject) { // IE
            try {
                http_request = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    http_request = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {}
            }
        }

        if (!http_request) {
            alert('Fehler: Kann keine XMLHTTP-Instanz erzeugen');
            return false;
        }
        http_request.onreadystatechange = empfangen;
        http_request.open('GET', url, true);
        http_request.send(null);
}

function empfangen() {
	if (http_request.readyState == 4) {
		if (http_request.status == 200) {
			if(http_request.responseText=="true") meldung('nick', 'Nickname schon vergeben!');
			else{ fehler['nick']=0; selc('nick',0); }
		} else {
			alert('Bei dem Request ist ein Problem aufgetreten.');
		}
	}
}

var info= new Array();
var fehler= new Array();
info['vorname']= 'Bitte gib deinen Vornamen ein.';
info['nachname']= 'Bitte gib deinen Nachnamen ein.';
info['nick']= 'Wähle einen Nicknamen (nur Buchstaben)';
info['email']= 'Bitte gib deine E-Mail Adresse ein.';
info['pw']= 'Bitte wähle ein Passwort mit mind. 6 Zeichen.';
info['pw2']= 'Passwort zur Überprüfung wiederholen.';
info['ort']= 'Wo wohnst du?';

function selc(name,st){

	document.getElementById('info_'+name).style.visibility= 'visible';
	with(document.getElementById('v_'+name).style){
		color= '#333333';
		padding= '2px';
		paddingRight= '20px';
		border= '2px solid #0099CC';
		width= '245px';
		backgroundImage= 'none';
		backgroundColor= '#FFFFFF';
	}
	
	if(st==0){
		selColor= '#CCCCCC';
		if(fehler[name]==1){
			document.getElementById('info_'+name).style.color= '#CC0000';
			with(document.getElementById('v_'+name).style){
				color= '#CC0000';
				borderColor= '#CC0000';
				backgroundImage= 'url(../gfx/16/error.png)';
				paddingLeft= '22px';
				width= '225px';
			}
		}
		else{
			document.getElementById('info_'+name).style.visibility= 'hidden';
			with(document.getElementById('v_'+name).style){
				color= '#777777';
				padding= '3px';
				paddingRight= '20px';
				border= '1px solid #CCCCCC';
			}
		}
	}
	else{
		selColor= '#333333';
		document.getElementById('info_'+name).style.color= selColor;
		document.getElementById('info_'+name).innerHTML= info[name];
	}
	
	if(!isNaN(name.substr(2))){
		document.getElementById(name.substr(0,2)).style.borderColor= selColor;
		document.getElementById('l_'+name.substr(0,2)).style.color= selColor;
	}else{
		document.getElementById(name).style.borderColor= selColor;
		document.getElementById('l_'+name).style.color= selColor;
	}
}

function meldung(name,text){
	fehler[name]=1;
	document.getElementById('info_'+name).innerHTML= text;
}

function check(name, value){
	fehler[name]=0;
		if(name=="vorname" && value!=""){
			if(value.length<3){
				meldung(name, 'Vorname zu kurz!');
			}
			else if(value.replace(/[0-9]*/g, "")!=value){
				meldung(name, 'Vorname ungültig');
			}
			// erster Buchstabe groß
			document.getElementById('v_'+name).value= value.substr(0,1).toUpperCase()+value.substr(1);
		}
		if(name=="nachname" && value!=""){
			if(value.length<3){
				meldung(name, 'Nachname zu kurz!');
			}
			else if(value.replace(/[0-9]*/g, "")!=value){
				meldung(name, 'Nachname ungültig');
			}
			// erster Buchstabe groß
			document.getElementById('v_'+name).value= value.substr(0,1).toUpperCase()+value.substr(1);
		}
		if(name=="email" && value!=""){
			var inKlein= value.toLowerCase();
			if(value.match(/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/gi)!=value){
				meldung(name, 'E-Mail ungültig');
			}
			else if(inKlein.indexOf('trash-mail.com')>-1||inKlein.indexOf('trashmail.net')>-1||inKlein.indexOf('mailinator.com')>-1||inKlein.indexOf('sofort-mail.de')>-1||inKlein.indexOf('trashbox.eu')>-1||inKlein.indexOf('privy-mail.de')>-1||inKlein.indexOf('trashdevil.de')>-1||inKlein.indexOf('trashdevil.com')>-1){
				meldung(name, 'E-Mail ungültig');
			}
		}
		if(name=="nick" && value!=""){
			var inKlein= value.toLowerCase();
			if(value.match(/^[A-Za-z]+([_\-]?[A-Za-z])*$/gi)!=value){
				meldung(name, 'Nickname ungültig, nur Buchstaben!');
			}
			else if(inKlein.indexOf('admin')>-1||inKlein.indexOf('fuck')>-1||inKlein.indexOf('fick')>-1||inKlein.indexOf('nutte')>-1||inKlein.indexOf('penis')>-1||inKlein.indexOf('fotze')>-1||inKlein.indexOf('votze')>-1||inKlein.indexOf('nigger')>-1||inKlein.indexOf('niger')>-1||inKlein.indexOf('neger')>-1||inKlein.indexOf('nazi')>-1||inKlein.indexOf('hure')>-1||inKlein.indexOf('schlampe')>-1){
				meldung(name, 'Nickname enthält nicht erlaubte Wörter!');
			}
			else if(inKlein.indexOf('player')>-1||inKlein.indexOf('styler')>-1||inKlein.indexOf('gangster')>-1||inKlein.indexOf('king')>-1||inKlein.indexOf('gangsta')>-1||inKlein.indexOf('prinzess')>-1||inKlein.indexOf('princess')>-1||inKlein.indexOf('playboy')>-1||inKlein.indexOf('playgirl')>-1||inKlein.indexOf('playmate')>-1||inKlein.indexOf('stylah')>-1||inKlein.indexOf('stylish')>-1){
				meldung(name, 'Sei mal etwas kreativer!');
			}
			else if(value.length<3){
				meldung(name, 'Nickname ist zu kurz!');
			}
			else if(value.length>12){
				meldung(name, 'Nickname ist zu lang! (max. 12 Buchstaben)');
			}
			else{
				macheRequest("../sites/chk_nick.php?nick="+value);
				fehler['nick']=1;
			}
		}
		if(name=="pw" && value!=""){
			if(value.length<6){
				meldung(name, 'Passwort ist zu kurz! (mind. 6 Zeichen)');
			}
			else if(value.toLowerCase()==document.getElementById('v_nick').value.toLowerCase()
			|| value.toLowerCase()==document.getElementById('v_vorname').value.toLowerCase()
			|| value.toLowerCase()==document.getElementById('v_nachname').value.toLowerCase()){
				meldung(name, 'Passwort ist zu unsicher');
			}
		}
		if(name=="pw2" && value!=""){
			if(value!=document.getElementById('v_pw').value){
				meldung(name, 'Passwörter stimmen nicht über ein!');
			}
		}
	selc(name,0);
}

function chkFehler(){
	for(cnt in fehler){
		if(fehler[cnt]==1){
			return false;
			break;
		}
	}
	return true;
}

function checkPart(nr){
	var leer=0;
	switch(nr){
		case 1:
			if(document.getElementById('v_vorname').value=="") leer++;
			if(document.getElementById('v_nachname').value=="") leer++;
			if(document.getElementById('v_email').value=="") leer++;
		break;
		case 2:
			if(document.getElementById('v_nick').value=="") leer++;
			if(document.reg.pw.value=="") leer++;
			if(document.reg.pw2.value=="") leer++;
		break;
		case 3:
			if(document.reg.mw.value=="") leer++;
			if(document.reg.day.value=="") leer++;
			if(document.reg.month.value=="") leer++;
			if(document.reg.year.value=="") leer++;
		break;
	}
	if(leer==0) return true;
	else return false;
}

function fertig(){
	if(chkFehler()){
		if(checkPart(1) && checkPart(2) && checkPart(3)) return true;
		else{
			alert("Du musst alle Felder ausfüllen!");
			jump(0);
			return false;
		}
	}
	else{
		alert("Einige Angaben wurden noch nicht akzeptiert!");
		jump(0);
		return false;
	}
}



var thePos=Dimx=mx= 0, time;

function dmx(){
	time= setTimeout('dmx()', 0);
	mx	= Math.round(Dimx+=((thePos)-Dimx)*4/20);
	document.getElementById('jumper').style.left= -mx+'px';
	if(mx==thePos) clearTimeout( time );
}

function jump(step){
	thePos 	= 409*step;
	dmx();
}
