// FUNZIONI JAVASCRIPT PER GESTIRE UN ELENCO DI MESSAGGI
// PER AGGIUNGERE UN MESSAGGIO UTILIZZATE ( Da definire  in coda a questo file )
// -> resourceBundle.addMessage(<KEY>, <messaggio> );
// Per leggere il messaggio utilizzare le funzione
// -> resourceBundle.getMessage(<KEY>) ;
// -> resourceBundle.getMessage(<KEY>, val0) ;
// -> resourceBundle.getMessage(<KEY>, val0 , val1 ) ;
// -> resourceBundle.getMessage(<KEY>, val0 , val1 , val2 ) ;
// Nel messaggio sono sostituite le stringhe {0} {1} {2}

var resourceBundle = new ResourceBundle() ;

function private_replace(source , key , value ) {
var app = source.replace(key,value) ;
var pos = app.indexOf(key) ;
if ( pos != -1 ) app = private_replace(app,key,value) ;
return app ;
}

function private_getMessage(key,val1,val2,val3) {
var ris = this.private_getMessaggeFromKey(key) ;
if ( ris == null ) {
    alert("[ERRORE] Non trovata Key = [" + key + "]");
    return "ERRORE";
}
if ( arguments.length  > 1 ) {
    ris =  private_replace(ris, "{0}" , val1 );
}
if ( arguments.length  > 2 ) {
    ris =  private_replace(ris, "{1}" , val2 );
}
if ( arguments.length  > 3 ) {
    ris =  private_replace(ris, "{2}" , val3 );
}

return ris ;
}

function private_getMessaggeFromKey(key) {
var ris = null ;
var i = 0;
for ( i = 0 ; i < this.array_Name.length ; i++ ) {
    if ( this.array_Name[i] == key ) return this.array_Value[i] ;
}
return ris ;
}


function ResourceBundle() {
this.array_Name = new Array() ;
this.array_Value = new Array() ;
this.getMessage = private_getMessage ;
this.agriMsg = private_agriMsg ;
this.addMessage = private_addMessage ;
this.showAllMessages = private_showAllMessages ;
this.private_getMessaggeFromKey = private_getMessaggeFromKey ;
}




function private_showAllMessages() {
var number = this.array_Name.length ;
var ris = "" ;
var i = 0
for ( i = 0; i < number ; i++ ) {
    ris = ris + "\n [" + i + "] Key = [" + this.array_Name[i] + "] Value [" + this.array_Value[i] + "]" ;
}
alert(" Elenco messaggi \n " + ris );
ris = null ;
return;
}


function private_addMessage(key , value) {
var app = this.private_getMessaggeFromKey(key) ;
if ( app != null ) {
    alert("[ERRORE] Esiste gia un Message la cui chiave e' [" + key + "] che ha valore [" + app + "]");
    return ;
}

var number = this.array_Name.length ;
this.array_Name[number] = key ;
this.array_Value[number] = value ;
return ;
}

function private_agriMsg(key,val1,val2,val3) {
// Esempio di chiamata ... resourceBundle.agriMsg('MSG-ERRORE-001','contratto','cliente','bene');
alert( resourceBundle.getMessage(key,val1,val2,val3) );
return ;
}


// #########################################################
//  DEFINIRE DA QUI IN POI I MESSAGGI 
// ############################################

// ISTITUZIONALE

// attivazione.htm
resourceBundle.addMessage("MSG-ATTIVAZIONE-001", "Al fine di creare la user è necessario valorizzare tutti i campi." );
resourceBundle.addMessage("MSG-ATTIVAZIONE-002", "Al fine di creare la user è necessario dare il consenso alla Privacy." );

// accessohomeleasing.htm
resourceBundle.addMessage("MSG-ACCESSO-001", "Inserire il numero della Fattura");
resourceBundle.addMessage("MSG-ACCESSO-002", "Inserire correttamente il numero la Fattura");
resourceBundle.addMessage("MSG-ACCESSO-003", "Inserire il Ns. Rif.");
resourceBundle.addMessage("MSG-ACCESSO-004", "Inserire correttamente il Ns. Rif.");
resourceBundle.addMessage("MSG-ACCESSO-005", "Inserire la Vs. Partita I.V.A.");
resourceBundle.addMessage("MSG-ACCESSO-006", "Inserire correttamente la Vs. Partita I.V.A.");

// HOMELEASING

// home cliente
resourceBundle.addMessage("MSG-HOME-001", "\nLa richiesta ha agganciato una autovettura non più in produzione. \n\nLa richiesta non può essere elaborata.");

// INTERNOS

// News
resourceBundle.addMessage("MSG-NEW-001", "Inserire il titolo della news\ne ripetere l'operazione");
resourceBundle.addMessage("MSG-NEW-002", "Inserire il testo della news\ne ripetere l'operazione");
resourceBundle.addMessage("MSG-NEW-003", "Selezionare la news da modificare \n e ripetere l'operazione");
resourceBundle.addMessage("MSG-NEW-004", "Selezionare una sola news \n e ripetere l'operazione");

// Funzioni
resourceBundle.addMessage("MSG-FUNZIONI-001", "Selezionare un ruolo.");
resourceBundle.addMessage("MSG-FUNZIONI-002", "Selezionare una funzione.");

// Ruoli
resourceBundle.addMessage("MSG-RUOLI-001", "Selezionare un ruolo.");
resourceBundle.addMessage("MSG-RUOLI-002", "Selezionare i ruoli per la lettura");
resourceBundle.addMessage("MSG-RUOLI-003", "Selezionare i ruoli per la modifica");
resourceBundle.addMessage("MSG-RUOLI-004", "Selezionare il Ruolo da Modificare");

// Richiesta Documenti
resourceBundle.addMessage("MSG-RICHDOC-001", "Attenzione selezionare il mezzo \n con cui mandare i documenti.");
resourceBundle.addMessage("MSG-RICHDOC-002", "Attenzione, inserire l'indirizzo dove mandare i documenti.");
resourceBundle.addMessage("MSG-RICHDOC-003", "Selezionare i documenti richiesti");

// Modifica User
resourceBundle.addMessage("MSG-MODUSER-001", "Attenzione, inserire lo USER");
resourceBundle.addMessage("MSG-MODUSER-002", "Attenzione, inserire la PASSWORD");
resourceBundle.addMessage("MSG-MODUSER-003", "Attenzione, inserire la DOMANDA PER LA PASSWORD DIMENTICATA");
resourceBundle.addMessage("MSG-MODUSER-004", "Attenzione, inserire la RISPOSTA PER LA PASSWORD DIMENTICATA");
resourceBundle.addMessage("MSG-MODUSER-005", "Attenzione, inserire l'INDIRIZZO DI MAIL");
resourceBundle.addMessage("MSG-MODUSER-006", "Attenzione, è necessario modificare lo USER che ti è stato assegnato per poter effettuare il primo accesso");
resourceBundle.addMessage("MSG-MODUSER-007", "Attenzione, è necessario modificare la PASSWORD che ti è stata assegnata per poter effettuare il primo accesso");

// Admin Decodifica
resourceBundle.addMessage("MSG-DECOD-001", "Non e' stato selezionato nessun valore");
resourceBundle.addMessage("MSG-DECOD-002", "Per creare una nuova Entry occorre selezionare una chiave");
resourceBundle.addMessage("MSG-DECOD-003", "Per creare una nuova Entry occorre inserire una chiave");
resourceBundle.addMessage("MSG-DECOD-004", "Per creare una nuova Entry occorre inserire una descrizione");
resourceBundle.addMessage("MSG-DECOD-005", "Le chiavi inserite sono gia' presenti nel sistema");
resourceBundle.addMessage("MSG-DECOD-006", "Non e' stata modificata la descrizione");
resourceBundle.addMessage("MSG-DECOD-007", "La chiave non e' stata modificata");

// Help On Line
resourceBundle.addMessage("MSG-HOL-001", "Attenzione, Inserire almeno campo per eseguire la ricerca");
resourceBundle.addMessage("MSG-HOL-002", "Attenzione, Inserire almeno 5 caratteri per lo USER");
resourceBundle.addMessage("MSG-HOL-003", "Attenzione, Inserire almeno 5 caratteri per la Partita IVA");
resourceBundle.addMessage("MSG-HOL-004", "Attenzione, Inserire almeno 5 caratteri per la Denominazione");

// Date

resourceBundle.addMessage("MSG-DATE-001", "Inserire la {0} nel formato gg-mm-aaaa");
resourceBundle.addMessage("MSG-DATE-002", "Inserire un giorno valido per la {0}");
resourceBundle.addMessage("MSG-DATE-003", "Inserire la data nel formato gg-mm-aaaa");
resourceBundle.addMessage("MSG-DATE-004", "Inserire le date di inizio e fine validit\u00e0.");
resourceBundle.addMessage("MSG-DATE-005", "Inserire le date in un range valido");

// Generali

resourceBundle.addMessage("MSG-GENERALI-001", "Selezionare il link da cancellare\ne ripetere l\'operazione");
resourceBundle.addMessage("MSG-GENERALI-002", "Selezionare il link da modificare\n  e ripetere l'operazione");
resourceBundle.addMessage("MSG-GENERALI-003", "Selezionare un solo link \n e ripetere l'operazione");
resourceBundle.addMessage("MSG-GENERALI-004", "Inserire la descrizione del link \n e ripetere l'operazione");
resourceBundle.addMessage("MSG-GENERALI-005", "Inserire il testo del link che si sta inserendo\n e ripetere l'operazione");
resourceBundle.addMessage("MSG-GENERALI-006", "Il testo del link non può contenere caratteri speciali");

// Preferiti
resourceBundle.addMessage("MSG-PREFERITI-001", "Inserire la descrizione del link \n e ripetere l'operazione");
resourceBundle.addMessage("MSG-PREFERITI-002", "Inserire il testo del link che si sta inserendo\n e ripetere l'operazione");
resourceBundle.addMessage("MSG-PREFERITI-003", "Il testo del link non può contenere caratteri speciali");

// Banner 
resourceBundle.addMessage("MSG-BANNER-001", "\n Pima di eseguire l'operazione desiderata, \n\n selezionare la tipologia di Banner. \n");
resourceBundle.addMessage("MSG-BANNER-002", "\nSelezionare almeno un Banner\n\n e ripetere l'operazione.\n");
resourceBundle.addMessage("MSG-BANNER-003", "Selezionare un solo banner! \n e ripetere l'operazione");
resourceBundle.addMessage("MSG-BANNER-004", "Inserire la descrizione del Banner");
resourceBundle.addMessage("MSG-BANNER-005", "Inserire il link del Banner");
resourceBundle.addMessage("MSG-BANNER-006", "Inserire il Banner");
resourceBundle.addMessage("MSG-BANNER-007", "La descrizione del banner non può contenere caratteri speciali");

// Cartella 
resourceBundle.addMessage("MSG-CARTELLA-001", "Selezionare una cartella\ne ripetere l'operazione");
resourceBundle.addMessage("MSG-CARTELLA-002", "Cartella selezionata non valida");
resourceBundle.addMessage("MSG-CARTELLA-003", "Attenzione!\n Diritti di cancellazione della cartella non validi per questo utente");
resourceBundle.addMessage("MSG-CARTELLA-004", "Attenzione!\n Diritti di modifica della cartella non validi per questo utente");
resourceBundle.addMessage("MSG-CARTELLA-005", "Attenzione.\nSelezionare la cartella di destinazione");
resourceBundle.addMessage("MSG-CARTELLA-006", "Attenzione!\nCartella Origine uguale a cartella destinazione");
resourceBundle.addMessage("MSG-CARTELLA-007", "Attenzione!\n Diritti non validi per eseguire operazioni sulla cartella selezionata");
resourceBundle.addMessage("MSG-CARTELLA-008", "Inserire il nome della cartella");
resourceBundle.addMessage("MSG-CARTELLA-009", "Il nome della cartella non può contenere caratteri speciali");

// Documento 
resourceBundle.addMessage("MSG-DOCUMENTO-001", "Selezionare il documento da cancellare\ne ripetere l'operazione");
resourceBundle.addMessage("MSG-DOCUMENTO-002", "Selezionare il documento da modificare\ne ripetere l'operazione");
resourceBundle.addMessage("MSG-DOCUMENTO-003", "Selezionare un solo documento\ne ripetere l'operazione");
resourceBundle.addMessage("MSG-DOCUMENTO-004", "Selezionare il documento da spostare\ne ripetere l'operazione");
resourceBundle.addMessage("MSG-DOCUMENTO-005", "Inserire il nome del documento");
resourceBundle.addMessage("MSG-DOCUMENTO-006", "Inserire il Documento");
resourceBundle.addMessage("MSG-DOCUMENTO-007", "Il nome del documento non può contenere caratteri speciali");
resourceBundle.addMessage("MSG-DOCUMENTO-008", "Attenzione!\n Diritti di modifica del documento non validi per questo utente");

// Contact Form
resourceBundle.addMessage("MSG-CONTACT-001", "Al fine di poterti contattare è necessario valorizzare i seguenti campi : \n \n- Filiale di competenza \n- Nome \n- Cognome \n- Azienda \n- Telefono o Email \n- Indirizzo \n- Provincia \n- Cap \n- Città \n- Note");
resourceBundle.addMessage("MSG-CONTACT-002", "Attenzione: inserire il Cap in formato numerico.");
resourceBundle.addMessage("MSG-CONTACT-003", "Al fine di poterti contattare è necessario valorizzare i seguenti campi : \n \n- Filiale di competenza \n- Nome \n- Cognome \n- Azienda \n- Telefono o Email \n- Indirizzo \n- Provincia \n- Cap \n- Città \n- Note");
resourceBundle.addMessage("MSG-CONTACT-004", "Attenzione: inserire il Cap in formato numerico.");
resourceBundle.addMessage("MSG-CONTACT-005", "Attenzione: inserire l'importo in formato numerico.");
resourceBundle.addMessage("MSG-CONTACT-006", "Attenzione: inserire l'importo in formato numerico.");

// Prove
resourceBundle.addMessage("FABIO1", "PROVA di messaggio1 {0}--{0}" );
resourceBundle.addMessage("FABIO2", "PROVA di messaggio2 {0}--{1}" );
