function TTECArbolNodo(B,D,A,C){this.Padre=null;this.Nodos=new Array();this.Id=-1;this.Tipo=B;this.Titulo=(sinDefinir(D)?"":D);this.Capa=(sinDefinir(A)?null:A);this.Capas=(sinDefinir(C)?null:C);this.Descripcion="";this.BloqueEstado=1;this.EsUltimo=false;this.CheckDefecto=false;this.eventoCapaOver=this.eventoNulo;this.eventoCapaOut=this.eventoNulo}TTECArbolNodo.prototype.Add=function(B){B.Padre=this;B.EsUltimo=true;if(this.Nodos.length>0){this.Nodos[this.Nodos.length-1].EsUltimo=false}this.Nodos[this.Nodos.length]=B;var A=B.Padre;while(sinDefinir(A.NodosLista)&&!sinDefinir(A)){A=A.Padre}B.Id=A.NodosLista.length;A.NodosLista[A.NodosLista.length]=B;return B};TTECArbolNodo.prototype.SetEstado=function(B){switch(this.Tipo){case 0:for(var A=0;A<this.Nodos.length;A++){this.Nodos[A].SetEstado(B)}this.BloqueEstado=B;break;case 1:case 5:this.Capa.SetVisible((B==1?this.Capa.VisibleIni:(B==2)));break;case 2:for(var A=0;A<this.Capas[A];A++){this.Capas[A].SetVisible((B==1?this.Capas[A].VisibleIni:(B==2)))}break;case 6:_getVisorObj().Poligonos.cambiaVisibilidad();break;case 3:}};function TTECArbol(B,A){this.Id=B;this.Titulo=A;this.Nodos=new Array();this.NodosLista=new Array();this.DivArbol=null;this.imgPadreAbierto="./images/arbol/nodopa.gif";this.imgPadreUltimoAbierto="./images/arbol/nodopua.gif";this.imgPadreCerrado="./images/arbol/nodopc.gif";this.imgPadreUltimoCerrado="./images/arbol/nodopuc.gif";this.imgHijo="./images/arbol/nodoh.gif";this.imgHijoFin="./images/arbol/nodohu.gif";this.imgBloque1="./images/arbol/check3.gif";this.imgBloque2="./images/arbol/check2.gif";this.imgBloque3="./images/arbol/check1.gif";this.imgInfo="./images/arbol/info.gif";this.imgDefecto="./images/arbol/recarga.gif";this.imgProceso="./images/arbol/proceso.gif";this.imgProcesoIndexOf="/images/arbol/proceso.gif";this.imgPixel="./images/arbol/pixel.gif"}TTECArbol.prototype.Add=function(A){A.Padre=this;A.EsUltimo=true;if(this.Nodos.length>0){this.Nodos[this.Nodos.length-1].EsUltimo=false}this.Nodos[this.Nodos.length]=A;A.Id=this.NodosLista.length;this.NodosLista[this.NodosLista.length]=A;return A};TTECArbol.prototype.getNodo=function(B){for(var A=0;A<this.NodosLista.length;A++){if(this.NodosLista[A].Id==B){return this.NodosLista[A]}}return null};TTECArbol.prototype.GeneraDOM=function(A){this.DivArbol=document.createElement("div");this.DivArbol.id="SiteArbol"+this.Id;this.DivArbol.className="TTECArbol";var C=document.createElement("div");C.className="TTECArbolTitulo";C.innerHTML=this.Titulo;this.DivArbol.appendChild(C);var D=document.createElement("ul");for(var B=0;B<this.Nodos.length;B++){D.appendChild(this.GeneraDOMNodo(this.Nodos[B]))}this.DivArbol.appendChild(D);A.appendChild(this.DivArbol);this.refrescarChecks(true)};TTECArbol.prototype.GeneraDOMNodo=function(E){var A=document.createElement("li");var D="";if(E.Titulo!=""){D=E.Titulo}else{D=(E.Tipo==1?E.Capa.Nombre:E.Capa.Titulo)}A.appendChild(document.createTextNode(" "+D));if(E.Nodos.length>0){if(E.Tipo!=4){A.insertBefore(this._crearElemento("def",E),A.firstChild);A.insertBefore(this._crearElemento("blq",E),A.firstChild)}if(E.EsUltimo){A.insertBefore(this._crearElemento("nU",E),A.firstChild)}else{A.className="TTECArbolLinea";A.insertBefore(this._crearElemento("n",E),A.firstChild)}var C=document.createElement("ul");C.style.display="none";for(var B=0;B<E.Nodos.length;B++){C.appendChild(this.GeneraDOMNodo(E.Nodos[B]))}A.appendChild(C)}else{if(E.Tipo==3){A.insertBefore(this._crearElemento("rdb",E),A.firstChild)}else{A.className="TTECArbolCapa";A.insertBefore(this._crearElemento("chk",E),A.firstChild);if(!sinDefinir(E.Capa)&&!sinDefinir(E.Capa.Metadatos)&&E.Capa.Metadatos!=""){A.appendChild(this._crearElemento("inf",E))}}if(E.EsUltimo){A.insertBefore(this._crearElemento("nHU",E),A.firstChild)}else{A.insertBefore(this._crearElemento("nH",E),A.firstChild)}}if(E.Tipo==5||(E.Tipo==1&&!sinDefinir(E.Capa.Leyendas)&&E.Capa.Leyendas.length>0)){A.idCapa=(E.Tipo==5?"V":"")+E.Capa.Id;EventMgr.add(A,"mouseover",this.eventoCapaOver);EventMgr.add(A,"mouseout",this.eventoCapaOut)}else{if(E.Tipo==6){A.idCapa="V"+CP_POLIGONOS_ID;EventMgr.add(A,"mouseover",this.eventoCapaOver);EventMgr.add(A,"mouseout",this.eventoCapaOut)}else{if(E.Descripcion!=""){A.Descripcion=E.Descripcion;EventMgr.add(A,"mouseover",this.eventoCapaOver);EventMgr.add(A,"mouseout",this.eventoCapaOut)}}}return A};TTECArbol.prototype._crearElemento=function(A,B){var C=null;switch(A){case"n":case"nU":C=document.createElement("img");C.src=(A=="n"?this.imgPadreCerrado:this.imgPadreUltimoCerrado);C.abierto=false;EventMgr.add(C,"click",this.eventoAbreCierra);break;case"nH":case"nHU":C=document.createElement("img");C.src=(A=="nH"?this.imgHijo:this.imgHijoFin);break;case"n2":case"nU2":C=document.createElement("img");C.src=(A=="n2"?this.imgPadreAbierto:this.imgPadreUltimoAbierto);C.abierto=true;EventMgr.add(C,"click",this.eventoAbreCierraSel);break;case"nH2":case"nHU2":C=document.createElement("img");C.src=(A=="nH2"?this.imgPadreCerrado:this.imgPadreUltimoCerrado);C.abierto=false;EventMgr.add(C,"click",this.eventoAbreCierraSel);break;case"blq":C=document.createElement("img");C.setAttribute("src",this.imgBloque1);EventMgr.add(C,"click",this.eventoNodoClick);break;case"def":C=document.createElement("img");C.setAttribute("src",this.imgDefecto);C.className="TTECArbolImgDefecto";EventMgr.add(C,"click",this.eventoNodoClick);break;case"inf":C=document.createElement("img");C.setAttribute("src",this.imgInfo);C.className="TTECArbolImgInfo";EventMgr.add(C,"click",this.eventoNodoClick);break;case"chk":C=document.createElement("input");C.setAttribute("type","checkbox");C.setAttribute("id","chk_tree_"+(sinDefinir(B.Capa)?B.Id:B.Capa.Id));EventMgr.add(C,"click",this.eventoNodoClick);break;case"rdb":C=document.createElement("input");C.setAttribute("type","radio");C.setAttribute("name","nombre"+B.Padre.Id);C.setAttribute("value",(sinDefinir(B.Capa)?B.Id:B.Capa.Id));EventMgr.add(C,"click",eventocargarSITEArbolRaster);break;case"prc":C=document.createElement("img");C.setAttribute("src",this.imgProceso);break;case"txt":C=document.createElement("span");C.className="TTECArbolTexto";break}C.IdNodo=B.Id;C.Tipo=A;return C};TTECArbol.prototype.refrescarChecks=function(B){var E=(sinDefinir(B)?false:B);var A=this.DivArbol.getElementsByTagName("input");for(var C=0;C<A.length;C++){var D=this.getNodo(A[C].IdNodo);switch(D.Tipo){case 1:case 5:A[C].checked=D.Capa.Visible;break;case 2:A[C].checked=D.Capas[0].Visible;break;case 3:if(E&&A[C].Tipo=="rdb"&&D.CheckDefecto){A[C].checked=true}break;case 6:A[C].checked=_getVisorObj().Poligonos.visible;break}}this.refrescarChecksBloques()};TTECArbol.prototype.refrescarChecksBloques=function(){var F=this.DivArbol.getElementsByTagName("img");for(var C=0;C<F.length;C++){if(sinDefinir(F[C].Tipo)||F[C].Tipo!="blq"){continue}var B=F[C].parentNode.getElementsByTagName("input");var E=0;var D=0;for(var A=0;A<B.length;A++){if(B[A].type=="radio"){D++}else{if(B[A].checked){E++}}}nodo=this.getNodo(F[C].IdNodo);if(E==0){nodo.BloqueEstado=3;F[C].src=this.imgBloque3}else{if((E+D)==B.length){nodo.BloqueEstado=2;F[C].src=this.imgBloque2}else{nodo.BloqueEstado=1;F[C].src=this.imgBloque1}}}};TTECArbol.prototype.eventoNulo=function(){};TTECArbol.prototype.eventoNodoClick=function(C){C=(sinDefinir(C)?event:C);var B=getTarget(C);if(B==null){return }var A=arbolCapas.getNodo(B.IdNodo);if(B.Tipo=="inf"){if(A.Capa.Metadatos.indexOf("http:")==-1){window.open(A.Capa.Padre.UrlBaseMetadatos+A.Capa.Metadatos)}else{window.open(A.Capa.Metadatos)}return }if(B.Tipo=="def"){A.SetEstado(1)}else{if(A.Tipo==0){A.SetEstado((A.BloqueEstado==3?2:3))}else{A.SetEstado((B.checked?2:3))}}arbolCapas.refrescarChecks();if(A.Tipo==3){A.Capa.Pintar(true,false)}else{if(A.Tipo!=6){capaVector.Pintar(true,false);if(!sinDefinir(capaIntegra)){capaIntegra.Pintar(true,false)}cfgGuardarCapasVisibles()}}};TTECArbol.prototype.eventoAbreCierra=function(E){E=(sinDefinir(E)?event:E);var D=getTarget(E);if(D==null){return }var A=D.parentNode;var C=A.getElementsByTagName("ul")[0];var B=D;if(C.style.display=="none"){B.setAttribute("src",(A.nextSibling==null?arbolCapas.imgPadreUltimoAbierto:arbolCapas.imgPadreAbierto));C.style.display="block"}else{B.setAttribute("src",(A.nextSibling==null?arbolCapas.imgPadreUltimoCerrado:arbolCapas.imgPadreCerrado));C.style.display="none"}detenerEventos(E)};TTECArbol.prototype.eventoAbreCierraSel=function(F){F=(sinDefinir(F)?event:F);var E=getTarget(F);if(E==null){return }var A=E.parentNode;var C=A.getElementsByTagName("ul")[0];var B=E;if(B.src.indexOf(arbolCapas.imgProcesoIndexOf)>-1){detenerEventos(F);return }var D=arbolCapas.getNodo(E.IdNodo);if(B.abierto){B.setAttribute("src",(A.nextSibling==null?arbolCapas.imgPadreUltimoCerrado:arbolCapas.imgPadreCerrado));C.style.display="none"}else{B.setAttribute("src",(A.nextSibling==null?arbolCapas.imgPadreUltimoAbierto:arbolCapas.imgPadreAbierto));if((E.Tipo=="nH2"||E.Tipo=="nHU2")&&sinDefinir(D.Capa.ajaxElementos.Ajax)){C.style.display="none"}else{C.style.display="block"}}B.abierto=!B.abierto;if((E.Tipo=="nH2"||E.Tipo=="nHU2")&&sinDefinir(D.Capa.ajaxElementos.Ajax)){B.setAttribute("src",arbolCapas.imgProceso);CapasDatos.ListaAjaxInfo.Add(D.Capa.ajaxElementos)}arbolCapas._arreglaFinalesSel(arbolCapas.DivArbolSelUL);detenerEventos(F)};TTECArbol.prototype.GeneraDOMSel=function(A){this.DivArbolSel=document.createElement("div");this.DivArbolSel.id="SiteArbolSel"+this.Id;this.DivArbolSel.className="TTECArbol";var C=document.createElement("div");C.className="TTECArbolTitulo";C.innerHTML="Información: ";this.DivArbolSelProceso=document.createElement("img");this.DivArbolSelProceso.src=this.imgPixel;C.appendChild(this.DivArbolSelProceso);this.DivArbolSel.appendChild(C);this.DivArbolSelUL=document.createElement("ul");for(var B=0;B<this.Nodos.length;B++){var D=this.GeneraDOMNodoSel(this.Nodos[B]);if(D){this.DivArbolSelUL.appendChild(D)}}this.DivArbolSel.appendChild(this.DivArbolSelUL);A.appendChild(this.DivArbolSel);this.vaciarHijosSel()};TTECArbol.prototype.GeneraDOMNodoSel=function(F){if(F.Tipo!=0&&F.Tipo!=1&&F.Tipo!=2){return null}if(F.Tipo==1&&!F.Capa.TieneInfo){return null}var B=document.createElement("li");var E="";if(F.Titulo!=""){E=F.Titulo}else{E=(F.Tipo==1?F.Capa.Nombre:F.Capa.Titulo)}B.appendChild(document.createTextNode(" "+E));if(F.Nodos.length>0){if(F.EsUltimo){B.insertBefore(this._crearElemento("nU2",F),B.firstChild)}else{B.className="TTECArbolLinea";B.insertBefore(this._crearElemento("n2",F),B.firstChild)}var D=document.createElement("ul");D.style.display="block";var A=false;for(var C=0;C<F.Nodos.length;C++){var G=this.GeneraDOMNodoSel(F.Nodos[C]);if(G){D.appendChild(G);A=true}}if(A){B.appendChild(D)}else{return null}}else{B.className="TTECArbolLinea";if(F.EsUltimo){B.insertBefore(this._crearElemento("nHU2",F),B.firstChild)}else{B.insertBefore(this._crearElemento("nH2",F),B.firstChild)}B.appendChild(this._crearElemento("txt",F));var D=document.createElement("ul");D.style.display="none";B.appendChild(D)}if(F.Tipo==5||(F.Tipo==1&&!sinDefinir(F.Capa.Leyendas)&&F.Capa.Leyendas.length>0)){B.idCapa=(F.Tipo==5?"V":"")+F.Capa.Id;EventMgr.add(B,"mouseover",this.eventoCapaOver);EventMgr.add(B,"mouseout",this.eventoCapaOut)}return B};TTECArbol.prototype._tieneNodosVisibles=function(C){var D=C.getElementsByTagName("img");var B=null;for(var A=0;A<D.length;A++){if(sinDefinir(D[A].IdNodo)){continue}B=this.getNodo(D[A].IdNodo);if(B.Tipo==1&&B.Capa.Visible){return true}}return false};TTECArbol.prototype.recargarSel=function(){var D=this.DivArbolSel.getElementsByTagName("img");for(var A=0;A<D.length;A++){if(sinDefinir(D[A].IdNodo)){continue}var C=this.getNodo(D[A].IdNodo);if(C.Tipo==1){if(!C.Capa.TieneInfo||!C.Capa.Visible||C.Capa.ajaxNElementos.Ajax==null||C.Capa.ajaxNElementos.Ajax.responseText==0){D[A].parentNode.style.display="none";D[A].abierto=false;D[A].src=this.imgPadreCerrado;D[A].parentNode.lastChild.style.display="none"}else{D[A].parentNode.style.display="block"}}}for(var A=0;A<D.length;A++){if(sinDefinir(D[A].IdNodo)){continue}var C=this.getNodo(D[A].IdNodo);if(C.Tipo==0){var B=D[A].parentNode;if(B.nodeName=="UL"||B.nodeName=="LI"){B.style.display="none"}}}for(var A=0;A<D.length;A++){if(sinDefinir(D[A].IdNodo)){continue}var C=this.getNodo(D[A].IdNodo);if(C.Tipo==1&&C.Capa.TieneInfo&&C.Capa.Visible&&C.Capa.ajaxNElementos.Ajax!=null&&C.Capa.ajaxNElementos.Ajax.responseText>0){var B=D[A].parentNode;while(B!=null&&B.nodeName!="DIV"){B=B.parentNode;if(B&&(B.nodeName=="UL"||B.nodeName=="LI")){B.style.display="block"}}}}this._arreglaFinalesSel(this.DivArbolSelUL)};TTECArbol.prototype.vaciarHijosSel=function(){var C=this.DivArbolSel.getElementsByTagName("img");var B=null;for(var A=0;A<C.length;A++){if(sinDefinir(C[A].IdNodo)){continue}B=this.getNodo(C[A].IdNodo);C[A].parentNode.style.display="none";if(B.Tipo==1||B.Tipo==2||B.Tipo==5){C[A].parentNode.lastChild.innerHTML="";C[A].abierto=false;C[A].src=this.imgPadreCerrado}if(B.Tipo==0){C[A].abierto=true;C[A].src=this.imgPadreAbierto}}};TTECArbol.prototype.refrescarSel=function(){var C=this.DivArbolSel.getElementsByTagName("img");var B=null;for(var A=0;A<C.length;A++){if(sinDefinir(C[A].IdNodo)){continue}B=this.getNodo(C[A].IdNodo);if(B.Tipo==1){if(!B.Capa.Visible&&!sinDefinir(B.Capa.ajaxNElementos.Ajax)&&B.Capa.ajaxNElementos.Ajax.responseText>0){C[A].parentNode.style.display="none";C[A].parentNode.lastChild.innerHTML="";C[A].abierto=false;C[A].src=this.imgPadreCerrado}}}this._arreglaFinalesSel(this.DivArbolSelUL)};TTECArbol.prototype.refrescarSelCapa=function(D){var G=this.DivArbolSel.getElementsByTagName("img");var E=null;var A=D.Tag;if(D.Ajax&&D.Ajax.responseText>0&&A.Visible){for(var C=0;C<G.length;C++){if(sinDefinir(G[C].IdNodo)){continue}E=this.getNodo(G[C].IdNodo);if(E.Capa==A){G[C].setAttribute("src",this.imgPadreCerrado);var F=G[C].parentNode;F.className="TTECArbolLinea";F.style.display="block";for(var B=0;B<F.childNodes.length;B++){if(!sinDefinir(F.childNodes[B].Tipo)&&F.childNodes[B].Tipo=="txt"){F.childNodes[B].innerHTML="("+D.Ajax.responseText+")"}}while(F!=null&&F.nodeName!="DIV"){F=F.parentNode;if(F&&(F.nodeName=="UL"||F.nodeName=="LI")){F.style.display="block"}}}}}this._arreglaFinalesSel(this.DivArbolSelUL)};TTECArbol.prototype.refrescarSelCapaInfo=function(D){var G=this.DivArbolSel.getElementsByTagName("img");var E=null;var B=D.Tag;for(var C=0;C<G.length;C++){if(sinDefinir(G[C].IdNodo)){continue}E=this.getNodo(G[C].IdNodo);if(E.Capa==B){var F=G[C].parentNode;var A=document.createElement("li");if(G[C].abierto){F.lastChild.style.display="block"}F.lastChild.appendChild(A);A.innerHTML=D.Ajax.responseText;G[C].setAttribute("src",arbolCapas.imgPadreAbierto)}}this._arreglaFinalesSel(this.DivArbolSelUL)};TTECArbol.prototype.setProcesoSel=function(A){if(A){this.DivArbolSelProceso.src=this.imgProceso}else{this.DivArbolSelProceso.src=this.imgPixel}};TTECArbol.prototype._arreglaFinalesSel=function(E){var C=true;for(var D=E.childNodes.length-1;D>=0;D--){if(E.childNodes[D].nodeName=="LI"&&E.childNodes[D].firstChild&&E.childNodes[D].firstChild.nodeName=="IMG"){var A=E.childNodes[D];var B=A.firstChild;if(A.style.display!="none"&&B.src.indexOf(this.imgProcesoIndexOf)==-1){if(C){A.className="";if(B.abierto){B.src=this.imgPadreUltimoAbierto}else{B.src=this.imgPadreUltimoCerrado}}else{A.className="TTECArbolLinea";if(B.abierto){B.src=this.imgPadreAbierto}else{B.src=this.imgPadreCerrado}}C=false;if(A.lastChild.nodeName=="UL"&&A.lastChild.style.display!="none"){this._arreglaFinalesSel(A.lastChild)}}}}};TTECArbol.prototype._arregraFinalesSelUL=function(B){var C=null;for(var A=B.childNodes.length-1;A>=0;A--){if(B.childNodes[A].nodeName.toLowerCase()=="li"){if(this._tieneNodosVisibles(B.childNodes[A])){C=B.childNodes[A];break}}}if(C==null||sinDefinir(C.firstChild.IdNodo)){return }if(C.firstChild.Tipo=="n"||C.firstChild.Tipo=="nU"){C.className="";if(C.getElementsByTagName("ul")[0].style.display=="none"){C.firstChild.src=this.imgPadreUltimoCerrado}else{C.firstChild.src=this.imgPadreUltimoAbierto}}else{C.firstChild.src=this.imgPadreUltimoCerrado}};TTECArbol.prototype.contieneCapaId=function(C){for(var B=0;B<this.NodosLista.length;B++){if(!sinDefinir(this.NodosLista[B].Capa)&&this.NodosLista[B].Capa.Id==C){return true}if(!sinDefinir(this.NodosLista[B].Capa)&&!sinDefinir(this.NodosLista[B].Capa.Ids)&&this.NodosLista[B].Capa.Ids.length>0){for(var A=0;A<this.NodosLista[B].Capa.Ids.length;A++){if(this.NodosLista[B].Capa.Ids[A]==C){return true}}}}return false}
