/* Copyright(C) A.Trigiani * All Rights Reserved. mod */

//register 
var request = false; 
function securityCodeCheckHandler() { 

if (request.readyState == 4 && request.status == 200) { 
var response = request.responseText;
if (response.indexOf("OK") != -1) { 
document.miaform.submit(); 
} 
else {
alert("Codice di sicurezza errato!"); 
warnField("code"); 
} } }

function generalAjaxHandler(field,message,onErrorFunction,onSuccessFunction) { 
	if (request.readyState == 4 && request.status == 200) 
	{ 
	var response = request.responseText;
	//alert(response);
	if (response.indexOf("OK") != -1) {
	onSuccessFunction(); } 
	else { 
	if (onErrorFunction == null) { alert(message); warnField(field); } 
	else {
	onErrorFunction(); 
	} 
	ableButton(); 
	} 
} } 

function submitForm() {
document.miaform.submit(); } 


function checkSecurityCode() { 
var myfunc = function() { 
generalAjaxHandler("code","Codice di sicurezza errato!",null, submitForm); } 
request = CreateXmlHttpReq(myfunc);
request.open("GET","/checkcode.php?do=verify&session_code="+document.miaform.sessione.value+"&code="+document.miaform.code.value+"&rand="+escape(Math.random()));
request.send(null); } 

function checkUsername() { 
var myfunc = function() {

generalAjaxHandler("user_name","Il nick da te scelto e' gia' in uso.",showForgotAccountUsername,checkEmail); } 



request = CreateXmlHttpReq(myfunc);
request.open("POST","/ajax-web2/checkuser.php?user_name="+document.miaform.user_name.value+"&rand="+escape(Math.random()));
request.send(null);
 }

function showForgotAccountUsername() { 
var text='L\'username da te scelto risulta gia\' in uso e non puo\' '; 
text +='essere utilizzato più volte.'; 
text +='Inserire uno username diverso per continuare '; 
text +='con la registrazione. '; 
text +='*Se hai dimenticato l\'username e la password del tuo account*'; 
text +='<a href="http://www.technotizie.it/forgetpass">clicca qui</a> e segui le istruzioni.';
showForgotAccount(text,"user_name"); }

function showForgotAccountEmail() { 
var text='*L\'email da te scelta risulta già in uso* e non puo\' '; 
text +='essere utilizzata piu\' volte. '; text +='Inserisci un indirizzo email diverso per continuare '; 
text +='con la registrazione.'; 
text +='*Se hai dimenticato l\'username e la password dell\'account*associato '; 
text +='al tuo indirizzo email <a href="/forgetpass">clicca qui</a> e segui le istruzioni.';
text +='Se hai problemi con la registrazione, ti preghiamo di segnalarcelo immediatamente' ;
text +='attraverso <a href="/feedback">questa form</a> in forma anonima.';

showForgotAccount(text,'email'); } 

function showForgotAccount(text,field){ 
div = document.getElementById("forgotaccount"); div.style.visibility = 'visible'; div.style.display = 'block';
document.getElementById('forgotaccountText').innerHTML=text;
warnField(field); } 

function checkEmail() { 
var myfunc = function() {
generalAjaxHandler("","",showForgotAccountEmail,checkSecurityCode); }
request = CreateXmlHttpReq(myfunc); request.open("GET", "ajax-web2/checkemail.php?email="+document.miaform.email.value+"&rand="+escape(Math.random()));
request.send(null); } 




function checkForm() { 

//alert("La registrazione al momento è disabilitata");
disableButton();
clearFields(new Array("user_name","email","user_pass","repass"), new Array("forgotaccount")); 
if (!validate(document.miaform.user_name.value, "^[A-z0-9]+$", "Il nick non puo' contenere caratteri speciali o essere vuoto \n.","user_name"))
{ 
ableButton(); 
return false; 
} 

if (!validate(document.miaform.user_pass.value, "^[A-z0-9_.,\\-!;:?=]{5,}$", "La password non puo' contenere caretteri speciali oltre a lettere, numeri e caratteri di punteggiatura, essere vuota o piu' corta di 5 caratteri","user_pass")){ 
ableButton(); 
return false; 
} 

if (document.miaform.user_pass.value != document.miaform.repass.value) { 
alert("I due campi password non coincidono"); 
warnField("user_pass");
warnField("repass"); 
ableButton(); 
return false; 
} 

if (!isValidEmail(document.miaform.email.value)) { 
alert("Email non valida!");
warnField("email"); 
ableButton(); 
return false; 
}

if (!validate(document.miaform.code.value, "^[a-zA-Z0-9]+$", "Il codice risulta essere vuoto o non corretto \n .","code"))
{ 
ableButton(); 
return false; 
} 

if(document.miaform.informativa.checked==false){
alert('Per proseguire devi dichiarare di aver letto e preso visione dell\'informativa privacy'); ableButton();
document.miaform.informativa.focus(); 
return false; 
}

if(document.miaform.condizioni_contratto[0].checked==false){ 
alert('Dichiarare di aver letto e preso visione e di accettare espressamente le condizioni del contratto'); 
ableButton(); 
return false; 
} 

if (!checkSecurityCode()) {
return false; 
ableButton();
}

if (checkUsername()){
submitForm();
}
else {
return false; 
ableButton();
}
} 



function checkFormForget() { 
//alert("La registrazione al momento è disabilitata");
disableButton2();
if (!validate(document.miaform.user_name.value, "^[a-z0-9]+$", "Il nick non puo' contenere caratteri speciali o essere vuoto. \n Solo caratteri minuscoli ammessi.","user_name"))
{ 
ableButton2(); 
return false; 
} 

 

if (!isValidEmail(document.miaform.email.value)) { 
alert("Email non valida!");
warnField("email"); 
ableButton(); 
return false; 
}

checkUsername();
return false;
}

function disableButton2(){
document.getElementById("forgetButton").disabled=true;
document.getElementById("forgetButton").value="Attendere..."; 
}
function ableButton2(){
document.getElementById("forgetButton").disabled=false;
document.getElementById("forgetButton").value="Recupera Password"; }




function disableButton(){
document.getElementById("registerButton").disabled=true;
document.getElementById("registerButton").value="Attendere..."; 
}
function ableButton(){
document.getElementById("registerButton").disabled=false;
document.getElementById("registerButton").value="Registrami"; }

