/**
 *	ESU Register JS
 *	(c) 2008 electronic solutions ulm GmbH & Co KG
 *	  
 *	@author tobias lau media solutions
 */

// PW Checken
function checkPWStrength() {
	var strength = document.getElementById('pw-strength');
	var strongRegex = new RegExp("^(?=.{8,})(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*\\W).*$", "g");
	var mediumRegex = new RegExp("^(?=.{7,})(((?=.*[A-Z])(?=.*[a-z]))|((?=.*[A-Z])(?=.*[0-9]))|((?=.*[a-z])(?=.*[0-9]))).*$", "g");
	var enoughRegex = new RegExp("(?=.{6,}).*", "g");
	var pwd = document.getElementById("esu-register-password");
	if (pwd.value.length==0) {
	strength.innerHTML = "";
	} else if (false == enoughRegex.test(pwd.value)) {
	strength.innerHTML = '<div style="width:33%; background-color:red; float:left; height:100%;"></div>';
	} else if (strongRegex.test(pwd.value)) {
	strength.innerHTML = '<div style="width:100%; background-color:green; float:left; height:100%;"></div>';
	} else if (mediumRegex.test(pwd.value)) {
	strength.innerHTML = '<div style="width:66%; background-color:orange; float:left; height:100%;"></div>';
	} else {
	strength.innerHTML = '<div style="width:33%; background-color:red; float:left; height:100%;"></div>';
	}
	}



/* JQuery intialisieren */
$(document).ready(function() {

	// Kundentyp Checkboxen
	$("input[@name='esu-register-kundentyp']").click(
		function()
		{
			if ($("#esu-register-kundentyp-1").is(":checked"))
			{
				$("#esu-register-kdnr-label").css({borderBottom: "1px dotted #555555"});
				$("#esu-register-ecos-div").slideUp("normal");
				$("#esu-register-system-div").slideUp("normal");
			}
			if ($("#esu-register-kundentyp-2").is(":checked"))
			{
				$("#esu-register-kdnr-label").css({borderBottom: "none"});
				$("#esu-register-ecos-div").slideUp("normal");
				$("#esu-register-system-div").slideUp("normal");
			}
			if ($("#esu-register-kundentyp-0").is(":checked"))
			{
				$("#esu-register-kdnr-label").css({borderBottom: "none"});
				$("#esu-register-ecos-div").slideDown("normal");
				$("#esu-register-system-div").slideDown("normal");
			}
		}
	);


	// Submit
	$("#submitRegister").click(function() {

		if (!registerError) $("#esu-register-error-top").hide(); $("#esu-register-error-bottom").hide();
		$("#esu-register-password-error").hide();
		$(".tx-esuregister-pi1 .input-text").css("border","1px solid #d1d1e1");
		$(".tx-esuregister-pi1 .input-text").css("background","#fff");
		$(".tx-esuregister-pi1 select").css("border","1px solid #d1d1e1");
		$(".tx-esuregister-pi1 select").css("background","#fff");
		$(".tx-esuregister-pi1 textarea").css("border","1px solid #d1d1e1");
		$(".tx-esuregister-pi1 textarea").css("background","#fff");
		
		
		var registerError = false;
		var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
		var serialReg = /^[a-fA-F0-9]{8}$/; //[0-9A-F]{8};
		var usernameReg = /^[0-9A-Za-z_äÄöÖüÜ]+$/;
		
		
		
		// Username prüfen
		$("#esu-register-processing").css("display","block");
		$.post("typo3conf/ext/esu_register/res/checkUsername.php", { username: $('#esu-register-nickname').val() },
			  function(data){
			  	
			  	//alert(data);
			  	
			    if (data == "1") {	
					registerError = true;
					$("#esu-register-username-error").show("fast");
					$("#esu-register-nickname").css("border","1px dotted #d72b37");
					$("#esu-register-nickname").css("background","#fffec5");
				}
				else $("#esu-register-username-error").hide("fast");
				
				$("#esu-register-processing").css("display","none");
		  });
		if ( !usernameReg.test($('#esu-register-nickname').val()) ) {
			registerError = true;
			$("#esu-register-username-error-spelling").show("fast");
			$("#esu-register-nickname").css("border","1px dotted #d72b37");
			$("#esu-register-nickname").css("background","#fffec5");
		}
		else {
			$("#esu-register-username-error-spelling").hide(0);
		}
			
		
		var titleVal = $("#esu-register-anrede").val();
		if(titleVal == "choose") {
			$("#esu-register-anrede").css("border","1px dotted #d72b37");
			$("#esu-register-anrede").css("background","#fffec5");
			registerError = true;
		}

		var prenameVal = $("#esu-register-prename").val();
		if(prenameVal == "") {
			$("#esu-register-prename").css("border","1px dotted #d72b37");
			$("#esu-register-prename").css("background","#fffec5");
			registerError = true;
		}
		
		var lastnameVal = $("#esu-register-lastname").val();
		if(lastnameVal == "") {
			$("#esu-register-lastname").css("border","1px dotted #d72b37");
			$("#esu-register-lastname").css("background","#fffec5");
			registerError = true;
		}
		
		var adressVal = $("#esu-register-adress").val();
		if(adressVal == "") {
			$("#esu-register-adress").css("border","1px dotted #d72b37");
			$("#esu-register-adress").css("background","#fffec5");
			registerError = true;
		}
		
		var plzVal = $("#esu-register-plz").val();
		if(plzVal == "") {
			$("#esu-register-plz").css("border","1px dotted #d72b37");
			$("#esu-register-plz").css("background","#fffec5");
			registerError = true;
		}
		
		var venueVal = $("#esu-register-venue").val();
		if(venueVal == "") {
			$("#esu-register-venue").css("border","1px dotted #d72b37");
			$("#esu-register-venue").css("background","#fffec5");
			registerError = true;
		}
		
		var countryVal = $("#esu-register-country").val();
		if(countryVal == "choose") {
			$("#esu-register-country").css("border","1px dotted #d72b37");
			$("#esu-register-country").css("background","#fffec5");
			registerError = true;
		}
		
		var emailVal = $("#esu-register-email").val();
		var emailRepeatVal = $("#esu-register-email-repeat").val();
		if(emailVal == "" || !emailReg.test(emailVal)) 
		{
			$("#esu-register-email").css("border","1px dotted #d72b37");
			$("#esu-register-email").css("background","#fffec5");
			registerError = true;
		}
		if(emailRepeatVal != emailVal || emailRepeatVal == "") {
			$("#esu-register-email-repeat").css("border","1px dotted #d72b37");
			$("#esu-register-email-repeat").css("background","#fffec5");
			registerError = true;
		}
		
		var nicknameVal = $("#esu-register-nickname").val();
		if(nicknameVal == "") {
			$("#esu-register-nickname").css("border","1px dotted #d72b37");
			$("#esu-register-nickname").css("background","#fffec5");
			registerError = true;
		}
		
		var passwordVal = $("#esu-register-password").val();
		var passwordRepVal = $("#esu-register-password-repeat").val();
		if(passwordVal == "" || passwordVal != passwordRepVal) {
			$("#esu-register-password").css("border","1px dotted #d72b37");
			$("#esu-register-password").css("background","#fffec5");
			$("#esu-register-password-repeat").css("border","1px dotted #d72b37");
			$("#esu-register-password-repeat").css("background","#fffec5");
			if ( passwordVal != passwordRepVal ) $("#esu-register-password-error").show("fast");
			registerError = true;
		}
		
		// Falls Händler -> Kundennummer
		if ($('#esu-register-kundentyp-1').is(':checked'))
		{
			var kundennrVal = $("#esu-register-kdnr").val();
			if(kundennrVal == "") 
			{
				$("#esu-register-kdnr").css("border","1px dotted #d72b37");
				$("#esu-register-kdnr").css("background","#fffec5");
				registerError = true;
			}	
		}
		
		// Falls ECoS Checkbox aktiviert
		if ($('#esu-register-ecos').is(':checked') && $("#esu-register-kundentyp-0").is(":checked"))
		{
			var ecosSerialVal = $("#esu-register-ecos-serial").val();
			if(ecosSerialVal == "") 
			{
				$("#esu-register-ecos-serial").css("border","1px dotted #d72b37");
				$("#esu-register-ecos-serial").css("background","#fffec5");
				registerError = true;
			}
			else if (!serialReg.test(ecosSerialVal)) {
				$("#esu-register-ecos-serial").css("border","1px dotted #d72b37");
				$("#esu-register-ecos-serial").css("background","#fffec5");
				$("#esu-register-ecos-serial-error").show("fast");
				registerError = true;
			}
			else {
				$("#esu-register-ecos-serial-error").hide(1);
			}
		}
		
		// Nutzungsbedingungen Checkbox
		$("#esu-register-agb-accept-div").css("border","0px");
		if (!($('#esu-register-accept-agb').is(':checked'))) {
			$("#esu-register-agb-accept-div").css("border","1px dotted #d72b37");
			registerError = true;
		}
			
		
	
		// Error Div anzeigen
		if (registerError)
		{
			$("#esu-register-error-top").show("fast");
			$("#esu-register-error-bottom").show("fast");
			//$("#submitRegister").css("border","1px dotted #d72b37");
		}
			
		// Alles ausgefüllt
		if (!registerError)
		{
			$("#registerForm").submit();
		}
		
		return false;
		
	});
});


