//Creado por: ADR 19/Sep/2005

//función para cambiar la imagen de los botonoes			
function boton(oItem){
	var objItem, sImg, iPos, subfix1, subfix2;
	subfix1 = ".gif";
	subfix2 = "2.gif";
	//objItem = getElementById(oItem);
	objItem = document.getElementById(oItem);
	if(objItem != null){
		sImg = objItem.src;
		iPos = sImg.indexOf("2");
		if(iPos == -1){
			sImg = sImg.replace(subfix1, subfix2)
		}else{
			sImg = sImg.replace(subfix2, subfix1)
		}
		objItem.src =  sImg;
		//alert(objItem.src);
	}
}

function VistaControles(){
	var estado, oItem, oItem2;
	
	oItem = document.getElementById("cmbTipoReuniones");
	if(oItem != null){
		oItem2 = document.getElementById("chkTipo");
		if(oItem2 != null){
			if(oItem2.checked)
				estado = "block";
			else
				estado = "none";
			oItem.style.display = estado;
		}
	}

	oItem = document.getElementById("cmbPeriodo");
	if(oItem != null){
		oItem2 = document.getElementById("chkPeriodo");
		if(oItem2 != null){
			if(oItem2.checked)
				estado = "block";
			else
				estado = "none";
			oItem.style.display = estado;
		}
	}

	oItem = document.getElementById("cmbEstatus");
	if(oItem != null){
		oItem2 = document.getElementById("chkEstatus");
		if(oItem2 != null){
			if(oItem2.checked)
				estado = "block";
			else
				estado = "none";
			oItem.style.display = estado;
		}
	}
	
	oItem = document.getElementById("cmbLocal");
	if(oItem != null){
		oItem2 = document.getElementById("chkLocal");
		if(oItem2 != null){
			if(oItem2.checked)
				estado = "block";
			else
				estado = "none";
			oItem.style.display = estado;
		}
	}
	
	oItem = document.getElementById("cmbLocal");
	if(oItem != null){
		oItem2 = document.getElementById("chkLocalPla");
		if(oItem2 != null){
			if(oItem2.checked)
				estado = "block";
			else
				estado = "none";
			oItem.style.display = estado;
		}
	}
	
	oItem = document.getElementById("chkFechaCapturaPla");
	if(oItem != null){
		if(oItem.checked)
			estado = "block";
		else
			estado = "none";
				
		oItem2 = document.getElementById("adrCalCaptura_cmbADRAnio");
		if(oItem2 != null)
			oItem2.style.display = estado;
		oItem2 = document.getElementById("adrCalCaptura_cmbADRMes");
		if(oItem2 != null)
			oItem2.style.display = estado;
		oItem2 = document.getElementById("adrCalCaptura_cmbADRDia");
		if(oItem2 != null)
			oItem2.style.display = estado;
		oItem2 = document.getElementById("adrCalCaptura2_cmbADRAnio");
		if(oItem2 != null)
			oItem2.style.display = estado;
		oItem2 = document.getElementById("adrCalCaptura2_cmbADRMes");
		if(oItem2 != null)
			oItem2.style.display = estado;
		oItem2 = document.getElementById("adrCalCaptura2_cmbADRDia");
		if(oItem2 != null)
			oItem2.style.display = estado;
		oItem2 = document.getElementById("lblDe");
		if(oItem2 != null)
			oItem2.style.display = estado;
		oItem2 = document.getElementById("lblAl");
		if(oItem2 != null)
			oItem2.style.display = estado;
	}
	
	oItem = document.getElementById("chkFechaCaptura");
	if(oItem != null){
		if(oItem.checked)
			estado = "block";
		else
			estado = "none";
				
		oItem2 = document.getElementById("adrCalCaptura_cmbADRAnio");
		if(oItem2 != null)
			oItem2.style.display = estado;
		oItem2 = document.getElementById("adrCalCaptura_cmbADRMes");
		if(oItem2 != null)
			oItem2.style.display = estado;
		oItem2 = document.getElementById("adrCalCaptura_cmbADRDia");
		if(oItem2 != null)
			oItem2.style.display = estado;
		oItem2 = document.getElementById("adrCalCaptura2_cmbADRAnio");
		if(oItem2 != null)
			oItem2.style.display = estado;
		oItem2 = document.getElementById("adrCalCaptura2_cmbADRMes");
		if(oItem2 != null)
			oItem2.style.display = estado;
		oItem2 = document.getElementById("adrCalCaptura2_cmbADRDia");
		if(oItem2 != null)
			oItem2.style.display = estado;
		oItem2 = document.getElementById("lblDe");
		if(oItem2 != null)
			oItem2.style.display = estado;
		oItem2 = document.getElementById("lblAl");
		if(oItem2 != null)
			oItem2.style.display = estado;
	}

}
		
function Visualiza(oItems){
	var objDiv;
	if(oItems == 'adrCalCaptura'){
		objDiv = document.getElementById(oItems+'_cmbADRAnio');
		if(objDiv != null){
			if (objDiv.style.display == "none"){
				objDiv.style.display = "block";
			}else{
				objDiv.style.display = "none";
			}
		}
		objDiv = document.getElementById(oItems+'_cmbADRMes');
		if(objDiv != null){
			if (objDiv.style.display == "none"){
				objDiv.style.display = "block";
			}else{
				objDiv.style.display = "none";
			}
		}
		objDiv = document.getElementById(oItems+'_cmbADRDia');
		if(objDiv != null){
			if (objDiv.style.display == "none"){
				objDiv.style.display = "block";
			}else{
				objDiv.style.display = "none";
			}
		}
		objDiv = document.getElementById(oItems+'2_cmbADRAnio');
		if(objDiv != null){
			if (objDiv.style.display == "none"){
				objDiv.style.display = "block";
			}else{
				objDiv.style.display = "none";
			}
		}
		objDiv = document.getElementById(oItems+'2_cmbADRMes');
		if(objDiv != null){
			if (objDiv.style.display == "none"){
				objDiv.style.display = "block";
			}else{
				objDiv.style.display = "none";
			}
		}
		objDiv = document.getElementById(oItems+'2_cmbADRDia');
		if(objDiv != null){
			if (objDiv.style.display == "none"){
				objDiv.style.display = "block";
			}else{
				objDiv.style.display = "none";
			}
		}
		objDiv = document.getElementById('lblDe');
		if(objDiv != null){
			if (objDiv.style.display == "none"){
				objDiv.style.display = "block";
			}else{
				objDiv.style.display = "none";
			}
		}
		objDiv = document.getElementById('lblAl');
		if(objDiv != null){
			if (objDiv.style.display == "none"){
				objDiv.style.display = "block";
			}else{
				objDiv.style.display = "none";
			}
		}
	}else{
		objDiv = document.getElementById(oItems);
		if(objDiv != null){
			if (objDiv.style.display == "none"){
				objDiv.style.display = "block";
			}else{
				objDiv.style.display = "none";
			}
		}
	}
}

//Función para contadores
function textCounter(field, countfield, maxlimit) {
		if (field.value.length > maxlimit) // if too long...trim it!
			field.value = field.value.substring(0, maxlimit);
		// otherwise, update 'characters left' counter
		else 
			countfield.value = field.value.length;
		}
		
/**************************************************************************************************************
							Funciones para el manejo de filtros en una página
**************************************************************************************************************	
CONSIDERACIONES: 
	NOMBRE DE OBJETOS:
		- Tablas que alojan campos para filtrado de datos:
			El nombre de las tablas debe incluir el prefijo "tblFiltro"+Nombre del Filtro, ejemplo:
				tblFiltroFechaRegistro
		- Checkbox's
			El nombre del CheckBox usado para especificar un filtro debe incluir el Nombre del Filtro, ejemplo:
				chkFechaRegistro
	NOTA:
		El Nombre del Filtro debe ser igual al nombre del Checkbox que lo manipula, ejemplo:
			FechaRegistro
	EVENTOS:
		- OnLoad
			Dentro del Tag BODY, en el evento OnLoad incluir la llamada a las  funciones siguientes:
			 onload="javascript:IniciaArregloTablasFiltros();OcultaCamposDeFiltrado(document, false);ChecaEstadoFiltros();"
		- OnCLick
			Incluir en el evento OnClick() de un Checkbox de filtrado la llamada a la función "MuestraOculta",
			pasarle como parámetros el nombre de la tabla de filtrado a ocultar y el valor del Checkbox.
				onclick="javascript:MuestraOculta('tblFiltroFechaRegistro', this.checked);"
***************************************************************************************************************/
	/*
	DESCRIPCIÓN:
		Muestra/Oculta un objeto HTML dado su Id.
	AUTOR:
		Ing. Ariel Martínez Morales
	FECHA:
		27-06-2006
	*/
	function MuestraOculta(ctlId, isVisible)
	{
		var ctl = document.getElementById(ctlId);
		if(ctl!=null)
		{
			if(isVisible)
			{
				ctl.style.visibility="visible";
				ctl.style.position = "relative";
			}
			else
			{
				ctl.style.visibility="hidden";
				ctl.style.position = "absolute";
			}
		}
	}		
	/*
	DESCRIPCIÓN:
		Muestra/Oculta tablas que alojan campos para el filtrado de datos.
		Invocar en el evento OnLoad del Tag BODY de la página que muestra campos de filtrado de datos.
	AUTOR:
		Ing. Ariel Martínez Morales
	FECHA:
		05-07-2006
	*/
	function OcultaCamposDeFiltrado(obj, isVisible)
	{
		var inputs = null;

		//Obtiene los tag's de tablas para identificar las utilizadas para el filtrado de datos
		inputs = obj.body.getElementsByTagName("TABLE")
		for(i=0;i<inputs.length;i++)
		{
			if(inputs[i].id.length>0)
			{
				//se identifican las tablas que alojan campos para el filtrado de datos
				if(inputs[i].id.indexOf("tblFiltro",0)!=-1)
				{
					MuestraOculta(inputs[i].id, isVisible);
				}
			}
		}
	}
	/*
	DESCRIPCIÓN:
		Verifica la selección de filtro para mostrar/ocultar los campos de filtrado despues de un postback
		Invocar en el evento OnLoad del Tag BODY de la página que muestra campos de filtrado de datos.
	AUTOR:
		Ing. Ariel Martínez Morales
	FECHA:
		05-07-2006
	*/
	function ChecaEstadoFiltros()
	{
		if(tblFiltros==null) return;
	
		var inputs = null;
		//Campos de Texto
		inputs = document.body.getElementsByTagName("INPUT")	
		for(i=0;i<inputs.length;i++)
		{
			if(inputs[i].type=="checkbox")			
			{
				for(j=0;j<tblFiltros.length;j++)
				{
					var idFiltro = inputs[i].id.substr(3);
					if(tblFiltros[j].indexOf(idFiltro))
					{
						MuestraOculta("tblFiltro"+idFiltro, inputs[i].checked);
					}
				}
			}
		}
	}
	/*
	DESCRIPCIÓN:
		Dimensiona e inicializa el arreglo de tablas que alojan campos de filtrado
		Invocar en el evento OnLoad del Tag BODY de la página que muestra campos de filtrado de datos.
	AUTOR:
		Ing. Ariel Martínez Morales
	FECHA:
		05-07-2006
	*/
	function IniciaArregloTablasFiltros()
	{
		var inputs = null;
		var contador = 0;
		var numTablas = ObtenNumTablaDeFiltro();
		if(numTablas>0)
		{
			tblFiltros = new Array(numTablas);
			
			//tablas
			inputs = document.body.getElementsByTagName("TABLE")
			for(i=0;i<inputs.length;i++)
			{
				if(inputs[i].id.length>0)
				{
					if(inputs[i].id.indexOf("tblFiltro")>-1)
					{
						tblFiltros[contador]=inputs[i].id;
						contador++;
					}
				}
			}			
		}
	}
	
	//arreglo global que aloja el nombre de las tablas que alojan campos de filtrado de datos.
	var tblFiltros = null

	/*
	DESCRIPCIÓN:
		Oculta los campos de captura/selección que forman parte del filtro de datos y se alojan 
		en la celda de una tabla
	AUTOR:
		Ing. Ariel Martínez Morales
	FECHA:
		28-06-2006
	*/
	function OcultaCamposDeCelda(cel, isVisible)
	{
		var inputs = null;
		//Campos de Texto
		inputs = cel.body.getElementsByTagName("INPUT")
		for(i=0;i<inputs.length;i++)
		{
			if(inputs[i].type=="text" || inputs[i].type=="select-one")
				MuestraOculta(inputs[i].style.id, isVisible);
		}
		//Combos
		inputs = cel.body.getElementsByTagName("SELECT")
		for(i=0;i<inputs.length;i++)
		{
			if(inputs[i].type=="select-one")
				MuestraOculta(inputs[i].id, isVisible);
		}
		//Etiquetas
		inputs = cel.body.getElementsByTagName("SPAN")
		for(i=0;i<inputs.length;i++)
		{
			if(inputs[i].innerText.toLowerCase()=="del" || inputs[i].innerText.toLowerCase()=="al")
				MuestraOculta(inputs[i].id, isVisible);
		}
	}
	/*
	DESCRIPCIÓN:
		Obtiene el número de tablas que alojan campos para filtrado de datos
	AUTOR:
		Ing. Ariel Martínez Morales
	FECHA:
		05-07-2006
	*/
	function ObtenNumTablaDeFiltro()
	{
		var inputs = null;
		var contador=0;
		//tablas
		inputs = document.body.getElementsByTagName("TABLE")
		for(i=0;i<inputs.length;i++)
		{
			if(inputs[i].id.length>0)
			{
				if(inputs[i].id.indexOf("tblFiltro",0)!=-1)
					contador++;
			}
		}
		return contador;
	}

