source: admin/WebConsole/clases/jscripts/ArbolVistaXML.js @ 9a2cda1e

918-git-images-111dconfigfileconfigure-oglivegit-imageslgromero-new-oglivemainmaint-cronmount-efivarfsmultivmmultivm-ogboot-installerogClonningEngineogboot-installer-jenkinsoglive-ipv6test-python-scriptsticket-301ticket-50ticket-50-oldticket-577ticket-585ticket-611ticket-612ticket-693ticket-700ubu24tplunification2use-local-agent-oglivevarios-instalacionwebconsole3
Last change on this file since 9a2cda1e was b0dc2e4, checked in by alonso <alonso@…>, 16 years ago

git-svn-id: https://opengnsys.es/svn/trunk@489 a21b9725-9963-47de-94b9-378ad31fedc9

  • Property mode set to 100644
File size: 22.1 KB
Line 
1// ************************************************************************************************
2//  Libreria de scripts de Javascript
3// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla
4
5// Fichero: ArbolVistaXML.js
6// Este fichero implementa las funciones javascript de la clase ArbolVistaXML.php
7// *************************************************************************************************
8var botonraton=null;                                    //  Botón presionado
9var currentNodo="";                                     // Nodo actual
10var currentpathimg="";                          //      Path por defecto de las imágenes de signo
11var gLiteralcolor;                                              // Color nodo vista para restablecer
12var gLiteralbackground;                 // Fondo color nodo vista para restablecer
13//________________________________________________________________________________________________________
14// definicion dela clase triada
15//________________________________________________________________________________________________________
16        function NodoVista(){
17                this.nivel=0;                                                                   // Profundidad del nodo
18                this.imgsigno=null;                                     // Objeto IMG (Imagen de signo de la celda vista) O SPAN si el nodo vista no tiene hijos
19                this.literal=null;                                                      // Objeto SPAN (Literal de la celda vista)
20
21                this.CeldaVista=null;                                   // El objeto TABLE que contiene la imagen de signo y el literal)
22                this.Nodo=null;                                                 // El nodo en si (Objeto TR que contiene el objeto TABLE celda vista final)
23                this.ArbolHijos=null;                                   // El arbol conteniendo todos los nodos hijos ( Si nulo no tiene hijos)(Objeto TR)
24                this.NodoPadre=null;                            // El nodo padre (Objeto TR que contiene el objeto TABLE celda vista final, del padre)
25                this.ArbolHijosNodoPadre=null;          // El arbol del padre conteniendo los nodos hijos(Objeto TR)
26                this.siguienteHermano=null;     // El nodo hermano siguiente ( Si nulo es el último hermano)(Objeto TR)
27                //____________________________________________________________________________
28                //     
29                //      Devuelve el estado del nodo 0: Contraido 1:Desplegado
30                //____________________________________________________________________________
31                this.estadoNodo= function(){
32                        var signoimg=this.imgsigno.getAttribute("value");
33                        var estado;
34                        switch(signoimg){
35                                case "menos_t" :
36                                case "menos_c" :
37                                        estado=1;
38                                        break;
39                                case "mas_t" :
40                                case "mas_c" :
41                                        estado=0;
42                                        break;
43                                default:
44                                        estado=-1;
45                        }
46                        return(estado);
47                }
48                //____________________________________________________________________________
49                //     
50                //      Devuelve el segundo dato de una cadena con formato xxxxx-xxx que es id del nodo vista
51                //____________________________________________________________________________
52                this.toma_identificador= function(){
53                        if(this.literal==null) return(null);
54                        var cadena=this.literal.getAttribute("id");
55                        var iditem=cadena.split("-") // Toma el identificador
56                        return(iditem[1]);
57                }
58                //____________________________________________________________________________
59                //     
60                //      Devuelve el primer dato de una cadena con formato xxxxx-xxx que es sufijo del nodo vista
61                //____________________________________________________________________________
62                this.toma_sufijo= function(){
63                        if(this.literal==null) return(null);
64                        var cadena=this.literal.getAttribute("id");
65                        var iditem=cadena.split("-") // Toma el identificador
66                        return(iditem[0]);
67                }
68                //____________________________________________________________________________
69                //     
70                //      Devuelve el literal de un nodo vista
71                //____________________________________________________________________________
72                this.toma_infonodo= function(){
73                        if(this.literal==null) return(null);
74                        return(this.literal.innerHTML);
75                }
76                //____________________________________________________________________________
77                //     
78                //      Devuelve el literal de un nodo vista
79                //____________________________________________________________________________
80                this.pone_infonodo= function(lit){
81                        this.literal.innerHTML=lit;
82                }               
83                //____________________________________________________________________________
84                //     
85                //       Devuelve true si el nodo tiene hijos,false en caso contrario
86                //____________________________________________________________________________
87                this.TieneHijos= function(){
88                        return(this.ArbolHijos!=null);
89                }
90                //____________________________________________________________________________
91                //     
92                //       Devuelve true si el nodo es el último, false en caso contrario
93                //____________________________________________________________________________
94                this.UltimoHermano= function(){
95                                        return(this.siguienteHermano==null);
96                }
97                //____________________________________________________________________________
98                //     
99                //       Devuelve el nodo vista padre
100                //____________________________________________________________________________
101                this.PapaNodo= function(){
102                        if(this.NodoPadre==null) return(null);
103                        var oTABLE=this.NodoPadre.getElementsByTagName('TABLE')[0];
104                        return(TomaDatosNodo(oTABLE));
105                }
106                // Fin de la clase
107}
108//________________________________________________________________________________________________________
109//     
110//      Devuelve un nodo vista
111//  Parametro:
112//              o: Objeto que puede ser la imagen de signo o el literal de una de las lineas del arbolVista
113//________________________________________________________________________________________________________
114        function TomaDatosNodo(o){
115                var nodo=new NodoVista();
116
117                while(o.tagName!="TABLE" )
118                        o=o.parentNode;
119                nodo.CeldaVista=o;     
120                var TAnchor=nodo.CeldaVista.getElementsByTagName('A');
121                if(TAnchor.length==2){ // Imagen de signo pulsable
122                        nodo.imgsigno=TAnchor[0].childNodes[0];
123                        nodo.literal=TAnchor[1].childNodes[0];
124                }
125                else{
126                        var TSpan=nodo.CeldaVista.getElementsByTagName('SPAN');
127                        nodo.imgsigno=TSpan[0].childNodes[0];
128                        nodo.literal=TAnchor[0].childNodes[0];
129                }
130        while(o.tagName!="TR" )
131                         o=o.parentNode;   
132                nodo.Nodo=o;
133               
134                while(o.tagName!="TABLE" )
135                        o=o.parentNode;
136                var Mnivel=o.getAttribute("id").split("-")
137                nodo.nivel=Mnivel[1]
138
139        while(o.tagName!="TR" )
140                         o=o.parentNode;   
141                nodo.ArbolHijosNodoPadre=o;
142               
143                if(parseInt(nodo.nivel)>0){
144                        o=o.previousSibling;
145                        while(o.nodeType!=1 )
146                                o=o.previousSibling
147                        nodo.NodoPadre=o;
148                }
149                else
150                        nodo.NodoPadre=null; // Es el primer nodo
151                var o=nodo.Nodo;
152                var auxsplit=o.getAttribute("id");
153                var idTR=auxsplit.split("-") [0];               
154        o=o.nextSibling
155        while(o!=null && o.nodeType!=1 )
156           o=o.nextSibling
157                if(o==null){ // Es el último hermano y no tiene hijos
158                        nodo.ArbolHijos=null;   
159                        nodo.siguienteHermano=null;
160                        return(nodo);
161                }
162                var auxsplit=o.getAttribute("id");
163                var idTRhijo=auxsplit.split("-") [0];
164                if(idTR==idTRhijo) { // El nodo no tiene hiijos y no es último hermano
165                        nodo.ArbolHijos=null;   
166                        nodo.siguienteHermano=o;
167                        return(nodo);
168                }
169                nodo.ArbolHijos=o;     
170                o=o.nextSibling
171        while(o!=null && o.nodeType!=1)
172           o=o.nextSibling
173                if(o==null){ // El nodo  tiene hijos y  es ultimo hermano
174                        nodo.siguienteHermano=null;
175                        return(nodo);
176                }
177                nodo.siguienteHermano=o; // El nodo  tiene hijos y  no es último hermano
178                return(nodo);
179        }
180//-----------------------------------------------------------------------------------------------------------------------
181//       Gestiona el despliegue y contracción de nodovs
182//-----------------------------------------------------------------------------------------------------------------------
183function clickNodo(nodov,pathimg){
184        var signoimg=nodov.imgsigno.getAttribute("value");
185                switch(signoimg){
186                        case "menos_t" :
187                                nodov.imgsigno.setAttribute("value","mas_t",null);
188                                nodov.imgsigno.setAttribute("src",pathimg+"/mas_t.gif",null);
189                                nodov.ArbolHijos.style.display="none"
190                                break;
191                        case "menos_c" :
192                                nodov.imgsigno.setAttribute("value","mas_c",null);
193                                nodov.imgsigno.setAttribute("src",pathimg+"/mas_c.gif",null);
194                                if (nodov.nivel==0)
195                                    nodov.imgsigno.setAttribute("src",pathimg+"/mas_root.gif",null);
196                                nodov.ArbolHijos.style.display="none"
197                                break;
198                        case "mas_t" :
199                                nodov.imgsigno.setAttribute("value","menos_t",null);
200                                nodov.imgsigno.setAttribute("src",pathimg+"/menos_t.gif",null);
201                                nodov.ArbolHijos.style.display="block"
202                                break;
203                        case "mas_c" :
204                nodov.imgsigno.setAttribute("value","menos_c",null);
205                                nodov.imgsigno.setAttribute("src",pathimg+"/menos_c.gif",null);
206                                if (nodov.nivel==0)
207                                    nodov.imgsigno.setAttribute("src",pathimg+"/menos_root.gif",null);
208                                nodov.ArbolHijos.style.display="block"
209                                break;
210                }
211}
212//-----------------------------------------------------------------------------------------------------------------------
213//       Gestiona el despliegue y contracción de nodos a través de la imagen del nodo
214//-----------------------------------------------------------------------------------------------------------------------
215function clickImagenSigno(oIMG,pathimg){
216        currentpathimg=pathimg;
217        var nodov=TomaDatosNodo(oIMG);
218        clickNodo(nodov,pathimg);
219        if (EsAncestro(nodov,currentNodo))
220                resalta(nodov);
221}
222//-----------------------------------------------------------------------------------------------------------------------
223//       Gestiona el despliegue y contracción de nodos a través del literal del nodo
224//-----------------------------------------------------------------------------------------------------------------------
225function clickLiteralNodo(oLIT,pathimg){
226        var nodov=TomaDatosNodo(oLIT);
227        resalta(nodov);
228        if(nodov.imgsigno==null) return;
229
230        if(pathimg==null){
231                var signoimg=nodov.imgsigno.getAttribute("src");
232                var p=signoimg.lastIndexOf("/");
233                var pathimg=signoimg.substring(0,p);
234                currentpathimg=pathimg;
235        }
236        var signoimg=nodov.imgsigno.getAttribute("value");
237        var signo=signoimg.split("_")   
238        if(botonraton==1){
239                        if (signo[0]=="mas"  ||         signo[0]=="menos" ) clickNodo(nodov,pathimg);
240        }
241        else{
242                        if (signo[0]=="mas" ) clickNodo(nodov,pathimg);
243        }
244}
245//-----------------------------------------------------------------------------------------------------------------------
246//       Resalta el nodo vista seleccionado y lo pone como nodo vista actual
247//-----------------------------------------------------------------------------------------------------------------------
248function resalta(nodov){
249        if(currentNodo==nodov) return;
250        if (currentNodo){
251                currentNodo.literal.style.color=gLiteralcolor;
252                currentNodo.literal.style.backgroundColor=gLiteralbackground;
253        }
254        gLiteralcolor=nodov.literal.style.color; // Guarda el color del nodo
255        gLiteralbackground=nodov.literal.style.backgroundColor; // Guarda el background del nodo       
256       
257        nodov.literal.style.color="#FFFFFF"; // Blanco
258        nodov.literal.style.backgroundColor="#0a266a"; // Azul marino
259        currentNodo=nodov;
260}
261//-----------------------------------------------------------------------------------------------------------------------
262//       Deja de resaltar un nodo vista
263//____________________________________________________________________________
264function desresalta(nodov){
265        nodov.literal.style.color=nodov.Literalcolor;
266        nodov.literal.style.backgroundColor=nodov.Literalbackground;
267}
268//-----------------------------------------------------------------------------------------------------------------------
269//       Averigua si el primer nodo vista es ancestro del segundo
270//____________________________________________________________________________
271function EsAncestro(nodoA,nodoH){
272        if(nodoH==null) return(false);
273        var NodoAncestro=nodoA.ArbolHijos;
274        var NodoHijo=nodoH.Nodo;
275        while(NodoHijo!=null){
276                if(NodoHijo==NodoAncestro) return(true);
277                NodoHijo=NodoHijo.parentNode;
278        }
279        return(false);
280}
281//-----------------------------------------------------------------------------------------------------------------------
282// Despliega un nivel el nodo indicado
283//-----------------------------------------------------------------------------------------------------------------------
284function despliega(o,pathimg){
285        var nodov=TomaDatosNodo(o);
286        clickNodo(nodov,pathimg);
287}
288//-----------------------------------------------------------------------------------------------------------------------
289// Despliega el nodo indicado ( desde la pagina
290//-----------------------------------------------------------------------------------------------------------------------
291function DespliegaNodo(lit,id){
292        var o=document.getElementById(lit+"-"+id);
293        if(o!=null){
294                var ancestro=   TomaDatosNodo(o);
295                resalta(ancestro);
296                while(ancestro!=null){
297                        if(ancestro.estadoNodo()==0) // Nodo contraido
298                                clickNodo(ancestro,currentpathimg);
299                         ancestro=ancestro.PapaNodo();
300                }
301        }
302}
303//____________________________________________________________________________
304//     
305//      Inserta un nodo en el árbol
306// Especificaciones:
307//              Los parámetros recibidos son:
308//                      - nodov: Nodo vista
309//                      - tablanodo: Tabla nodo generada para la nueva celda vista
310//____________________________________________________________________________
311function InsertaNodo(nodov,tablanodo){
312                var nwceldavista=CreaCeldaVista(nodov,tablanodo);
313                var nwTR = document.createElement('TR');
314                nwTR.id="TRNodo-0";
315                var nwTD = document.createElement('TD');
316                nwTD.innerHTML=nwceldavista;
317                nwTR.appendChild(nwTD);
318
319                if(!nodov.TieneHijos()){
320                        CreaNodoHijo(nodov);
321                        if(parseInt(nodov.nivel)==0){ // Nodo raiz
322                nodov.imgsigno.setAttribute("value","menos_c",null);
323                            nodov.imgsigno.setAttribute("src",currentpathimg+"/menos_root.gif",null);
324                        }
325                        else{
326                                if(nodov.UltimoHermano()){
327                                        nodov.imgsigno.setAttribute("value","menos_c",null);
328                                        nodov.imgsigno.setAttribute("src",currentpathimg+"/menos_c.gif",null);
329                                }
330                                else{
331                                        nodov.imgsigno.setAttribute("value","menos_t",null);
332                                        nodov.imgsigno.setAttribute("src",currentpathimg+"/menos_t.gif",null);
333                                }
334                        }
335                        var ATTonclick='clickImagenSigno(this,' + "'"+currentpathimg+"'"+','+nodov.nivel+');';
336                        nodov.imgsigno.setAttribute("onclick",ATTonclick,null);
337                        nodov.imgsigno.setAttribute("border","0",null);
338                        var oSPAN=nodov.imgsigno.parentNode;
339                        var htmlIMG=oSPAN.innerHTML;
340                        TDpadre=oSPAN.parentNode;
341                        TDpadre.innerHTML='<A href="#">'+htmlIMG+'</A>';       
342                }
343                var pivoteNodo=nodov.ArbolHijos;
344                var nodoTD = pivoteNodo.childNodes[0];;
345                var nodoTABLE=nodoTD.childNodes[0];
346                var nodoTBODY=nodoTABLE.childNodes[0];
347                var nodoTR=nodoTBODY.childNodes[0];
348                if(nodoTR!=null)
349                        nodoTBODY.insertBefore(nwTR,nodoTR);
350                else
351                        nodoTBODY.appendChild(nwTR);
352}
353//____________________________________________________________________________
354//     
355//      Monta y devuelve el código HTML de la estructura de una celda vista
356//              Los parámetros recibidos son:
357//                      - pivoteNodo: Nodo vista
358//                      - tablanodo: Tabla nodo generada para la nueva celda vista
359//____________________________________________________________________________
360function CreaCeldaVista(nodov,tablanodo){               
361                var nodoTD = document.createElement('TD');
362                nodoTD.innerHTML=tablanodo;
363                var nodoTABLE=nodoTD.childNodes[0];
364                var nodoTBODY=nodoTABLE.childNodes[0];
365                var nodoTBODYTR=nodoTBODY.childNodes[0];
366                var oIMG=nodoTBODYTR.getElementsByTagName('IMG')[0];
367                var HTMLinner=nodoTBODYTR.innerHTML;
368               
369                if(nodov.TieneHijos()){
370                        var  patron = new RegExp("nada_c","gi")
371                        HTMLinner=HTMLinner.replace(patron,"nada_t");
372                }               
373                else{
374                        var  patron = new RegExp("nada_t","gi")
375                        HTMLinner=HTMLinner.replace(patron,"nada_c");
376                }
377                var auxnodo=nodov;
378                var nwHTMLinner="";
379                var img="";
380                while(auxnodo!=null){
381                        (auxnodo.UltimoHermano())? img="nada.gif" :  img="nada_l.gif";
382                        nwHTMLinner='<TD width="3px"></TD><TD  width="16px"><IMG src="../images/signos/'+img+'" width="16px" height="16px" ></TD>'+nwHTMLinner;
383                        auxnodo=auxnodo.PapaNodo();
384                }
385                nwHTMLinner='<TABLE  border=0 cellspacing=0 cellpadding=0><TR height="16px">'+nwHTMLinner+HTMLinner+"</TR></TABLE>"; // Contenido de la tabla del nodo literal
386                return(nwHTMLinner);
387}               
388//____________________________________________________________________________
389//     
390//       Crea un nuevo nodo Hijo (objeto TABLE)
391//       Parámetros:
392//                      - nodov: Un nodo vista
393//____________________________________________________________________________
394function CreaNodoHijo(nodov){
395        var nivel=parseInt(nodov.nivel)+1;
396        var nTR=document.createElement('TR');
397        nTR.id="TRNodoHijo-0";
398        var nTD=document.createElement('TD');
399        nTD.innerHTML='<TABLE with="100%"id="tablanivel-'+nivel+'" border="0" cellspacing="0" cellpadding="0"><TBODY></TBODY></TABLE>';
400        nTR.appendChild(nTD);
401       
402        var pivoteNodo=nodov.Nodo.parentNode;
403        if(nodov.UltimoHermano()){
404                pivoteNodo.appendChild(nTR); // Para insertar al final
405                }
406        else{
407                pivoteNodo.insertBefore(nTR,nodov.siguienteHermano)
408        }
409        nodov.ArbolHijos=nTR;   
410}
411//____________________________________________________________________________
412//     
413//      Inserta un nodo en el árbol
414// Especificaciones:
415//              Los parámetros recibidos son:
416//                      - nodov: Nodo vista
417//____________________________________________________________________________
418function EliminaNodo(nodov){
419        var swuh=nodov.UltimoHermano();
420        var pn=nodov.Nodo.parentNode; // Nodo padre
421        var papa=nodov.PapaNodo(); // Nodo vista padre
422
423        if(nodov.TieneHijos())
424                pn.removeChild(nodov.ArbolHijos); // Elimina arbol hijo
425        pn.removeChild(nodov.Nodo);     // Elimina Nodo
426
427        var antHermano=pn.lastChild
428        if(antHermano==null){ // El nodo padre no tiene más hijos
429                        var pn=papa.ArbolHijos.parentNode; // Nodo padre
430                        pn.removeChild(papa.ArbolHijos); // Elimina arbol hijo
431                        ChgSignoPadreEliminaNodo(papa.imgsigno);
432        }
433        else{
434                if(swuh){ // Si era el último hermano ...
435                        var auxsplit=antHermano.getAttribute("id");
436                        var idTR=auxsplit.split("-") [0];
437                        if(idTR=="TRNodoHijo"){
438                                antHermano=antHermano.previousSibling;
439                                while(antHermano.nodeType!=1 )
440                                        antHermano=antHermano.previousSibling
441                                var TAnchor=antHermano.getElementsByTagName('A');
442                                if(TAnchor.length==2) // Imagen de signo pulsable
443                                        var oIMG=TAnchor[0].childNodes[0];
444                        }
445                        else{
446                                var TSpan=antHermano.getElementsByTagName('SPAN');
447                                var oIMG=TSpan[0].childNodes[0];
448                        }       
449                        var nh=TomaDatosNodo(oIMG);
450                        ChgSignoEliminaNodo(oIMG);
451                        if(nh.TieneHijos())
452                                ChgSignoNivel(nh.ArbolHijos,nh.nivel);
453                }
454        }
455}
456//-----------------------------------------------------------------------------------------------------------------------
457//       Cambia la imagen de signo del hermano anterior de un nodo eliminado
458//-----------------------------------------------------------------------------------------------------------------------
459function ChgSignoEliminaNodo(imgsigno){
460        var signoimg=imgsigno.getAttribute("value");
461                switch(signoimg){
462                        case "menos_t" :
463                                imgsigno.setAttribute("value","menos_c",null);
464                                imgsigno.setAttribute("src",currentpathimg+"/menos_c.gif",null);
465                                break;
466                        case "mas_t" :
467                                imgsigno.setAttribute("value","mas_c",null);
468                                imgsigno.setAttribute("src",currentpathimg+"/mas_c.gif",null);
469                                break;
470                        case "nada_t" :
471                imgsigno.setAttribute("value","nada_c",null);
472                                imgsigno.setAttribute("src",currentpathimg+"/nada_c.gif",null);
473                                break;
474                }
475}
476//-----------------------------------------------------------------------------------------------------------------------
477//       Cambia la imagen de signo del nodo padre de un nodo eliminado ( unico hijo)
478//-----------------------------------------------------------------------------------------------------------------------
479function ChgSignoPadreEliminaNodo(imgsigno){
480        var signoimg=imgsigno.getAttribute("value");
481                switch(signoimg){
482                        case "menos_t" :
483                                imgsigno.setAttribute("value","nada_t",null);
484                                imgsigno.setAttribute("src",currentpathimg+"/nada_t.gif",null);
485                                QuitaANCHOR(imgsigno);
486                                break;
487                        case "menos_c" :
488                                imgsigno.setAttribute("value","nada_c",null);
489                                imgsigno.setAttribute("src",currentpathimg+"/nada_c.gif",null);
490                                QuitaANCHOR(imgsigno);
491                                break;
492                        case "mas_t" :
493                                imgsigno.setAttribute("value","nada_t",null);
494                                imgsigno.setAttribute("src",currentpathimg+"/nada_t.gif",null);
495                                QuitaANCHOR(imgsigno);
496                                break;
497                        case "mas_c" :
498                                imgsigno.setAttribute("value","nada_c",null);
499                                imgsigno.setAttribute("src",currentpathimg+"/nada_c.gif",null);
500                                QuitaANCHOR(imgsigno);
501                                break;
502                }
503}
504//-----------------------------------------------------------------------------------------------------------------------
505//       Cambia la imagen de un determinado nivel
506//-----------------------------------------------------------------------------------------------------------------------
507function QuitaANCHOR(oIMG){
508        var TAnchor=oIMG.parentNode;
509        var oHTML=TAnchor.innerHTML;
510        var oTD=TAnchor.parentNode;
511        oTD.innerHTML="<SPAN>"+oHTML+"</SPAN>";
512}
513//-----------------------------------------------------------------------------------------------------------------------
514//       Cambia la imagen de un determinado nivel
515//-----------------------------------------------------------------------------------------------------------------------
516function ChgSignoNivel(arbolv,n){
517        if(arbolv==null) return
518        var nodoTD =arbolv.childNodes[0];
519        var nodoTABLE=nodoTD.childNodes[0];
520        var nodoTBODY=nodoTABLE.childNodes[0];
521        var oTRs=nodoTBODY.childNodes;
522        for(var i=0;i<oTRs.length;i++){
523                var auxsplit=oTRs[i].getAttribute("id");
524                var idTR=auxsplit.split("-") [0];
525                if(idTR=="TRNodoHijo"){
526                        ChgSignoNivel(oTRs[i],n)
527                }
528                else{
529                        var oTABLE=oTRs[i].getElementsByTagName('TABLE');
530                        var oIMGs=oTABLE[0].getElementsByTagName('IMG');
531                        oIMGs[n].setAttribute("src",currentpathimg+"/nada.gif",null);
532                }
533        }
534}
535//____________________________________________________________________________
536//
537//      Se ejecuta cada vez que se mueve el puntero del ratón. Se usa para desmarca
538//      cualquier item de menu contextual que estuviese activo
539//____________________________________________________________________________
540function click_de_raton_prov(e){
541        if(IE){
542                botonraton=event.button
543                event.returnValue=true;
544                return;
545        }
546        if(NS){
547                botonraton=e.which;
548                e.returnValue=true;
549                return;
550        }
551}
552//____________________________________________________________________________
553//
554//      Recupera el navegador utilizado
555//____________________________________________________________________________
556var IE=(navigator.appName=="Microsoft Internet Explorer");
557var NS=(navigator.appName=="Netscape");
558//____________________________________________________________________________
559//
560//      Redirecciona el evento onmousedown a la función de usuario especificada.
561//____________________________________________________________________________
562document.onmousedown = click_de_raton_prov; // Redefine el evento onmousedown
563 if(NS) document.captureEvents(Event.MOUSEDOWN | Event.MOUSEMOVE | Event.MOUSEUP)
564
565
Note: See TracBrowser for help on using the repository browser.