/**
 * @author marcdittmann
 */
dojo.addOnLoad(initListener);


var name = false;
var username = false;
var pass = false;
var mail = false;

/**
 * Fügt die Listener zum ein und ausblenden der Informationen hinzu
 */
function initListener(){

//Name Show Listener	
dojo.connect(dojo.byId("i_reg_name"),"onfocus",function(e){	
	var el = dojo.byId("info_name");
	if(name){
		el.innerHTML = "Geb dein Vor und Nachnamen ein";
	}
	
	
	dojo.addClass(dojo.byId("info_name"),"show");
});
//Name Hide Listener
dojo.connect(dojo.byId("i_reg_name"),"onblur",function(e){	
	
	var el = dojo.byId("info_name");

	if(e.target.value.length > 0){
		el.innerHTML ="<img src='/data/ok.png'>";
		name = true;
		dojo.removeClass(e.target,"error");
	}else{
		dojo.addClass(dojo.byId("info_name"),"show");
		name = false;		
		dojo.addClass(e.target,"error");
		el.innerHTML = "Geb dein Vor und Nachnamen ein";
	}	
	check();
});



//Benutzername Show Listener	
dojo.connect(dojo.byId("i_reg_uname"),"onfocus",function(e){	
	var el = dojo.byId("info_uname");
	if(username){
		el.innerHTML = "Wähle einen Benutzernamen";
	}	
	dojo.addClass(dojo.byId("info_uname"),"show");
});
//Benutzername Hide Listener
dojo.connect(dojo.byId("i_reg_uname"),"onblur",function(e){	
	
	var el = dojo.byId("info_uname");
	if(e.target.value.search(/([a-zA-Z0-9]{3,15})$/) != -1){
		el.innerHTML ="<img src='/data/ok.png'>";
		username = true;
		dojo.removeClass(e.target,"error");
	}else{
		dojo.addClass(dojo.byId("info_uname"),"show");
		el.innerHTML = "Wähle einen Benutzernamen";
		username = false;		
		dojo.addClass(e.target,"error");
	}	
	check();
});



//Passwort informationen
dojo.connect(dojo.byId("i_reg_pass"),"onfocus",function(e){	
	checkPass(e);
});
dojo.connect(dojo.byId("i_reg_pass"),"onblur",function(e){		
	checkPass(e);
	check();
});
dojo.connect(dojo.byId("i_reg_pass"),"onkeyup",function(e){		
	checkPass(e);
	check();
});


//EMail Info
dojo.connect(dojo.byId("i_reg_mail"),"onfocus",function(e){		
	dojo.addClass(dojo.byId("info_mail"),"show");
});
dojo.connect(dojo.byId("i_reg_mail"),"onkeyup",function(e){		
	dojo.addClass(dojo.byId("info_mail"),"show");

	if(e.target.value.search(/^\w+@[a-zA-Z_\-.]+?\.[a-zA-Z]{2,3}$/) != -1){		
		mail = true;		
		dojo.removeClass(e.target,"error");
		
	}else{
		mail = false;		
		dojo.addClass(e.target,"error");
	}
	check();
});
}

function checkPass(e) {
	var passInfo = dojo.byId("i_reg_pass");
	var _pass = e.target.value;
	var el = dojo.byId("info_pass_txt");
	var count = 0;
	if(_pass.length <=5 ){
		dojo.addClass(dojo.byId("info_pass"),"show");
		count = 0;
	}else {		
		dojo.addClass(dojo.byId("info_pass"),"show");
		
		//Zahl suchen
		if(_pass.search(/\d+/) != -1){			
			count ++;
		}
		//Anderes suchen 		
		if((_pass.search(/\D+/) != -1) ){			
			count ++;
		} 
		//ueber 10 zeichen 		
		if(_pass.length >=10){			
			count ++;
		} 
		//Sonderzeichen 		
		if((_pass.search(/\W/) != -1) || (_pass.search(/\b_\b/) != -1)){			
			count ++;
		}
		
		
	}
	switch(count) {
	case 1:
		dojo.addClass(dojo.byId("ind_1"),"full");
		dojo.removeClass(dojo.byId("ind_2"),"full");
		dojo.removeClass(dojo.byId("ind_3"),"full");
		dojo.removeClass(dojo.byId("ind_4"),"full");
		el.innerHTML = "Sehr unsicher";
		dojo.removeClass(e.target,"error");
		pass = true;
		break;
	case 2:
		dojo.addClass(dojo.byId("ind_1"),"full");
		dojo.addClass(dojo.byId("ind_2"),"full");
		dojo.removeClass(dojo.byId("ind_3"),"full");
		dojo.removeClass(dojo.byId("ind_4"),"full");
		el.innerHTML = "Naja geht so...";
		dojo.removeClass(e.target,"error");
		pass = true;
		break;
	case 3:
		dojo.addClass(dojo.byId("ind_1"),"full");
		dojo.addClass(dojo.byId("ind_2"),"full");
		dojo.addClass(dojo.byId("ind_3"),"full");
		dojo.removeClass(dojo.byId("ind_4"),"full");
		el.innerHTML = "sicher";
		dojo.removeClass(e.target,"error");
		pass = true;
		break;
	case 0:
		dojo.addClass(e.target,"error");
		dojo.removeClass(dojo.byId("ind_1"),"full");
		dojo.removeClass(dojo.byId("ind_2"),"full");
		dojo.removeClass(dojo.byId("ind_3"),"full");
		dojo.removeClass(dojo.byId("ind_4"),"full");
		el.innerHTML = "Bitte mindestens 6 Zeichen";
		pass = false;
		break;
	case 4:
		dojo.addClass(dojo.byId("ind_1"),"full");
		dojo.addClass(dojo.byId("ind_2"),"full");
		dojo.addClass(dojo.byId("ind_3"),"full");
		dojo.addClass(dojo.byId("ind_4"),"full");
		el.innerHTML = "Sehr sicher!";
		dojo.removeClass(e.target,"error");
		pass = true;
		break;
	}	
}

function check(){	
	console.log("check");
	if(name == true){
		console.log("Name ist korrekt");
	}
	console.log("name", name);
	console.log("uname",username);
	console.log("mail",mail);
	console.log("pass",pass);
	
	
	if(name && mail && pass && username){
		dojo.removeClass(dojo.byId("sb"),"dis");
		dojo.byId("submit").removeAttribute("disabled");
	}else {
		dojo.addClass(dojo.byId("sb"),"dis");
		dojo.attr(dojo.byId("submit"), "disabled","true");
	}
}



