//------------------------------------------------------------------------------------------------
//Descripciï¿½n: limpia el formulario de ingreso de categorias
//Entrada: N/A
//Salida: N/A
//------------------------------------------------------------------------------------------------

function limpiarCateg()
{
	xGetElementById('txtCategoria').value="";
	xGetElementById('txtDescripcion').value="";
	xGetElementById('hdnCodCateg').value="";
	xGetElementById('registrosCategorias').value ="";
    xDisplay('registrosCategoriasM','none');
	var tablaCategoria = xGetElementById('cuerpomostrarCategoria');
	mD.limpiaTexto(tablaCategoria);
	var fila = mD.insertarFila(tablaCategoria, -1, {});
    mD.insertarCelda(fila, -1, {'class':'tablaContenido','colspan':'2','align': 'center'}, 'Categorías Creadas');	
	xGetElementById('txtCategoria').focus();
}


//------------------------------------------------------------------------------------------------
//Descripciï¿½n: Ubica una determinada categorï¿½a
//Entrada: N/A
//Salida: Vector con los datos correspondiente a las categorï¿½as de los afiliados
//------------------------------------------------------------------------------------------------
function buscarCategoriaEspecifica(nombreCategoria)
{
    AjaxRequest.post
    ({
		'parameters':
        { 
            'accion':"buscarCategoria", 'nombreCategoria':nombreCategoria 
        },
        'onSuccess':mostrarTodasCategorias,
        'url':'trans/mConsultasCategoria.php',
        'onError':function(req)
        {
        	alert('Error!\nStatusText='+req.statusText+'\nContents='+req.responseText);
        }
    }); 
}


//------------------------------------------------------------------------------------------------
//Descripciï¿½n: Funciï¿½n que permite mostrar todas las categorï¿½as creadas
//Entrada: Vector con los datos correspondientes a las categorï¿½as de los afiliados 
//Salida: Tabla con los resultados de todas las categorï¿½as existentes de los afiliados
//------------------------------------------------------------------------------------------------
function mostrarTodasCategorias(req)
{
    var respuesta = req.responseText;
    var resultado = eval("(" + respuesta + ")");
   	var tablaCategoria = xGetElementById('cuerpomostrarCategoria');  
	mD.limpiaTexto(tablaCategoria);
	if (resultado)
	{   
   		var n=resultado.length;
	    for (var i=0; i<n; i++)	
	    {	
			var fila = mD.insertarFila(tablaCategoria, -1, {'style':'cursor:pointer','onclick':"capturarCategoria(\""+resultado[i]['tx_categoria']+"\",\""+resultado[i]['tx_descripcion']+"\",\""+resultado[i]['co_categoria']+"\");"});
			mD.insertarCelda(fila, -1, {'width':'670px'}, resultado[i]['tx_categoria']);
			mD.insertarCelda(fila, -1, {'width':'230px'}, resultado[i]['tx_descripcion']);
	    }  
        xDisplay('registrosCategoriasM','block');
        xGetElementById('registrosCategorias').value = n;
	}
	else
    {
		var fila = mD.insertarFila(tablaCategoria, -1, {});
		mD.insertarCelda(fila, -1, {'class':'tablaContenido','colspan':'2','align': 'center'}, 'Categoría no registrada');
    }
}

//------------------------------------------------------------------------------------------------
//Descripciï¿½n: Permite obtener el valor de una categorï¿½
//Entrada: Recibe el nombre de la categorï¿½a, el tipo al cual pertenece (principal o no) y el cï¿½digo correspondiente
//Salida: 1 para el caso de que la categorï¿½a corresponda a un activo principal y 0 en caso contrario
//------------------------------------------------------------------------------------------------
function capturarCategoria(nombre, descripcion, coCategoria)
{
	xGetElementById('txtCategoria').value = nombre;
	xGetElementById('hdnCodCateg').value = coCategoria;  
	xGetElementById('txtDescripcion').value = descripcion;
}


//------------------------------------------------------------------------------------------------
//Descripciï¿½n: Realiza la bï¿½squeda de una categorï¿½a 
//Entrada: N/A
//Salida: Vector con los datos asociados a las categorï¿½as buscadas
//------------------------------------------------------------------------------------------------
function buscarCategoriaPrimero()
{
	/*if(validarCategoria())
	{*/
	    var coCategoria = xGetElementById('hdnCodCateg').value;
	    AjaxRequest.post
	    ({
			'parameters':
	        { 
	            'accion':"buscarCategoriasPrevia", 'coCategoria':coCategoria 
	        },
	        'onSuccess':mostrarBusquedaCategoria,
	        'url':'trans/mConsultasCategoria.php',
	        'onError':function(req)
	        {
	        	alert('Error!\nStatusText='+req.statusText+'\nContents='+req.responseText);
	        }
	    }); 
	//}
}

//------------------------------------------------------------------------------------------------
//Descripciï¿½n: Permite mostrar el resultado de la bï¿½squeda de la categorï¿½a
//Entrada: Vector con los datos asociados a la categorï¿½a ubicada
//Salida: Mensaje de confirmaciï¿½n para proceder o no a la modificaciï¿½n de la categorï¿½a
//------------------------------------------------------------------------------------------------
function mostrarBusquedaCategoria(req)
{
    var respuesta = req.responseText;           
    var resultado = eval("(" + respuesta + ")");
    if(resultado!=null)
    {
        var confirma = confirm ("¿Desea modificar la categoría?");
        if(confirma)
        {
            modificarCategoria();
        }
        else
        {
            xGetElementById('txtCategoria').value="";
            xGetElementById('txtDescripcion').value="";
            xGetElementById('txtCategoria').focus();
        }
    }
    else
    {   
           guardarCategoria();
    }
}

//------------------------------------------------------------------------------------------------
//Descripciï¿½n: Funciï¿½n que permite cambiar los datos de una categorï¿½a
//Entrada:N/A
//Salida: Vector con los datos asociados a la categorï¿½a a modificar
//------------------------------------------------------------------------------------------------
function modificarCategoria()
{
    var categoria = xGetElementById('txtCategoria').value;
    var coCategoria = xGetElementById('hdnCodCateg').value;
    var descripcion = xGetElementById('txtDescripcion').value;
    AjaxRequest.post
    ({
		'parameters':
        { 
            'accion':"modificarCategoria", 'categoria':categoria, 'descripcion':descripcion,'coCategoria':coCategoria 
        },
        'onSuccess':mostrarModificacionCategoria,
        'url':'trans/mConsultasCategoria.php',
        'onError':function(req)
        {
        	alert('Error!\nStatusText='+req.statusText+'\nContents='+req.responseText);
        }
    }); 
}

//------------------------------------------------------------------------------------------------
//Descripciï¿½n: Funciï¿½n que permite mostrar lo exitoso o no de la modificaciï¿½n realizada a una categorï¿½a
//Entrada: Respuesta del servidor en relaciï¿½n con los datos asociados a la categorï¿½a a modificar
//Salida: Mensaje de notificaciï¿½n de que la operaciï¿½n se haya realizado con ï¿½xito o error en la modificaciï¿½n de la categorï¿½a 
//------------------------------------------------------------------------------------------------
function mostrarModificacionCategoria(req)
{
	var respuesta = req.responseText;           
	var resultado = eval("(" + respuesta + ")");
    if(resultado)
    {
        alert("La operación de modificación fue realizada con éxito");
		xGetElementById('hdnCodCateg').value="";
		xGetElementById('txtCategoria').value="";
		xGetElementById('txtDescripcion').value="";
		buscarTodasCateg();
    }
    else
    {
        alert("Error al modificar la categoría");
    }
}


//------------------------------------------------------------------------------------------------
//Descripciï¿½n: Funciï¿½n que permite guardar categorï¿½as
//Entrada: N/A
//Salida: Vector con los datos correspondientes a la categorï¿½a del activo 
//------------------------------------------------------------------------------------------------
function guardarCategoria()
{
    var nombreCategoria = xGetElementById('txtCategoria').value;
    var descripcion = xGetElementById('txtDescripcion').value;
    AjaxRequest.post
    ({
		'parameters':{ 'accion':"buscarExistenciaCategoria", 'nombreCategoria':nombreCategoria },
        'onSuccess':function(req)
        {
            var respuesta = req.responseText;       
            var resultado = eval("(" + respuesta + ")");
            if(resultado>0)
            {
                alert ("La categoría a ingresar ya se encuentra registrada"); 
                xGetElementById('txtCategoria').value="";
				xGetElementById('txtDescripcion').value="";
                xGetElementById('txtCategoria').focus();              
            }
            else
            {
                AjaxRequest.post
                ({
            		'parameters':
                    { 
                        'accion':"guardarCategoria", 'nombreCategoria':nombreCategoria, 'descripcion':descripcion 
                    },
                    'onSuccess':mostrarCategoriaGuardada,
                    'url':'trans/mConsultasCategoria.php',
                    'onError':function(req)
                    {
                    	alert('Error!\nStatusText='+req.statusText+'\nContents='+req.responseText);
                    }
                });
            }
        },
        'url':'trans/mConsultasCategoria.php',
        'onError':function(req)
        {
        	alert('Error!\nStatusText='+req.statusText+'\nContents='+req.responseText);
        }        
    }); 
}

//------------------------------------------------------------------------------------------------
//Descripciï¿½n: Funciï¿½n que permite verificar si una categorï¿½a fue guardada
//Entrada: Vector con los datos correspondientes a la categorï¿½a del activo o componente
//Salida: N/A
//------------------------------------------------------------------------------------------------
function mostrarCategoriaGuardada(req)
{
	var respuesta = req.responseText;
	var resultado = eval("(" + respuesta + ")");
	if(resultado)
	{
		alert("La nueva categoría "+xGetElementById('txtCategoria').value+" fue almacenada con éxito.");
		xGetElementById('txtCategoria').value="";
		xGetElementById('txtDescripcion').value="";
		buscarTodasCateg();
	}
	else
	{
		alert("Error al guardar la categoría");
	}
}

//------------------------------------------------------------------------------------------------
//Descripciï¿½n: Funciï¿½n que permite buscar todas las categorias
//Entrada: N/A
//Salida: arreglo de resultados
//------------------------------------------------------------------------------------------------
function buscarTodasCateg()
{
    AjaxRequest.post
    ({
		'parameters':
        { 
            'accion':"buscarTodasCateg" 
        },
        'onSuccess':mostrarTodasCategorias,
        'url':'trans/mConsultasCategoria.php',
        'onError':function(req)
        {
        	alert('Error!\nStatusText='+req.statusText+'\nContents='+req.responseText);
        }
    }); 	
}

//------------------------------------------------------------------------------------------------
//Descripciï¿½n: Permite borrar una categorï¿½a en particular
//Entrada: N/A
//Salida: Vector asociado a los datos de la categorï¿½a que se pretende eliminar 
//------------------------------------------------------------------------------------------------
function eliminarCategoria()
{
    var coCategoria = xGetElementById('hdnCodCateg').value;
    if(coCategoria!="")
	{       
        var confirma = confirm ("¿Desea eliminar la categoría "+xGetElementById('txtCategoria').value+"?");
        if(confirma)
		{
            AjaxRequest.post
            ({
				'parameters':
                { 
                    'accion':"eliminarCategoria", 'coCategoria':coCategoria 
                },
                'onSuccess':mostrarCategoriaEliminada,
                'url':'trans/mConsultasCategoria.php',
                'onError':function(req)
                {
                	alert('Error!\nStatusText='+req.statusText+'\nContents='+req.responseText);
                }
            });
        }
        else
        {
            xGetElementById('txtCategoria').value="";
            xGetElementById('txtDescripcion').value="";
			xGetElementById('txtCategoria').focus();
        }
    }
	else
	{
        alert("Elija una categoría a eliminar");
    }
}

//------------------------------------------------------------------------------------------------
//Descripciï¿½n: Funciï¿½n que permite mostrar lo exitoso o no de la operaciï¿½n de eliminaciï¿½n de una categorï¿½a
//Entrada: Respuesta del servidor en relaciï¿½n a los datos de la categorï¿½a que se pretende eliminar 
//Salida: Mensaje de notificaciï¿½n en relaciï¿½n a la eliminaciï¿½n o no de la categorï¿½a
//------------------------------------------------------------------------------------------------
function mostrarCategoriaEliminada(req)
{
	var respuesta = req.responseText;           
	var resultado = eval("(" + respuesta + ")");
    if(resultado)
    {
        alert("Categoría borrada con éxito");
        xGetElementById('txtCategoria').value="";
        xGetElementById('txtDescripcion').value="";
        xGetElementById('hdnCodCateg').value="";
		xGetElementById('txtCategoria').focus();
        buscarTodasCateg();
    }
    else
    {
        alert("Error al borrar la categoría."+"\nVerifique dependencias de afiliado(s).");
    }
}

function buscarCategMenu()
{
    AjaxRequest.post
    ({
		'parameters':
        { 
            'accion':"buscarCategAfiliado" 
        },
        'onSuccess':armarMenuCateg,
        'url':'trans/mConsultasCategoria.php',
        'onError':function(req)
        {
        	alert('Error!\nStatusText='+req.statusText+'\nContents='+req.responseText);
        }
    }); 	
}

function armarMenuCateg(req)
{
	var respuesta = req.responseText;           
	var resultado = eval("(" + respuesta + ")");
	var menu  = xGetElementById('menuAfiliados');
	mD.limpiaTexto(menu);
	for(var i=0;i<resultado.length;i++)
	{
		var lista = mD.agregaNodoElemento('li', 'categ'+i, 'categ'+i,{"style":"cursor:pointer"});
		lista.style.cursor='pointer';
		mD.agregaHijo(menu,lista);
		var elemento = mD.agregaNodoElemento('a', 'elemento'+i, 'elemento'+i,{"title":resultado[i]['tx_descripcion']});
		mD.agregaHijo(lista,elemento);
	    mD.agregaNodoTexto(elemento,resultado[i]['tx_categoria']);
		mD.anexaEvento (elemento, 'click',llamarPagAfiliado, [resultado[i]['co_categoria'],resultado[i]['tx_categoria']]);
	}
}


//------------------------------------------------------------------------------------------------
//Descripciï¿½n: Valida que los campos de la categoria esten completos
//Entrada: N/A
//Salida: Retorna TRUE en el caso de que los campos hayan sido completados y FALSE cuando al menos uno de los campos no contenga informaciï¿½n
//------------------------------------------------------------------------------------------------
function validarCategoria()
{
    var id_campo = new Array("txtCategoria", "txtDescripcion");
    var respuesta = new Array("Nombre de la Categoría", "Descripción de la Categoría");
    var error = "";
    var seleccionado = 0;
    for (var i=0; i<id_campo.length; i++)
    {
        var obj= xGetElementById(id_campo[i]);
        if(obj)
        {
            switch(obj.type)
			{
                case "text":
                case "textarea":
                case "select-one":
                case "hidden":
                    if(vacio(obj.value))
					{
                    	error = error+"- "+respuesta[i]+"\n";
                    }
                    break;
                default:
                }
                //para objetos indefinidos
        }
    }
    if (error!="")
	{
        alert("Error de validación, complete los siguientes campos: \n"+error);
        return false;
    }
    return true;
}

function llamarPagAfiliado(codCategoria,nomCategoria)
{
	var divv = xGetElementById('contentPag');
	xDisplay('contentPag','block');
	xDisplay('noticiaCam','none');
	xDisplay('notiUniversal','none');
	xDisplay('indicadores','none');
	divv.innerHTML ="<br/><div align='center'><table width='60px' align='center' border='0' cellspacing='0' cellpadding='0'><tr>   <td></td><td></td><td><img src='img/loadCC.gif' width='24' height='24' /></td></tr></table></div><div align='center'><span style='color:#999999;  font-family: Arial, Helvetica, sans-serif; font-size: 12px;' >Cargando.. </span></div><br/>";
	AjaxRequest.post({
			'parameters': {},
			'onSuccess': function(req){
				//mD.limpiaTexto(divv);
				divv.innerHTML = req.responseText;
				listarAfiliados(codCategoria,nomCategoria);
			},
			'url': 'include/listadoAfiliados.php',
			'onError': function(req){
				alert('Error!\nStatusText=' + req.statusText + '\nContents=' + req.responseText);
			}
		});
}

function listarAfiliados(codCategoria,nomCategoria)

{
	
	AjaxRequest.post({
			'parameters': {'accion':'consultarAfiliadosCategoria', 'categoria':codCategoria},
			'onSuccess': function(req){
				var tabla = xGetElementById('tb_afiliados');
				
					//xDisplay('loading','block');
					
				mD.limpiaTexto(tabla);
				var respuesta = req.responseText;
			    var resultado = eval("(" + respuesta + ")");
				if (resultado)
				{   
					var fila = mD.insertarFila(tabla, -1, {'align':'left'});
					var celda = mD.insertarCelda(fila, -1, {'class':'subTitulosPaginas','align':'left'},nomCategoria+": ");
					var fila = mD.insertarFila(tabla, -1, {});
					var celda = mD.insertarCelda(fila, -1, {},"\u00a0");
			   		var n=resultado.length;
				    for (var i=0; i<n; i++)	
				    {	
						var fila = mD.insertarFila(tabla, -1, {'align':'left'})
						var celda = mD.insertarCelda(fila, -1, {'align':'left','class':'txtAfiliados'});//alert(celda.className);
						var elemento = mD.agregaNodoElemento('a', '', '',{'class':'txtAfiliados',"href":"include/detalleAfiliado.php?codAfiliado="+resultado[i]['co_afiliado']+"&iframe=true&amp;width=600&amp;height=300","rel":"prettyPhoto[iframes]"});
						mD.agregaHijo(celda,elemento);
						mD.agregaNodoTexto(elemento,resultado[i]['tx_afiliado']);
				    }
					
					
					$(document).ready(function(){
					$("a[rel^='prettyPhoto']").prettyPhoto({
						animationSpeed: 'normal', /* fast/slow/normal */
						padding: 40, /* padding for each side of the picture */
						opacity: 0.35, /* Value betwee 0 and 1 */
						showTitle: true, /* true/false */
						allowresize: true, /* true/false */
						counter_separator_label: '/', /* The separator for the gallery counter 1 "of" 2 */
						theme: 'light_rounded', /* light_rounded / dark_rounded / light_square / dark_square */
						callback: function(){}
					});
					});
				}			
			},
			'url': 'trans/mConsultasAfiliado.php',
			'onError': function(req){
				alert('Error!\nStatusText=' + req.statusText + '\nContents=' + req.responseText);
			}
		});
}

function mostrarDetalleAfiliado(codAfiliado)
{
	AjaxRequest.post({
			'parameters': {'accion':'consultarAfiliadosCodigos','codigo':codAfiliado},
			'onSuccess':listarDetalleAfiliado,
			'url': '../trans/mConsultasAfiliado.php',
			'onError': function(req){
				alert('Error!\nStatusText=' + req.statusText + '\nContents=' + req.responseText);
			}
		});
}

function listarDetalleAfiliado(req)
{
	//alert("ss")
	var tabla = xGetElementById('tb_detalleAfiliado');
	mD.limpiaTexto(tabla);
	var respuesta = req.responseText;
    var resultado = eval("(" + respuesta + ")");
	if (resultado) {
		
		if(resultado[0]['tx_url_logo']!='' && resultado[0]['tx_url_logo']!=null)
		{
			var fila = mD.insertarFila(tabla, -1, {});
			var celda = mD.insertarCelda(fila, -1, {});
			var img = mD.agregaNodoElemento('img', 'imagen' + 0, 'imagen' + 0, {
				"title": resultado[0]['tx_afiliado'],
				"src": "../img/logos/" + resultado[0]['tx_url_logo'],
				"width":"120",
				"height":"90"
			});
			mD.agregaHijo(celda, img);
		}
		xDisplay('loading','none');
		//*******************estilos

		//***************************
		var fila = mD.insertarFila(tabla, -1, {});
		var celda = mD.insertarCelda(fila, -1, {'align':'justify','class':'cssTitulos'}, resultado[0]['tx_afiliado']);
		//celda.className="fuenteNegrita";
		var fila = mD.insertarFila(tabla, -1, {});
		var celda1 = mD.insertarCelda(fila, -1, {'align':'justify','class':'cssContenido'}, resultado[0]['tx_descripcion']);
	    var fila = mD.insertarFila(tabla, -1, {});
		var celda = mD.insertarCelda(fila, -1, {'align':'justify','class':'fuenteNegrita'}, "Fecha de Ingreso: ");
		var fila = mD.insertarFila(tabla, -1, {});
		var celda = mD.insertarCelda(fila, -1, {'align':'justify','class':'cssContenido'}, fechaCorta(resultado[0]['fe_ingreso']));
		var fila = mD.insertarFila(tabla, -1, {});
		var celda = mD.insertarCelda(fila, -1, {'align':'justify','class':'fuenteNegrita'}, "Ubicación: ");
		var fila = mD.insertarFila(tabla, -1, {});
		var celda = mD.insertarCelda(fila, -1, {'align':'justify','class':'cssContenido'}, resultado[0]['tx_ubicacion']);
		var fila = mD.insertarFila(tabla, -1, {});
		var celda = mD.insertarCelda(fila, -1, {'align':'justify','class':'fuenteNegrita'}, "Persona de Contacto: ");
		var fila = mD.insertarFila(tabla, -1, {});
		var celda = mD.insertarCelda(fila, -1, {'align':'justify','class':'cssContenido'}, resultado[0]['tx_contacto']);
		var fila = mD.insertarFila(tabla, -1, {});
		var celda = mD.insertarCelda(fila, -1, {'align':'justify','class':'fuenteNegrita'}, "Teléfono(s): ");
		var fila = mD.insertarFila(tabla, -1, {});
		var celda = mD.insertarCelda(fila, -1, {'align':'justify','class':'cssContenido'}, resultado[0]['tx_telefono']);
		var fila = mD.insertarFila(tabla, -1, {});
		var celda = mD.insertarCelda(fila, -1, {'align':'justify','class':'fuenteNegrita'}, "Correo Electrónico: ");
		var fila = mD.insertarFila(tabla, -1, {});
		var celda = mD.insertarCelda(fila, -1, {'align':'justify','class':'cssContenido'}, resultado[0]['tx_correo']);
	}
	
}

