// Set di Librerie Ardy JS
//
// Controllo Form V 1.3
// Autore: Ardizzone O. Davide
// Data: 10 Maggio 2002 (MI-ITALY)
//
// Controlli Attivati:
// Sito Web
// Email
// PartitaIVA
// Codice Fiscale
// C.A.P.
// Provincia
// Telefono / Fax / Cellulare
// Data / Time
// Anno / Mese / Giorno / Ora / Minuti
// Stringa
// Testo
// Numero Intero
// Numero a virgola mobile
// Password (min 5char senza caratteri speciali)
// DoppiaApice

function VerificaForm(Obbligatorio,tipo_verifica,fnome,enome,nome,indice1,indice2)
{
Stringa = document.forms[fnome].elements[enome].value;
rifer = document.forms[fnome].elements[enome];

if (Obbligatorio)
    {
        if ( (Stringa=="") || (Stringa.search(/^ +$/)!=-1) )
            {
            alert ("Errore Mancanza dati ! ! !\r\n\r\nIl campo "+nome+" è obbligatorio.\r\n\r\nPrego, inserire un dato.\r\n\r\ngrazie...\r\n");
            rifer.focus();
            return true;
            }
    }
else
    {
        if ( (Stringa=="") || (Stringa.search(/^ +$/)!=-1) ) return false;
    }

switch (tipo_verifica)
    {
    case "Email":
        if (Stringa.search(/^[^@!"£%^,;:<>#§\\\*\+\[\]\(\)\=\?\|\/\$ ]+@[^@!"£%^;:<>#§,\\\*\+\[\]\(\)\=\?\|\/\$ ]+\.[^@ !"£%^;:<>#§,\\\*\+\[\]\(\)\=\?\|\/\$\.]+$/)==-1)  //"
            {
            alert ("Errore Inserimento dati ! ! !\r\n\r\nL'indirizzo di casella postale inserito non è corretto.\r\n\r\nPrego, inserirlo correttamente senza spazi tra le lettere\r\n(Es: nome.cognome@casella.it )\r\n\r\ngrazie...\r\n");
            rifer.focus();
            return true;
            }
        break;

    case "PartitaIVA":
        if (Stringa.search(/^\d{11}$/)==-1)
            {
            alert ("Errore Inserimento dati ! ! !\r\n\r\nAttenzione la Partita IVA inserita, non è corretta...\r\n\r\nPrega, inserirla correttamente.\r\n\r\ngrazie...\r\n");
            rifer.focus();
            return true;
            }
        break;

    case "CAP":
        if (Stringa.search(/^\d{5}$/)==-1)
            {
            alert ("Errore Inserimento dati ! ! !\r\n\r\nAttenzione il codice avviamento postale inserito, non è corretto...\r\n\r\nPrego, inserirlo correttamente.\r\n\r\ngrazie...\r\n");
            rifer.focus();
            return true;
            }
        break;

    case "Telefono":
        if (Stringa.search(/^(\(\+?\d{2,4}\) ?|\+?\d{2,4} ?)?\d[\d \.\/\-]+[\d]$/)==-1)
            {
            alert ("Errore Inserimento dati ! ! !\r\n\r\nAttenzione il numero telefonico inserito nel campo "+nome+" non è corretto...\r\n\r\nPrego, inserirlo correttamente (es: (+39) 02 4580.500/501 - 02 4581.100/102 ).\r\n\r\ngrazie...\r\n");
            rifer.focus();
            return true;
            }
        break;

    case "Web":
        if (Stringa.search(/^[\S]+\.[\S]+\.[\S]+$/)==-1)
            {
            alert ("Errore Inserimento dati ! ! !\r\n\r\nAttenzione l'indirizzo del sito web non è corretto...\r\n\r\nPrego, inserirlo correttamente (es: www.nomedominio.it).\r\n\r\ngrazie...\r\n");
            rifer.focus();
            return true;
            }
        break;

    case "Provincia":
        if (Stringa.search(/00/)!=-1)
            {
            alert ("Errore Inserimento dati ! ! !\r\n\r\nAttenzione bisogna inserire la Provincia...\r\n\r\ngrazie...\r\n");
            rifer.focus();
            return true;
            }
        break;

    case "CodiceFiscale":
        Stringa = Stringa.toUpperCase();
        rifer.value = Stringa;
        if (Stringa.search(/^[A-Z]{6}\d{2}[A-Z]\d{2}[A-Z]\d{3}[A-Z]$/)==-1)
            {
            alert ("Errore Inserimento dati ! ! !\r\n\r\nAttenzione il Codice Fiscale inserito, non è corretto...\r\n\r\nPrego, verificare e inserirlo correttamente.\r\n\r\ngrazie...\r\n");
            rifer.focus();
            return true;
            }
        break;

    case "Testo":
        if (Stringa.search(/[A-Za-z]/)==-1)
            {
            alert ("Errore Mancanza dati ! ! !\r\n\r\nNel campo "+nome+" non è stato inserito un dato valido.\r\n\r\nPrego, inserirlo correttamente.\r\n\r\ngrazie...\r\n");
            rifer.focus();
            return true;
            }
        break;

    case "Stringa":
        if (Stringa.search(/[A-Za-z0-9]/)==-1)
            {
            alert ("Errore Mancanza dati ! ! !\r\n\r\nNel campo "+nome+" non è stato inserito un dato valido.\r\n\r\nPrego, inserirlo correttamente.\r\n\r\ngrazie...\r\n");
            rifer.focus();
            return true;
            }
        break;

   case "Pass":
        if (Stringa.search(/^\S{5,20}$/)==-1)
            {
            alert ("Errore Inserimento dati ! ! !\r\n\r\nNel campo "+nome+" è stato inserito un dato non corretto.\r\nIl campo "+nome+" deve contenere una parola unica di almeno 5 caratteri e massimo 15 caratteri, senza spazi intermedi.\r\nPrego, inserirlo correttamente.\r\n\r\ngrazie...\r\n");
            rifer.focus();
            return true;
            }
        break;



   case "Time":
        if (Stringa.search(/^((0?[0-9])|(1[0-9])|(2[0123]))([:\.])(([12345][0-9])|(0?[0-9]))$/)==-1)
            {
            alert ("Errore Mancanza dati ! ! !\r\n\r\nNel campo "+nome+" non è stata inserita un ora valida.\r\n\r\nPrego, inserirla correttamente.\r\n\r\ngrazie...\r\n");
            rifer.focus();
            return true;
            }
        break;

    case "Anno":
        if (Stringa.search(/^[12][09][0-9][0-9]$/)==-1)
            {
            alert ("Errore Mancanza dati ! ! !\r\n\r\nNel campo "+nome+" non è stato inserito un Anno valido.\r\n\r\nPrego, inserirlo correttamente.\r\n\r\ngrazie...\r\n");
            rifer.focus();
            return true;
            }
        break;

    case "Mese":
        if (Stringa.search(/^((0?[1-9])|([1][012]))$/)==-1)
            {
            alert ("Errore Mancanza dati ! ! !\r\n\r\nNel campo "+nome+" non è stato inserito un Mese valido.\r\n\r\nPrego, inserirlo correttamente.\r\n\r\ngrazie...\r\n");
            rifer.focus();
            return true;
            }
        break;

    case "Giorno":
        if (Stringa.search(/^(([12][0-9])|([3][01])|(0?[1-9]))$/)==-1)
            {
            alert ("Errore Mancanza dati ! ! !\r\n\r\nNel campo "+nome+" non è stato inserito un Giorno valido.\r\n\r\nPrego, inserirlo correttamente.\r\n\r\ngrazie...\r\n");
            rifer.focus();
            return true;
            }
        break;


   case "Data":
        if (Stringa.search(/^(([12][0-9])|([3][01])|(0?[1-9]))[-\/]((0?[1-9])|([1][012]))[-\/][12][09][0-9][0-9]$/)==-1)
            {
            alert ("Errore Mancanza dati ! ! !\r\n\r\nNel campo "+nome+" non è stato inserita una data valida.\r\n\r\nPrego, inserirla correttamente.\r\n\r\ngrazie...\r\n");
            rifer.focus();
            return true;
            }
        break;

    case "Ora":
        if (Stringa.search(/^([01][0-9]|[2][0123])$/)==-1)
            {
            alert ("Errore Mancanza dati ! ! !\r\n\r\nNel campo "+nome+" non è stata inserita un'ora valida.\r\n\r\nPrego, inserirla correttamente.\r\n\r\ngrazie...\r\n");
            rifer.focus();
            return true;
            }
        break;

    case "Minuti":
	case "Secondi":
        if (Stringa.search(/^([12345][0-9]|0?[0-9])$/)==-1)
            {
            alert ("Errore Mancanza dati ! ! !\r\n\r\nNel campo "+nome+" non è stato inserito un dato valido.\r\n\r\nPrego, inserirlo correttamente.\r\n\r\ngrazie...\r\n");
			rifer.focus();
            return true;
            }
        break;

    case "Numero":
        if (Stringa.search(/^\d+$/)==-1)
            {
            alert ("Errore Inserimento dati ! ! !\r\n\r\nNel campo "+nome+" non è stato inserito un valore numerico intero.\r\n\r\nPrego, inserirlo correttamente.\r\n\r\ngrazie...\r\n");
            rifer.focus();
            return true;
            }
        break;

    case "NumeroVirgola":
        if (Stringa.search(/^(\d+[\.\,]\d+|\d+)$/)==-1)
            {
            alert ("Errore Inserimento dati ! ! !\r\n\r\nNel campo "+nome+" non è stato inserito un valore numerico con decimali corretto.\r\n\r\nPrego, inserirlo correttamente.\r\n\r\ngrazie...\r\n");
            rifer.focus();
            return true;
            }
        break;

    case "Prezzo":
        if (Stringa.search(/^(\d+[\.\,\d]+\d+|\d+)$/)==-1)
            {
            alert ("Errore Inserimento dati ! ! !\r\n\r\nNel campo "+nome+" non è stata inserita una valuta numerica corretta.\r\n\r\nPrego, inserirla correttamente.\r\n(Es: 1.254.345,67)\r\n\r\ngrazie...\r\n");
            rifer.focus();
            return true;
            }
        break;


    case "DoppiaApice":
        if (Stringa.search(/["]/)!=-1)
            {
            alert ("Errore Inserimento dati ! ! !\r\n\r\nAttenzione, non è consentito l'uso delle doppie virgolette o caratteri speciali nel campo "+nome+"!!!...\r\n\r\nPrego, correggere il campo.\r\n\r\ngrazie...\r\n");
            rifer.focus();
            return true;
            }
        break;

    default:
        return false;
    }
return false;
}
//-->