/*
Function: obtener_valor_combo
*Utilidad:* incorpora valores pasados por parametros del grupos de los objetos del menu_aux    
	
*Parametros:* 
- valor: valor que se le asigna a al objeto 
- menu: nombre del menu 
- obj: objeto del menu_aux al que se le asigna un valor y se incorpora al menu
	
*Valor(es) retonardo(s):* no aplica si embargo ejecuta la function menu_aux
*/

//Funciones Generales de programacion
function obtener_valor_combo(valor,menu,obj){
	var menu_x = "";
	if(menu!=""){
		menu_x = menu+";";
	}//end if
	var cadena = menu_x+obj+":"+valor
	menu_aux(cadena);
}//end function

/*
Function: obtener_valor_combo2
*Utilidad:* incorpora valores pasados por parametros del grupos de los 
objetos del menu_aux pero solo ejecuta la funcion menu_aux si el 
parametro "valor" val e "zz"
	
*Parametros:* 
- valor: valor que se le asigna a al objeto 
- menu: nombre del menu 
- obj: objeto del menu_aux al que se le asigna un valor y se incorpora al menu
	
*Valor(es) retonardo(s):* no aplica si embargo ejecuta la function menu_aux si el 
parametro "valor" val e "zz"
*/

function obtener_valor_combo2(valor,menu,obj){	
	var cadena = menu+";"+obj+":"+valor	
	if(valor=='zz'){			
		menu_aux(cadena);
	}//end if 	
}//end function

/*
Function: obtener_valor_combo2
*Utilidad:* muestra un alerta para validar la falta de la seleccion de un input 
de seleccion (combre)
	
*Parametros:* 
- valor: valor que se carga al seleccionar un combo 
- texto: descripcion del combo para mostrar en el alerta 
	
*Valor(es) retonardo(s):* no aplica.
*/

function val_combo2(valor,texto){
	var mensaje = "Debe seleccionar ".texto		
	if(valor==''){			
		alert(mensaje)
	}//end if 	
}//end function

/*
Function: confirmar2
*Utilidad:* muestra uno o dos "comfirm" que determina si se ejecuta o no un hipervinculo 
o la ejecucion de la funcion menu_aux
	
*Parametros:* 
- valor_x: contenido a ejecutar cuando es proobada la confirmación 
- texto1: texto a motrar cuando se realiza la primera confirmacion 
- texto1: texto a motrar cuando se realiza la primera confirmacion 
- modo: si es 1 ejecuta la funcion menu_aux. Sies 2 de ejecuta la función 
abrir_vinculo y si es 3 ejecuta el contenido de valor_x
*Valor(es) retonardo(s):* no aplica.
*/

function confirmar2(valor_x,texto1,texto2,modo){
	var cadena = valor_x
		if (modo == 1 || modo == 3){
			var ruta = menu_aux;
		}else if (modo == 2){
			var ruta = abrir_vinculo;		
		}//end if
	if (confirm(texto1)){
			if (texto2 !== ""){
					if (confirm(texto2)){
						if(modo==3){
							ruta(cadena,'','1');	
						}else{
							ruta(cadena);	
						}//end if
					}else{
						return false;
					}//end if
			}else{
				if(modo==3){
					ruta(cadena,'','1');	
				}else{
					ruta(cadena);	
				}//end if
			}//end if
	}else{
		return false;
	}//end if
}//end function

//funcion deprecada 
function habilitar_calendario(obj_x,nombre_x){
	var nombre = new String(nombre_x);
	var n = nombre.split("_");
	f = get_form("formulario");
	var cad1 = "cal_dias_"+n[2]+"_aux"
	var cad2 = "cal_meses_"+n[2]+"_aux"
	var cad3 = "cal_annios_"+n[2]+"_aux"
	var chk = f.elements[obj_x]
	var ele_x = f.elements[cad1];
	var ele_x2 = f.elements[cad2];
	var ele_x3 = f.elements[cad3];
	if(chk.checked){
		ele_x.disabled = false;
		ele_x2.disabled = false;
		ele_x3.disabled = false;
	}else{
		ele_x.value = "";
		ele_x2.value = "";
		ele_x3.value = "";
		ele_x.disabled = true;
		ele_x2.disabled = true;
		ele_x3.disabled = true;	
	}//end if
}//end function

// Mensajes de ayuda

/*property: 
navegador
Determina que el navegador es Microsoft Internet Explorer si es 0
y si de otro tipo tiene el valor de 1
*/

if(navigator.userAgent.indexOf("MSIE")>=0) navegador=0;
else navegador=1;

/*
Function: colocaAyuda
*Utilidad:* ejecuta la cambios en los estilos de un div para mostrarse como una 
ayuda emergente 
	
*Parametros:* 
- event: evento sobre el cual se ejecuta el cambio en css
 
*Valor(es) retonardo(s):* no aplica.
*/

function colocaAyuda(event){
	if(navegador==0)	{
		var corX=window.event.clientX+document.documentElement.scrollLeft;
		var corY=window.event.clientY+document.documentElement.scrollTop;
	}else{
		var corX=event.clientX+window.scrollX;
		var corY=event.clientY+window.scrollY;
	}
	cAyuda.style.top=corY+20+"px";
	cAyuda.style.left=corX+15+"px";
}

/*
Function: ocultaAyuda
*Utilidad:* ejecuta la cambios en los estilos de un div para ocultar la informacion 
estilo ayuda emergente cambiando el atributo de display none. la funcion valida 
recursimanete su ejecucion o la de colocaAyuda dependiendo del evento ocurrido
	
*Valor(es) retonardo(s):* no aplica.
*/

function ocultaAyuda(){
	cAyuda.style.display="none";
	if(navegador==0){
		document.detachEvent("onmousemove", colocaAyuda);
		document.detachEvent("onmouseout", ocultaAyuda);
	}else{
		document.removeEventListener("mousemove", colocaAyuda, true);
		document.removeEventListener("mouseout", ocultaAyuda, true);
	}
}

/*
Function: muestraAyuda
*Utilidad:* ejecuta la cambios en los estilos de un div para mostrarse como una 
ayuda emergente, con la variante que realiza la validacion automatica de mostrar
la información para aquellos campos que son obligatoriios
	
*Parametros:* 
- event: evento sobre el cual se ejecuta el cambio en css
- nombre: del capo que se requiere indicar la obligatoriedad
- mensaje: detalle del mensaje adicional a especificar  
- oblig: valoe que indica si se ejecuta la validacion o no.

*Valor(es) retonardo(s):* no aplica.
*/

function muestraAyuda(event, campo, mensaje, oblig){
	cAyuda=document.getElementById("mensajesAyuda");
	cNombre=document.getElementById("ayudaTitulo");
	cTex=document.getElementById("ayudaTexto");
	colocaAyuda(event);
	if(navegador==0){ 
		document.attachEvent("onmousemove", colocaAyuda); 
		document.attachEvent("onmouseout", ocultaAyuda); 
	}else{
		document.addEventListener("mousemove", colocaAyuda, true);
		document.addEventListener("mouseout", ocultaAyuda, true);
	}
	var o = (oblig==null)?(''):(' (Obligatorio)');
	cNombre.innerHTML = campo+o;
	cTex.width = 'auto';
	cTex.innerHTML = msj = (mensaje==null)?('<br>'):(mensaje);
	cAyuda.style.display="block";
}
