//Inizio funzione contatore caratteri nella textarea

         //Form field Limiter script- By Dynamic Drive
         //For full source code and more DHTML scripts, visit http://www.dynamicdrive.com
         //This credit MUST stay intact for use

var ns6=document.getElementById&&!document.all

function restrictinput(maxlength,e,placeholder){
if (window.event&&event.srcElement.value.length>=maxlength)
return false
else if (e.target&&e.target==eval(placeholder)&&e.target.value.length>=maxlength){
var pressedkey=/[a-zA-Z0-9\.\,\/]/ //detect alphanumeric keys
if (pressedkey.test(String.fromCharCode(e.which)))
e.stopPropagation()
}
}

function countlimit(maxlength,e,placeholder){
var theform=eval(placeholder)
var lengthleft=maxlength-theform.value.length
var placeholderobj=document.all? document.all[placeholder] : document.getElementById(placeholder)
if (window.event||e.target&&e.target==eval(placeholder)){
if (lengthleft<0)
theform.value=theform.value.substring(0,maxlength)
placeholderobj.innerHTML=lengthleft
}
}


function displaylimit(thename, theid, thelimit){
var theform=theid!=""? document.getElementById(theid) : thename
var limit_text='Caratteri rimanenti: <span id="'+theform.toString()+'">'+thelimit+'</span> '
if (document.all||ns6)
document.write(limit_text)
if (document.all){
eval(theform).onkeypress=function(){ return restrictinput(thelimit,event,theform)}
eval(theform).onkeyup=function(){ countlimit(thelimit,event,theform)}
}
else if (ns6){
document.body.addEventListener('keypress', function(event) { restrictinput(thelimit,event,theform) }, true); 
document.body.addEventListener('keyup', function(event) { countlimit(thelimit,event,theform) }, true); 
}
}
//Fine funzione contatore caratteri nella textarea


//Funzione che controlla la validitā dei campi inseriti nel form per la modifica
// della login e della password (nel backend)
function check_login(id_usr) {
 var nome = document.form_user.nome.value;
 var password_1 = document.form_user.password_1.value;
 var password_2 = document.form_user.password_2.value;
 // Espressione regolare del nome utente e della password
 var login_reg_exp = /^[a-zA-Z0-9]{5,15}$/;

        //Effettua il controllo sul campo NOME
        if ((nome == "") || (nome == "undefined")) {
           alert("Il campo Nome č obbligatorio.");
           document.form_user.nome.focus();
           return false;
        }
        //Effettua il controllo sull'espressione regolare del campo NOME
        else if (!(login_reg_exp.test(nome))){
           alert("Il campo Nome deve contenere da 5 a 15 \n\nnumeri o lettere o una combinazione di essi.");
           document.form_user.nome.focus();
           return false;  
        }
        //Effettua il controllo sul campo PASSWORD_1
        else if ((password_1 == "") || (password_1 == "undefined")) {
           alert("Il campo Nuova Password č obbligatorio.");
           document.form_user.password_1.focus();
           return false;
        }
        //Effettua il controllo sull'espressione regolare del campo PASSWORD_1
        else if (!(login_reg_exp.test(password_1))){
           alert("Il campo Nuova Password deve contenere da 5 a 15 \n\nnumeri o lettere o una combinazione di essi.");
           document.form_user.password_1.focus();
           return false;  
        }
        //Effettua il controllo sul campo PASSWORD_2
        else if ((password_2 == "") || (password_2 == "undefined")) {
           alert("Il campo Conferma Password č obbligatorio.");
           document.form_user.password_2.focus();
           return false;
        }
        //Effettua il controllo sull'espressione regolare del campo PASSWORD_2
        else if (!(login_reg_exp.test(password_2))){
           alert("Il campo Conferma Password deve contenere da 5 a 15 \n\nnumeri o lettere o una combinazione di essi.");
           document.form_user.password_2.focus();
           return false;  
        }
        //Effettua il controllo sull'uguaglianza dei campi PASSWORD_1 e PASSWORD_2
        else if (password_1 != password_2 ){
           alert("Il campo Nuova Password e Conferma Password deveno essere uguali.");
           document.form_user.password_2.value = "";
           document.form_user.password_2.focus();
           return false;  
        }
        //INVIA IL MODULO
        else {
           document.form_user.action = "action_user.asp?id=" + id_usr;
           document.form_user.submit();
        }
}

//Funzione che controlla la validitā della data inserita
function check_data(data) {
 var giorni = data.substring(0,2);
 var mesi = data.substring(3,5);
 var anno = data.substring(6,10);
 // Espressione regolare della data
 var data_reg_exp = /^([0-9]{2})+\/+([0-9]{2})+\/+([0-9]{4})$/;

        //Effettua il controllo sull'espressione regolare della data
        if (!(data_reg_exp.test(data))){
           alert("Inserire la data secondo il formato GG/MM/AAAA");
           return false;  
        }
        //Effettua il controllo sui GIORNI della data
        else if ((giorni>31) || (giorni==0)) {
           alert("Inserire valori da 01 a 31 per i giorni.");
           return false;
        }
        //Effettua il controllo sui GIORNI 30 e 31 per il mese di febbraio
        else if ((giorni>29) && (mesi==02)) {
           alert("Non esiste il giorno inserito per il mese di Febbraio");
           return false;
        }
        //Effettua il controllo sui GIORNI >28 per il mese di febbraio
        else if ((giorni==29) && (mesi==02) && ((anno%4)!=0)) {
           alert("L'anno inserito non č bisestile");
           return false;
        }
        //Effettua il controllo sui GIORNI 31 a seconda del mese
        else if ((giorni==31) && ((mesi==04) || (mesi==06) || (mesi==09) || (mesi==11))) {
           alert("Non esiste il giorno 31 per il mese inserito");
           return false;
        }
        //Effettua il controllo sui MESI della data
        else if ((mesi>12) || (mesi==0)) {
           alert("Inserire valori da 01 a 12 per i mesi.");
           return false;
        }
        //Effettua il controllo sull'ANNO della data
        else if (anno<2000) {
           alert("Inserire un valore maggiore di 2000 per l'anno.");
           return false;
        }
        //La data č OK
        else {
           return true
        }
}

//Funzione che controlla la validitā della data inserita
//function check_news() {
 //var data_news = document.form_news.data_news.value;
 // Espressione regolare della data
 //var data_reg_exp = /^([0-9]{2})+\/+([0-9]{2})+\/+([0-9]{4})$/;

 //Effettua il controllo sull'espressione regolare della data
        //if (!(data_reg_exp.test(data_news))){
           //alert("Inserire la data secondo il formato GG/MM/AAAA");
           //document.form_news.data_news.focus();
           //return false;  
        //}
        //INVIA IL MODULO
        //else {
           //document.form_news.action = "action_news.asp";
           //document.form_news.submit();
        //}
//}

//Funzione che controlla la validitā dei dati inseriti nel form
// per l'inserimento di una news (nel backend)
function check_news() {
 var titolo = document.form_news.titolo.value;
 var testo = document.form_news.testo.value;
 var data_news = document.form_news.data_news.value;

        //Effettua il controllo sul campo TITOLO
        if ((titolo == "") || (titolo == "undefined")) {
           alert("Il campo Titolo č obbligatorio.");
           document.form_news.titolo.focus();
           return false;
        }
        //Effettua il controllo sul campo TESTO
        else if ((testo == "") || (testo == "undefined")) {
           alert("Il campo Contenuto č obbligatorio.");
           document.form_news.testo.focus();
           return false;
        }
        //Effettua il controllo sul campo DATA
        else if ((data_news == "") || (data_news == "undefined")) {
           alert("Il campo Data č obbligatorio.");
           document.form_news.data_news.focus();
           return false;
        }
        //Effettua il controllo sull'espressione regolare della data
        else if (!(check_data(data_news))){
           document.form_news.data_news.focus();
           return false;  
        }
        //INVIA IL MODULO
        else {
           document.form_news.action = "action_news.asp";
           document.form_news.submit();
        }
}

//Funzione che controlla la validitā dei dati inseriti nel form
// per l'inserimento di una faq (nel backend)
function check_faq() {
 var domanda = document.form_faq.domanda.value;
 var risposta = document.form_faq.risposta.value;
 var data_faq = document.form_faq.data_faq.value;

        //Effettua il controllo sul campo DOMANDA
        if ((domanda == "") || (domanda == "undefined")) {
           alert("Il campo Domanda č obbligatorio.");
           document.form_faq.domanda.focus();
           return false;
        }
        //Effettua il controllo sul campo RISPOSTA
        else if ((risposta == "") || (risposta == "undefined")) {
           alert("Il campo Risposta č obbligatorio.");
           document.form_faq.risposta.focus();
           return false;
        }
        //Effettua il controllo sul campo DATA
        else if ((data_faq == "") || (data_faq == "undefined")) {
           alert("Il campo Data č obbligatorio.");
           document.form_faq.data_faq.focus();
           return false;
        }
        //Effettua il controllo sull'espressione regolare della data
        else if (!(check_data(data_faq))){
           document.form_faq.data_faq.focus();
           return false;  
        }
        //INVIA IL MODULO
        else {
           document.form_faq.action = "action_faq.asp";
           document.form_faq.submit();
        }
}

//Funzione che controlla la validitā dei dati inseriti nel form
// per l'inserimento dei documenti (nel backend)
function check_doc() {
 var titolo = document.form_doc.titolo.value;
 var desc = document.form_doc.desc.value;
 var data_doc = document.form_doc.data_doc.value;

        //Effettua il controllo sul campo TITOLO
        if ((titolo == "") || (titolo == "undefined")) {
           alert("Il campo Titolo č obbligatorio.");
           document.form_doc.titolo.focus();
           return false;
        }
        //Effettua il controllo sul campo DESCRIZIONE
        else if ((desc == "") || (desc == "undefined")) {
           alert("Il campo Descrizione č obbligatorio.");
           document.form_doc.desc.focus();
           return false;
        }
        //Effettua il controllo sul campo DATA
        else if ((data_doc == "") || (data_doc == "undefined")) {
           alert("Il campo Data č obbligatorio.");
           document.form_doc.data_doc.focus();
           return false;
        }
        //Effettua il controllo sull'espressione regolare della data
        if (!(check_data(data_doc))){
           document.form_doc.data_doc.focus();
           return false;  
        }
        //INVIA IL MODULO
        else {
           document.form_doc.action = "action_doc.asp";
           document.form_doc.submit();
        }
}

//Funzione che controlla la validitā dei dati inseriti nel form
// per l'invio della newsletter (nel backend)
function check_newsletter() {
 var oggetto = document.form_newsletter.oggetto.value;
 var corpo = document.form_newsletter.corpo.value;
 var destinatario = document.form_newsletter.destinatario.value;

        //Effettua il controllo sul campo OGGETTO
        if ((oggetto == "") || (oggetto == "undefined")) {
           alert("Il campo Oggetto č obbligatorio.");
           document.form_newsletter.oggetto.focus();
           return false;
        }
        //Effettua il controllo sul campo CORPO
        else if ((corpo == "") || (corpo == "undefined")) {
           alert("Il campo Corpo Newsletter č obbligatorio.");
           document.form_newsletter.corpo.focus();
           return false;
        }
        //Effettua il controllo sul campo DESTINATARIO
        else if ((destinatario == "") || (destinatario == "undefined")) {
           alert("Il campo Destinatario/i č obbligatorio.");
           document.form_newsletter.destinatario.focus();
           return false;
        }
        //INVIA IL MODULO
        else {
           document.form_newsletter.action = "anteprima_newsletter.asp";
           document.form_newsletter.submit();
        }
}

//Funzione che apre una finestra per la scelta dei destinatari per
//l'invio delle newsletter (nel backend)
function OW(theURL,winName,features) { 
  window.open(theURL,winName,features);
}

//Funzione che aggiunge i destinatari per l'invio delle newsletter
// (nel backend)
function Add() {
        CheckBoxValue = new Array();
        ArrayIDUser = new Array();
        j = 1;
        if (document.getElementsByName('destinatario').length == 1) {
            if(document.rubrica.destinatario.checked)
                {               
                    CheckBoxValue[j] = document.rubrica.destinatario.value;
                    ArrayIDUser[j] = document.rubrica.id_user.value;
                    j = j + 1;
                }
        }
        else {
            for(var i=0; i<=(document.getElementsByName('destinatario').length-1); i++){
                if(document.rubrica.destinatario[i].checked)
                    {               
                        CheckBoxValue[j] = document.rubrica.destinatario[i].value;
                        ArrayIDUser[j] = document.rubrica.id_user[i].value;
                        j = j + 1;
                    }           
            }
        }
        if ( j == 1) {
            alert ('Nessun utente selezionato');
        }
        else {
                UrlAttach = '';
                IdAttach = '';
                if(j < 3){
                UrlAttach = CheckBoxValue[1];
                IdAttach = ArrayIDUser[1];
                }
                else {              
                     UrlAttach =  CheckBoxValue[1];
                     IdAttach = ArrayIDUser[1]; 
                     for(var i=2; i<j; i++){
                             UrlAttach =  UrlAttach + ';' + CheckBoxValue[i];
                             IdAttach = IdAttach + ',' + ArrayIDUser[i]; 
                     }
                }
            window.opener.document.form_newsletter.destinatario.value = UrlAttach;
            window.opener.document.form_newsletter.id_dest.value = IdAttach;
            }
    }

//Funzione che seleziona tutti i destinatari per l'invio delle newsletter
// (nel backend)
    function All() {
            if (document.rubrica.all.checked) {
               valore = true;          
            }
            else
            {
                valore = false;
            }
            if (document.getElementsByName('destinatario').length == 1)
            {
                document.rubrica.destinatario.checked = valore;
            }
            else
            {  
               for(var i=0; i<document.getElementsByName('destinatario').length; i++)
               {                           
                  document.rubrica.destinatario[i].checked = valore;
               }
            }
    }

// Funzione che a seconda del bottone pressato nel form dell'anteprima newsletter
// invia o ritorna indietro per modificare la newsletter (nel backend)
function back_invia(action) {
        if (action == '0') {
           document.form_ant_newsletter.action = "action_newsletter.asp";
           document.form_ant_newsletter.submit();
        }
        else {
            document.form_ant_newsletter.action = "form_newsletter.asp";
            document.form_ant_newsletter.submit();
        }
}

//Funzione che chiede la conferma per la cancellazione delle news (nel backend)
function warn_news(id_news) {
 var msg = "Confermi la cancellazione?";
     direzione = "cancella_news.asp?id=" + id_news;

 if (confirm(msg))
    self.location=direzione;
 else
     self.location="gestione_news.asp";
}

//Funzione che chiede la conferma per la cancellazione delle faq (nel backend)
function warn_faq(id_faq) {
 var msg = "Confermi la cancellazione?";
     direzione = "cancella_faq.asp?id=" + id_faq;

 if (confirm(msg))
    self.location=direzione;
 else
     self.location="gestione_faq.asp";
}

//Funzione che chiede la conferma per la cancellazione dei documenti (nel backend)
function warn_doc(id_doc) {
 var msg = "Confermi la cancellazione?";
     direzione = "cancella_doc.asp?id=" + id_doc;

 if (confirm(msg))
    self.location=direzione;
 else
     self.location="gestione_doc.asp";
}

//Funzione che chiede la conferma per la cancellazione di un contatto dalla newsletter (nel backend)
 function warn_contatto(id_contact) {
 var msg = "Confermi la cancellazione?";
     direzione = "cancella_contatto.asp?id=" + id_contact;

 if (confirm(msg))
    self.location=direzione;
 else
     self.location="gestione_newsletter.asp";
}

//Funzione che controlla la validitā dei campi inseriti nel form
//per l'iscrizione di un contatto alle newsletter (nel backend)

function check() {
 var nome = document.form_contatto.nome.value;
 var cognome = document.form_contatto.cognome.value;
 var email = document.form_contatto.email.value;
 var citta = document.form_contatto.citta.value;

 // Espressione regolare dell'email
 var email_reg_exp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;

        //Effettua il controllo sul campo NOME
        if ((nome == "") || (nome == "undefined")) {
           alert("Il campo Nome č obbligatorio.");
           document.form_contatto.nome.focus();
           return false;
        }
        //Effettua il controllo sul campo COGNOME
        else if ((cognome == "") || (cognome == "undefined")) {
           alert("Il campo Cognome č obbligatorio.");
           document.form_contatto.cognome.focus();
           return false;
        }
        //Effettua il controllo sul campo E-MAIL
        else if (!email_reg_exp.test(email) || (email == "") || (email == "undefined")) {
           alert("Inserire un indirizzo email corretto.");
           document.form_contatto.email.select();
           return false;
        }
        //Effettua il controllo sul campo CITTA'
        else if ((citta == "") || (citta == "undefined")) {
           alert("Il campo Cittā č obbligatorio.");
           document.form_contatto.citta.focus();
           return false;
        }
        //INVIA IL MODULO
        else {
           document.form_contatto.action = "action_contatto.asp";
           document.form_contatto.submit();
        }
}

//Funzione che controlla la validitā dei campi inseriti nel form
//per l'iscrizione alle newsletter (client-side)
function check2() {
 var nome = document.form_iscrizione.nome.value;
 var cognome = document.form_iscrizione.cognome.value;
 var email = document.form_iscrizione.email.value;
 var citta = document.form_iscrizione.citta.value;

 // Espressione regolare dell'email
 var email_reg_exp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;

        //Effettua il controllo sul campo NOME
        if ((nome == "") || (nome == "undefined")) {
           alert("Il campo Nome č obbligatorio.");
           document.form_iscrizione.nome.focus();
           return false;
        }
        //Effettua il controllo sul campo COGNOME
        else if ((cognome == "") || (cognome == "undefined")) {
           alert("Il campo Cognome č obbligatorio.");
           document.form_iscrizione.cognome.focus();
           return false;
        }
        //Effettua il controllo sul campo E-MAIL
        else if (!email_reg_exp.test(email) || (email == "") || (email == "undefined")) {
           alert("Inserire un indirizzo email corretto.");
           document.form_iscrizione.email.select();
           return false;
        }
        //Effettua il controllo sul campo CITTA'
        else if ((citta == "") || (citta == "undefined")) {
           alert("Il campo Cittā č obbligatorio.");
           document.form_iscrizione.citta.focus();
           return false;
        }
        //INVIA IL MODULO
        else {
           document.form_iscrizione.action = "iscrizione_newsletter.asp";
           document.form_iscrizione.submit();
        }
}


//funzione che chiede la conferma della cancellazione dalla newsletter (client-side)
function warn_cancellati() {
 var msg = "Confermi la cancellazione?";
 if (confirm(msg))   {
    document.newsletter.action = "newsletter.asp";
    document.newsletter.submit();
   }
 else
     self.location="index.asp";
}

//Funzione che controlla la validitā dei campi inseriti nel form
//per l'invio della mail in idea_progetto (client_side)

function check_idea_progetto() {
 var nome = document.form_progetto.nome.value;
 var cognome = document.form_progetto.cognome.value;
 var email = document.form_progetto.email.value;
 var tipo_progetto = document.form_progetto.tipo_progetto.value;
 var desc_progetto = document.form_progetto.desc_progetto.value;


 // Espressione regolare dell'email
 var email_reg_exp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;

        //Effettua il controllo sul campo NOME
        if ((nome == "") || (nome == "undefined")) {
           alert("Il campo Nome č obbligatorio.");
           document.form_progetto.nome.focus();
           return false;
        }
        //Effettua il controllo sul campo COGNOME
        else if ((cognome == "") || (cognome == "undefined")) {
           alert("Il campo Cognome č obbligatorio.");
           document.form_progetto.cognome.focus();
           return false;
        }
        //Effettua il controllo sul campo E-MAIL
        else if (!email_reg_exp.test(email) || (email == "") || (email == "undefined")) {
           alert("Inserire un indirizzo email corretto.");
           document.form_progetto.email.select();
           return false;
        }
        //Effettua il controllo sul campo TIPO_PROGETTO
        else if ((tipo_progetto == "") || (tipo_progetto == "undefined")) {
           alert("Il campo Tipo Progetto č obbligatorio.");
           document.form_progetto.tipo_progetto.focus();
           return false;
        }
        //Effettua il controllo sul campo DESCRIZIONE PROGETTO
        else if ((desc_progetto == "") || (desc_progetto == "undefined")) {
           alert("Il campo Descrizione Progetto č obbligatorio.");
           document.form_progetto.desc_progetto.focus();
           return false;
        }
        //INVIA IL MODULO
        else {
             if (document.form_progetto.accettazione.checked == true) {
                document.form_progetto.action = "invio_progetto.asp";
                document.form_progetto.submit();
             }
             else {
                alert("E' necessario accettare le condizioni per il trattamento dei dati!");
             }
        }
}

//Funzione che controlla la validitā dei campi inseriti nel form
//per l'invio della mail in form_contatto (client_side)

function check_contatto() {
 var nome = document.form_contatto.nome.value;
 var cognome = document.form_contatto.cognome.value;
 var email = document.form_contatto.email.value;
 var desc_contatto = document.form_contatto.desc_contatto.value;

 // Espressione regolare dell'email
 var email_reg_exp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;

        //Effettua il controllo sul campo NOME
        if ((nome == "") || (nome == "undefined")) {
           alert("Il campo Nome č obbligatorio.");
           document.form_contatto.nome.focus();
           return false;
        }
        //Effettua il controllo sul campo COGNOME
        else if ((cognome == "") || (cognome == "undefined")) {
           alert("Il campo Cognome č obbligatorio.");
           document.form_contatto.cognome.focus();
           return false;
        }
        //Effettua il controllo sul campo E-MAIL
        else if (!email_reg_exp.test(email) || (email == "") || (email == "undefined")) {
           alert("Inserire un indirizzo email corretto.");
           document.form_contatto.email.select();
           return false;
        }
        //Effettua il controllo sul campo DESCRIZIONE CONTATTO
        else if ((desc_contatto == "") || (desc_contatto == "undefined")) {
           alert("Il campo Descrizione Contatto č obbligatorio.");
           document.form_contatto.desc_contatto.focus();
           return false;
        }
        //INVIA IL MODULO
        else {
                 if (document.form_contatto.accettazione.checked == true) {
                    document.form_contatto.action = "invio_contatto.asp";
                    document.form_contatto.submit();
                 }
                 else {
                      alert("E' necessario accettare le condizioni per il trattamento dei dati!");
                 }
             }
}