summaryrefslogtreecommitdiffstats
path: root/admin/WebConsole/jscripts/accionmenu.js
blob: edb70b5b0f85ae1cd8c00eae451202b4a2703608 (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
// *************************************************************************************************************************************************
// 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: Agosto-2010
// Nombre del fichero: accionmenu.js
// Descripción : 
//		Este fichero implementa las funciones javascript del fichero accionmenu.php
// *************************************************************************************************************************************************
var altas,bajas,modificaciones;
//________________________________________________________________________________________________________ 
// Devuelve el valor seleccionado de un desplegable cualquiera
//________________________________________________________________________________________________________ 
function tomavalorDesple(desplegable)
{
	var idx=desplegable.selectedIndex; // Indice seleccionado en el desplegable
	var val=desplegable.options[idx].value; // Valor seleccionado en el desplegable
	return(val);
}
//________________________________________________________________________________________________________ 
// 
//	Envía la información para dar de alta, baja o modificar items en un menu
//	Parámetros:
//		$op: Indica si esta página se ejecuta desde "acciones" o desde "menus"
//				 1: desde acciones
//				 2: desde menus
//________________________________________________________________________________________________________ 
function confirmar(op)	
{
	var ELEMENT_NODE=1; // Tipo de nodo
	altas=bajas=modificaciones="";
	
	if(op==1){
		var idtipoaccion=document.fdatos.idtipoaccion.value;
		var tipoaccion=document.fdatos.tipoaccion.value;
	}		
	// Indices de campos a recuperar
	var ichk=0; // Checkbox
	var imenu=1; // Nombre del menu
	var itipo=2; // Tipo de item
	var iurlimg=3; // Url de la imagen
	var iitem=4; // Literal del item
	var iorden=5; // Orden de ejecución
	var iidtipoaccion=6; // Identificación de la acción
	var itipoaccion=7; // Identificación del tipo de acción
	
	var trMnu = document.getElementById("TR_menus"); // Recupera la tabla de menu
	trMnu=trMnu.nextSibling; // Primera fila de particiones
	while(trMnu){
		if(trMnu.nodeType==ELEMENT_NODE){
			var ochk=trMnu.childNodes[ichk].childNodes[0];
			var otipo=trMnu.childNodes[itipo].childNodes[0];
			var ourlimg=trMnu.childNodes[iurlimg].childNodes[0];
			var oitem=trMnu.childNodes[iitem].childNodes[0];
			var oorden=trMnu.childNodes[iorden].childNodes[0];
			
			var idmenu=ochk.id; // Identificador del menu
			var std=ochk.value; // Estado original del checkbox 1=seleccionado 0=No seleccionado
			var tipo=tomavalorDesple(otipo);
			var urlimg=tomavalorDesple(ourlimg);
			var item=oitem.value;
			var orden=oorden.value;		

			if(op==2){
				var idtipoaccion=trMnu.childNodes[iidtipoaccion].innerHTML;
				var tipoaccion=trMnu.childNodes[itipoaccion].innerHTML;
			}				
			/* Control de errores */
			if(ochk.checked){
				if(item==""){ // Descripción del item
					alert(TbMsg[0]);
					oitem.focus();
					return(false);
				}
				if(orden=="" || orden<0 || !IsNumeric(orden)){
					alert(TbMsg[1]);
					oorden.focus();
					return(false);
				}
			}
			/* Compone parametros */
			if(ochk.checked){ // El checbox está seleccionado, alta o modificación
				var prm=idmenu+","+idtipoaccion+","+tipoaccion;
				prm+=","+tipo	+","+urlimg+","+item+","+orden;	
				if(std>0) // Originalmente estaba seleccionado, se trata de una modificación
					modificaciones+=prm+";";
				else
					altas+=prm+";";
			}
			else{ // Baja
				if(std>0){ // Si originariamente estaba marcado se trata de una baja
					var prm=idmenu+","+idtipoaccion+","+tipoaccion;
					bajas+=prm+";";
				}
			}
		}	
		trMnu=trMnu.nextSibling; // Primera fila de particiones								
	}		
	
	/* LLamada a la gestión */
	var wurl="../gestores/gestor_accionmenu.php";
	var prm="altas="+altas+"&bajas="+bajas+"&modificaciones="+modificaciones;
	CallPage(wurl,prm,"retornoGestion","POST");
}
//______________________________________________________________________________________________________
function retornoGestion(resul)
{
		if(resul.length>0){
		eval(resul)
	}
}
//________________________________________________________________________________________________________
function resultado_gestion_accionmenu(resul,descrierror){
	if (!resul){ // Ha habido algún error en la inserción
		alert(descrierror);
		return
	}
	alert(TbMsg[3]);
	location.href="../nada.php";
}