//versione 20080804 - quasi identico ad openid
// versione 20080428 - le url ora sono relative.
var urlNick = "listaNick?nick=";
var urlCaptcha = "ckc?controllo=";
//RFC 2822 token definitions for valid email - only used together to form a java Pattern object:
var sp = "\\'\\+\\-\\/\\=\\?\\^\\_\\`\\~";
var atext = "[a-zA-Z0-9" + sp + "]";
var atom = atext + "+";
//one or more atext chars
var dotAtom = "\\." + atom;
var localPart = atom + "(" + dotAtom + ")*";
//one atom followed by 0 or more dotAtoms.
//RFC 1035 tokens for domain names:
var letter = "[a-zA-Z]";
var letDig = "[a-zA-Z0-9]";
var letDigHyp = "[a-zA-Z0-9-]";
var rfcLabel = letDig + "(" + letDigHyp + "{0,61}" + letDig + ")?";
var domain = rfcLabel + "(\\." + rfcLabel + ")*\\." + letter + "{2,6}";
//Combined together, these form the allowed email regexp allowed by RFC 2822:
var addrSpec = "/^" + localPart + "@" + domain + "$/";
var timeoutCheck = null;
var timeoutCheckEmail = null;
var timeoutCheckNick = null;
var timeoutCheckPwd = null;
var timeoutCheckConfirmPwd = null;
var timeoutCheckCurrentPwd = null;
var requestTimerNick = null;
var timeOutNick = 30000;
var requestTimerCaptcha = null;
var timeOutCaptcha = 30000;
var strNickAvaiableTitle = "<span>Nick non disponibile</span><b>Ecco qualche suggerimento per la scelta del tuo nickname:</b>";
var timeoutChecked = 350;
var filterGeneric  = "/^(([0-9a-zA-Z_]{1,50})|([0-9a-zA-Z_]+[\.]+[0-9a-zA-Z_]{1,50}))$/";
var filterPassword = "/^(([0-9a-zA-Z_]{0,24})|([0-9a-zA-Z_]+[\.-]+[0-9a-zA-Z_]{0,24}))$/";
var filterNumber = /^([\d]{0,10})$/;
var filterEmail = addrSpec;
var filterEmailGroup = "/^" + localPart + "@(alice\\.it|virgilio\\.it|tin\\.it)$/";
//var filterNick = "/^[a-zA-Z._-]((([a-zA-Z._-]*?([0-9]{0,1}?)){0,8})[a-zA-Z._-]*?)$/";
var filterNick ="/^[a-z][a-z0-9]*[\\-]?[a-z0-9]+$/";
var blnFirstEmail = true;
var blnFirstNick = true;
var blnFirstPassword = true;
var blnFirstConfirmPassword = true;
var blnFirstNumber = true;
var blnFirstCaptcha = true;
var blnFirstCurrentPassword = true;
var blnModifyPwd = false;
var blnModifyPhone = false;
var blnDeletePhone = false;
var emailOk = false;
var emailGroupOk = true;
var emailGroupError = "emailGroupError";
var nickOk = false;
var pwdOk = false;
var confpwdOk = false;
var captchaOk = false;
var radio1Ok = false;
var radio2Ok = false;
var radio3Ok = false;
var isOpenId = false;
var isCellFacoltativo = false;
var onBlurTimeout = 200;
var isBypassPrivacy = false;

function displayInputClass(strDivDisplay, blnError, strClass) {
    if (blnError) {
        document.getElementById(strDivDisplay + "ContainerDiv").className = strClass + "err";
        if (document.getElementById(strDivDisplay + "MsgNoErr") !== null) {
            document.getElementById(strDivDisplay + "MsgNoErr").style.display = "none";
        }
    }
    else {
        document.getElementById(strDivDisplay + "ContainerDiv").className = strClass;
        if (document.getElementById(strDivDisplay + "MsgNoErr") !== null) {
            document.getElementById(strDivDisplay + "MsgNoErr").style.display = "block";
        }
    }
}

function checkGeneric(strValue, blnMandatory, strDivDisplay, strFilter, numMin) {
    var filter;
    if (numMin !== null && numMin !== undefined) {
        if ((strValue === "" && blnMandatory) || (strValue !== "" && strValue.length < numMin)) {
            document.getElementById(strDivDisplay + "Err").style.display = "block";
            displayInputClass(strDivDisplay, true, "insert");
            if (strDivDisplay == "nick") {
                document.getElementById("nickAvaiable").style.display = "none";
            }
            return false;
        }
    }
    else {
        if (strValue === "" && blnMandatory) {
            if (strDivDisplay == "nick") {
                document.getElementById("nickAvaiable").style.display = "none";
            }
            return false;
        }
    }
    filter = eval(strFilter);
    if (filter.test(strValue)) {
        if (strDivDisplay != emailGroupError) {
            document.getElementById(strDivDisplay + "Err").style.display = "none";
            if (strDivDisplay == "nick") {
                document.getElementById("nickAvaiable").style.display = "none";
            }
            displayInputClass(strDivDisplay, false, "insert");
            return true;
        } else {
            document.getElementById(strDivDisplay).style.display = "block";
            displayInputClass("email", true, "insert");
            return false;
        }
    }
    else {
        if (strDivDisplay != emailGroupError) {
            document.getElementById(strDivDisplay + "Err").style.display = "block";
            if (strDivDisplay == "nick") {
                document.getElementById("nickAvaiable").style.display = "none";
            }
            displayInputClass(strDivDisplay, true, "insert");
            return false;
        } else {
            document.getElementById(strDivDisplay).style.display = "none";
            return true;
        }
    }
}

function checkKey(e, ref, idinput1, idinput2) {
    var intKey = window.Event ? e.which : e.keyCode;
    if (intKey == 13) {

        //add to handle enter to tab in safari
        var agt=navigator.userAgent.toLowerCase();
        if (agt.indexOf("safari") != -1){
            e.preventDefault();
        }

        if (idinput1 && document.getElementById(idinput1)) {
            if (!document.getElementById(idinput1).disabled) {
                document.getElementById(idinput1).focus();
            }
            else if (idinput2 && document.getElementById(idinput2)) {
                document.getElementById(idinput2).focus();
            }
            else {
                ref.blur();
            }
        }
        else {
            ref.blur();
        }
        return false;
    }
    return true;
}

function checkEmail() {
    clearTimeout(timeoutCheckEmail);
    timeoutCheckEmail = setTimeout("timeoutCheckEmail=null;checkGeneric('" + document.getElementById("email").value + "', true, 'email', '" + filterEmail + "')" , timeoutChecked);
}

function checkEmailOnBlur(strValue) {
    setTimeout("checkEmailOnBlurDelayed(\"" + strValue +"\")",onBlurTimeout);
}

function checkEmailOnBlurDelayed(strValue) {
    if (blnFirstEmail && strValue !== "") {
        blnFirstEmail = false;
    }
    if (!blnFirstEmail) {
        emailOk = checkGeneric(strValue, true, 'email', filterEmail, 1);
        emailGroupOk = checkGeneric(strValue, true, 'emailGroupError', filterEmailGroup, 1);
    }
}

function checkNick() {
    var strFirst = "";
    var html1;
    clearTimeout(timeoutCheckNick);
    if (!blnFirstNick) {
        strFirst = ",2";
    }
    timeoutCheckNick = setTimeout("timeoutCheckNick=null;checkGeneric('" + document.getElementById("nick").value + "', true, 'nick', '" + filterNick + "'" + strFirst + ")" , timeoutChecked);
    if (isOpenId) {
        if (document.getElementById("nick").value.length > 0) {
            showURI(document.getElementById("nick").value);
        }
        else {
            html1 = 'L\'OpenID deve essere composto tra 2 e 15 caratteri. Puņ contenere lettere,<br>numeri e un trattino (-)<br>';
            document.getElementById("nickMsgNoErr").innerHTML = html1;
        }
    }
}

function parseDataNick(page_request) {
    var datadetail;
    var strNickList;
    if (page_request.readyState != 4) {
        return;
    }
    clearTimeout(requestTimerNick);
    if (page_request.status != 200) {
        page_request = false;
        return;
    }
    else {
        datadetail = eval('(' + page_request.responseText + ')');
        if (datadetail.results.toUpperCase() == "OK") {
            nickOk = true;
            document.getElementById("nickAvaiable").style.display = "none";
        } else {
            strNickList = strNickAvaiableTitle;
            for (var k = 0;k < datadetail.nick.length;k++) {
                strNickList = strNickList + '<em class="elenco">0' + (k + 1) + '. <a href="javascript:changeNick(\'' + datadetail.nick[k] + '\');">' + datadetail.nick[k] + '</a></em>';
            }
            document.getElementById("nickAvaiableText").innerHTML = strNickList;
            document.getElementById("nickAvaiable").style.display = "block";
            displayInputClass("nick", true, "insert");
        }
        page_request = false;
    }
}

function loadNick(url) {
    var page_request = false;
    if (window.XMLHttpRequest) { // if Mozilla, Safari etc
        page_request = new XMLHttpRequest();
    }
    else if (window.ActiveXObject) { // if IE
        try {
            page_request = new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch (e1) {
            try {
                page_request = new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch (e2) {
            }
        }
    }
    else {
        return false;
    }
    page_request.onreadystatechange = function () {
        parseDataNick(page_request);
    };
    requestTimerNick = setTimeout(function () {
        page_request = false;
    }, timeOutNick);
    page_request.open('GET', url, true); //get page synchronously
    page_request.send(null);
}

function checkNickValidity(strValue) {
    if (checkGeneric(strValue, true, 'nick', filterNick, 2)) {
        loadNick(urlNick + strValue);
        return true;
    }
    else {
        return false;
    }
}

function checkNickOnBlur(strValue) {
    setTimeout("checkNickOnBlurDelayed(\"" + strValue +"\")",onBlurTimeout);
}

function checkNickOnBlurDelayed(strValue) {
    nickOk = false;
    clearTimeout(timeoutCheckNick);
    if (blnFirstNick && strValue !== "") {
        blnFirstNick = false;
    }
    if (!blnFirstNick) {
        checkNickValidity(strValue);
        if (isOpenId) {
            if (document.getElementById("nick").value.length > 0) {
                showURI(strValue);
            }
        }
    }
}

function changeNick(strNick) {
    clearTimeout(timeoutCheckPwd);
    if (document.getElementById("password").value !== "") {
        checkGeneric(document.getElementById("password").value, true, 'password', filterPassword, 6);
    }
    else {
        document.getElementById("passwordErr").style.display = "none";
        displayInputClass("password", false, "insert");
    }
    document.getElementById("nick").value = strNick;
    document.getElementById("nickAvaiable").style.display = "none";
    document.getElementById("nickErr").style.display = "none";
    displayInputClass("nick", false, "insert");
    nickOk = true;
    if (isOpenId) {
        if (document.getElementById("nick").value.length > 0) {
            showURI(strNick);
        }
    }
}

function showURI(strNick) {
    var html1 = 'L\'OpenID deve essere composto tra 2 e 15 caratteri. Puo\' contenere lettere,<br>numeri e un trattino (-)<br>';
    var html2 = '<b>OpenID uri</b><img src="images/logo_openid_small.gif" width="29" height="25" border="0" align="absmiddle"><b>http://' + strNick + '.myvirgilio.it</b>';
    document.getElementById("nickMsgNoErr").innerHTML = html1 + html2;
}


function checkPassword() {
    var strFirst = "";
    clearTimeout(timeoutCheckPwd);
    if (!blnFirstPassword) {
        strFirst = ",6";
    }
    timeoutCheckPwd = setTimeout("timeoutCheckPwd=null;checkGeneric('" + document.getElementById("password").value + "', true, 'password', '" + filterPassword + "'" + strFirst + ")" , timeoutChecked);
}

function checkPasswordOnBlur() {
    setTimeout("checkPasswordOnBlurDelayed()",onBlurTimeout);
}

function checkPasswordOnBlurDelayed() {
    var blnPasswordCheck = false;
    var password;
    var confirmPassword;
    clearTimeout(timeoutCheckPwd);
    if (blnFirstPassword && document.getElementById("password").value !== "") {
        blnFirstPassword = false;
    }
    if (!blnFirstPassword) {
        blnPasswordCheck = checkGeneric(document.getElementById("password").value, true, 'password',  filterPassword, 6);
    }
    else {
        blnPasswordCheck = checkGeneric(document.getElementById("password").value, true, 'password',  filterPassword);
    }
    pwdOk = blnPasswordCheck;
    if (blnPasswordCheck && document.getElementById("passwordConfirm").value !== "") {
        password = document.getElementById("password").value;
        confirmPassword = document.getElementById("passwordConfirm").value;
        if (password != confirmPassword) {
            document.getElementById("passwordConfirmErr").style.display = "block";
            displayInputClass("passwordConfirm", true, "insert");
            confpwdOk = false;
        }
        else {
            confpwdOk = true;
        }
    }
    else {
        confpwdOk = false;
    }
}

function checkConfirmPassword(strEvent) {
    var password = document.getElementById("password").value;
    var confirmPassword = document.getElementById("passwordConfirm").value;
    if (strEvent === null || strEvent === undefined) {
        if (!blnFirstConfirmPassword && confirmPassword === "" && password !== "") {
            document.getElementById("passwordConfirmErr").style.display = "block";
            displayInputClass("passwordConfirm", true, "insert");
            return false;
        }
        if (password.substr(0, confirmPassword.length) != confirmPassword) {
            document.getElementById("passwordConfirmErr").style.display = "block";
            displayInputClass("passwordConfirm", true, "insert");
            return false;
        }
        else {
            document.getElementById("passwordConfirmErr").style.display = "none";
            displayInputClass("passwordConfirm", false, "insert");
            return true;
        }
    }
    else {
        if (blnFirstConfirmPassword && confirmPassword !== "") {
            blnFirstConfirmPassword = false;
        }
        if (password != confirmPassword) {
            if (!blnFirstConfirmPassword || strEvent == 'check') {
                if(strEvent !== 'onblur'){
                    displayPwdErrorDelayed();
                } else {
                    setTimeout("displayPwdErrorDelayed()",onBlurTimeout);
                }
                /*document.getElementById("passwordConfirmErr").style.display = "block";
				displayInputClass("passwordConfirm", true, "insert");*/
            }
            confpwdOk = false;
            return false;
        }
        else {
            if (!blnFirstConfirmPassword) {
                document.getElementById("passwordConfirmErr").style.display = "none";
                displayInputClass("passwordConfirm", false, "insert");
            }
            confpwdOk = true;
            return true;
        }
    }
}

function displayPwdErrorDelayed(){
    document.getElementById("passwordConfirmErr").style.display = "block";
    displayInputClass("passwordConfirm", true, "insert");
}

function checkNumber(numMin) {
    setTimeout("checkNumberDelayed(" + numMin + ")",onBlurTimeout);
}

function checkNumberDelayed(numMin) {
    var strNumber = document.getElementById("phone").value;
    if (strNumber === "" && isCellFacoltativo) {
        document.getElementById("phoneErr").style.display = "none";
        displayInputClass("phone", false, "insert");
        return true;
    }
    else if (!blnFirstNumber) {
        if (strNumber.length < numMin) {
            document.getElementById("phoneErr").style.display = "block";
            displayInputClass("phone", true, "insert");
            return false;
        }
    }
    if (filterNumber.test(strNumber)) {
        document.getElementById("phoneErr").style.display = "none";
        displayInputClass("phone", false, "insert");
        return true;
    }
    else {
        document.getElementById("phoneErr").style.display = "block";
        displayInputClass("phone", true, "insert");
        return false;
    }
}

function rigenerateCaptcha() {
    var rnd = Math.random() * 100000;
    document.getElementById("captchaImage").src = "captcha?rnd=" + rnd;
}

function parseDataCaptcha(page_request) {
    var datadetail;
    if (page_request.readyState != 4) {
        return;
    }
    clearTimeout(requestTimerCaptcha);
    if (page_request.status != 200) {
        page_request = false;
        return;
    }
    else {
        datadetail = eval('(' + page_request.responseText + ')');
        if (datadetail.result.toUpperCase() == "OK") {
            captchaOk = true;
            document.getElementById("captchaTextErr").style.display = "none";
            displayInputClass("captchaText", false, "controllo");
            document.getElementById("captchaText").disabled = true;
            document.getElementById("captchaTextEsplication").style.display = "none";
        }
        else {
            rigenerateCaptcha();
            document.getElementById("captchaText").value = "";
            document.getElementById("captchaTextErr").style.display = "block";
            displayInputClass("captchaText", true, "controllo");
        }
        page_request = false;
    }
}

function loadCaptcha(url) {
    var page_request = false;
    if (window.XMLHttpRequest) { // if Mozilla, Safari etc
        page_request = new XMLHttpRequest();
    }
    else if (window.ActiveXObject) // if IE
    {
        try
        {
            page_request = new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch (e1)
        {
            try
            {
                page_request = new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch (e2) {}
        }
    }
    else {
        return false;
    }
    page_request.onreadystatechange = function () {
        parseDataCaptcha(page_request);
    };
    requestTimerCaptcha = setTimeout(function () {
        page_request = false;
    }, timeOutCaptcha);
    page_request.open('GET', url, true); //get page synchronously
    page_request.send(null);
}

function checkCaptchaValidity(strValue) {
    if (strValue !== "") {
        loadCaptcha(urlCaptcha + strValue);
        return true;
    }
    else {
        document.getElementById("captchaTextErr").style.display = "block";
        displayInputClass("captchaText", true, "controllo");
        return false;
    }
}

function checkCaptchaOnBlur(strValue) {
    setTimeout("checkCaptchaOnBlurDelayed(\"" + strValue +"\")",onBlurTimeout);
}

function checkCaptchaOnBlurDelayed(strValue) {
    captchaOk = false;
    if (blnFirstCaptcha && strValue !== "") {
        blnFirstCaptcha = false;
    }
    if (!blnFirstCaptcha) {
        checkCaptchaValidity(strValue);
    }
}

function checkTrattDati() {
    var strNumber = document.getElementById("phone").value;
    if (strNumber !== "") {
        var radio = document.getElementById("accettoTrattDatiNo");
        if (radio.checked) {
            document.getElementById("accettoTrattDatiWarn").style.display = "block";
        } else {
            document.getElementById("accettoTrattDatiWarn").style.display = "none";
        }
    } else {
        document.getElementById("accettoTrattDatiWarn").style.display = "none";
    }
}

function displayLabelRadio(strDivDisplay, blnError) {
    if (blnError) {
        if (document.getElementById("lbl" + strDivDisplay)) {
            document.getElementById("lbl" + strDivDisplay).style.display = "none";
            document.getElementById("lbl" + strDivDisplay + "Err").style.display = "";
        }
        else {
            document.getElementById("lbl" + strDivDisplay + "Si").style.display = "none";
            document.getElementById("lbl" + strDivDisplay + "No").style.display = "none";
            document.getElementById("lbl" + strDivDisplay + "SiErr").style.display = "";
            document.getElementById("lbl" + strDivDisplay + "NoErr").style.display = "";
        }
    }
    else {
        if (document.getElementById("lbl" + strDivDisplay)) {
            document.getElementById("lbl" + strDivDisplay).style.display = "";
            document.getElementById("lbl" + strDivDisplay + "Err").style.display = "none";
        }
        else {
            document.getElementById("lbl" + strDivDisplay + "Si").style.display = "";
            document.getElementById("lbl" + strDivDisplay + "No").style.display = "";
            document.getElementById("lbl" + strDivDisplay + "SiErr").style.display = "none";
            document.getElementById("lbl" + strDivDisplay + "NoErr").style.display = "none";
        }
    }
}

function checkGenericRadio(objRadio, strDivDisplay) {
    if (objRadio.checked) {
        document.getElementById(strDivDisplay + "Err").style.display = "none";
        displayLabelRadio(strDivDisplay, false);
        switch (strDivDisplay) {
            case 'accettoContratto':
                radio1Ok = true;
                break;
            case 'accettoClausule':
                radio2Ok = true;
                break;
            case 'accettoTrattDati':
                if(!isOpenId){
                    checkTrattDati();
                }
                radio3Ok = true;
                break;
        }
        return true;
    }
    else {
        document.getElementById(strDivDisplay  + "Err").style.display = "block";
        displayLabelRadio(strDivDisplay, true);
        return false;
    }
}

function checkGenericRadio2(objRadio, strDivDisplay) {
    if (objRadio.checked) {
        document.getElementById(strDivDisplay + "Err").style.display = "none";
        displayLabelRadio(strDivDisplay, false);
        if (objRadio.value == 'no') {
            document.getElementById(strDivDisplay + "Warn").style.display = "block";
        }
        else {
            document.getElementById(strDivDisplay + "Warn").style.display = "none";
        }
        return true;
    }
    else {
        document.getElementById(strDivDisplay + "Err").style.display = "block";
        displayLabelRadio(strDivDisplay, true);
        return false;
    }
}

function checkAllData() {
    var blnCheck = true;
    if (!emailOk && !checkGeneric(document.getElementById("email").value, true, 'email', filterEmail, 1)) {
        blnCheck = false;
    }
    if (!nickOk) {
        if (!checkGeneric(document.getElementById("nick").value, true, 'nick', filterNick, 2)) {
            blnCheck = false;
        }
    } else {
        nickOk=true;
    }
    if (!pwdOk && !checkGeneric(document.getElementById("password").value, true, 'password', filterPassword, 6)) {
        blnCheck = false;
    }
    else {
        if (!confpwdOk && !checkConfirmPassword('check')) {
            blnCheck = false;
        }
    }
//    if (document.getElementById("phone")) {
    if (!isCellFacoltativo) {
        blnFirstNumber=false;
        if (!checkNumberDelayed(9)) {
            blnCheck = false;
        }
    }
    if (!captchaOk) {
        document.getElementById("captchaTextErr").style.display = "block";
        displayInputClass("captchaText", true, "controllo");
        blnCheck = false;
    }
    if (!radio1Ok && !checkGenericRadio(document.getElementById("accettoContratto"), "accettoContratto")) {
        blnCheck = false;
    }
    if (!radio2Ok && !checkGenericRadio(document.getElementById("accettoClausule"), "accettoClausule")) {
        blnCheck = false;
    }
    if (!radio3Ok && !checkGenericRadio(document.getElementById("accettoTrattDatiSi"), "accettoTrattDati")) {
        blnCheck = false;
    }
    if (blnCheck && nickOk) {
        document.forms[0].submit(); // ddvv added 20080529
    } else {
        checkNickOnBlur(document.getElementById("nick").value);
    }
}

function blankValueData() {
    if (document.getElementById("email")) {
        document.getElementById("email").value = "";
    }
    if (document.getElementById("nick")) {
        document.getElementById("nick").value = "";
    }
    if (document.getElementById("password")) {
        document.getElementById("password").value = "";
    }
    if (document.getElementById("passwordConfirm")) {
        document.getElementById("passwordConfirm").value = "";
    }
    if (document.getElementById("phone")) {
        document.getElementById("phone").value = "";
    }
    if (document.getElementById("captchaText"))
    {
        document.getElementById("captchaText").value = "";
        document.getElementById("captchaText").disabled = false;
    }
    if (document.getElementById("currentPassword")) {
        document.getElementById("currentPassword").value = "";
    }
    if (document.getElementById("accettoContratto")) {
        document.getElementById("accettoContratto").checked = false;
    }
    if (document.getElementById("accettoClausule")) {
        document.getElementById("accettoClausule").checked = false;
    }
    if (document.getElementById("accettoTrattDatiSi")) {
        document.getElementById("accettoTrattDatiSi").checked = false;
    }
    if (document.getElementById("accettoTrattDatiNo")) {
        document.getElementById("accettoTrattDatiNo").checked = false;
    }
}

function checkPWD(valore) {
    if (document.forms[0].pwdDB.value !== "" && document.forms[0].pwdDB.value != valore) {
        document.getElementById("currentPasswordErr").style.display = "block";
        displayInputClass("currentPassword", true, "insert");
        return false;
    }
    else {
        document.getElementById("currentPasswordErr").style.display = "none";
        displayInputClass("currentPassword", false, "insert");
        return true;
    }
}

function cambiaPassword() {
    blnModifyPwd = true;
    document.getElementById("displayPwd").style.display = "none";
    document.getElementById("currentPwd").style.display = "block";
    document.getElementById("newPwd").style.display = "block";
    document.getElementById("confirmPwd").style.display = "block";
    //document.getElementById("checkPwd").style.display = "block";
}

function checkCurrentPassword() {
    var strFirst = "";
    clearTimeout(timeoutCheckCurrentPwd);
    if (!blnFirstCurrentPassword) {
        strFirst = ",6";
    }
    timeoutCheckCurrentPwd = setTimeout("timeoutCheckCurrentPwd=null;checkGeneric('" + document.getElementById("currentPassword").value + "', true, 'currentPassword', '" + filterPassword + "'" + strFirst + ")" , timeoutChecked);
}

function checkCurrentPasswordOnBlur(valore) {
    checkPWD(valore);
    clearTimeout(timeoutCheckCurrentPwd);
    if (blnFirstCurrentPassword && document.getElementById("currentPassword").value !== "") {
        blnFirstCurrentPassword = false;
    }
    if (!blnFirstCurrentPassword) {
        checkGeneric(document.getElementById("currentPassword").value, true, 'currentPassword',  filterPassword, 6);
    }
    else {
        checkGeneric(document.getElementById("currentPassword").value, true, 'currentPassword',  filterPassword);
    }
}

function cambiaNumero(num) {
    blnModifyPhone = true;
    blnDeletePhone = false;
    document.getElementById("delPhoneNumber").style.display = "none";
    document.getElementById("displayPhone").style.display = "none";
    document.getElementById("newPhone").style.display = "block";
    document.forms[0].numeroCellulare.value = num;
}

function cancellaNumero() {
    blnModifyPhone = false;
    blnDeletePhone = true;
    document.getElementById("displayPhone").style.display = "none";
    document.getElementById("newPhone").style.display = "none";
    document.getElementById("delPhoneNumber").style.display = "block";
    document.forms[0].cancella.value = "1";
}

function checkManageAccount() {
    var blnCheck = true;
    if (blnModifyPwd) {
        if (!checkGeneric(document.getElementById("currentPassword").value, true, 'currentPassword', filterPassword, 6)) {
            blnCheck = false;
        }
        else {
            if (!checkGeneric(document.getElementById("password").value, true, 'password', filterPassword, 6)) {
                blnCheck = false;
            }
            else {
                if (!checkConfirmPassword()) {
                    blnCheck = false;
                }
            }
        }
    }
    if (!isBypassPrivacy && blnModifyPhone && document.getElementById("phone")) {
        if (!checkNumberDelayed(9)) {
            blnCheck = false;
        }
    }
    if (!isBypassPrivacy && !checkGenericRadio(document.getElementById("accettoTrattDatiSi"), "accettoTrattDati")) {
        blnCheck = false;
        if (!checkGenericRadio(document.getElementById("accettoTrattDatiNo"), "accettoTrattDati")) {
            blnCheck = false;
        }
        else {
            blnCheck = true;
        }
    }
    return blnCheck;
}

function resetData() {
    blnModifyPhone = false;
    blnDeletePhone = false;
    blnModifyPwd = false;
    document.getElementById("delPhoneNumber").value = "";
    document.getElementById("currentPwd").style.display = "none";
    document.getElementById("newPwd").style.display = "none";
    document.getElementById("confirmPwd").style.display = "none";
    document.getElementById("newPhone").style.display = "none";
    document.getElementById("phoneErr").style.display = "none";
    document.getElementById("passwordConfirmErr").style.display = "none";
    document.getElementById("passwordErr").style.display = "none";
    document.getElementById("currentPasswordErr").style.display = "none";
    document.getElementById("accettoTrattDatiErr").style.display = "none";
    document.getElementById("currentPassword").value = "";
    document.getElementById("password").value = "";
    document.getElementById("passwordConfirm").value = "";
    if (document.getElementById("phone")) {
        document.getElementById("phone").value = "";
    }
    displayInputClass("currentPassword", false, "insert");
    displayInputClass("password", false, "insert");
    displayInputClass("passwordConfirm", false, "insert");
    displayInputClass("phone", false, "insert");
    document.getElementById("btnDelete").style.visibility = "visible";
    document.getElementById("separatorBtnPhone").style.visibility = "visible";
    document.getElementById("displayPhone").style.display = "block";
    document.getElementById("displayPwd").style.display = "block";
    return false;
}

