﻿///////////////////////////////////////////////////////
// funzione per il check degli indirizzi mail
///////////////////////////////////////////////////////
function checkEmail(email) 
{
    var filter = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/;
    if (!filter.test(email))
        return false; // mail errata
    else
        return true; // mail corretta
}

///////////////////////////////////////////////////////
// funzione per ricavare i dati da inviare alla pagina 
// di invio mail mediante chiamata ajax
///////////////////////////////////////////////////////
function getDataForMailSegnala(lingua)
{
    // recupero stringa captcha
    var myGUIDcaptcha = getCookie("myGUIDcaptcha");
    
    // recupero valori campi di testo
    var EmailDest = document.getElementById("txtEmailDest").value;
    var NomeMitt = document.getElementById("txtNomeMitt").value;
    var EmailMitt = document.getElementById("txtEmailMitt").value;
    var Url = document.getElementById("txtUrl").value;
    var Messaggio = document.getElementById("txtMessaggio").value;
    var Captcha = document.getElementById("txtCaptcha").value;
    
    // e controllo se sono correttamente valorizzati
    if (EmailDest.length > 0 && Messaggio.length > 0 && NomeMitt.length > 0 && EmailMitt.length > 0)
    {
        // controllo ora l'indirizzo mail inserito dall'utente
        if (checkEmail(EmailDest) == true && checkEmail(EmailMitt) == true)
        {
            // controllo fondamentale del campo captcha
            if (Captcha == myGUIDcaptcha)
            {
                // chiamata ajax a pagina aspx per invio mail segnalazione pagina
                jQuery.ajax({
                    type: "POST",
                    url: "/SendMailSegnala.aspx",
                    data: "linkPagina=" + Url + "&emaildest=" + EmailDest + "&messaggio=" + Messaggio + "&nomemitt=" + NomeMitt + "&emailmitt=" + EmailMitt + "&lingua=" + lingua,
                    success: function(data) {
                        successo(data);
                    },
                    error: function(data) {
					    jQuery("#lblErrore").html("ATTENZIONE: si è verificato un errore: non è stato possibile inviare il messaggio.");
                    }
                });
            }
            else
            {
                if (lingua == "it" || lingua == null)
                {
                    jQuery("#lblErrore").html("ATTENZIONE: il codice captcha inserito non è un codice corretto"); 
                }
                else
                {
                    jQuery("#lblErrore").html("WARNING: the captcha code entered is not a correct code"); 
                }
            }
        }
        else 
        { 
            if (lingua == "it" || lingua == null)
            {
                jQuery("#lblErrore").html("ATTENZIONE: avete inserito un indirizzo mail non valido"); 
            }
            else
            {
                jQuery("#lblErrore").html("WARNING: You have entered an invalid email address"); 
            }
        }
    }
    else 
    { 
        if (lingua == "it" || lingua == null)
        {
            jQuery("#lblErrore").html("ATTENZIONE: alcuni campi obbligatori non sono stati compilati"); 
        }
        else
        {
            jQuery("#lblErrore").html("WARNING: Some fields are not complete."); 
        }
    }
}

///////////////////////////////////////////////////////
// funzione per azzeramento campi form segnala ad 
// un amico e visualizzazione messaggio di successo
///////////////////////////////////////////////////////
function successo(esito)
{    
    // visualizzo div successo e nascondo div form
    document.getElementById("divSuccesso").style.display = "block";
    document.getElementById("formSegnala").style.display = "none";
    jQuery("#divSuccesso").html(esito);
    
    // azzero i campi di testo
    document.getElementById("txtUrl").value = "";
    document.getElementById("txtCaptcha").value = "";
    document.getElementById("txtEmailDest").value = "";
    document.getElementById("txtNomeMitt").value = "";
    document.getElementById("txtEmailMitt").value = "";
    document.getElementById("txtMessaggio").value = "";
    document.getElementById("lblErrore").innerHTML = "";
}

///////////////////////////////////////////////////////
function leggiNews(idNews, lingua)
{
    // chiamata ajax a pagina aspx per invio mail segnalazione pagina
    jQuery.ajax({
        type: "POST",
        url: "/testo_news.aspx",
        data: "idNews=" + idNews + "&lingua=" + lingua,
        success: function(data) 
        {
            document.getElementById("testoNews").innerHTML = data;
        },
        error: function(data) { }
    });
}

///////////////////////////////////////////////////////
// funzione per la creazione di un input hidden
///////////////////////////////////////////////////////
function createHidden(namesValues) 
{
    if (document.createElement) {
        var arr = namesValues.split(",");
        for (i = 0; i < arr.length; i++) {
            var tokens = arr[i].split("=");
            var oldObj = document.getElementById(tokens[0]);
            if (oldObj) {
                oldObj.value = "";
                oldObj.value = tokens[1];
            } else {
                var newField = document.createElement("input");
                newField.type = "hidden";
                newField.name = tokens[0];
                newField.id = tokens[0];
                newField.value = tokens[1];
                document.forms[0].appendChild(newField);
            }
        }
    } else {
        alert("Il browser in uso non supporta operazioni fondamentali per l\'uso di questo sito.")
    }
}

/////////////////////////////////////////////
// funzione che richiama l'handler che
// gestisce la stringa del campo captcha
// Se richiamata, la stringa e il campo 
// captcha vengono rigenerati
/////////////////////////////////////////////
function RefreshCaptcha() 
{
    var img = document.getElementById("imgCaptcha");
    img.src = "/CaptchaHandler.ashx?query=" + Math.random();
}


/////////////////////////////////////////////
// funzione per lettura valore di un cookie
/////////////////////////////////////////////
function getCookie(c_name)
{
var i,x,y,ARRcookies=document.cookie.split(";");
for (i=0;i<ARRcookies.length;i++)
{
  x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
  y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);
  x=x.replace(/^\s+|\s+$/g,"");
  if (x==c_name)
    {
    return unescape(y);
    }
  }
}
