var cat=0;
var ricerca=" ";

function  inizializzaPaginaInterna(title){
//richiamata dall'evento onload nelle pagine interne
	top.document.title=title+ " - UST CISL Imola";
	nomeHost=top.location.host;
	percorso=(top.location.pathname.split('/')[1]+top.location.search);
	
	//viene 'protetta' la presenza di una chiamata a FMP trasformandola nella stringa convenzionale '~Q~'
	//in tal modo viene ignorato da IIS
	
	indirizzo='http://'+nomeHost;
	indirizzoCompleto=indirizzo +'/index.htm';
	
	if (window==top && location.href!=indirizzo && location.href.indexOf(indirizzoCompleto)<0){
		//le pagine a cui deve essere lasciata inalterata l'url sono quelle che hanno l'indirizzo diverso da
		//<indirizzo> e da quello ottenuto dopo la prima ridirezione ossia <indirizzoCompleto>?<percorso>
		location.replace(indirizzoCompleto+'?id='+percorso);
	};
	document.body.onmousedown=
		function(){ //annulla il rettangolo di selezione dagli oggetti
					//cliccati che vengono individuati ceme sorgente dell'elemento onMouseDown
					//parentElement serve perchè quando si clicca su un oggetto il focus e
					//relativo rettangolo vengono assegnati al colegamento <a> che lo
					//contiene mentre il click ha origine dall'oggetto contenuto.
					//event è una proprietà della window o del frame
			self.event.srcElement.parentElement.hideFocus=true
		};
	document.body.onmouseover=
		function(){//cancella il link dalla barra di stato
			top.status=' ';
			return true
		};	
};

function impostaFrame(){
	//richiamata dalla pagina internoHome, ridefinisce il contenuto del frame in base all'indirizzo
	//contenuto nella query string se presente
	 						
	cookies=document.cookie.split(';');
	var page;
	
	for(i=0;i<cookies.length;i++){
		cookie=cookies[i].split('=');
		
		if(cookie[0].indexOf('page')>-1) {
			page=cookie[1];
			break;
		}
	}
	
	//contiene il parametro passato dopo il ? se esiste
	ricerca=(location.search).split('=')[1];
	
	if ((page==undefined || page=="")&&ricerca==undefined) return;
	if (!(page==undefined || page=="")) {
		document.cookie="page="
		top.mainFrame.location=page;
	}
		
	if(ricerca==undefined) return;
	else {
		document.cookie="page="+ricerca;
		top.location.href="http://www.cislimola.com/";
		return;
	}
};

function test(){
	var newWin
	if (!testIEBrowser(5)){
		alert('ATTENZIONE: questo sito può essere visualizzato correttamente solo su browser "Internet Explorer versione 5 o superiore".\nSi consiglia di scaricare l\'aggiornamento gratuito dal sito www.microsoft.it');
		//window.bufferPagina.name="";
		//document.location.replace('homeinterna.htm');
		/*document.all.framesetDS.rows="50%,50%";
		document.all.frameNascosto.scrolling="yes";
		document.all.frameVisibile.scrolling="yes";
		newWin=window.open("","bufferPagina","resizable=yes, height=310, width=700");
		newWin.focus();
		newWin.moveTo(80,220);*/
	};
};

function testIEBrowser(versioneMinima){
	// vero solo se è explorer di versione maggiore o uguale a versioneMinima
	var versione=navigator.appVersion, pos=versione.indexOf('MSIE'), numVersioneIE;
	if (pos!=-1){ // è explorer
		numVersioneIE=parseFloat(versione.substring(pos+5,pos+8));
		if (parseFloat(versioneMinima)<=numVersioneIE){
			return true
		}
	};
	return false
};

function scegliDaElenco(rifCampo,nomeFMLista,nomeFMLayout,nomeFinestra) {
//visualizza una finestra con elenco di voci preso da una lista, cliccando su una voce si inizializza il valore del campo
//rifCampo=riferimento all'oggetto campo che deve assumere il valore scelto
//nomeFMLista=stringa:nome della lista in filemaker
//nomeFMLayout=stringa:nome del layout contenente il campo
//nomeFinestra=stringa:nome della finestra aperta, segue le regole delle variabili
  var WinRif=window.open('FMPro?-db=IALWEB&-lay='+nomeFMLayout+'&-format=scegliDaElenco.htm&-token.0='+nomeFMLista+'&-token.1='+rifCampo.name+'&-View', nomeFinestra, 'scrollbars=yes,toolbar=no,location=yes,directories=no,status=yes,menubar=no,resizable=yes,width=500,heigth=200');
  WinRif.rifCampo=rifCampo;
  return WinRif
}

function impostaValore(nodoDOM,valore){
	//imposta il valore di un elemento HTML
	if (nodoDOM.tagName=='DIV'||nodoDOM.tagName=='SPAN'||nodoDOM.tagName=='TD'){// e una cella o un livello
		nodoDOM.innerText=valore;
		return true
	};
	if (nodoDOM.type) {
		if ((nodoDOM.type=='text'||nodoDOM.type=='textarea'||nodoDOM.type=='hidden')&&!nodoDOM.POPOLATOVALUE) {
			nodoDOM.value=valore;
			return true;
		};
		if (nodoDOM.type=='select-multiple'||
		nodoDOM.type=='select-one') { // é un elenco con possibilità di più selezioni
			for(var i=0;i<nodoDOM.options.length;i++)
				nodoDOM.options[i].selected=
					(('\n'+valore+'\n').indexOf('\n'+nodoDOM.options[i].value+'\n')>=0);
			return true;
		}; 
		if(nodoDOM.type=='radio'||nodoDOM.type=='checkbox') {
			nodoDOM.checked=(('\n'+valore+'\n').indexOf('\n'+nodoDOM.value+'\n')>=0);
			return true;
		};
	};
	return false;	
};

function impostaFormCercaCorsi(){//imposta le chiavi di ricerca prendendo nomi e valori dall'array top.impostaCercaCorsi
	var i,nome,valore,elemento;
	if(!top.impostaCercaCorsi) return;
	for (i=0; i<top.impostaCercaCorsi.length; i=i+2){
		nome=top.impostaCercaCorsi[i]; valore=top.impostaCercaCorsi[i+1];
		//alert(nome+' '+valore);
		if(elemento=document.forms[0].all[nome]){
			impostaValore(elemento,valore)
		}else{
			alert('manca l\'elemento: '+nome)
		};
		//alert(document.forms[0].all[nome].value);
	};
	top.impostaCercaCorsi=false;
};

function cercaCorsi(elencoCampiValori){
	top.impostaCercaCorsi=elencoCampiValori.split(/(&|=)/);
	self.location='CORSI_ricerca.htm';
};


//navigazione risultati ricerca
 function VaiAPag(N) {
   var NDaSaltare=navNPerPag*(N-1);
   var NewUrl='FMPro?'+navSort+navCGI+'&-skip='+NDaSaltare;
   self.location.replace(NewUrl)
 };
 function VaiAPagPrec() {if (navNPagCorrente>1) {VaiAPag(navNPagCorrente-1)}};
 function VaiAPagSucc() {if (navNPagCorrente<navNPagine) {VaiAPag(navNPagCorrente+1)}};
 function VaiAPagPrima() {if (navNPagCorrente>1){VaiAPag(1)}};
 function VaiAPagUltima() {if (navNPagCorrente<navNPagine) {VaiAPag(navNPagine)}};
 function aggiornaPag() {VaiAPag(navNPagCorrente)};
 function CreaElencoNumerico(NumValori,ValoreAtt) { //alert(NumValori);alert(ValoreAtt);
  //crea un menu di scelta i cui elementi vanno da 1 a "NumValori"
  //posizionandosi su quello il cui valore é "ValoreAtt"
  var i;
  for (i=1;i<=NumValori;i++)
   {if (i!=ValoreAtt) 
      {document.writeln('<OPTION value="'+i+'">'+i+'</option>')} else
      {document.writeln('<OPTION value="'+i+'" selected>'+i+'</option>')}
   };
  return true;
 }

//navigazione risultati ricerca


// JavaScript Document
//variabili GLOBALI
//frameContenuti=top.buffer1;

//************
function cambioPaginaInterna(){
	top.paginaPronta=false; //flag:segnala che la pagina interna sta caricando
	//if(top.simulaFrame) top.simulaFrame.innerText='ATTENDERE PREGO...';
	if(top.simulaFrame) top.simulaFrame.innerHTML=top.salvaAttendi;
};

function inizializzaHome(){
//viene richiamata all'onLoad del frame 'pagina' e contiene la pagina HOME
	inizializzaPaginaInterna();
};

function controllaFrame(){
	//controlla se il sito è stato aperto in un frame
	if(window!=top){//è un un frame
		top.location.replace('http://www.ialemiliaromagna.it');
	};
};


function mostra(nodo) {
	if(nodo.style) nodo.style.display='inline';
	return nodo
};

function nascondi(nodo) {
	if(nodo.style) nodo.style.display='none';
	return nodo
};

function mostraNascondi(nodo){
	if(nodo.style.display=='none'){
		nodo.style.display=''
	}else{
		nodo.style.display='none'
	};
};

function visualizzaFiglio(IDfiglioDaMostrare){
	//rende visibile solo un figlio del nodoPadre
	//utile ad es per visualizzare  una riga di una tabella in dipendenza da una scelta in un menù
	var rifNodoPadre,figli, i;
	rifNodoPadre=document.all[IDfiglioDaMostrare].parentNode;
	figli=rifNodoPadre.children;
	for (i=0; i<figli.length; i++){//alert(figli[i].outerHTML);alert(figli[i].id);
		if(figli[i].id==IDfiglioDaMostrare){
			mostra(figli[i])
		}else{
			nascondi(figli[i])
		};
	};
};

/*
function impostaPulsante(nome){
	//il sito è contenuto in un frame 'pagina' all'interno di un frameset index.htm
	if(top.pagina){
		top.pagina.MM_nbGroup('down','navbar1',nome,'graficaHome/'+nome+'_f3.gif',1)
	};
};
*/
function impostaPulsante(nome){
	//il sito è contenuto in un frame 'pagina' all'interno di un frameset index.htm
	if(top.pagina && top.pagina.MM_nbGroup){
		top.pagina.MM_nbGroup('down','navbar1',nome,'graficaHome/'+nome+'_f3.gif',1)
	};
};


function dataCorrente(){
	var Oggi = new Date();  
	var questoAnno = Oggi.getFullYear();
	var questoMese =Oggi.getMonth()+1;
	var questoGiorno = Oggi.getDate()  + "/" + questoMese + "/" + questoAnno;
	return questoGiorno
};

function annoCorrente(){
	return (new Date()).getFullYear();
	/*var Oggi = new Date();  
	var questoAnno = Oggi.getFullYear();
	//var questoMese =Oggi.getMonth()+1;
	//var questoAnno = Oggi.getDate()  + "/" + questoMese + "/" + questoAnno;
	return questoAnno
	*/
};

function annoCorr(){
	return (new Date()).getFullYear();
	/*var Oggi = new Date();  
	var questoAnno = Oggi.getFullYear();
	//var questoMese =Oggi.getMonth()+1;
	//var questoAnno = Oggi.getDate()  + "/" + questoMese + "/" + questoAnno;
	return questoAnno
	*/
};

function meseCorrente(){
	return ((new Date()).getMonth()+1);
	/*
	var Oggi = new Date();  
	//
	var questoMese =Oggi.getMonth();
	return questoMese
	*/
};

function meseCorr(){
	return ((new Date()).getMonth()+1);
	/*
	var Oggi = new Date();  
	//
	var questoMese =Oggi.getMonth();
	return questoMese
	*/
};


function nomeMese(numeroMese){//parte da 1
	nomi=new Array('gennaio','febbraio','marzo','aprile','maggio','giugno','luglio','agosto','settembre','ottobre','novembre','dicembre');
	return nomi[numeroMese-1]
};

function eliminaNodo(nodo){
// elimina un nodo e ne restituisce il rif
	return nodo.parentNode.removeChild(nodo)
};
//manipola tabella
function unisciTabelle(tab1,tab2){
	//aggiunge tab2 a tab1
	//Devono essere tabelle inserite nella gerarchia DOM
	//tab2 viene eliminata
	//se tab1 o tab2 non sono tabelle vengono eliminate
	var riga,cella;
	if(tab1.tagName!='TABLE'){eliminaNodo(tab1);return};
	if(tab2.tagName!='TABLE'){eliminaNodo(tab2);return};
	for(riga=0; riga<tab2.rows.length; riga++){
		for (cella=0; cella<tab2.rows[riga].cells.length; cella++){
			//appende la cella alla riga corrispondente di tab1 se esiste
			if(tab1.rows[riga]) {//esiste la riga in tab1
				tab1.rows[riga].appendChild(tab2.rows[riga].cells[cella].cloneNode(true))
			}
		};
	};
	eliminaNodo(tab2)
};

function unisciTabFiglie(nodo){
	//unisce le tabelle contenute in nodo, i nodi di altro tipo vengono eliminati
	var tabelle=nodo.children;
	while (nodo.children[1]) {//esiste una seconda tabella
		unisciTabelle(nodo.children[0],nodo.children[1]);
	};
};

function aggiungiVoceMenu(objMenu){
	var 	riga=trovaContenitore(objMenu,'tagName','TR'),
			valoreMenu=objMenu.value,
			rigaAnche=(riga.all.testoOrdina.innerText.indexOf('anche')>=0),
			righe=riga.parentNode.childNodes;
	if (valoreMenu==''){// va eliminata
		if(!rigaAnche){// è la prima riga, viene sostituita dalla successiva
			if(riga.nextSibling&&riga.nextSibling.all.testoOrdina){
				riga.nextSibling.all.testoOrdina.innerText="Settore di interesse:";
			} else {
				alert('manca voce di menù "ordina anche per:"');
			};
		};
		eliminaNodo(riga);
		return true
	};
	if (valoreMenu!='') {
		if(riga.rowIndex<righe.length-1){//valore non nullo e non è l'ultima riga: non aggiunge riga
			return true
		}else{//è l'ultima riga: ne va aggiunta una nuova
			var nuovaRiga=duplicaNodo(riga);
			nuovaRiga.all.testoOrdina.innerText="e anche :";
			nuovaRiga.all.menuMultiplo.value="";
		}
	};
};

function trovaContenitore(oggettoDOM, nomeAttributo, valoreAttributo){
	/*trova l'oggetto DOM contenente oggettoDOM che soddisfa
	oggetto.<nomeAttributo>=<valore attributo>,
	se valoreAttributo manca allora viene cercata solo la presenza di nomeAttributo
	in caso di attributo senza la parte =<valore> la proprietà oggetto.<nomeAttributo> ha valore ''
	il risultato può essere lo stesso oggettoDOM*/
	var test;
	if(!nomeAttributo) {alert('function trovaContenitore su '+oggettoDOM.outerHTML+'necessario nomeAttributo'); return false};
	if (typeof valoreAttributo=='string'){ //se manca 'valoreAttributo' viene testata solo l'esistenza dell'attributo
			test=(oggettoDOM[nomeAttributo]==valoreAttributo)
	}else{
			test=(typeof oggettoDOM[nomeAttributo]=='string') //sola esistenza
	};
	if (test) { //l'oggetto stesso è il contenitore
		return oggettoDOM
	} else {
		if(oggettoDOM.parentElement) {//lo cerca nel contenitore
			return trovaContenitore(oggettoDOM.parentElement, nomeAttributo, valoreAttributo)
		};
	};
	return null //ricerca fallita
};

function duplicaNodo(nodo){
/*crea una copia di nodo DOM con le stesse proprietà, metodi e attributi e contenuti,
lo inserisce come fratello successivo al nodo corrente
e ne restituisce il riferimento*/
	return nodo.parentNode.insertBefore(nodo.cloneNode(true),nodo.nextSibling)
	//return nodo.parentElement.insertBefore(nodo.cloneNode(true),nodo.nextSibling)
	//se non c'è nextSibling allora equivale ad un appendChild
};
