﻿
var idContenutoAtt=0;
var idTabellaAtt=0;
var tipoPannello="naviga";
var tipoTemplate="home";
var visAltOn=""; // html, excel, podcast
var dataPreDoc=unixTime(); // contatore per pagine viste
var dataPreComm=unixTime(); // contatore per apertura commenta

idRigaAttiva="";

	function prevCol(){
		var lastColGest=(colonne.length)-numColVis();
		tmpCol=1+colonnaAtt-1;
		if(tmpCol<lastColGest && tmpCol>0){
			return(vaiColonna(tmpCol,colonne.length));
		}
		return(false);
	}

	function nextCol(){
		var lastColGest=(colonne.length)-numColVis();
		tmpCol=1+colonnaAtt+1;
		if(tmpCol<lastColGest && tmpCol>0){
			return(vaiColonna(tmpCol,colonne.length));
		}
		return(false);
	}
	
	function riposiziona(){
		var data = unixTime();
		var doRiposiziona=true; // (((unixTime())-dataPreComm)<1000)? false : true;
		if(colonne && colonne.length && doRiposiziona){
			// data=data.getYear()+data.getMonth()+data.getDate()+data.getHours()+data.getMinutes()+data.getSeconds();
			if((data-dataPre)>500){
				// alert("ok");
				oggetto=prendiElementoDaId("documento");
				var lastColGest=(colonne.length)-numColVis();
				if(oggetto){

					var widthDoc=larghezzaTabella(colonne.length, boxColonna['totOrizzPadding']);
					var widthVis=oggetto.clientWidth;
					var widthScroll=oggetto.scrollLeft;
					var widthDx=(widthDoc>=widthVis)? (widthDoc-widthVis-widthScroll) : -1;

					modValue=larghezzaTabella(1, boxColonna['totOrizzPadding']);
					colonnaAtt=Math.round((oggetto.scrollLeft)/modValue);
					if(oggetto.scrollLeft%modValue!=0 || oggetto.scrollLeft==0){
						// alert(colonnaAtt+"] ["+numColVis()+"] ["+lastColGest+"]");
						if(oggetto.scrollLeft==0){
							doNavColonne(colonne.length);
							stripColonne(1, colonne.length);
							/*
							for(i=1;i<=colonne.length;i++){
								modClass(("linkColonna"+i),((i==1)?"colonnaOn":"colonnaOff"));
							}
							*/
						} else {
							// if(colonnaAtt<lastColGest){ // va a colonna
							if(widthDx>(modValue/2)){ // va a colonna
								posFin=(colonnaAtt*modValue);
								$("#documento").animate({scrollLeft: posFin}, 300);
								doNavColonne(colonne.length);
								for(i=1;i<=colonne.length;i++){
									modClass(("linkColonna"+i),(((i-1)==colonnaAtt)?"colonnaOn":"colonnaOff"));
								}
								stripColonne(colonnaAtt, colonne.length);
							} else { // va in fondo
								var posAtt=oggetto.scrollLeft;
								posFin=larghezzaTabella(colonne.length, boxColonna['totOrizzPadding'])-oggetto.clientWidth+49;
								if(posAtt<posFin){
									$("#documento").animate({scrollLeft: posFin}, 300);
								}
							}
						}
					}
				}
				dataPre=data;
			}
		}
		
		if(!(undefined===window.myTimer)){
			clearTimeout(myTimer);
		}
		myTimer = setTimeout("riposiziona()",1000);
	}
	
	function resettaTimer(){
		dataPre=unixTime();
	}

	function setSizeTxt(size){
		var url="background.php?act=setSizeTxt&size="+size+"&rand="+randNum();
		$.get(url, function(data){
			var doSize=true;
			doSize=(size=="AAA" && sizeHtmlClass=="documentoHtmlAAA")? false : doSize;
			doSize=(size=="AA" && sizeHtmlClass=="documentoHtmlAA")? false : doSize;
			doSize=(size=="" && sizeHtmlClass=="documentoHtml")? false : doSize;
			if(doSize){
				if(size=="AAA"){ // dimensione big
					sizeHtmlClass="documentoHtmlAAA";
					sizeScrollClass="documentoScrollAAA";
					oggetto=prendiElementoDaId("divSizer");
					boxColonna['x']=boxColonnaSizes['x']['aaa'];
					boxColonna['y']=boxColonnaSizes['y']['aaa'];
				} else {
					if(size=="AA"){ // dimensione media
						sizeHtmlClass="documentoHtmlAA";
						sizeScrollClass="documentoScrollAA";
						boxColonna['x']=boxColonnaSizes['x']['aa'];
						boxColonna['y']=boxColonnaSizes['y']['aa'];
					} else { // dimensione standard
						sizeHtmlClass="documentoHtml";
						sizeScrollClass="documentoScroll";
						boxColonna['x']=boxColonnaSizes['x']['a'];
						boxColonna['y']=boxColonnaSizes['y']['a'];
					}
				}
				if(idTabellaAtt>0){
					return(caricaContenuto(idContenutoAtt,idTabellaAtt));
				} else {
					return(caricaContenuto(idContenutoAtt));
				}
			}
		});

	}

	function ricaricaContenuto(){
		alert(idContenutoAtt);
		caricaContenuto(idContenutoAtt);
	}

	function deColonnizza(){
		ricaricaContenuto();
	}

	function colonnizza(idDiv,nomeClasse,stato){
		// alert("["+idDiv+"] ["+nomeClasse+"]");
		if(nomeClasse!=""){
			modClass(idDiv,nomeClasse);
		}
		if(stato=="on"){
			numColonne=inColonnaDoc(idDiv);
		} else {
			// ricaricaContenuto();	
		}
		// attivaFScroll(idDiv);
		return(numColonne);
	}

	function colonnizzaCont(stato){
		var idHtmlCont="documento";
		if(stato=="on"){
			numColonne=colonnizza(idHtmlCont,"",stato);
		} else {
			numColonne=colonnizza(idHtmlCont,"",stato);
		}
		return(numColonne);
	}

	function setContenuto(htmlCont,template){
		var idHtmlCont="documento";
		var ris;
		var doColonnizza=(template=="colonne")? true : false;
		// alert(doColonnizza);
		if(doColonnizza){
			modClass(idHtmlCont,sizeScrollClass);
			ris=insHTML(idHtmlCont, htmlCont);
			doColonnizza=true;
			idObjContenuto="tabContenuto";
			numColonne=colonnizzaCont("on");
			var apri=doNavColonne(numColonne);
			ris=vaiColonna(1, numColonne);
		} else {
			modClass(idHtmlCont,sizeHtmlClass);
			ris=insHTML(idHtmlCont, htmlCont);
			idObjContenuto=idHtmlCont;
		}
		return(idObjContenuto);
	}

	function stripColonne(numColonna, totColonne){
		// alert("azz1");
		var addedPreDots=false;
		var addedPostDots=false;
		var colPerPag = 12;
		for(i=1;i<=totColonne;i++){
			if(i!=1 && i!=totColonne){
				if(Math.abs(i-numColonna)>colPerPag){
					if(addedPreDots==false && i<numColonna || addedPostDots==false && i>numColonna){
						addedPreDots=((i-numColonna)<0 && addedPreDots==false)? true : addedPreDots;
						addedPostDots=((i-numColonna)>0 && addedPostDots==false)? true : addedPostDots;
						var colonnaDot=document.createElement("div");
						colonnaDot.className="colonnaDot";
						oggetto=prendiElementoDaId("listColonne");
						oggetto1=prendiElementoDaId("linkColonna"+i);
						oggetto.replaceChild(colonnaDot, oggetto1);
					} else {
						oggetto=prendiElementoDaId("listColonne");
						oggetto1=prendiElementoDaId("linkColonna"+i);
						if(oggetto && oggetto1){
							try{oggetto.removeChild(oggetto1);} catch(err){  }
						}
					}
				}
			}
		}
	}

	function vaiColonna(numColonna, totColonne){
		window.focus();
		doNavColonne(totColonne);
		for(i=1;i<=totColonne;i++){
			modClass(("linkColonna"+i),((i==numColonna)?"colonnaOn":"colonnaOff"));
		}
		stripColonne(numColonna, totColonne);
		oggetto=prendiElementoDaId("documento");
		if(oggetto && numColonna>0 && totColonne>1){
			numColonna=numColonna-1;
			var maxFin=larghezzaTabella(totColonne, boxColonna['totOrizzPadding'])-oggetto.clientWidth;
			var posAtt=oggetto.scrollLeft;
			var posFin=numColonna*larghezzaTabella(1, boxColonna['totOrizzPadding']);
			posFin=(posFin>=maxFin)? maxFin : posFin;
			try{
				scrollaOrizz("#documento", posFin);
				colonnaAtt=numColonna;
				// $("#documento").animate({scrollLeft: posFin}, 1000);
				// scrollaX(oggetto, posAtt, posFin);
			}catch(err){
				alert(err.description);
			}
		}
		return(false);
	}

	function doNavColonne(numColonne){
		/*
		<a href="#" id="navColonneDx"><span>Pagina sucessiva</span></a>
		<div id="listColonne">
			<a href="#" id="linkColonna1" class="colonnaOn">1</a>
			<a href="#" id="linkColonna2" class="colonnaOff">2</a>
			<a href="#" id="linkColonna3" class="colonnaOff">3</a>
			<a href="#" id="linkColonna4" class="colonnaOff">4</a>
			<a href="#" id="linkColonna5" class="colonnaOff">5</a>
			<a href="#" id="linkColonna6" class="colonnaOff">6</a>
			<a href="#" id="linkColonna7" class="colonnaOff">7</a>
			<div class="colonnaDot"></div>
			<a href="#" id="linkColonna80" class="colonnaOff">80</a>
			<a href="#" id="linkColonna81" class="colonnaOff">81</a>
			<a href="#" id="linkColonna82" class="colonnaOff">82</a>
			
			<br class="ottimizz" />
		</div>
		<a href="#" id="navColonneSx"><span>Pagina precedente</span></a>
		*/

		oggetto=prendiElementoDaId("navColonne");
		if(oggetto){
			oggetto.innerHTML="";
			nuovoHtml="";
			if(numColonne>1){
				nuovoHtml+="<div id=\"listColonne\">";
					nuovoHtml+="<a href=\"#\" onclick=\"return(nextCol());\" id=\"navColonneDx\"><span></span></a>";
					for(i=numColonne;i>=1;i--){
						nuovoHtml+="<a href=\"#\" onclick=\"return(vaiColonna("+i+", "+numColonne+"));\" id=\"linkColonna"+i+"\" class=\"colonna"+((i==1)?"On":"Off")+"\">"+i+"</a>";
					}
					nuovoHtml+="<a href=\"#\" onclick=\"return(prevCol());\" id=\"navColonneSx\"><span></span></a>";
	
					/* nuovoHtml+="<br class=\"ottimizz\" />"; */
				nuovoHtml+="</div>";
			}
			oggetto.innerHTML=nuovoHtml;
		}
	}

	function setDocVisti(id){
		var url="background.php?act=setDocVisti&id="+id+"&rand="+randNum();
		$.get(url, function(data){
			ris=insAjaxHTML("pannelloSx", "background.php?act=getPannelloSx&id="+id+"&tipo="+tipoPannello+"&visAltOn="+visAltOn+"&rand="+randNum());
		});
	}

	function resetDocVisti(){
		var url="background.php?act=resetDocVisti&rand="+randNum();
		$.get(url, function(data){
			ris=insAjaxHTML("pannelloSx", "background.php?act=getPannelloSx&id="+idContenutoAtt+"&tipo="+tipoPannello+"&visAltOn="+visAltOn+"&rand="+randNum());
		});
		return(false);
	}

	function aggDocVisti(id){
		var data = unixTime();
		if((data-dataPreDoc)>10000){
			setDocVisti(idContenutoAtt);
		}
		if(id!=idContenutoAtt){
			dataPreDoc = unixTime();
		}
	}

	function caricaPannelloDoc(idNodo){
		ris=insAjaxHTML("pannelloDoc", "inc_pannellodoc.php?idNodo="+idNodo+"&rand="+randNum());
	}

	function caricaContenuto(id,idTabella,cerca,trova){ // cerca va a rif.paragrafo, trova va alla prima occorrenza ovunque
		var apri=closeCommenta();
		var apri=aggDocVisti(id);
		colonne=null;
		modClass("barTabDx","barTabClose"); // chiude tabelle e grafici

		idContenutoAtt=id;
		idTabellaAtt=0;

		var url="background.php?act=getDoc&id="+id+"&tipo=template&rand="+randNum();
		loading(1);
		$.get(url, function(data){
			var ris;
			var template=(visAltOn=="html" && data=="colonne")? "flat" : data;
			tipoTemplate=template;
			ris=insAjaxHTML("pathDoc", "background.php?act=getDoc&id="+id+"&tipo=path&rand="+randNum());
			ris=insAjaxHTML("titNodo", "background.php?act=getDoc&id="+id+"&tipo=titolo&rand="+randNum());
			// ris=insAjaxHTML("documento", "background.php?act=getDoc&id="+id+"&tipo=testo&rand="+randNum());

			var url="background.php?act=getDoc&id="+id+"&tipo=testo"+((((typeof trova)!="undefined") && trova!="")?("&trova="+trova):"")+"&rand="+randNum();
			var ris="";
			$.get(url, function(data){
				idContenitore=setContenuto(data,template);
				if(getIEVersion()<=6){ // IF IE6
					funzioniResize();
				}
				if(template=="colonne"){
					colonnaAtt=1;
				} else if(template=="home"){
						ris=insHTML("navColonne", "");	
						// var apri=colonnizzaHome();
					} else {
						ris=insHTML("navColonne", "");	
				}

				docHeight=setDocHeight(356, 34, setSpazioVert());

				var my_id = "documento";
				tb_init('#documento a.thickbox');

				ris=insAjaxHTML("pannelloSx", "background.php?act=getPannelloSx&id="+id+"&tipo="+tipoPannello+"&visAltOn="+visAltOn+"&rand="+randNum());

				ris=insAjaxHTML("boxLogin", "inc_boxlogin.php?rand="+randNum());
				ris=insAjaxHTML("boxPannelli", "background.php?act=getPannelli&id="+id+"&tipo="+tipoPannello+"&rand="+randNum());

				ris=insAjaxHTML("navNodi", "background.php?act=getDoc&id="+id+"&tipo=navNodi&rand="+randNum());
				ris=caricaPannelloDoc(id);

				url="background.php?act=getBarTabelle&id="+id+"&rand="+randNum();
				$.get(url, function(data){
					loading(0);
					ris=insHTML("barTabelle", data);
				});
				if(((typeof cerca)!="undefined") && cerca!=""){
					var apri=vaiParagrafo(cerca, colonne);
				} else {
					if(((typeof trova)!="undefined") && trova!=""){
						var apri=vaiParola(trova, colonne);
						$('#documento').highlight(trova);
					}
				}
				if(idTabella>0){
					ris=openTabella(idTabella);
				}
				if((!(idTabella>0)) && (template=="colonne" || template=="flat" || template=="home" || template=="immagini_dx" || template=="mappa")){
					ris=attivaCommenti(idContenitore);
					ris=attivaClassCommenti();
				}
			});
		});
		return(false);
	}

/* INIZIO CARICA TABELLA */

	function openTabella(id){
		colonne=null;
		idTabellaAtt=id;

		modClass("barTabDx","barTabClose"); // chiude tabelle e grafici
		ris=insHTML("navColonne", "");
		// ris=insHTML("barTabelle", "");
		var idHtmlCont="documento";
		ris=insHTML(idHtmlCont, "");	

		var url="background.php?act=getTabella&id="+id+"&rand="+randNum();
		loading(1);
		$.get(url, function(data){
			modClass(idHtmlCont,sizeHtmlClass);
			ris=insHTML(idHtmlCont, data);	
			var my_id = "documento";
			tb_init('#documento a.thickbox');

			ris=insAjaxHTML("pannelloSx", "background.php?act=getPannelloSx&id="+idContenutoAtt+"&tipo="+tipoPannello+"&visAltOn="+visAltOn+"&rand="+randNum());

			loading(0);
		});
		return(false);
	}

	function posBarsTab(){
		items = getElementsByClassName('colPerc');
		for(var i=0; i<items.length; i++) {
			// objPerc=prendiElementoDaId(items[i].getAttribute("id"));
			// marginTopBar=parseInt(objPerc.getAttribute('title'));
			try{
				// items[i].style.marginTop=marginTopBar + "px";
				actWidth=items[i].style.width;
				newWidth=(actWidth=="9" || actWidth=="9px")? "8" : "9";
				items[i].style.width=newWidth+"px";
				// items[i].focus();
			} catch(err){
				// alert(err);
			}
		}
	}

	function attivaRigaTabella(id, idElem){
		idRigaAttiva=idElem;
		if(id==0){ idRigaAttiva=""; }
		oggetto=prendiElementoDaId(idElem);
		modClassAll(idElem,'','');
		modClassAll(idElem,'attiva','');
		posBarsTab();
		return(false);
	}

	function openChildTabella(idRiga,numChild){
		/*
		if(idRiga!=rigaTabellaApertaPre){
			for(i=0;i<numChildTabellaApertaPre;i++){
				modClass("tabriga_"+rigaTabellaApertaPre+"_"+i,"nascosto");
			}
			rigaTabellaApertaPre=idRiga;
			numChildTabellaApertaPre=numChild;
		}
		*/
		for(i=0;i<numChild;i++){
			oggetto=prendiElementoDaId("tabriga_"+idRiga+"_"+i);
			if(oggetto.className=="visibleTr"){
				modClass("tabriga_"+idRiga+"_"+i,"nascosto");
			} else {
				modClass("tabriga_"+idRiga+"_"+i,"visibleTr");
			}
		}
		window.focus();
		return(false);
	}

	function setPannello(valore){
		tipoPannello=valore;
		var id=idContenutoAtt;
		ris=insAjaxHTML("pannelloSx", "background.php?act=getPannelloSx&id="+id+"&tipo="+tipoPannello+"&visAltOn="+visAltOn+"&rand="+randNum());
		ris=insAjaxHTML("boxPannelli", "background.php?act=getPannelli&id="+id+"&tipo="+tipoPannello+"&rand="+randNum());
		return(false);
	}

	function setVisAlt(valore){
		if(valore=="excel" || valore=="podcast"){
			popComingSoon(false);	
		} else {
			visAltOn=valore;
			var id=idContenutoAtt;
			if(idTabellaAtt>0){
				openTabella(idTabellaAtt);
			} else {
				caricaContenuto(id);
			}
		}
		return(false);
	}

	function apriCommenti(){
		popComingSoon(false);
		return(false);
	}

	function doStampa(){
		popComingSoon(false);
		return(false);
	}


