
	//Index dos ficheiros  XSL utilizados na aplicacao
	function indexXslFiles(strCode)
	{
		switch (strCode)
		{
			case "INDTAB":
				return "/analisys/parameters/XSL/indicators20021205.xsl";
				break;
			case "ENTDEF":
				return "/global/XSL/entitySearch/formDefs.xsl";
				break;
			case "NA":
				return "/analisys/reports/XSL/mobility20021204.xsl";
				break;
			case "DUP":
				return "/analisys/reports/XSL/reportDuplic20021204.xsl";
				break;
			case "SOC":
				return "/analisys/reports/XSL/socDemoTable20021204.xsl";
				break;
			case "SOCFIL":
				return "/analisys/reports/XSL/socDemoFilter20021204.xsl";
				break;
			case "TAP":
				return "/analisys/parameters/XSL/target_predf_transf20020415.xsl";
				break;
			case "TAO":
				return "/analisys/parameters/XSL/target_universe_transf20020415.xsl";
				break;
			case "ENF":
				return "/global/XSL/entitySearch/entityFilter.xsl";
				break;
			case "ETS":
				return "/global/XSL/entitySearch/entityTransform20020419.xsl";
				break;
			case "LCS":
				return "/global/XSL/entitySearch/choiceListTransform20020419.xsl";
				break;
			case "xslReportFilter":
				return "/analisys/reports/XSL/reportFilter20020725.xsl";
				break;
			case "xslReportTable":
				return "/analisys/reports/XSL/report20020725.xsl";
				break;
			case "CV":
				return "/analisys/reports/XSL/curveGraph20021203.xsl";
				break;
			case "CVCORE":
				return "/analisys/reports/XSL/curveGraphCore20021203.xsl";
				break;
			case "GRAPH":
				return "/analisys/reports/XSL/graphRanking20021204.xsl";
				break;
			case "GRAPHSE":
				return "/analisys/reports/XSL/graphSearch20021204.xsl";
				break;
			case "GRAPHCORE":
				return "/analisys/reports/XSL/graphRankingCore20021204.xsl";
				break;
			case "PERTAB":
				return "/analisys/reports/XSL/periodsTable20030227.xsl";
				//return "/analisys/reports/XSL/periodsTable20021205.xsl";
				break;
			case "PERFILT":
				return "/analisys/reports/XSL/periodsFilter20021205.xsl";
				break;
			case "SPRTAB":
				return "/analisys/reports/XSL/spreadsReport20021220.xsl";
				break;
			case "SPRFILT":
				return "/analisys/reports/XSL/spreadsFilter20021220.xsl";
				break;
			default:
				alert("Este código não está referênciado!")
		}
	}
	
	//Index dos headers utilizados na aplicacao
	function indexHeaders(strCode)
	{
		switch (strCode)
		{
			case "LO":
				return "/root/header/login.asp";
				break;
			case "HO":
				return "/root/header/home.asp";
				break;
			case "PA":
				return "/analisys/header/parameters.asp";
				break;
			case "PO":
				return "/analisys/header/projects.asp";
				break;
			case "PR":
				return "/analisys/header/properties.asp";
				break;
			case "RK":
				return "/analisys/header/report.asp";
				break;
			case "CV":
				return "/analisys/header/graph.asp";
				break;
			case "PA":
				return "/analisys/header/parameters.asp";
				break;
			case "EN":
				return "/analisys/header/entities.asp";
				break;
			case "NE":
				return "/information/header/news.asp";
				break;
			case "TM":
				return "/analisys/header/temporal.asp";
				break;
			default:
				return "/root/header/home.asp";
		}
	}
	
	//Funcao de chamada de Headers
	function callHeader(strPath, framePath)
	{
		eval(framePath + ".location.href='" + strPath + "';");
	}
	
	
	//Apaga o conteudo de uma selectBox
	function clearSelectBox(formId, selectId)
	{
		var x = eval(formId + "." + selectId);
		if (x.length > -1)
		{
			var num = x.length - 1;
			for (i = num; i >= 0 ; i--)
			{
				x.remove(i);
			}
		}
	}
	
	//Adiciona 1 no numa selectBox
/*	function AddSelectBox(formId, selectId, text, value, selItem) 
	{
		var option = new Option(text, value);
		eval( formId + "." + selectId +".options[" + formId + "." + selectId + ".length]=option");
		if (selItem==1)
			eval( formId + "." + selectId +".options[" + formId + "." + selectId + ".length-1].selected=1");
	}*/
	
	function AddSelectBox(formId, selectId, text, value, selItem, label)
	{
		var option = new Option(text, value);

		//option.label = label;
		eval( formId + "." + selectId +".options[" + formId + "." + selectId + ".length]=option");
		if (selItem==1)
			eval( formId + "." + selectId +".options[" + formId + "." + selectId + ".length-1].selected=1");
	}
			
	function RemoveSelectALLBoxOptions(formId, selectId)
	{
		var nItems = eval(formId + "." + selectId + ".length");
		
		for (i=nItems; i >= 0; i--)
			eval(formId + "." + selectId +".options[" + i + "]=null");
	}
	
	function RemoveSelectedBoxOptions(formId, selectId)
	{
		var nItems = eval(formId + "." + selectId + ".length-1");
			
		for (i=nItems; i >= 0; i--)
		{
			if (eval(formId + "." + selectId +".options[" + i + "].selected"))
				eval(formId + "." + selectId +".options[" + i + "]=null");
		}
	}
	
	function CurveGraph(code)
	{
		graphObject.render("graphSeccion", code);
		defaultCode=code;
	}
	
	function SortTable(code, order)
	{
		tableObjReport.sort( code, order);
		tableObjReport.render("reportSeccion");
		defaultCode = code;
		defaultOrder = order;
	}
	
	function SelectType(code)
	{
		tableObjReport.xmlDomData.selectSingleNode("/NetPanel/Params").setAttribute("Entity")=code;
		tableObjReport.sort(defaultCode, defaultOrder);
		tableObjReport.render("reportSeccion");
	}
	
	function ReturnToTable()
	{
		graphSeccion.innerHTML="";
		tableObjReport.sort( defaultCode, defaultOrder);
		tableObjReport.render("reportSeccion");
	}
	
	function MakeGraph(code)
	{
		reportSeccion.innerHTML="";
		
		if (paramArray[2]=="RK" || paramArray[2]=="EN")
			graphObject.render("graphSeccion", code, code, "descending");
		else if (paramArray[2]=="TM")
			graphObject.render("graphSeccion", code, "label_ord", "descending");
		else
			graphObject.render("graphSeccion", code, defaultCode, defaultOrder);
	}
	
	function ExpandTable(code)
	{
		var nodeSet = tableObjReport.xmlDomData.selectSingleNode("/NetPanel/Data/SelectedEntity/Entity[@Code='" + code + "']");
		var sibNodeSet = nodeSet.nextSibling;
		
		if (nodeSet)
		{
			if (!nodeSet.getAttribute("Expanded"))
			{
				nodeSet.setAttribute("Expanded")="True";
				sibNodeSet.setAttribute("Expanded")="True";
			}
			else if (nodeSet.getAttribute("Expanded")=="True")
			{
				nodeSet.setAttribute("Expanded")="False";
				sibNodeSet.setAttribute("Expanded")="False";
			}
			else
			{
				nodeSet.setAttribute("Expanded")="True";
				sibNodeSet.setAttribute("Expanded")="True";
			}
		}
		
		SortTable(defaultCode, defaultOrder);
	}
	
	function ExpandEntities()
	{
		parent.header.changeWindow("/analisys/Reports/default.asp?type=RK&sub=RKXS&anltype=EN");
	}
	
	function setMember(chBox)
	{
		var succ=false;
		
		if (chBox.checked)
			succ=true;
		else
		{
			for (i=0; i < document.forms[0].length; i++)
			{
				var xItem = document.forms[0].item(i);
				
				if (xItem.type=="checkbox" && xItem.name!="chCheckAll")
				{
					if (xItem.checked)
					{
						succ=true;
						break;
					}
				}
			}
		}
		
		if (succ)
		{
			copyButton.innerHTML = "<a href='javascript:CopyToClipBoard();' ><IMG height=23 src='/images/buttons/Copiar_para_clipboard.gif' width=87 border=0 align='absbottom'></a>";
			copyButton1.innerHTML = "<a href='javascript:CopyToClipBoard();' ><IMG height=23 src='/images/buttons/Copiar_para_clipboard.gif' width=87 border=0 align='absbottom'></a>";
		}
		else
		{
			copyButton.innerHTML = "";
			copyButton1.innerHTML = "";
		}
	}
	
	function CheckOptions(chBox)
	{
		var succ=false;
		
		if (chBox.checked)
		{
			for (i=0; i < document.forms[0].length; i++)
			{
				var xItem = document.forms[0].item(i);
				
				if (xItem.type=="checkbox" && xItem.name!="chCheckAll")
					xItem.checked = true;
			}
			
			succ=true;
		}
		else
		{
			for (i=0; i < document.forms[0].length; i++)
			{
				var xItem = document.forms[0].item(i);
				
				if (xItem.type=="checkbox" && xItem.name!="chCheckAll")
					xItem.checked = false;
			}
		}
		
		if (succ)
		{
			copyButton.innerHTML = "<a href='javascript:CopyToClipBoard();' ><IMG height=23 src='/images/buttons/Copiar_para_clipboard.gif' width=87 border=0 align='absbottom'></a>";
			copyButton1.innerHTML = "<a href='javascript:CopyToClipBoard();' ><IMG height=23 src='/images/buttons/Copiar_para_clipboard.gif' width=87 border=0 align='absbottom'></a>";
		}
		else
		{
			copyButton.innerHTML = "";
			copyButton1.innerHTML = "";
		}
	}
	
	function CopyToClipBoard()
	{
		var succ=false;
		var result = "<?xml version='1.0'?><NetPanel><ClipBoard Ranking='Yes' >";
		
		for (i=0; i< document.forms[0].length; i++)
		{
			var xItem = document.forms[0].item(i);
			
			if (xItem.type=="checkbox" && xItem.name!="chCheckAll" && xItem.name!="chGeneral" && xItem.name!="chTarget" &&  xItem.name!="chFilter" && xItem.name!="chPropConst" && xItem.name!="chNonEntity")
			{
				if (xItem.checked)
				{
					result += "<Entity Code='" + xItem.value + "' Name='" + document.forms[0].item(i+1).value + "' Type='" + document.forms[0].item(i+2).value + "' />";
					succ = true;
				}
			}
		}

		result += "</ClipBoard></NetPanel>";
		formwindow = succ;
		myform.clipboardField.value=result;
	}
	
	function GetIndicators()
	{
		var strUrl="/analisys/parameters/indicators.asp?" + myform.hdStrul.value;
		parent.header.changeWindow(strUrl);
	}
	
	function GetBack()
	{
		var strUrl=myform.hdStrul.value;
		parent.header.changeWindow(strUrl);
	}
	
	function ExportToExcel()
	{
		var strUrl="/global/services/print/default.asp?" + myform.hdStrul.value;
		
		if (windowname == "duplication")
		{	
			strUrl += "&code0=" + code0;
			
			if (code1!="")
			  strUrl += "&code1=" + code1;
		}
		
		if (paramArray[1]=="RKSIP" || paramArray[1]=="RKSIPF" || paramArray[1]=="RKSEP" || paramArray[1]=="RKEXP" || paramArray[1]=="RKEXP2" || paramArray[1]=="RKWOR")
			strUrl += "&start=" + iStart;
		
		if (myform.report.value=="periods" || myform.report.value=="socdemo")
			formwindow =true;

		parent.header.changeWindow(strUrl);
	}
	
	function SetHeaderElement(chTag)
	{
		var xTag = document.getElementById("tR" + chTag.value);
		
		if (chTag.checked)
		{
			xTag.style.visibility="visible";
			xTag.style.display = "";
		}
		else
		{
			xTag.style.visibility="hidden";
			xTag.style.display = "none";
		}
	}
	

	
	function showChildren(tagObj, xOff)
	{	
		var xLines = document.getElementsByName("tr" + tagObj.id);
		var xString = new String(tagObj.id);
		var code = xString.split("$")[0];
		var xBool = false;
		var xImage = tagObj.firstChild.rows[0].cells[0].lastChild.childNodes.item(1);
		var xSItems = tableObjReport.xmlDomData.selectSingleNode("/NetPanel/Data").getElementsByTagName("Entity[@Code='" + code + "']");
			
		for (var i=0; i<xLines.length; i++)
		{
			if (xLines.item(i).style.display=="none" && !xOff)
			{
				xLines.item(i).style.display="";
				xLines.item(i).style.visibility="visible";
				xSItems.item(0).setAttribute("Open")="true";
				xBool = true;
			}
			else
			{
				xLines.item(i).style.display="none";
				xLines.item(i).style.visibility="hidden";
				xSItems.item(0).setAttribute("Open")="false";
				
				if (xLines.item(i).cells[3].id!=null && xLines.item(i).cells[3].id!="")
				{
					var xItem = xLines.item(i).nextSibling;
					
					if (xItem.name == "tr" + xLines.item(i).cells[3].id && xItem.style.display=="")
						showChildren(xLines.item(i).cells[3], true);
				}
			}
		}
		
		if (xImage)
		{
			if (xBool)
				xImage.src = "/images/Icons/minus.GIF";
			else
				xImage.src = "/images/Icons/plus.GIF";
		}
	}
