summaryrefslogtreecommitdiffstats
path: root/admin/WebConsole/jscripts/comunes.js
blob: d8111a069722ca5aa865b76b3b00becc467e9603 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
// *************************************************************************************************************************************************
// Libreria de scripts de Javascript
// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla
// Fecha Creación: 2009-2010
// Fecha Última modificación: Marzo-2006
// Nombre del fichero: comunes.js
// Descripción : 
//		Este fichero implementa funciones de uso comn a varios fichechos
// *************************************************************************************************************************************************
var corte_currentNodo;			// Copia del Nodo actual para mover y colocar
var currentTipo=null;				// Tipo de Nodo
//____________________________________________________________________________
//
//	Recupera el navegador utilizado
//____________________________________________________________________________
var IE=(navigator.appName=="Microsoft Internet Explorer");
var NS=(navigator.appName=="Netscape");
//document.body.addEventListener("contextmenu",killClick,true);
//document.oncontextmenu=function(){	return(false);}
//window.oncontextmenu = function () { alert("pepe"); }

//________________________________________________________________________________________________________
//	
//	Inserta un nuevo grupo 
//________________________________________________________________________________________________________
function insertar_grupos(tipo,literaltipo,swi,idu){
	console.log(literaltipo);
	// si tipo = 0 nuevos menús contextuales
	if (literaltipo == LITAMBITO_GRUPOSIMAGENES) {
		var id = $("[id^='menu-groups']").attr('id');
		if (! id.includes("_")) {
			var id = $("[id^='menu-tipes']").attr('id');
		}
		var datos = id.split("_");

		// El tipo de grupo de imagenes son 70, 71 y 72 correspondiendo al tipo de imagen 1, 2 y 3
		var tipo=parseInt(datos[1]) + 69;
		literaltipo=literaltipo+littipo[datos[1]];
		identificador=datos[2];

		ocultar_menu('menu-groups');
	} else {
	    reset_contextual(-1,-1); // Oculta menu contextual
	    var identificador=currentNodo.toma_identificador();
	}
	if(swi!=null && swi==1) identificador=0;
	if(identificador==null) identificador=0;

	if(literaltipo==LITAMBITO_AULAS) // Nuevo grupo de ordenador hijo de un aula
		var wurl="../propiedades/propiedades_grupos.php?opcion="+op_alta+"&grupoid=0"+"&idaula="+identificador+"&tipo="+AMBITO_GRUPOSORDENADORES	+"&literaltipo="+LITAMBITO_GRUPOSORDENADORES;
	else
		if(literaltipo==LITAMBITO_GRUPOSORDENADORES) // Nuevo grupo de ordenador hijo de un grupo  de ordenadores
			var wurl="../propiedades/propiedades_grupos.php?opcion="+op_alta+"&grupoid="+identificador+"&idaula=0"+"&tipo="+AMBITO_GRUPOSORDENADORES	+"&literaltipo="+LITAMBITO_GRUPOSORDENADORES;
		else
			var wurl="../propiedades/propiedades_grupos.php?opcion="+op_alta+"&grupoid="+identificador+"&tipo="+tipo	+"&literaltipo="+literaltipo;
	if(idu!=null && idu==1) wurl+="&iduniversidad="+idu;
	window.open(wurl,"frame_contenidos")
}
//________________________________________________________________________________________________________
//	
//	Devuelve el resultado de insertar un nuevo grupo
// Par�etros:
//			- resul: resultado de la operaci�(true si tuvo �ito)
//			- descrierror: Descripción del error en su caso
//			- nwid: Identificador asignado al nuevo registro
//			- tablanodo: Tabla nodo generada para el nuevo registro (árbol de un s�o un elemento)
//________________________________________________________________________________________________________
function resultado_insertar_grupos(resul,descrierror,nwid,tablanodo){
	reset_contextual(-1,-1); // Oculta menu contextual
	if (!resul){ // Ha habido algn error en la inserci�
		alert(descrierror);
		return
	}
	InsertaNodo(currentNodo,tablanodo);
}
//________________________________________________________________________________________________________
//	
//	Modifica el nombre de un grupo
//________________________________________________________________________________________________________
function modificar_grupos(literaltipo=""){
	if (literaltipo == LITAMBITO_GRUPOSIMAGENES) {
	    var id = $("[id^='menu-groups']").attr('id');
            var datos = id.split("_");

            literaltipo=literaltipo+littipo[datos[1]];
            identificador=datos[2];

            ocultar_menu('menu-groups');
	} else {
	    reset_contextual(-1,-1); // Oculta menu contextual
	    var identificador=currentNodo.toma_identificador();
	    var literaltipo=currentNodo.toma_sufijo();
	}
	wurl="../propiedades/propiedades_grupos.php?opcion="+op_modificacion+"&idgrupo="+identificador+"&literaltipo="+literaltipo;
	window.open(wurl,"frame_contenidos")
}
//________________________________________________________________________________________________________
//	
//	Devuelve el resultado de modificar el nombre de un grupo de aulas
//	Par�etros:
//			- resul: resultado de la operaci� ( true si tuvo �ito)
//			- descrierror: Descripción del error en su caso
//			- lit: Nuevo nombre del grupo
//________________________________________________________________________________________________________
function resultado_modificar_grupos(resul,descrierror,lit){
	if (!resul){
		alert(descrierror);
		return;
	}
	currentNodo.pone_infonodo(lit);
	alert(CTbMsg[2]);
}
//________________________________________________________________________________________________________
//	
//	Elimina un grupo
//________________________________________________________________________________________________________
function eliminar_grupos(literaltipo=""){
	if (literaltipo == LITAMBITO_GRUPOSIMAGENES) {
                var id = $("[id^='menu-groups']").attr('id');
                var datos = id.split("_");

                literaltipo=literaltipo+littipo[datos[1]];
                identificador=datos[2];

		// eliminamos grupo del arbol.
		var elemento=document.getElementById("grupo_"+datos[2]);
		var padre = elemento.parentNode;
		padre.removeChild(elemento);
		console.log("grupo");

                ocultar_menu('menu-groups');
        } else {
	    reset_contextual(-1,-1); // Oculta menu contextual
	    if (currentNodo.TieneHijos()){
		    var resul=window.confirm(CTbMsg[0]);
		    if (!resul)return;
	    }
	    var identificador=currentNodo.toma_identificador();
	    var literaltipo=currentNodo.toma_sufijo();
	}
	wurl="../propiedades/propiedades_grupos.php?opcion="+op_eliminacion+"&idgrupo="+identificador+"&literaltipo="+literaltipo;
	window.open(wurl,"frame_contenidos");
}
//________________________________________________________________________________________________________
//	
//	Devuelve el resultado de eliminar un grupo
//	Par�etros:
//			- resul: resultado de la operaci� ( true si tuvo �ito)
//			- descrierror: Descripción del error en su caso
//			- id: Identificador del registro
//________________________________________________________________________________________________________
function resultado_eliminar_grupos(resul,descrierror,id){
	console.log("comunes");
	console.log("id: "+id);
	if (!resul){
		alert(descrierror);
		return
	}
	console.log(currentNodo);
	var nvp=currentNodo.PapaNodo();
	var ncel=nvp.CeldaVista;
	EliminaNodo(currentNodo); // Elimina el nodo del árbol
	var nwcurrentNodo=TomaDatosNodo(ncel);
	resalta(nwcurrentNodo);
	alert(CTbMsg[3]);
}
//________________________________________________________________________________________________________
//	
//	Muestra el formulario de captura de datos para insertar
//________________________________________________________________________________________________________
function insertar(l,t,w,h,pages,swi,idu){
	reset_contextual(-1,-1); // Oculta menu contextual
	var identificador=currentNodo.toma_identificador();
	var literaltipo=currentNodo.toma_sufijo();
	if(swi!=null && swi==1) identificador=0; // Nodos directos (sin pertenencia a grupo)
	if(identificador==null) identificador=0;

	if(literaltipo==LITAMBITO_AULAS){ // Nuevo grupo de ordenador hijo de un aula
		if(	pages=="../propiedades/propiedades_ordenadores.php")
			var whref="../propiedades/propiedades_ordenadores.php?opcion="+op_alta+"&grupoid=0"+"&idaula="+identificador;
		else
			var whref=pages+"&opcion="+op_alta+"&idambito="+identificador;;
	}
	else{
		if(literaltipo==LITAMBITO_GRUPOSORDENADORES) // Nuevo grupo de ordendor hijo de un grupo  de ordenadores
			var whref="../propiedades/propiedades_ordenadores.php?opcion="+op_alta+"&grupoid="+identificador+"&idaula=0";
		else{
			var auxsplit= pages.split('?'); // La variable pages lleva parametros
			if(auxsplit[1]!=null)
				var whref=pages+"&";
			else
				var whref=pages+"?";
			whref+="opcion="+op_alta+"&grupoid="+identificador;
		}
	}
	if(idu!=null){
		switch(idu){
			case 1:
				whref+="&iduniversidad="+idu;
				break;
			case 2:
				whref+="&identidad="+identificador;

				break;
			case 3:
				whref+="&idambito="+identificador;
				break;
		}
	}
	window.open(whref,"frame_contenidos");
}
//________________________________________________________________________________________________________
//	
//	Devuelve el resultado de insertar datos
//	Par�etros:
//			- resul: resultado de la operaci�(true si tuvo �ito)
//			- descrierror: Descripción del error en su caso
//			- nwid: Identificador asignado al nuevo registro
//			- tablanodo: Tabla nodo generada para el nuevo registro (árbol de un s�o un elemento)
//________________________________________________________________________________________________________
function resultado_insertar(resul,descrierror,nwid,tablanodo){
	if (!resul){
		alert(descrierror);
		return;
	}
	InsertaNodo(currentNodo,tablanodo);
	alert(CTbMsg[4]);
}
//________________________________________________________________________________________________________
//	
//	Muestra el formulario de captura de datos para modificaci�
//________________________________________________________________________________________________________
function modificar(l,t,w,h,pages){
	reset_contextual(-1,-1); // Oculta menu contextual
	var identificador=currentNodo.toma_identificador();
	if (!identificador) identificador=0;
	var whref=pages+"?opcion="+op_modificacion+"&identificador="+identificador;
	window.open(whref,"frame_contenidos");
}
//________________________________________________________________________________________________________
//	
//	Devuelve el resultado de modificar datos 
//	Par�etros:
//			- resul: resultado de la operaci� ( true si tuvo �ito)
//			- descrierror: Descripción del error en su caso
//			- lit: Nuevo nombre del grupo
//________________________________________________________________________________________________________
function resultado_modificar(resul,descrierror,lit){
	if (!resul){
		alert(descrierror);
		return;
	}
	currentNodo.pone_infonodo(lit);
	alert(CTbMsg[5]);
}
//________________________________________________________________________________________________________
//	
//	Muestra el formulario de captura de datos para eliminaci�
//________________________________________________________________________________________________________
function eliminar(l,t,w,h,pages){
	reset_contextual(-1,-1); // Oculta menu contextual
	var identificador=currentNodo.toma_identificador();
	var whref=pages+"?opcion="+op_eliminacion+"&identificador="+identificador;
	window.open(whref,"frame_contenidos");
}
//________________________________________________________________________________________________________
//	
//	Devuelve el resultado de eliminar un grupo
//	Par�etros:
//			- resul: resultado de la operaci� ( true si tuvo �ito)
//			- descrierror: Descripción del error en su caso
//			- id: Identificador del registro
//________________________________________________________________________________________________________
function resultado_eliminar(resul,descrierror,id){
	if (!resul){
		alert(descrierror);
		return
	}
	var nvp=currentNodo.PapaNodo();
	var ncel=nvp.CeldaVista;
	EliminaNodo(currentNodo); // Elimina el nodo del árbol
	var nwcurrentNodo=TomaDatosNodo(ncel);
	resalta(nwcurrentNodo);
	alert(CTbMsg[6]);
}
//________________________________________________________________________________________________________
//	
//		Copia al buffer un nodo para moverlo posteriormente
//________________________________________________________________________________________________________
function mover(tipo){
	var id = $("[id^='menu-images']").attr('id');
        if (id.includes("_")) {
            var datos = id.split("_");
            currentTipo=datos[1];
	    corte_currentNodo=datos[2];
        } else {
	    reset_contextual(-1,-1);
	    corte_currentNodo=currentNodo;
	    currentTipo=tipo
	}
	    console.log("tipo: "+currentTipo);
	    console.log(corte_currentNodo);
}
//________________________________________________________________________________________________________
//	
//	Mueve de sitio un nodo desde un grupo a otro o a la raiz
//________________________________________________________________________________________________________
function colocar(pages,tipo){
	// Tomamo el identificador del grupo y del tipo
	var id = $("[id^='menu-groups']").attr('id');
        if (! id.includes("_")) {
            var id = $("[id^='menu-tipes']").attr('id');
        }
        var datos = id.split("_");

        tipo=parseInt(datos[1]);
        var identificadorgrupo=datos[2];

	if (!corte_currentNodo || tipo!=currentTipo) {
		alert(CTbMsg[7]);
		corte_currentNodo=null;
		currentTipo=null;
		return
	}

	var wurl=pages;
	if (identificadorgrupo) {
	    var identificador=corte_currentNodo;
	    //var prm='{opcion: "'+op_movida+'", grupoid:"'+identificadorgrupo+'", identificador="'+identificador+'}';
	    //$.post(wurl,prm,"retornoColocar","frame_contenidos");
	} else {
	    reset_contextual(-1,-1);
	    var identificadorgrupo=currentNodo.toma_identificador();
	    if (!identificadorgrupo) identificadorgrupo=0;
	    var identificador=corte_currentNodo.toma_identificador();
	    if (!identificador) identificador=0; // Se trata de la raiz
	}
	    var prm="opcion="+op_movida+"&grupoid="+identificadorgrupo+"&identificador="+identificador;
	//    CallPage(wurl,prm,"retornoColocar","POST");
	console.log("url: "+wurl+"?"+prm);
	window.open(wurl+"?"+prm,"frame_contenidos");
}
//______________________________________________________________________________________________________
function retornoColocar(iHTML){
	//alert(iHTML)
	if(iHTML.length>0){
		eval(iHTML)
	}
}
//________________________________________________________________________________________________________
//	
//	Devuelve el resultado de cambiar un nodo de sitio
//	Par�etros:
//			- resul: resultado de la operaci�( true si tuvo �ito)
//			- descrierror: Descripción del error en su caso
//			- id: Identificador del registro
//________________________________________________________________________________________________________
function resultado_mover(resul,descrierror,id){
	if (!resul){
		alert(descrierror);
		return
	}
	var ncel=corte_currentNodo.CeldaVista;
	var celdaHTML=ncel.parentNode.innerHTML; // Recupera celda del nodo
	
	if(IE)
		var  patron = new RegExp("<TD width=16><SPAN><IMG","gi"); 
	else 
		if(NS)
			var  patron = new RegExp("<TD width=\"16px\"><SPAN><IMG","gi"); 

	var p=celdaHTML.search(patron); 
	if(p<0) return; // Ha habido algn problema
	var nwceldaHTML='<TABLE  border="0" cellspacing="0" cellpadding="0"><TBODY><TR height=16><TD width=3></TD>';
	nwceldaHTML+=celdaHTML.substring(p);
	InsertaNodo(currentNodo,nwceldaHTML);
	EliminaNodo(corte_currentNodo); // Elimina el nodo 
	corte_currentNodo=null;
}
//________________________________________________________________________________________________________
//	
//	Esta funci� muestra un menu contextual 
//		Los par�etros recibidos son:
//			- o: Objeto TD literal del nodo
//			- idmnctx: Identificador del DIV que contiene el menu contextual
//________________________________________________________________________________________________________
function menu_contextual(o,idmnctx){
	var menuctx=document.getElementById(idmnctx); // Toma objeto DIV
	if(o!=null)
		clickLiteralNodo(o);
	muestra_contextual(ClickX,ClickY,menuctx) // muestra menu
}
//________________________________________________________________________________________________________
//	
//	Calcula el codigo ambito a partir del literal
//________________________________________________________________________________________________________
function calAmbito(literal)
{
	var ambito;
	switch(literal){
		case LITAMBITO_CENTROS :
			ambito=AMBITO_CENTROS;
			break;
		case LITAMBITO_GRUPOSAULAS :
			ambito=AMBITO_GRUPOSAULAS;
			break;
		case LITAMBITO_AULAS :
			ambito=AMBITO_AULAS;
			break;
		case LITAMBITO_GRUPOSORDENADORES :
			ambito=AMBITO_GRUPOSORDENADORES;
			break;
		case LITAMBITO_ORDENADORES :
			ambito=AMBITO_ORDENADORES;
			break;
	}
	return(ambito);
}
//________________________________________________________________________________________________________
//	
//	Comprueba si un dato es numérico
//________________________________________________________________________________________________________

function IsNumeric(sText)
{
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;

 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
   
}


$(function() {
    // Variable para mover nodo
    var idMove='';
    var typeMove='';

    // Inserta grupo
    // Hay que distingir en grupos de aulas y ordenadores
    $("[id^='insertGroup']").on ('click', function() {
        var id=$(this).parent().attr('id').split("_");
        var url="../propiedades/propiedades_grupos.php?opcion="+op_alta+"&grupoid="+id[2]+"&tipo="+id[1];

        //    console.log("tipo: "+id[1]+" grupoPadre; "+id[2]);
        console.log("id:" +url);
        window.open(url,"frame_contenidos")
    });

    // Inserta nodo
    $("[id^='insertNode']").on ('click', function() {
        // Id menu-node-tipoNodo_tipoNodo_idNodo
        var id=$(this).parent().attr('id').split("_");
        var url=urlProperty(id[1]);

            console.log("tipo: "+id[1]+" nodo; "+id[2]);
        url+="?opcion="+op_alta+"&grupoid="+id[2];
        console.log("id:" +url);
        window.open(url,"frame_contenidos")
            // Usamos la uel del caso por defecto
            /*
                        var auxsplit= pages.split('?'); // La variable pages lleva parametros
                        if(auxsplit[1]!=null)
                                var whref=pages+"&";
                        else
                                var whref=pages+"?";
                        whref+="opcion="+op_alta+"&grupoid="+identificador;
                */

    });

    // Modifica grupo
    $("[id^='modifyGroup']").on ('click', function() {
        // Id menu-node-tipoNodo_tipoNodo_idNodo
        var id=$(this).parent().attr('id').split("_");
        var url="../propiedades/propiedades_grupos.php?opcion="+op_modificacion+"&idgrupo="+id[2];

            console.log("tipo: "+id[1]+" nodo; "+id[2]);
        console.log("id:" +url);
        window.open(url,"frame_contenidos")
    });

    // Modifica nodo
    $("[id^='modifyNode']").on ('click', function() {
        // Id menu-node-tipoNodo_tipoNodo_idNodo
        var id=$(this).parent().attr('id').split("_");
        var url=urlProperty(id[1]);

            console.log("tipo: "+id[1]+" nodo; "+id[2]);
        url+="?opcion="+op_modificacion+"&identificador="+id[2];
        console.log("id:" +url);
        window.open(url,"frame_contenidos")
    });

    // Mueve nodo
    $("[id^='move']").on ('click', function() {
        // Id menu-node-tipoNodo_tipoNodo_idNodo
        var id=$(this).parent().attr('id').split("_");
        idMove=id[2];
        typeMove=id[1];

            console.log("tipo: "+id[1]+" nodo; "+id[2]);
    });

    // Pone nodo en grupo
    $("[id^='put']").on ('click', function() {
        // Id menu-node-tipoNodo_tipoNodo_idNodo
        var id=$(this).parent().attr('id').split("_");
            console.log("tipo: "+id[1]+" nodo; "+id[2]);
            console.log("idMove: "+idMove+" typeMove"+typeMove);
        if (!idMove || id[1]!=typeMove) {
             alert(CTbMsg[7]);
             return
        }

        var url=urlPut(id[1]);
        var param="opcion="+op_movida+"&grupoid="+id[2]+"&identificador="+idMove;
        console.log("url: " +url+"param: "+param);
        CallPage(url,param,"retornoColocar","POST");
    });

    // Elimina grupo
    $("[id^='removeGroup']").on ('click', function() {
        // Id menu-node-tipoNodo_tipoNodo_idNodo
        var id=$(this).parent().attr('id').split("_");
        var url="../propiedades/propiedades_grupos.php?opcion="+op_eliminacion+"&idgrupo="+id[2]+"&tipo="+id[1];

            console.log("tipo: "+id[1]+" nodo; "+id[2]);
        console.log("id:" +url);
        window.open(url,"frame_contenidos")
    });

    // Elimina nodo
    $("[id^='removeNode']").on ('click', function() {
        // Id menu-node-tipoNodo_tipoNodo_idNodo
        var id=$(this).parent().attr('id').split("_");
        var url=urlProperty(id[1]);

            console.log("tipo: "+id[1]+" nodo; "+id[2]);
        url+="?opcion="+op_eliminacion+"&identificador="+id[2];
        console.log("id:" +url);
        window.open(url,"frame_contenidos")
    });

    // Elimina imagen
    $("#rmImage").on ('click', function() {
        // Id menu-node-tipoNodo_tipoNodo_idNodo
        var id=$(this).parent().attr('id').split("_");
        var url="../comandos/EliminarImagenRepositorio.php";

            console.log("tipo: "+id[1]+" nodo; "+id[2]);
        url+="?opcion="+op_modificacion+"&identificador="+id[2];
        console.log("id:" +url);
        window.open(url,"frame_contenidos")
    });

});

// Devuelve la url de las propiedades del nodo según su tipo.
function urlProperty(nodeType) {
    // url según tipo de nodo
    switch(nodeType) {
        case '54':
            // componente de hardware
            var url="../propiedades/propiedades_componentehardwares.php";
            break;
        case '55':
            // componente de software
            var url="../propiedades/propiedades_componentesoftwares.php";
            break;
        case '64':
            // menus
            var url="../propiedades/propiedades_menus.php";
            break;
        case '56':
            // perfil de hardware
            var url="../propiedades/propiedades_perfilhardwares.php";
            break;
        case '57':
            // perfil de software
            var url="../propiedades/propiedades_perfilsoftwares.php";
            break;
        case '51':
            // procedimiento
            var url="../propiedades/propiedades_procedimientos.php";
            break;
        case '65':
            // repositorio
            var url="../propiedades/propiedades_repositorios.php";
            break;
        case '52':
            // tarea
            var url="../propiedades/propiedades_tareas.php";
            break;
        default:
            console.log("case default");
            break;
    }
    return url;
}

// Devuelve la url para poner un nodo en un grupo según su tipo.
function urlPut(nodeType) {
    // url según tipo de nodo
    switch(nodeType) {
        case '54':
            // componente de hardware
            var url="../gestores/gestor_componentehardwares.php";
            break;
        case '55':
            // componente de software
            var url="../gestores/gestor_componentesoftwares.php";
            break;
        case '64':
            // menus
            var url="../gestores/gestor_menus.php";
            break;
        case '56':
            // perfil de hardware
            var url="../gestores/gestor_perfilhardwares.php";
            break;
        case '57':
            // perfil de software
            var url="../gestores/gestor_perfilsoftwares.php";
            break;
        case '51':
            // procedimiento
            var url="../gestores/gestor_procedimientos.php";
            break;
        case '65':
            // repositorio
            var url="../gestores/gestor_repositorios.php";
            break;
        case '52':
            // tarea
            var url="../gestores/gestor_tareas.php";
            break;
        default:
            console.log("case default");
            break;
    }

    return url;
}