// subdeleghe.js
// autore: Iacopo
// copyright 2006 Metaware S.p.A.
// creato il 6/03/2007



/**
 * Oggetto che fa una richiesta al SOPI (tramite servlet) e ottiene la lista delle subdeleghe per una dato ente
 * e' un' handler per MwAjaxUtil
 */ 
function SubdelegheRequest()
{
	// booleano per evitare doppie chiamate contemporanee
	this.isOperating = false;

	this.manageErrorResponse = function ()
	{
		alert("Errore durante il recupero dati dal Registro delle Imprese");
	}
	// l'id del messaggio di loading
	this.loaderId = "divLoading";
	// l'id dell'elemento che andra' disattivato durante il caricamento
	this.elementId = "form-dinamico";
}

// flag che dice se generare o no il radio, TODO: per adesso e' globale alla pagina html!
SubdelegheRequest.showRadio = true;
// handler opzionale invocato ad ogni generazione di riga di impresa, TODO: per adesso e' globale alla pagina html!
SubdelegheRequest.showLineHandler = null;

//Cerco l'elemento 'divLoading' nel documento e ne cambio lo stato
SubdelegheRequest.prototype.performingRequest = function (flag)
{
  this.isOperating = flag;

  flag = !flag;
  if (this.loaderId == null || this.loaderId != '')
  {      
    var divLoading = document.getElementById(this.loaderId);
    if (divLoading != null)
    {
      	if (divLoading.tagName == 'DIV')
    	{
        	divLoading.style.display = (flag == false) ? '' : 'none';
        }
        else
        {
        	divLoading.style.display = (flag == false) ? '' : 'none';
        }
    }
  }
  if (this.elementId == null || this.elementId != '' )
  {      
    var datiForm = document.getElementById(this.elementId);
    var controlli;
  
  	datiForm.style.display = (flag) ? '' : 'none';
    if (datiForm != null)
    {
        controlli = datiForm.getElementsByTagName('input');
        FormUtility.abilitaControlli(controlli, flag);

        controlli = datiForm.getElementsByTagName('select');
        FormUtility.abilitaControlli(controlli, flag);

        controlli = datiForm.getElementsByTagName('textarea');
        FormUtility.abilitaControlli(controlli, flag);
    }   
  }
}



/* Questo e' il metodo da invocare per recuperare la lista delle subdeleghe
 * - ente: l'id dell'ente per cui si vogliono le subdeleghe
 * - potaSubdelegati: opzionale. se presente e =true significa che non si vogliono le subdeleghe 
 * - tableId e' l'id dell'elemento HTML gestito dal metodo manageData 
 * - loaderId e' l'id del div che contiene il box di informazione di loading (OPZIONALE)
 * - manageData e' la funzione che verra' chiamata una volta ottenuto il DOM di risposta e che provvedera' 
 *		a gestire i dati ricevuti (aggiornando/abilitando campi, riempiendo labels etc...)
 * - postExecute puo' contenere del codice javascript arbitrario da eseguire quando
 *    arriva una risposta positiva dalla servlet (dopo che vengono caricati i dati).
 */
 SubdelegheRequest.prototype.listaDeleghe = function (ente, potaSubdelegati)
{
	if (this.isOperating == true)
	{
		alert("Lo stesso oggetto SubdelegheRequest non puo' fare piu' richieste contemporaneamente");
		return;
	}

	this.requestUrl = 'subdeleghe?ente=' + ente;

	if (potaSubdelegati != null && potaSubdelegati != undefined && potaSubdelegati)
		this.requestUrl += '&potaSubdelegati=true'

	MwAjaxUtil.performRequest(this);
}


SubdelegheRequest.prototype.manageSuccessResponse = function(risposta)
{
	var elenco = MwAjaxUtil.parseDOM(risposta);
	
	ElencoSubdelegheHandler.manageRicercaDitte(elenco);
	ElencoSubdelegheHandler.postManageRicercaDitte(elenco);
}


/**
 * Handler che produce la lista delle aziende per cui un utente e' legale rappresentante
 */
var ElencoSubdelegheHandler = new Object();

// la lista delle imprese rappresentate (vedi manageRicercaDitte)
ElencoSubdelegheHandler.impreseRappresentate = new Array();
ElencoSubdelegheHandler.impreseRappresentateFiltro = "";
ElencoSubdelegheHandler.impreseRappresentateComparatoreUsato = null;

/**
 * L'intestazione della tabella generata, puo' essere modificata
 */
ElencoSubdelegheHandler.intestazioneTabella = "Selezionare l'azienda per cui si presenta la domanda";
/**
 * L'id del div in cui finira' la lista delle aziende rappresentate
 */
ElencoSubdelegheHandler.idRigaInserimento = 'listaImpresePlaceHolder';
/**
 * L'id dell'elemento della tabella con l'impresa di cui l'utente sta vedendo il dettaglio
 */
ElencoSubdelegheHandler.impresaInDettaglio = null;
/**
 * mappa provincia + rea=> codice Fiscale 
 */
ElencoSubdelegheHandler.codiciFiscaliDaREA = new Object();
/**
 * Nome di una funzione che verrà invocata sull'onclick dei radio button. La funzione deve avere 
 * tre parametri:
 * - codice fiscale dell'impresa,
 * - denominazione (opzionale)
 * - codice fiscale del legale rappresentante (opzionale)
 * Se null non verra' invocato nulla 
 */
ElencoSubdelegheHandler.onSelectRadioHandler = null;
/**
 * Numero di imprese per pagina
 */
ElencoSubdelegheHandler.impresePerPagina=6;
/**
 * Pagina correntemente visualizzata
 */
ElencoSubdelegheHandler.paginaCorrente=-1;

/**
 * Non fa niente. E' comoda per personalizzare il comportamento della ricerca
 */
ElencoSubdelegheHandler.postManageRicercaDitte = function(risposta)
{
}

/**
 * Gestisce l'arrivo dei dati sulle imprese rappresentate
 */
ElencoSubdelegheHandler.manageRicercaDitte = function(risposta, richiesta)
{
	if (risposta.errore != null)
	{
		if (risposta.errore.codice.MWtext == 'NESSUNA_AZIENDA')
		{
			document.getElementById('erroreNoDeleghe').style.display='';
		}	
		else
		{
			document.getElementById('erroreGenerico').style.display='';
		}
		return;
	} 
	else	if (risposta["imprese-rappresentate"] != null)
	{
	 // mostro l'intestazione
  	document.getElementById('selezioneImpresaIntestazione').style.display = '';
	  
		var elem = risposta["imprese-rappresentate"];
		 // ok, si procede
		 // Selezione l'azienda per cui si presenta la domanda
	/*
	<impresa>
<cf>00804630192</cf>
<ragione-sociale>FACO SRL (IN LIQUIDAZIONE)</ragione-sociale>
<delegante cf="RSSMRA60A01F205T">Mario Rossi</delegante>
</impresa>
*/
		/* creo un array di oggetti fatti cosi':
		sintesiImpresa["cf"]
		sintesiImpresa["ragione-sociale"]
		sintesiImpresa["delegante-nome"]
		sintesiImpresa["delegante-cf"]
		sintesiImpresa["full-text-search"] = ragione-sociale + delegante-nome + cf  
		*/
		var impreseArray = new Array();

		for (t = 0; t < elem._impresa.length; t++)
		{
			var impresaCorrente = elem._impresa[t];
			var codiceFiscale = impresaCorrente.cf.MWtext;
			var denominazione =  impresaCorrente['ragione-sociale'].MWtext;
			var cfDelegante = impresaCorrente.delegante.cf;
			var nominativoDelegante =   impresaCorrente.delegante.MWtext;

			var sintesiImpresa = new Object();
			sintesiImpresa["cf"] = codiceFiscale;
			sintesiImpresa["ragione-sociale"] = denominazione;
			sintesiImpresa["delegante-nome"] = nominativoDelegante;
			sintesiImpresa["delegante-cf"] = cfDelegante;
			sintesiImpresa["full-text-search"] = denominazione + "@@" + nominativoDelegante + "@@" + codiceFiscale;

			impreseArray[t] = sintesiImpresa;
		}

		ElencoSubdelegheHandler.impreseRappresentate = impreseArray;
		ElencoSubdelegheHandler.disegnaImpreseRappresentate();

	}
	else
	{
		alert ("Elemento inaspettato: " + risposta.MWname);
	}
}

/**
 * Mostra il dettagli dell'impresa chiamando eventualmente la servlet corrispondente
 */
ElencoSubdelegheHandler.dettaglioImpresa = function(idImpresa)
{
	var codiceFiscale = idImpresa.split('-')[0];
	ElencoSubdelegheHandler.minimizzaTabella();	
	if (ElencoSubdelegheHandler.impresaInDettaglio == idImpresa)
	{
		ElencoSubdelegheHandler.impresaInDettaglio = null;
		return;
	}

	if (this.impreseMinimali == undefined)
		this.impreseMinimali  = new Object();

	ElencoSubdelegheHandler.impresaInDettaglio = idImpresa;

	if ( this.impreseMinimali[idImpresa] == null)
	{
		var request = new PortaApplicativaRequest();

		request.handler = this;
		request.visuraMinimale(codiceFiscale, "IMP_" + idImpresa);
		this.impreseMinimali[idImpresa] = idImpresa;
	}
	document.getElementById("BUTTON_DETAIL_" + ElencoSubdelegheHandler.impresaInDettaglio).src='images/minimizza.gif';
	document.getElementById("IMP_" + idImpresa).parentNode.style.display = '';
}


ElencoSubdelegheHandler.minimizzaTabella = function(corrente)
{
	var elemento = document.getElementById( "IMP_" + ElencoSubdelegheHandler.impresaInDettaglio);

	if (elemento != null && ElencoSubdelegheHandler.impresaInDettaglio != corrente)
	{
			elemento.parentNode.style.display='none';
			document.getElementById("BUTTON_DETAIL_" + ElencoSubdelegheHandler.impresaInDettaglio).src='images/espandi.gif';
	}
}



ElencoSubdelegheHandler.comparatoreDenominazione = new Object();
ElencoSubdelegheHandler.comparatoreDenominazione.nome = "comparatoreDenominazione";
ElencoSubdelegheHandler.comparatoreDenominazione.compare = function(left, right, stop)
{
	if (left["ragione-sociale"] > right["ragione-sociale"])
		return 1;
	if (left["ragione-sociale"] < right["ragione-sociale"])
		return -1;

	if (!Boolean(stop))
// ordino secondariamente per delegante
		return ElencoSubdelegheHandler.comparatoreNomeRappresentante.compare(left, right, true);
	else
		return 0;
}

ElencoSubdelegheHandler.comparatoreDenominazioneInverso = new Object();
ElencoSubdelegheHandler.comparatoreDenominazioneInverso.nome = "comparatoreDenominazioneInverso";
ElencoSubdelegheHandler.comparatoreDenominazioneInverso.compare = function(left, right, stop)
{
	if (left["ragione-sociale"] < right["ragione-sociale"])
		return 1;
	if (left["ragione-sociale"] > right["ragione-sociale"])
		return -1;

	if (!Boolean(stop))
// ordino secondariamente per delegante
		return ElencoSubdelegheHandler.comparatoreNomeRappresentante.compare(left, right, true);
	else
		return 0;
}

ElencoSubdelegheHandler.comparatoreNomeRappresentante = new Object();
ElencoSubdelegheHandler.comparatoreNomeRappresentante.nome = "comparatoreNomeRappresentante";
ElencoSubdelegheHandler.comparatoreNomeRappresentante.compare = function(left, right, stop)
{
	if (left["delegante-nome"] > right["delegante-nome"])
		return 1;
	if (left["delegante-nome"] < right["delegante-nome"])
		return -1;

	if (!Boolean(stop))
// ordino secondariamente per ragione sociale
		return ElencoSubdelegheHandler.comparatoreDenominazione.compare(left, right, true);
	else
		return 0;
}

ElencoSubdelegheHandler.comparatoreNomeRappresentanteInverso = new Object();
ElencoSubdelegheHandler.comparatoreNomeRappresentanteInverso.nome = "comparatoreNomeRappresentanteInverso";
ElencoSubdelegheHandler.comparatoreNomeRappresentanteInverso.compare = function(left, right)
{
	if (left["delegante-nome"] < right["delegante-nome"])
		return 1;
	if (left["delegante-nome"] > right["delegante-nome"])
		return -1;

	if (!Boolean(stop))
// ordino secondariamente per ragione sociale
		return ElencoSubdelegheHandler.comparatoreDenominazione.compare(left, right, true);
	else
		return 0;
}	


// comparatore di default
ElencoSubdelegheHandler.comparatoreUsato= ElencoSubdelegheHandler.comparatoreDenominazione;

ElencoSubdelegheHandler.disegnaImpreseRappresentate = function()
{
		var filtro = ElencoSubdelegheHandler.impreseRappresentateFiltro;
		var impreseUsate = null;
		var totale = 0;
		
		var cfImpresaSelezionato = document.getElementById('cfImpresaInput').value;
		var cfDeleganteSelezionato = document.getElementById('cfDeleganteInput').value;
		var inputDenominazione = document.getElementById('denominazioneImpresaInput');

		/** 
		 * la riga che contiene il messaggio di nessuna impresa, viene usata anche come placeholder sotto il quale generare 
		 * le righe delle imprese 
		 */
		var rigaNoImprese = document.getElementById('listaImpresePlaceHolder');	
		var tabella = rigaNoImprese.parentNode;

	// prima filtro
		if (filtro != undefined && filtro != null && filtro != "")
		{
			impreseUsate = new Array();

			for(t = 0; t < ElencoSubdelegheHandler.impreseRappresentate.length; t++)
			{
				var fullText = ElencoSubdelegheHandler.impreseRappresentate[t]["full-text-search"];

				if (fullText.toUpperCase().indexOf(filtro.toUpperCase()) > -1)
					impreseUsate[totale++] =  ElencoSubdelegheHandler.impreseRappresentate[t];
			}
		}
		else
		{
			impreseUsate = ElencoSubdelegheHandler.impreseRappresentate; 
		}

		var comparatoreUsato = ElencoSubdelegheHandler.comparatoreUsato;
		var stringaProssimoComparatore = "";
		var nomeFreccia = "";

			// ripuliscio la tabella, togliendo tutte le righe comprese tra il placeholder ed il footer
		while (rigaNoImprese.nextSibling != null && rigaNoImprese.nextSibling.id != 'impreseIndicePagine')
		{
			tabella.removeChild(rigaNoImprese.nextSibling);
		}

		// mostro il messaggio
		if (impreseUsate.length == 0)
		{
			rigaNoImprese.style.display = '';
		}
		else
		{
		// poi ordino
			if (comparatoreUsato != undefined && comparatoreUsato != null )
			{
				MWUtility.sortByAttribute(impreseUsate, comparatoreUsato);
			}

			/* 
			 *  Produco l'intestazione
			 */
			rigaNoImprese.style.display = 'none';


			// intestazione denominazione
			if (comparatoreUsato.nome == ElencoSubdelegheHandler.comparatoreDenominazione.nome)
			{
				stringaProssimoComparatore = "ElencoSubdelegheHandler.comparatoreDenominazioneInverso";
				nomeFreccia = "images/espandi.gif";
			}
			else
			{
				stringaProssimoComparatore = "ElencoSubdelegheHandler.comparatoreDenominazione";
	
				if (comparatoreUsato.nome == ElencoSubdelegheHandler.comparatoreDenominazioneInverso.nome)
					nomeFreccia = "images/minimizza.gif";
				else
					nomeFreccia = "";
			}

			var t = rigaNoImprese.rowIndex + 1;
			var rigaCorrente = tabella.insertRow(t++);
			var cellaCorrente = document.createElement("td");
			var innerHTML = ''; 

			rigaCorrente.id = "intestazioneSelezioneImpresa";
			cellaCorrente.className="entry-form-header  new-section";			
			cellaCorrente.colSpan=2;
			innerHTML = '<a alt="Ordina per denominazione" title="Ordina per denominazione" href="#" ';
			innerHTML  += 'onclick="ElencoSubdelegheHandler.comparatoreUsato=' + stringaProssimoComparatore + '; ElencoSubdelegheHandler.disegnaImpreseRappresentate()"> ';
			innerHTML  +='Denominazione dell\'impresa</a> ';
			if (nomeFreccia != "")
				innerHTML  += ' <img src="' + nomeFreccia + '" ></img>'

			cellaCorrente.innerHTML = innerHTML;
			rigaCorrente.appendChild(cellaCorrente);	

		// intestazione rappresentante
			if (comparatoreUsato.nome == ElencoSubdelegheHandler.comparatoreNomeRappresentante.nome)
			{
				stringaProssimoComparatore = "ElencoSubdelegheHandler.comparatoreNomeRappresentanteInverso";
				nomeFreccia = "images/espandi.gif";
			}
			else
			{
				stringaProssimoComparatore = "ElencoSubdelegheHandler.comparatoreNomeRappresentante";
	
				if (comparatoreUsato.nome == ElencoSubdelegheHandler.comparatoreNomeRappresentanteInverso.nome)
					nomeFreccia = "images/minimizza.gif";
				else
					nomeFreccia = "";
			}

			cellaCorrente = document.createElement("td");
			cellaCorrente.className="entry-form-header  new-section";
			cellaCorrente.colSpan=2;

			innerHTML = '<a alt="Ordina per nome" title="Ordina per nome" href="#" ';
			innerHTML += 'onclick="ElencoSubdelegheHandler.comparatoreUsato=' + stringaProssimoComparatore + '; ElencoSubdelegheHandler.disegnaImpreseRappresentate()"> ';
			innerHTML +='Con delega di</a> ';
			
			if (nomeFreccia != "")
				innerHTML += ' <img src="' + nomeFreccia + '" />';		
	
			cellaCorrente.innerHTML = innerHTML;
			rigaCorrente.appendChild(cellaCorrente);	

			// calcolo la posizione dell'elemento selezionato
			var rigaSelezionata = -1;

			for(var j = 0; j < impreseUsate.length; j++)
			{
				var impresaCorrente = impreseUsate[j];
				if (impresaCorrente.cf == cfImpresaSelezionato && impresaCorrente["delegante-cf"] == cfDeleganteSelezionato)
				{
					rigaSelezionata = j;
					break;
				}
			} 
   	 	// poi calcolo la pagina corrente 
			var pagine = Math.ceil(impreseUsate.length / ElencoSubdelegheHandler.impresePerPagina);

			if (ElencoSubdelegheHandler.paginaCorrente > pagine)
				ElencoSubdelegheHandler.paginaCorrente = 1;
			
			// se la pagina corrente e' < 0 (prima volta) mostro la pagina dell'elemento selezionato (se c'e')
			if (ElencoSubdelegheHandler.paginaCorrente < 0)
			{
				ElencoSubdelegheHandler.paginaCorrente = (rigaSelezionata < 0) ? 1 :  Math.floor((rigaSelezionata / ElencoSubdelegheHandler.impresePerPagina)) + 1;
			}	

			var primo = (ElencoSubdelegheHandler.paginaCorrente  - 1) * ElencoSubdelegheHandler.impresePerPagina;
			var ultimo = (ElencoSubdelegheHandler.paginaCorrente ) * ElencoSubdelegheHandler.impresePerPagina - 1;

			if (ultimo >= impreseUsate.length)
				ultimo = impreseUsate.length - 1;


			/*
			 * Produco la lista
			 */
			for (var indiceImpresa = primo; indiceImpresa <= ultimo; indiceImpresa++)
			{
				var impresaCorrente = impreseUsate[indiceImpresa];		
				var codiceFiscale = impresaCorrente["cf"];
				var denominazione = 	impresaCorrente["ragione-sociale"];
				var cfDelegante = impresaCorrente["delegante-cf"];
				var nominativoDelegante = impresaCorrente["delegante-nome"]; 
				var position = 1 + (t * 2);
				var classe = "survey-section-value-";
				var idImpresa = codiceFiscale + "-" + cfDelegante;
	
				if ( (indiceImpresa % 2) == 0)
					classe += "even";
				else
					classe += "odd";

				if (denominazione == null || denominazione == '')
					denominazione = "NESSUNA DENOMINAZIONE SPECIFICATA PER L'IMPRESA: " + codiceFiscale;

				rigaCorrente = tabella.insertRow(t++);
				cellaCorrente = rigaCorrente.insertCell(0);

				cellaCorrente.className = classe;
				cellaCorrente.style.width="10px";
				/* creazione del radio button */
				if (SubdelegheRequest.showRadio)
				{
					innerHTML = "<input  onclick='ElencoSubdelegheHandler.minimizzaTabella(\"";
					innerHTML += idImpresa;
					innerHTML += "\"); ";
					
					// sul click aggiorno anche il cf del legale rappresentante
					innerHTML += ' ElencoSubdelegheHandler.selezioneImpresa("' + codiceFiscale + '","' +cfDelegante + '", MWUtility.unescapeForCodeGeneration("' + MWUtility.escapeForCodeGeneration(denominazione)   +  '")); ';
	
					if(ElencoSubdelegheHandler.onSelectRadioHandler != null)
					{
						var stringhe = idImpresa.split('-');
						var cf_impresa = stringhe[0];
						var cf_legale = stringhe[1];
					
						if (denominazione.indexOf("\"") >= 0 || denominazione.indexOf("\'") >= 0)
						{
							// escapo gli ' e le " TODO forse i simboli usati non sono i piï¿½ adatti!!
					    	innerHTML += ElencoSubdelegheHandler.onSelectRadioHandler + "(\"" + cf_impresa + "\", MWUtility.unescapeForCodeGeneration(\"" + 
					    	 MWUtility.escapeForCodeGeneration(denominazione)
					    	 + "\"),  \"" + cf_legale + "\");";
					    }
					    else
					    {
					    	innerHTML += ElencoSubdelegheHandler.onSelectRadioHandler + "(\"" + cf_impresa + "\",\"" + denominazione + "\",  \"" + cf_legale + "\");";
					    }
				    }
					innerHTML += "'";
					
					innerHTML+= "type='radio' name='^ignore_radio' ";
	
					// SELEZIONO LA RIGA
					if (rigaSelezionata == indiceImpresa)
					{
						innerHTML += "checked='true'";
					}
					innerHTML += "/>";
	
					cellaCorrente.innerHTML = innerHTML;
				}

				/* creazione della denominazione */
				cellaCorrente = rigaCorrente.insertCell(1);
				cellaCorrente.className = classe;
				cellaCorrente.style.width="380px";
				innerHTML = denominazione;
				cellaCorrente.innerHTML = innerHTML;

				/* creazione del delegante */
				cellaCorrente = rigaCorrente.insertCell(2);
				cellaCorrente.className = classe;
				innerHTML = nominativoDelegante;
				cellaCorrente.style.width="160px";
				cellaCorrente.innerHTML = innerHTML;
	
				/* pulsante 'espandi' */
				cellaCorrente = rigaCorrente.insertCell(3);
				cellaCorrente.className = classe;
				innerHTML = "<a href='#' onclick='ElencoSubdelegheHandler.dettaglioImpresa(\"";
				innerHTML += idImpresa;
				innerHTML += "\")' ><img src='images/espandi.gif' alt='espandi' width='11' height='11' id='BUTTON_DETAIL_";
				innerHTML += idImpresa;
				innerHTML += "'/></a>";
	
				cellaCorrente.innerHTML = innerHTML;

                var rigaDeno = rigaCorrente;

				/* creazione riga dettagli */
				rigaCorrente = tabella.insertRow(t++);
				cellaCorrente = rigaCorrente.insertCell(0);
				cellaCorrente.className = classe.replace(/section\-/, "");;
				cellaCorrente.style.paddingLeft=0;
				cellaCorrente.style.paddingRight=0;
				cellaCorrente.style.paddingTop=1;
				cellaCorrente.style.paddingBottom=1;
				rigaCorrente.style.display = 'none';
				innerHTML = "Caricamento in corso...";
				cellaCorrente.innerHTML = innerHTML;
				cellaCorrente.colSpan = 4;
				cellaCorrente.id = "IMP_" + idImpresa;
				
				if (SubdelegheRequest.showLineHandler != null)
				    SubdelegheRequest.showLineHandler(rigaDeno,impresaCorrente);
			}
			
			if (SubdelegheRequest.showLineHandler != null)
			    SubdelegheRequest.showLineHandler();
		}

		// se ho piu' di una pagina, mostro la lista delle pagine
		if (pagine > 1)
		{
			document.getElementById('impreseIndicePagine').style.display = '';
			if ( ElencoSubdelegheHandler.paginaCorrente > 1)
			{
				document.getElementById('paginaPrecedente').style.visibility='visible'; 
			}
			else
			{
				document.getElementById('paginaPrecedente').style.visibility='hidden';
			}
		
							
			if ( ElencoSubdelegheHandler.paginaCorrente < pagine)
			{
				document.getElementById('paginaSuccessiva').style.visibility='visible'; 
			}
			else
			{
				document.getElementById('paginaSuccessiva').style.visibility='hidden';
			}

			document.getElementById('paginaCorrente').innerHTML = "Pagina " + ElencoSubdelegheHandler.paginaCorrente + " di " + pagine;
		}
		else
		{
			document.getElementById('impreseIndicePagine').style.display='none';
		}
// aggiungo l'input nascosto con il cf del legale rappresentante

}

ElencoSubdelegheHandler.toggleFiltro = function ()
{
  var object = document.getElementById('rigaFiltro');
  var immagine = document.getElementById('idImgFiltro');

  if (object.style.display=='none')
  {
    object.style.display='';
    immagine.src = 'images/lente_meno.gif';
  }
  else
  {
    object.style.display='none';
    immagine.src = 'images/lente.gif';
  }
}

ElencoSubdelegheHandler.selezioneImpresa= function( cfImpresa,  cfDelegante,  denominazione)
{
		document.getElementById("cfDeleganteInput").value =  cfDelegante;
		document.getElementById("cfImpresaInput").value = cfImpresa;
		var inputDen = document.getElementById("denominazioneImpresaInput");
		if (inputDen != null)
			inputDen.value = denominazione;
}










