
	function window_onload() 
	{
		var sIdFonte;
			
		if (frmTreeview.txtActiveTab)
		{
			sIdFonte = new String(frmTreeview.txtActiveTab.value);
			if (GetActiveTab() != sIdFonte)
			{
				SetActiveTab(sIdFonte);
			}
		}		

		sIdFonte = GetActiveTab()
		
		SetOpenRows(sIdFonte);
		SetSelectedRows(sIdFonte);
		CheckNavToolBar(sIdFonte);
			
		return;
	}

	function IsIEBrowserVer(ver)
	{
		var MSIEIndex=navigator.appVersion.indexOf("MSIE");
		var isIE = MSIEIndex>0;
		var version=0;
		
		if(isIE) 
			version=navigator.appVersion.substr(MSIEIndex+5,1);
	
		if(version==ver)
			return true;
		else
			return false;
	}


	function SetPage(sPageNumber, sIdFonte)
	{
		var sUrl;
		var oTabFonte = document.all("tabFonte" + sIdFonte);
		if (oTabFonte)
		{
			var oFraPage = document.all("fraPage");
			if (oFraPage)
			{
				if (document.title.toUpperCase() == "INDICE")
				{
					var oTblParameters = document.all("tblParameters");
					if (oTblParameters)
					{
						var sIdIndice = oTblParameters.getAttribute("idindice");
						var sIdLeaf = oTblParameters.getAttribute("idleaf");
						var sIdLeaf = oTblParameters.getAttribute("idleaf");
						var sFlagDocumento = "-1";
						sUrl = "../documento/documentiNodoResult_page.asp?" + "idfonte=" + sIdFonte + "&idindice=" + sIdIndice + "&idleaf=" + sIdLeaf + "&flagdocumento=" + sFlagDocumento + "&pageNumber=" + sPageNumber + "&docsPerPage=" + document.all("docsPerPage").value;
					}
				}
				else
				{
					var sAvsQuery = oTabFonte.getAttribute("avsquery");
					sUrl = "../treeview/treeview_page.asp" + "?txtIdFonte=" + sIdFonte + "&txtAvsQuery=" + sAvsQuery + "&txtPageNumber=" + sPageNumber + "&txtDocsPerPage=" + + document.all("txtDocsPerPage").value;
				}
				oFraPage.src = sUrl;
			}
		}
			
		return;
	}



	function CheckNavToolBar(sIdFonte)
	{
		if(sIdFonte!='') {
			var sCurrentPage = document.all("divFonte" + sIdFonte).all("txtCurrentPage").value;
			var sNumberOfPages = document.all("divFonte" + sIdFonte).all("txtNumberOfPages").value;
				
			var oDivToolBar = document.all("divNavToolBar");
			if (oDivToolBar)
			{
				if (sNumberOfPages > 1)
				{
					oDivToolBar.style.display = "block";
						
					var oCmdFirst = document.all("cmdFirst");
					var oCmdPrev = document.all("cmdPrev");
					var oCmdNext = document.all("cmdNext");
					var oCmdLast = document.all("cmdLast");
						
					var oTxtCurrentPage = oDivToolBar.all("txtCurrentPage");
					var oColNumberOfPages = oDivToolBar.all("colNumberOfPages");
					if ((oTxtCurrentPage) && (oColNumberOfPages))
					{
						oTxtCurrentPage.value = sCurrentPage
						oColNumberOfPages.innerText = sNumberOfPages;
					}
						
					switch(sCurrentPage)
					{
						case "1":
							oCmdFirst.disabled = true;
							oCmdPrev.disabled = true;
							oCmdNext.disabled = false;
							oCmdLast.disabled = false;
							break;
								
						case sNumberOfPages:
							oCmdFirst.disabled = false;
							oCmdPrev.disabled = false;
							oCmdNext.disabled = true;				
							oCmdLast.disabled = true;
							break;
								
						default:
							oCmdFirst.disabled = false;
							oCmdPrev.disabled = false;
							oCmdNext.disabled = false;				
							oCmdLast.disabled = false;
							break;
					}
				}
				else
				{
					oDivToolBar.style.display = "none";
				}
			}
		}
		
		return;
	}
	
	function txtCurrentPage_onkeypress()
	{
		var sValidKeys = new String("1234567890");
		var sKey = String.fromCharCode(event.keyCode)
		
		if (sValidKeys.indexOf(sKey, 0) != -1)
		{
			return true;
		}
		
		return false;
	}

	function txtCurrentPage_onkeydown()
	{
		if (event.keyCode == 13)
		{
			var sPageNumber = event.srcElement.value;
			var sIdFonte = GetActiveTab();
			var sNumberOfPages = document.all("divFonte" + sIdFonte).all("txtNumberOfPages").value;
			
			if (sPageNumber > Number(sNumberOfPages)) 
			{
				sPageNumber = sNumberOfPages
			}
			else
			{
				if (sPageNumber < 1) 
				{
					sPageNumber = "1";
				}
			}
			
			SetPage(sPageNumber, sIdFonte);
		}
	}
	
	function cmdFirst_onclick()
	{
		SetPage("1", GetActiveTab());
		
		return;
	}
	
	function cmdPrev_onclick()
	{
		var sIdFonte = GetActiveTab();
		var sCurrentPage = document.all("divFonte" + sIdFonte).all("txtCurrentPage").value;
		sCurrentPage--;
		SetPage(sCurrentPage, sIdFonte);
		
		return;
	}
	
	function cmdNext_onclick()
	{
		var sIdFonte = GetActiveTab();
		var sCurrentPage = document.all("divFonte" + sIdFonte).all("txtCurrentPage").value;
		sCurrentPage++;
		SetPage(sCurrentPage, sIdFonte);
		
		return;
	}
	
	function cmdLast_onclick()
	{
		var sIdFonte = GetActiveTab();
		var sLastPage = document.all("divFonte" + sIdFonte).all("txtNumberOfPages").value;
		SetPage(sLastPage, sIdFonte);
		
		return;
	}
	
	function imgProv_onclick() 
	{
		var oImgProv;
		
		alert(event);
		
		switch(event.srcElement.tagName.toUpperCase())
		{
			case "IMG":
				oImgProv = event.srcElement;
				break;

			case "TD":
				oImgProv = event.srcElement.parentElement.cells[0].children[0];
				break;
			
			case "P":
				oImgProv = event.srcElement.parentElement.parentElement.cells[0].children[0];
				break;
				
			default:
				return;
		}
		
		var oRowProv = oImgProv.parentElement.parentElement;
		var oTblFonte = oRowProv.parentElement;
		var oDivDocs = oTblFonte.rows[oRowProv.rowIndex + 1].cells[0].children[0];
		
		var sTxtOpenRows = new String(frmTreeview.txtOpenRows.value);
		var sItem = "#" + new String(oImgProv.sourceIndex) + ";" + new String(oDivDocs.sourceIndex);

		if (oDivDocs.style.display == "none")
		{
			oImgProv.src = "/images/tree/minubox.gif";
			oDivDocs.style.display = "block";
			sTxtOpenRows += sItem;
		}
		else 
		{	
			oImgProv.src = "/images/tree/plusbox.gif";
			oDivDocs.style.display = "none";
			sTxtOpenRows = sTxtOpenRows.replace(sItem, "");
		}
		
		frmTreeview.txtOpenRows.value = sTxtOpenRows;

		return;
	}
	
	function colProv_onclick()
	{
		switch(event.srcElement.tagName.toUpperCase())
		{
			case "TD":
				var oRowProv = event.srcElement.parentElement;
				break;
			
			case "P":
				var oRowProv = event.srcElement.parentElement.parentElement;
				break;
				
			default:
				return;
		}
		
		var oTxtSelectedRows = frmTreeview.txtSelectedRows;
		
		if (!event.ctrlKey)
		{
			ResetSelection(oTxtSelectedRows);
		}
		
		SetRowProv(oTxtSelectedRows, oRowProv, event.ctrlKey);
		
		RemoveRif();
		
		return;
	}
	
	function colDoc_onclick()
	{
		switch(event.srcElement.tagName.toUpperCase())
		{
			case "TD":
				var oRowDoc = event.srcElement.parentElement;
				break;
			
			case "IMG":
				var oRowDoc = event.srcElement.parentElement.parentElement;
				break;
				
			default:
				return;
		}
	
		var oTxtSelectedRows = frmTreeview.txtSelectedRows;
		
		if (!event.ctrlKey)
		{
			ResetSelection(oTxtSelectedRows);
		}
		
		SetRowDoc(oTxtSelectedRows, oRowDoc, event.ctrlKey);

		AddRif(oRowDoc);
		
		return;
	}
	
	function colDoc_dblclick()
	{
		cmdApri_onclick()
		
		return;
	}
			
	function lnkFonte_onclick() 
	{
		SetActiveTab(event.srcElement.getAttribute("idfonte"));
	}

	function SetActiveTab(sIdFonte) 
	{
		if (sIdFonte.length > 0)
		{
			var oItem = document.all("divFonte").children
			if (oItem) 
			{
				for (var i=0; i<oItem.length; i++) 
				{
					oItem.item(i).style.display = "none";
				}
			}
		
			var oTabFonti = document.all("tblFonti")
			if (oTabFonti)
			{
				for (var i = 0; i < (oTabFonti.rows[0].cells.length - 1); i++)
				{
					if (i == 0)
					{
						oTabFonti.rows[0].cells[i].className = "tabFirstNoSelected"
					}
					else
					{
						oTabFonti.rows[0].cells[i].className = "tabNoSelected"
					}
				}
			}

			var oTabFonte = document.all("tabFonte" + sIdFonte);
			if (oTabFonte)
			{
				var sFirst = new String(oTabFonte.getAttribute("first"));
				if (sFirst == "0")
				{
					oTabFonte.className = "tabSelected"
				}
				else
				{
					oTabFonte.className = "tabFirstSelected"
				}
					
				var oDivFonte = document.all("divFonte" + sIdFonte);
				if (oDivFonte != null)
				{
					oDivFonte.style.display = "block";
				}
			}
									
			RemoveRif();
			CheckNavToolBar(sIdFonte);
		}
		
		return;
	}

	function cmdRiduci_onclick() 
	{
		SetTxtSelectedItem();
		SetTxtActiveTab();
		
		var sUrl = new String("../Treeview/riduci.asp");
		if (frmTreeview.txtSelectedItem.value.length > 0)
		{
			frmTreeview.target = "_new";
			frmTreeview.action = sUrl;
			frmTreeview.submit();
		}
		
		return;
	}
	
	function cmdApri_onclick()
	{
		var sSelectedRows = new String(frmTreeview.txtSelectedRows.value);
		var sWords = new String(frmTreeview.txtWords.value);		
		
		if (sSelectedRows.length > 0)
		{
			var aRow = sSelectedRows.split(";");
			var nLength = aRow.length;
			if (nLength > 0)
			{
				if (aRow[nLength - 1].length > 0)
				{
					var oRow = document.all(new Number(aRow[nLength - 1]));
					if (oRow.getAttribute("rowtype") == "d")
					{
						var sIdFonte = oRow.getAttribute("idfonte");
						var sIdDoc = oRow.getAttribute("iddoc");
						
						SetTxtSelectedItem();
						SetTxtActiveTab();
						
						var sUrl = new String("../documento/documento.asp?iddoc=" + sIdDoc + "&idfonte=" + sIdFonte + "&words=" + sWords);
						window.open(sUrl);
					}
				}
			}
		}
		
		return;
	}

	function cmdSalva_onclick()
	{
		var sIdFonte = GetActiveTab();
		var oTblFonte = document.all("TblFonte" + sIdFonte);
		
		var retVal = parent.window.showModalDialog("stampaModalDialog.asp?stylesheet=stampaLista.xslt", oTblFonte, "dialogHeight:150px;dialogWidth:300px;scroll:off;status:off;help:off");
		
		return;
	}

	function cmdStampa_onclick()
	{
		var sIdFonte = GetActiveTab();
		var oTblFonte = document.all("TblFonte" + sIdFonte);

		var retVal = parent.window.showModalDialog("../Stampa/stampaModalDialog.asp?stylesheet=stampaLista.xslt", oTblFonte, "dialogHeight:150px;dialogWidth:300px;scroll:off;status:off;help:off");
		
		return;
	}

	function lnkRif_onclick()
	{
		var oRif = event.srcElement;
		if (oRif.id == "lnkRif")
		{
			SetTxtSelectedItem();
			SetTxtActiveTab();
			
			var sUrl = new String("../Treeview/riferimenti.asp");
			frmTreeview.target = "_new";
			frmTreeview.txtTipoRif.value = oRif.getAttribute("tiporif");
			frmTreeview.txtIdFonte.value = oRif.getAttribute("idfonte");
			frmTreeview.txtIdDoc.value = oRif.getAttribute("iddoc");
			frmTreeview.action = sUrl;
			frmTreeview.submit();
		}
		
		return;
	}

	function AddRif(oRowDoc)
	{
		RemoveRif();
		
		var sTipoRif = new String(oRowDoc.getAttribute("tiporif"));
		var sIdFonte = new String(oRowDoc.getAttribute("idfonte"));
		var sIdDoc = new String(oRowDoc.getAttribute("iddoc"));
		
		if (sTipoRif.length > 0)
		{
			var aRifText = sTipoRif.split(",");
			var oTabRif = frmTreeview.all("tblRiferimenti");
			if (oTabRif)
			{
				for (var i = 0; i < aRifText.length; i++)
				{
					oCol = oTabRif.rows[0].insertCell()
					
					if(IsIEBrowserVer(4)) {
						oCol.innerHTML="<a class='lnkRiferimento' id='lnkRif' href=javascript:lnkRif_onclick('"+ aRifText[i]+ "',"+ sIdFonte + "," + sIdDoc + ");>" + aRifText[i] + "</a>";					
					} else {
						var oRif = document.createElement("a");
						oRif.id = "lnkRif";
						oRif.href = "#";
						oRif.innerText = aRifText[i];
						oRif.className = "lnkRiferimento"
						oRif.setAttribute("tiporif", aRifText[i]);
						oRif.setAttribute("idfonte", sIdFonte);
						oRif.setAttribute("iddoc", sIdDoc);
							
						oCol.appendChild(oRif);
					}
				}
			}
		}
		
		return;
	}

	function RemoveRif()
	{
		var oTabRif = document.all("tblRiferimenti");
		if (oTabRif != null)
		{
			var nCols = oTabRif.rows[0].cells.length;
			for (var i = 0;i < nCols; i++)
			{
				oTabRif.rows[0].deleteCell();
			}
		}
	}

	function SetRowProv(oTxtSelectedRows, oRowProv, bCtrlKey)
	{
		var sSourceIndex = new String(oRowProv.sourceIndex)
		var sSelectedRows = new String(oTxtSelectedRows.value);
		
		if (bCtrlKey)
		{
			if (oRowProv.bgColor == "#fff3c6")
			{
				sSelectedRows = sSelectedRows.replace(";" + sSourceIndex, "")
				oRowProv.bgColor = "#f7f7ef";
			}
			else
			{
				sSelectedRows += ";" + sSourceIndex;
				oRowProv.bgColor = "#fff3c6";
			}
		}
		else
		{
			sSelectedRows = ";" + sSourceIndex;
			oRowProv.bgColor = "#fff3c6";
		}
		
		oTxtSelectedRows.value = sSelectedRows;
		
		SetRowDocs(oRowProv);
		
		return;
	}
	
	function SetRowDocs(oRowProv)
	{
		var oTxtSelectedRows = frmTreeview.txtSelectedRows;
		var oTblFonte = oRowProv.parentElement;
		var oTblDocs = oTblFonte.rows[oRowProv.rowIndex + 1].cells[0].children[0].children[0];
		
		if (oTblDocs)
		{
			for (var i = 0; i < oTblDocs.rows.length; i++)
			{
				SetRowDoc(oTxtSelectedRows, oTblDocs.rows[i], true);
			}
		}
		
		return;
	}

	function SetRowDoc(oTxtSelectedRows, oRowDoc, bCtrlKey)
	{
		var sSourceIndex = new String(oRowDoc.sourceIndex)
		var sSelectedRows = new String(oTxtSelectedRows.value);
		var oImgDoc = oRowDoc.cells[0].children[0];
		
		if (bCtrlKey)
		{
			if (oRowDoc.bgColor == "#fff3c6")
			{
				sSelectedRows = sSelectedRows.replace(";" + sSourceIndex, "")
				oRowDoc.bgColor = "#f7f7ef";
				oImgDoc.src = "/images/tree/orangedot.gif";
			}
			else
			{
				sSelectedRows += ";" + sSourceIndex;
				oRowDoc.bgColor = "#fff3c6";
				oImgDoc.src = "/images/tree/bluedot.gif"
			}
		}
		else
		{
			sSelectedRows = ";" + sSourceIndex;
			oRowDoc.bgColor = "#fff3c6";
			oImgDoc.src = "/images/tree/bluedot.gif"
		}
		
		oTxtSelectedRows.value = sSelectedRows;
		
		return;
	}
	
	function ResetSelection(oTxtSelectedRows)
	{
		var sSelectedRows = new String(oTxtSelectedRows.value);
		
		if (sSelectedRows.length > 0)
		{
			var aRow = sSelectedRows.split(";");
			for (var i = 0; i < aRow.length; i++) 
			{
				if (aRow[i].length > 0)
				{
					var oRow = document.all(new Number(aRow[i]));
					oRow.bgColor = "#f7f7ef";
					if (oRow.getAttribute("rowtype") == "d")
					{
						oRow.cells[0].children[0].src = "/images/tree/orangedot.gif";
					}
				}
			}
			oTxtSelectedRows.value = "";
		}
								
		return;
	}
	
	function ResetTxtItems()
	{
		frmTreeview.txtSelectedRows.value = "";
		frmTreeview.txtOpenRows.value = "";
		frmTreeview.txtSelectedItem.value = "";
		frmTreeview.txtActiveTab.value = "";
		frmTreeview.txtIdDoc.value = "";
		frmTreeview.txtIdFonte.value = "";
		frmTreeview.txtTipoRif.value = "";
		
		return;
	}

	function SetTxtSelectedItem()
	{
		var sSelectedRows = new String(frmTreeview.txtSelectedRows.value);
		var sSelectedDocs = new String();
		
		if (sSelectedRows.length > 0)
		{
			var aRows = sSelectedRows.split(";");
			for (var i = 0; i < aRows.length; i++) 
			{
				if (aRows[i].length > 0)
				{
					var oRow = document.all(new Number(aRows[i]));
					if (oRow.getAttribute("rowtype") == "d")
					{
						sSelectedDocs += "#" + oRow.getAttribute("idfonte") + ";";
						sSelectedDocs += "," + oRow.getAttribute("iddoc")
					}
				}
			}
		}
		
		frmTreeview.txtSelectedItem.value = sSelectedDocs;
							
		return;
	}

	function SetTxtActiveTab()
	{
		if (frmTreeview.txtActiveTab)
		{
			frmTreeview.txtActiveTab.value = GetActiveTab();
		}
							
		return;
	}

	function SetOpenRows()
	{
		if (frmTreeview.txtOpenRows)
		{
			var sTxtOpenRows = new String(frmTreeview.txtOpenRows.value);
			if (sTxtOpenRows.length > 0)
			{
				var aOpenRows = sTxtOpenRows.split("#")
				for (var i = 0; i < aOpenRows.length; i++)
				{	
					if (aOpenRows[i].length > 0)
					{
						var aRow = new String(aOpenRows[i]).split(";");
						
						var oImgProv = document.all(new Number(aRow[0]));
						var oDivDocs = document.all(new Number(aRow[1]));
										
						oImgProv.src = "/images/tree/minubox.gif";
						oDivDocs.style.display = "block";
					}
				}
			}
		}
						
		return;
	}
	
	function SetSelectedRows()
	{
		if (frmTreeview.txtSelectedRows)
		{
			var sSelectedRows = new String(frmTreeview.txtSelectedRows.value);
			if (sSelectedRows.length > 0)
			{
				var aRow = sSelectedRows.split(";");
				for (var i = 0; i < aRow.length; i++) 
				{
					if (aRow[i].length > 0)
					{
						var oRow = document.all(new Number(aRow[i]));
						oRow.bgColor = "#fff3c6";
						if (oRow.getAttribute("rowtype") == "d")
						{
							oRow.cells[0].children[0].src = "/images/tree/bluedot.gif";
						}
						
						if(i==(aRow.length-1)) AddRif(oRow);
					}
				}
			}
		}
										
		return;
	}
	
	function GetActiveTab()
	{
		var sIdFonte = new String();
		
		var oTabFonti = document.all("tblFonti")
		if (oTabFonti)
		{
			for (var i = 0; i < (oTabFonti.rows[0].cells.length - 1); i++)
			{
				var oColFonte = oTabFonti.rows[0].cells[i];
				if ((oColFonte.className == "tabSelected") || (oColFonte.className == "tabFirstSelected"))
				{
					sIdFonte = oColFonte.getAttribute("idfonte");
					break;
				}
			}
		}
		
		return(sIdFonte);
	}