//Variabilie per XML Ajax
var xmlHttp;
var openFontRed = "<font face='Tahoma' size='2px' color='red'>";
var closeFontRed = "</font>";

function ajaxNameCheck(lang){
		xmlHttp=GetXmlHttpObject()
		if (xmlHttp==null){
			 alert ("Spiacente, il tuo Browser non supporta JavaScript. Si prega di attivare l'uso di JavaScript o utilizzare un browser pił recente");
			 return
		}
		document.getElementById("divCognomiVerifica").style.display  = 'inline';
		var query="";
		var url="nameCheck.php?lang=" + lang;
		var nome = document.form1.sl_firstname.value;
		var cognome = document.form1.last_name_id.options[document.form1.last_name_id.selectedIndex].value;
		var cognomeName = document.form1.last_name_id.options[document.form1.last_name_id.selectedIndex].text;
		//var cognome = document.getElementById("sl_lastname").value;
		query = query + "fn=" + nome + "&";
		query = query + "ln=" + cognome;
		url = url + "&" + query;
		//imposto la funzione di riposta
		xmlHttp.onreadystatechange=function() {
									responseAjaxNameCheck(cognomeName);
							};
		xmlHttp.open("GET",url,true)
		xmlHttp.send(null)
} 






function ajaxSubmit(formName, lang){
	
	
	xmlHttp=GetXmlHttpObject()
	if (xmlHttp==null){
		alert ("Spiacente, il tuo Browser non supporta JavaScript. Si prega di attivare l'uso di JavaScript o utilizzare un browser pił recente");
		return
	}

	var url="action.php?lang=" + lang;
	//url = url + "captcha_code=" + document.form1.captcha_code.value;
	var xmlMessage = buildPOST(formName); 
	//imposto la funzione di riposta
	xmlHttp.onreadystatechange=function() {
		responseAjaxSumit(lang);
	};
	

	
	xmlHttp.open("POST", url, true) 
    // for ie compatability
    xmlHttp.setRequestHeader('Content-Type','text/html')
    xmlHttp.send(xmlMessage) 
}




function responseAjaxSumit(lang){
	//Se la risposta va a buon fine
	if (xmlHttp.readyState==4){ 	
		if (xmlHttp.status == 200){
			var response = xmlHttp.responseText;
			if (response == "OK_MAIL")
			{
				location.href="./slreg_hold.php?lang=" + lang;
			}
			else
			{
				document.getElementById("errorRegistration").innerHTML = openFontRed + "<b>" + response + "</b>" + closeFontRed;
				document.getElementById("messageNameCheck").innerHTML = "";
				
				document.getElementById("divSubmit").style.display  = 'inline';
				document.getElementById("divRegistration").style.display  = 'none';

		
				document.getElementById('captcha').src = './securimage/securimage_show.php?' + Math.random();
				document.form1.captcha_code.value = "";
			}
		}
	}
}





function responseAjaxNameCheck(cognome){
//Se la risposta va a buon fine
if (xmlHttp.readyState==4){ 	
	if (xmlHttp.status == 200){
		var response = xmlHttp.responseText;
		document.getElementById("messageNameCheck").innerHTML = response;
		document.getElementById("divCognomiVerifica").style.display  = 'none';
		
		if ((response.indexOf("proseguire")!=-1) || (response.indexOf("complete")!=-1))
		{
			document.getElementById("sl_firstname").readOnly  = true;
			document.getElementById("elencoCognomi").style.display  = 'none';
			document.getElementById("selectCognome").style.display  = 'inline';
			
			document.getElementById("errorRegistration").innerHTML = "";
			document.getElementById("divControllaDisponibilita").style.display  = 'none';
			document.getElementById("divCambiaCognome").style.display  = 'inline';
			
			document.getElementById("selectCognome").style.display = 'inline';
			document.getElementById("selectCognome").innerHTML = "<font face='Tahoma' size='2px'>" + cognome + "</font>";
			
			$("#divAnagrafica").slideDown("slow");
			//document.getElementById("divAnagrafica").style.display = 'inline';
		}
	}
}
}


function changeName(){
		//document.getElementById("divAnagrafica").style.display = 'none';
		$("#divAnagrafica").slideUp("slow");
		document.getElementById("messageNameCheck").innerHTML = "";
		document.getElementById("divControllaDisponibilita").style.display  = 'inline';
		document.getElementById("divCambiaCognome").style.display  = 'none';
		document.getElementById("sl_firstname").readOnly  = false;
		document.getElementById("selectCognome").style.display = 'none';
		document.getElementById("elencoCognomi").style.display  = 'inline';
}

function register(lang){

	var isValid = true;
	
	if(lang == "en")
	{
		if (document.form1.real_first_name.value == ""){
			document.getElementById("errorNome").innerHTML = openFontRed + "First name is necessary" + closeFontRed;
			isValid = false;
		}else{
			document.getElementById("errorNome").innerHTML = "";
		}
		
		if (document.form1.real_last_name.value == ""){
			document.getElementById("errorCognome").innerHTML = openFontRed + "Last name is necessary" + closeFontRed;
			isValid = false;
		}else{
			document.getElementById("errorCognome").innerHTML = "";
		}
		
		if (document.form1.password.value == ""){
			document.getElementById("errorPassword").innerHTML = openFontRed + "Password is necessary" + closeFontRed;
			isValid = false;
		}else{
			if (document.form1.password.value.length < 6 || document.form1.password.value.length > 16){
				document.getElementById("errorPassword").innerHTML = openFontRed + "Password must be between 6 and 16 chars long" + closeFontRed;
				isValid = false;
			}else{
			
				if (document.form1.password2.value != document.form1.password.value){
					document.getElementById("errorPassword").innerHTML = openFontRed + "The two passwords don't match" + closeFontRed;
					isValid = false;
				}else{
					document.getElementById("errorPassword").innerHTML = "";
				}		
			}
		}
	
		
		if (document.form1.password2.value == ""){
			document.getElementById("errorPassword2").innerHTML = openFontRed + "Confirmation password is necessary" + closeFontRed;
			isValid = false;
		}else{
			document.getElementById("errorPassword2").innerHTML = "";
		}	
		
	
		
		if (document.form1.email.value == "" || isEmail(document.form1.email.value) == 0){
			document.getElementById("errorMail").innerHTML = openFontRed + "Email address is not valid" + closeFontRed;
			isValid = false;
		}else{
			document.getElementById("errorMail").innerHTML = "";
			
			if (document.form1.email2.value != document.form1.email.value){
				document.getElementById("errorMail").innerHTML = openFontRed + "The two emails don't match" + closeFontRed;
				isValid = false;
			}else{
				document.getElementById("errorMail").innerHTML = "";
			}		
		}
		
		if (document.form1.email2.value == "" || isEmail(document.form1.email.value) == 0){
			document.getElementById("errorMail2").innerHTML = openFontRed + "Confirmation email is not valid" + closeFontRed;
			isValid = false;
		}else{
			document.getElementById("errorMail2").innerHTML = "";
		}
		
		if (document.form1.accept.checked == false){
			document.getElementById("errorAccept").innerHTML = openFontRed + "You have to check the privacy statement" + closeFontRed;
			isValid = false;
		}else{
			document.getElementById("errorAccept").innerHTML = "";
		}	
		
		if (document.form1.captcha_code.value == ""){
			document.getElementById("errorCaptcha").innerHTML = openFontRed + "Captcha code is necessary" + closeFontRed;
			isValid = false;
		}else{
			document.getElementById("errorCaptcha").innerHTML = "";	
		}
	}
	else
	{
		if (document.form1.real_first_name.value == ""){
			document.getElementById("errorNome").innerHTML = openFontRed + "Il Nome &egrave; obbligatorio" + closeFontRed;
			isValid = false;
		}else{
			document.getElementById("errorNome").innerHTML = "";
		}
		
		if (document.form1.real_last_name.value == ""){
			document.getElementById("errorCognome").innerHTML = openFontRed + "Il Cognome &egrave; obbligatorio" + closeFontRed;
			isValid = false;
		}else{
			document.getElementById("errorCognome").innerHTML = "";
		}
		
		if (document.form1.password.value == ""){
			document.getElementById("errorPassword").innerHTML = openFontRed + "La Password &egrave; obbligatoria" + closeFontRed;
			isValid = false;
		}else{
			if (document.form1.password.value.length < 6 || document.form1.password.value.length > 16){
				document.getElementById("errorPassword").innerHTML = openFontRed + "La Password deve essere lunga tra 6 e 16 caratteri" + closeFontRed;
				isValid = false;
			}else{
			
				if (document.form1.password2.value != document.form1.password.value){
					document.getElementById("errorPassword").innerHTML = openFontRed + "Le 2 Password non coincidono" + closeFontRed;
					isValid = false;
				}else{
					document.getElementById("errorPassword").innerHTML = "";
				}		
			}
		}
	
		
		if (document.form1.password2.value == ""){
			document.getElementById("errorPassword2").innerHTML = openFontRed + "La Password di conferma &egrave; obbligatoria" + closeFontRed;
			isValid = false;
		}else{
			document.getElementById("errorPassword2").innerHTML = "";
		}	
		
	
		
		if (document.form1.email.value == "" || isEmail(document.form1.email.value) == 0){
			document.getElementById("errorMail").innerHTML = openFontRed + "L'indirizzo mail non &egrave; valido" + closeFontRed;
			isValid = false;
		}else{
			document.getElementById("errorMail").innerHTML = "";
			
			if (document.form1.email2.value != document.form1.email.value){
				document.getElementById("errorMail").innerHTML = openFontRed + "Le 2 Mail non coincidono" + closeFontRed;
				isValid = false;
			}else{
				document.getElementById("errorMail").innerHTML = "";
			}		
		}
		
		if (document.form1.email2.value == "" || isEmail(document.form1.email.value) == 0){
			document.getElementById("errorMail2").innerHTML = openFontRed + "La mail di conferma non &egrave; valida" + closeFontRed;
			isValid = false;
		}else{
			document.getElementById("errorMail2").innerHTML = "";
		}
		
		if (document.form1.accept.checked == false){
			document.getElementById("errorAccept").innerHTML = openFontRed + "E' necessario prendere visione della nota informativa" + closeFontRed;
			isValid = false;
		}else{
			document.getElementById("errorAccept").innerHTML = "";
		}	
		
		if (document.form1.captcha_code.value == ""){
			document.getElementById("errorCaptcha").innerHTML = openFontRed + "Il codice Captcha &egrave; obbligatorio" + closeFontRed;
			isValid = false;
		}else{
			document.getElementById("errorCaptcha").innerHTML = "";	
		}		
	}
	if (isValid){
		//document.form1.submit();
		
		document.getElementById("divSubmit").style.display  = 'none';
		document.getElementById("divRegistration").style.display  = 'inline';
		
		ajaxSubmit('form1', lang);
	}
	
}


function isEmail(string) {
	if (string.search(/^\w+((-\w+)|(\.\w+))*\@\w+((\.|-)\w+)*\.\w+$/) != -1)
		return 1;
	else
	return 0;
}


function buildPOST(theFormName) {
    theForm = document.forms[theFormName];
    var qs = ''
    for (e=0;e<theForm.elements.length;e++) {
        if (theForm.elements[e].name!='') {
            var name = theForm.elements[e].name;
            qs+=(qs=='')?'':'&'
            qs+= name+'='+escape(theForm.elements[e].value);
        }
    }
    qs+="\n";
    return qs
} 



//Funzione per ottenere l'oggetto XMLHTTP di Ajax in base ai diversi browser
// funzione che ricava l'oggetto in base al browser dell'utente
function GetXmlHttpObject(){
	var objXmlHttp = null;
	if(window.XMLHttpRequest){
		objXmlHttp = new XMLHttpRequest(); // code for Mozilla, etc.
	}
	else if(window.ActiveXObject){
		objXmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); // code for IE7
	}
	return objXmlHttp;
}
