﻿var usernameOK = true;
var emailOK = true;

function initFormReg() {
    usernameOK = true;
    emailOK = true;

    if ($obj('RegUserName') != null) {
        addEvent($obj('RegUserName'), 'keyup', chkUserName)
        addEvent($obj('RegEmail'), 'keyup', chkEmail)
    }
}

function ChkReg() {
    if (!usernameOK) {
        window.alert("Il Nome Utente inserito è già stato utilizzato, inserirne uno diverso.");
        $obj("RegUserName").focus();
        return false;
    }
    if ($obj("RegUserName").value.Trim() == ""){
        window.alert("Il campo Nome Utente è obbligatorio.");
        $obj("RegUserName").focus();
        return false;
    }
    if ($obj("RegUserName").value.Trim().length <3) {
        window.alert("Il campo Nome Utente non può essere più corto di 3 caratteri");
        $obj("RegUserName").focus();
        return false;
    }

    if ($obj("RegPassword") != null) {
        if ($obj("RegPassword").value.Trim() == "") {
            window.alert("Il campo Password è obbligatorio.");
            $obj("RegPassword").focus();
            return false;
        }
        if ($obj("RegConfermaPassword").value.Trim() == "") {
            window.alert("Reinserire la Password.");
            $obj("RegConfermaPassword").focus();
            return false;
        }
        if ($obj("RegPassword").value.Trim() != $obj("RegConfermaPassword").value.Trim()) {
            window.alert("Le due Password non corrispondono.");
            $obj("RegPassword").focus();
            return false;
        }
    }

    if (!emailOK) {
        window.alert("L'Email inserita è già stato utilizzato, inserirne una diversa.");
        $obj("RegEmail").focus();
        return false;
    }

    if ($obj("RegEmail").value.Trim()=="") {
        window.alert("Il campo Email è obbligatorio");
        $obj("RegEmail").focus();
        return false;
    }
    if (!isEmail($obj("RegEmail").value.Trim())) {
        window.alert("L'Email inserita non è valida.");
        $obj("RegEmail").focus();
        return false;
    }

    if ($obj("agree") != null) {
        if (!$obj("agree").checked) {
            window.alert("Per potersi registrare occorre leggere e accettare le Regole di Registrazione");
            $obj("agree").focus();
            return false;
        }
    }

    var params = "usr=" + $obj("RegUserName").value.Trim() + "&email=" + $obj("RegEmail").value.Trim() + "&pwd=" + $obj("RegPassword").value.Trim();
    objRec = objHttp();
    objRec.open('post', '/ajax/registrazione/rec.ashx', true);
    objRec.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    objRec.setRequestHeader("Content-length", params.length);
    if (!document.all) objRec.setRequestHeader("Connection", "close");
    objRec.onreadystatechange = function () {
        if (objRec.readyState == 4 && objRec.status == 200) {
            $obj("FormLayer").innerHTML = objRec.responseText;
        }
    }
    objRec.send(params);
}

function ChkRegFB() {
    if (!usernameOK) {
        window.alert("Il Nome Utente inserito è già stato utilizzato, inserirne uno diverso.");
        $obj("RegUserName").focus();
        return false;
    }
    if ($obj("RegUserName").value.Trim() == "") {
        window.alert("Il campo Nome Utente è obbligatorio.");
        $obj("RegUserName").focus();
        return false;
    }
    if ($obj("RegUserName").value.Trim().length < 3) {
        window.alert("Il campo Nome Utente non può essere più corto di 3 caratteri");
        $obj("RegUserName").focus();
        return false;
    }

    var params = "usr=" + $obj("RegUserName").value.Trim() + "&email=" + $obj("RegEmail").value.Trim() + "&optavatar=" + $obj("optAvatar").checked + "&avatar=" + $obj("AvatarFB").src;
    objRec = objHttp();
    objRec.open('post', '/ajax/registrazione/rec_fb.ashx', true);
    objRec.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    objRec.setRequestHeader("Content-length", params.length);
    if (!document.all) objRec.setRequestHeader("Connection", "close");
    objRec.onreadystatechange = function () {
        if (objRec.readyState == 4 && objRec.status == 200) {
            $obj("FormLayer").innerHTML = objRec.responseText;
        }
    }
    objRec.send(params);
}

function chkUserName() {
    if ($obj("RegUserName").value.Trim().length >= 4) {
        objReqUserName = objHttp();
        objReqUserName.open('get', '/ajax/registrazione/check_username.ashx?u=' + $obj("RegUserName").value.Trim() + '&r=' + genRnd(), true);
        objReqUserName.onreadystatechange = function () {
            if (objReqUserName.readyState == 4 && objReqUserName.status == 200) {
                if (Boolean(objReqUserName.responseText)) {
                    $obj("RegUserName").style.backgroundColor = "#FF8585";
                    $obj("RegUserName").style.backgroundImage = "url(/img/common/warning.png)";
                    $obj("RegUserName").style.backgroundPosition = "right";
                    $obj("RegUserName").style.backgroundRepeat = "no-repeat";
                    usernameOK = false;
                } else {
                    $obj("RegUserName").style.backgroundColor = "#fff";
                    $obj("RegUserName").style.backgroundImage = "none";
                    usernameOK = true;
                }
            }
        }
        objReqUserName.send(null);
    } else {
        $obj("RegUserName").style.backgroundColor = "#fff";
        $obj("RegUserName").style.backgroundImage = "none";
        usernameOK = true;
    }
}

function chkEmail() {
    if ($obj("RegEmail").value.Trim().length >= 4) {
        objReqEmail = objHttp();
        objReqEmail.open('get', '/ajax/registrazione/check_email.ashx?e=' + $obj("RegEmail").value.Trim() + '&r=' + genRnd(), true);
        objReqEmail.onreadystatechange = function () {
            if (objReqEmail.readyState == 4 && objReqEmail.status == 200) {
                if (Boolean(objReqEmail.responseText)) {
                    $obj("RegEmail").style.backgroundColor = "#FF8585";
                    $obj("RegEmail").style.backgroundImage = "url(/img/common/warning.png)";
                    $obj("RegEmail").style.backgroundPosition = "right";
                    $obj("RegEmail").style.backgroundRepeat = "no-repeat";
                    emailOK = false;
                } else {
                    $obj("RegEmail").style.backgroundColor = "#fff";
                    $obj("RegEmail").style.backgroundImage = "none";
                    emailOK = true;
                }
            }
        }
        objReqEmail.send(null);
    } else {
        $obj("RegEmail").style.backgroundColor = "#fff";
        $obj("RegEmail").style.backgroundImage = "none";
        emailOK = true;
    }
}

function ShowFb() {
    var data = [];
    var cell = [];
    StepFB();
    objReqFb = objHttp();
    objReqFb.open('get', '/ajax/registrazione/fb.ashx?r=' + genRnd(), true);
    objReqFb.onreadystatechange = function () {
        if (objReqFb.readyState == 4 && objReqFb.status == 200) {
            if (Boolean(objReqFb.responseText)) {

                data = eval(objReqFb.responseText);
                if (data[0] == null) return;
                var cell = data[0]
                var nome = cell[0];
                var nominativo = cell[1];
                var img = cell[2];
                var email = cell[3];
                var presente = cell[4];
                if (Boolean(presente)) {
                    $obj("resultFB").innerHTML = "Ciao <b>" + nome + "</b>!<br>il tuo account risulta gi&agrave; registrato su <b>SpazioGames.it</b>.<br><br>Se vuoi recuperare le credenziali di accesso <a href='/registrati/recupera.aspx'>clicca su questo link</a>";
                } else {
                    $obj("resultFB").innerHTML = "Ciao <b>" + nome + "</b>!<br>se lo desideri puoi cambiare il nome e l'avatar con cui apparirai su <b>SpazioGames.it</b>.<br>Per completare la registrazione clicca sul bottone <b>Registrati</b>, ti verranno inviate le credenziali di accesso all'indirizzo email <b>" + email + "</b>";
                    $obj("RegUserName").value = nominativo;
                    $obj("RegEmail").value = email;
                    $obj("NomeUtente").style.display = "block";
                    $obj("HelpUserName").style.display = "block";
                    $obj("RegUserName").style.display = "block";
                    $obj("btRegistrati").style.display = "block";
                    $obj("AvatarFB").src = img;
                    $obj("BoxAvatar").style.display = "block";
                    initFormReg();
                }
            }
        }
    }
    objReqFb.send(null);
}

function CloseReg() {
    window.location = document.location.href;
}

function Step1() {
    objViewForm = objHttp();
    objViewForm.open('get', '/ajax/registrazione/form.ashx?s=1&r=' + genRnd(), true);
    objViewForm.onreadystatechange = function () {
        if (objViewForm.readyState == 4 && objViewForm.status == 200) {
            if (Boolean(objViewForm.responseText)) {
                $obj("FormLayer").innerHTML = objViewForm.responseText;
                ViewForm();
                initFormReg();
            }
        }
    }
    objViewForm.send(null);
}

function StepFB() {
    objViewForm = objHttp();
    objViewForm.open('get', '/ajax/registrazione/form.ashx?s=2&r=' + genRnd(), true);
    objViewForm.onreadystatechange = function () {
        if (objViewForm.readyState == 4 && objViewForm.status == 200) {
            if (Boolean(objViewForm.responseText)) {
                $obj("FormLayer").innerHTML = objViewForm.responseText;
                ViewForm();
            }
        }
    }
    objViewForm.send(null);
}

function CloseForm() {
    $obj("FormLayer").style.display = "none";
    $obj("bd").removeChild($obj("overlay"));
}

