// =============== BIBLIOTECA DE UTILIDADES DEL FRAMEWORK-ESB CANAIMA ====================
// Grupo de Funcionalidades:
// 1 - Mostrar y Ocultar Utilidades del Framework Canaima
// 2 - Intercambio Dinámico de Datos vía AJAX
// 3 - Manipulación DOM de las Interfaces de Utilidades del Frmamework

// ==================================================================
// FUNCIONES ACTIVADAS DESDE LA BARRA DE SESION (Utilidades)
// ==================================================================

// Variables de ambito publico para identificar el estilo seleccionado
var grupo_activo = '';
var estilo_activo = '';

function MostrarDialogo(izquierda, arriba, ancho, alto) {
  // 1.- Funcion comun a todas las utilidades, que muestra la capa de Cuadro de Dialogo
  $('dialogo').style.display = 'inline';
	$('dialogo').style.width = ancho;
	$('dialogo').style.height = alto;
	$('dialogo').style.top = arriba;
	$('dialogo').style.left = izquierda;
  // 2.- y la capa de Transparencia
  MostrarCapaTransparencia(0.6);
}

function OcultarDialogo() {
  // 1.- Funcion comun a todas las utilidades, que oculta la capa de Cuadro de Dialogo
  $('dialogo').style.display = 'none';
  // 2.- y la capa de Transparencia
  OcultarCapaTransparencia();
}

function MostrarGaleria() {
  // 1.- Muestra la capa de transparencia
  // MostrarCapaTransparencia(0);
  // 2.- Muestra el formulario Cambiar Galeria de Estilos en la Capa Cuadro de Dialogo
  var url = './utilidades/galeria/galeria.php?grupo=' + grupo_activo + '&estilo=' + estilo_activo;
  ObtenerDatos('dialogo', url);
  /*
  var tit = 'Galeria';  
  $(dialogo).height=400;
	$(dialogo).width=400;
	$(dialogo).left=300;
	$(dialogo).top=100;  
	*/
  // 3.- Muestra la capa de Cuadro de Dialogo
  // $('dialogo').style.display = 'inline';
	MostrarDialogo('30%', '28%', '58%', '60%');
}

function CambiarEstilo(grupo, estilo) { 
   var rutaEstilo = './css/' + grupo + '/' + estilo + '/' + estilo + '.css';
  if (navigator.userAgent.indexOf("MSIE") > -1) {
    // Si el navegador es Internet Explorer
    document.styleSheets[0].href = rutaEstilo;
  } else {
    //Si el navegador es otro (Firefox, Mozilla)
    var oHead = document.documentElement.childNodes[0];
    var sHead = rutaEstilo;
    // var sHead = './css/mz_' + estilo + '.css';
    // alert(sHead);
		// alert(navigator.userAgent);
		if (navigator.userAgent.indexOf("Firefox/3") > -1) {
			oLinkCSS = oHead.childNodes.item(6);
		} else {
			oLinkCSS = oHead.childNodes.item(4);	
		}
    // alert(oLinkCSS.getAttribute('HREF'));
    oLinkCSS.setAttribute('HREF', sHead);
    // alert(oLinkCSS.getAttribute('HREF'));
  }
  // Finalmente reemplaza el contenido del DIV Sesion para cambiar
  // los iconos GIF que correspondan a la galeria seleccionada
  var url = './utilidades/galeria/cambiar_gifs_sesion.php';
  url += '?grupo=' + grupo + '&estilo=' + estilo;
  ObtenerDatos('sesion', url);
  // Establece las variables de grupo y estilos activos
  grupo_activo = grupo;
  estilo_activo = estilo;
}

function MostrarEstilosDelGrupo(grupo) {
  //alert('El grupo seleccionado es: ' + grupo);
  // Reemplaza el contenido del DIV TablaEstilos para cambiar
  // las imagens JPG que corresponden a los estilos del grupo seleccionado
  var url = './utilidades/galeria/mostrar_estilos_grupo.php';
  url += '?grupo=' + grupo + '&estilo=' + estilo_activo;
  ObtenerDatos('tablaestilos', url);
}

function EnviarComentarios() {
  // 1.- Muestra la capa de transparencia
  MostrarCapaTransparencia(0.6);
  // 2.- Muestra el formulario Enviar Comentarios en la Capa Cuadro de Dialogo
  var url = './utilidades/comentarios/comentarios.php';
  ObtenerDatos('dialogo', url);
  /*
  var tit = 'Galeria';  
  $(dialogo).height=400;
  $(dialogo).width=400;
  $(dialogo).left=300;
  $(dialogo).top=100;  
  */
  // 3.- Muestra la capa de Cuadro de Dialogo
  $('dialogo').style.display = 'inline';
}

function ConfigurarSesion() {
  // 1.- Muestra la capa de transparencia
  MostrarCapaTransparencia(0.6);
  // 2.- Muestra el formulario Configurar Sesion en la Capa Cuadro de Dialogo
  var url = 'utilidades/configuracion/configuracion.php';
  ObtenerDatos('dialogo', url);
  /*
  var tit = 'Galeria';
  $(dialogo).height=400;
  $(dialogo).width=400;
  $(dialogo).left=300;
  $(dialogo).top=100;
  */
  // 3.- Muestra la capa de Cuadro de Dialogo
  $('dialogo').style.display = 'inline';
}

function AyudaEnLinea() {
  // 1.- Muestra la capa de transparencia
  MostrarCapaTransparencia(0.6);  
  // 2.- Muestra el formulario Ver Ayuda en la Capa Cuadro de Dialogo
  var url = 'utilidades/ayuda/ayuda.php';
  ObtenerDatos('dialogo', url);
  /*
  var tit = 'Galeria';  
  $(dialogo).height=400;
  $(dialogo).width=400;
  $(dialogo).left=300;
  $(dialogo).top=100;  
  */
  // 3.- Muestra la capa de Cuadro de Dialogo
  $('dialogo').style.display = 'inline';
}

function CerrarSesion() {
  // 1.- Muestra la capa de transparencia
  MostrarCapaTransparencia(0.6);
  // 2.- Muestra el formulario Cerrar Sesion sobre la capa de Transparencia
  var resp = confirm('¿Confirma cierre de la sesión actual?');
  if (resp == true) {
    // Reestablece la localización del ERP en la ventana actual
    location.replace('./index.php');
    // Reinicializa todas las variables
  }
  // 3.- Finalmente vuelve a ocultar la capa de Transparencia
  OcultarCapaTransparencia();
}

// ==================================================================
// FUNCIONES ACTIVADAS DESDE LA BARRA DE HERRAMIENTAS (Utilidades)
// ==================================================================

function pliegue(seccion) {
  var panel = document.getElementById(seccion);
  // Si el panel es visible lo oculta y viceversa
  if (panel.style.display == 'inline') {
    $(seccion).style.display = 'none';
    var img_persiana = 'img_' + seccion;
    $(img_persiana).src = './img/iconos/panel_colapsado.gif';
  } else {
    $(seccion).style.display = 'inline';
    var img_persiana = 'img_' + seccion;
    $(img_persiana).src = './img/iconos/panel_expandido.gif';
  }
}

function Buscador() {
  var url = './utilidades/buscador/buscador.php';
  var tit = 'Buscador';
  var ca1 = 'height=400,width=400,left=300,top=100,';
  var ca2 = 'alwaysRaised=yes,dependet=yes,scrollbars=yes';
  var car = ca1 + ca2;
  var bus = open(url, tit, car);
}

function Calendario() {
  var url = './utilidades/calendario/calendario.php';
  var tit = 'Calendario';
  var ca1 = 'height=400,width=400,left=300,top=100,';
  var ca2 = 'alwaysRaised=yes,dependet=yes,scrollbars=yes';
  var car = ca1 + ca2;
  var bus = open(url, tit, car);
}

function Calculadora() {
  var url = './utilidades/calculadora/calculadora.php';
  var tit = 'Calculadora';
  var ca1 = 'height=400,width=400,left=300,top=100,';
  var ca2 = 'alwaysRaised=yes,dependet=yes,scrollbars=yes';
  var car = ca1 + ca2;
  var bus = open(url, tit, car);
}

function Buscadorproductos() {
      var url = './modulos/archivos/listarproductos.php';
      var tit = 'NuevaVentana';
      var ca1 = 'height=400,width=400,left=300,top=100,';
      var ca2 = 'alwaysRaised=yes,dependet=yes,scrollbars=yes';
      var car = ca1 + ca2;
      var bus = open(url, tit, car);
    }

// ==================================================================
// FUNCIONES ACTIVADAS DESDE EL AREA DE TRABAJO (Operaciones)
// ==================================================================

function BuscarPor() {
  alert('Busqueda de datos');
}

function fichero(idficha) {
  //alert('Se activara la ' + ficha + ' en el area de operaciones');

  var ficha = document.getElementById(idficha);
  if (ficha.style.display == 'inline') {
    document.getElementById(idficha).style.display = 'none';
  } else {
    document.getElementById(idficha).style.display = 'inline';
    //document.getElementById(persiana).style.height = '200px';
  }

}


// ########################### UTILIDADES DE VISUALIZACION DE CAPAS ###########################

function MostrarCapaTransparencia(opacidad) {
  // $('transparencia').setStyle({'z-index': 2});
	$('transparencia').setStyle({'display': 'inline'});
  $('transparencia').setStyle({'opacity': opacidad});
}

function OcultarCapaTransparencia() {
  // $('transparencia').setStyle({'z-index': -1});
	$('transparencia').setStyle({'display': 'none'});
  $('transparencia').setStyle({'opacity': 0});
}

//Funcion para MOver el DIV
function doLoad() {
 var oDraggable = new zDraggable(document.getElementById("Trans"), zDraggable.DRAG_X | zDraggable.DRAG_Y);
 var oDropTarget = new zDropTarget(document.getElementById("menu"));
                oDraggable.addDropTarget(oDropTarget);
                oDropTarget.addEventListener("drop", function (oEvent) { 
                    oEvent.relatedTarget.moveTo(oDropTarget.getLeft(), oDropTarget.getTop());
                });
}

  // Recupera el nodo raiz (documento) referenciandolo desde el nodo sesion
  //var sesion = $('sesion');
  //webapp = sesion.parentNode;
  // Crea la capa Transparencia
  //var transp = CrearCapa(webapp, 'transparencia', 'transparencia');

function CrearCapa(padre, id, clase, alto, ancho, Cx, Cy, fondo, indiceZ) {
  // Manipulacion de DOM - Creacion de nuevos nodos
  var capa = document.createElement("div");
  capa.setAttribute("id", id);
  capa.setAttribute("class", clase);

  var titulo = document.createElement("div");
  var id_tit = id + '_tit';
  titulo.setAttribute("id", id_tit);
  titulo.setAttribute("class", "capa_titulo");

  var cerrar = document.createElement("div");
  var id_cer = id + '_cer';
  cerrar.setAttribute("id", id_cer);
  cerrar.setAttribute("class", "capa_cerrar");

  var area = document.createElement("div");
  var id_are = id + '_are';
  area.setAttribute("id", id);
  area.setAttribute("class", clase);

  capa.appendChild(titulo);
  capa.appendChild(cerrar);
  padre.appendChild(capa);

  $(capa).setStyle({'position': 'absolute'});
  if (alto != null) {$(capa).setStyle({'height': alto});}
  if (ancho != null) {$(capa).setStyle({'width': ancho});}
  if (Cx != null) {$(capa).setStyle({'left': Cx});}
  if (Cy != null) {$(capa).setStyle({'top': Cy});}
  if (fondo != null) {$(capa).setStyle({'background-color': fondo});}
  if (indiceZ != null) {$(capa).setStyle({'z-index': indiceZ});}

  $(titulo).setStyle({'position': 'absolute'});
  if (alto != null) {$(titulo).setStyle({'height': '16px'});}
  if (ancho != null) {$(titulo).setStyle({'width': ancho});}
  if (Cx != null) {$(titulo).setStyle({'left': '0px'});}
  if (Cy != null) {$(titulo).setStyle({'top': '0px'});}
  if (fondo != null) {$(titulo).setStyle({'background-color': 'blue'});}
  if (indiceZ != null) {$(titulo).setStyle({'z-index': indiceZ});}

  $(cerrar).setStyle({'position': 'absolute'});
  if (alto != null) {$(cerrar).setStyle({'height': '16px'});}
  if (ancho != null) {$(cerrar).setStyle({'width': '16px'});}
  if (Cx != null) {$(cerrar).setStyle({'right': '0px !important'});}
  if (Cy != null) {$(cerrar).setStyle({'top': '0px'});}
  if (fondo != null) {$(cerrar).setStyle({'background-color': 'red'});}
  if (indiceZ != null) {$(cerrar).setStyle({'z-index': indiceZ});}

  return capa;
}

function EliminarCapa(padre, id) {
  // Manipulacion de DOM - Eliminacion de nodos
  var capa = $(id);
  padre.removeChild(capa);
}

// #######################################################################################

/*
parent.appendChild(child);
parent.insertBefore(child, referenceChild);
parent.replaceChild(newChild, oldChild);
parent.removeChild(child);
*/

function prueba_1() {
 	// Manipulacion de DOM - Obtencion de atributos
	var menu = $('mnuPRO');
	var nombre = menu.getAttribute('label');
	alert(nombre);
}

function prueba_2() {
	// Manipulacion de DOM - Iteracion de nodos
	var rama = $('equipo');
	var hijos = rama.childNodes;
	alert('La rama equipo tiene ' + hijos.length + ' nodos');	
	for (var i = 0; i < hijos.length; i++) {
	  // do something with child
	  var hijo = hijos[i];  
	  var texto = hijo.getAttribute('id');
		alert(texto);
	}
}

function prueba_3() {
	// Manipulacion de DOM - Reemplazo de nodos
	var cId = $('X').value;
	var cNo = $('Y').value;
		
	var celdaVieja = $('cFS');
	celdaPadre = celdaVieja.parentNode;
  var celdaNueva = document.createElement("treecell");
  celdaNueva.setAttribute("id",cId);
  celdaNueva.setAttribute("label",cNo);  
  celdaPadre.replaceChild(celdaNueva, celdaVieja);	
}

function prueba_4() {
	// Manipulacion de DOM - Creacion de nuevos nodos
	var cId = $('Alto').value;
	var cNo = $('Ancho').value;	
	
  // var rama = $('ficha');
  var hijo = $('ficha');  
  // var hijo = document.createElement("treechildren");
  var elem = document.createElement("treeitem");
  var fila = document.createElement("treerow");  
  var celda = document.createElement("treecell");
  celda.setAttribute("id",cId);
  celda.setAttribute("label",cNo);
  fila.appendChild(celda);
  elem.appendChild(fila);
  hijo.appendChild(elem);  
  // rama.appendChild(hijo);
}

function prueba_5() {
	// Manipulacion de DOM - Eliminacion de nodos
	var cBorrar = $('X').value;
	var celda = $(cBorrar);
	fila = celda.parentNode;
	elem = fila.parentNode;
	hijo = elem.parentNode;
  hijo.removeChild(elem);
}

