//-------------------------------------------------------------------
//Archivo:	pro_selectiva.js	
//Objetivo:	Contiene funciones específicas para el formulario de 
//			búsqueda selectiva de pronunciamientos. Permite el control
//			de acciones realizadas por el usuario. Se extrae esta 
//			funcionalidad del pro_selectiva.asp para no hacer tan
//			grande ese archivo y facilitar el entendimiento y 
//			mantenimiento de ambos.
//Autor:	Christian Sandoval Moya
//Fecha:	Abril 2003
//-------------------------------------------------------------------

//--------------------------------------------------------------------
//Function:	optPronunciamiento_onclick
//Objetivo:	Cuando el usuario hace clic en cualquier radio botton de
//			número de pronunciamiento el sistema debe o borrar lo
//			anterior o poner el focus en el campo del número. 
//Autor:	Christian Sandoval Moya (S-COM)
//Fecha:	Marzo 2003
//-------------------------------------------------------------------
function optPronunciamiento_onclick() 
{
	//Se declara una variable para tomar la instancia del form
	var frmSelectiva = document.frmSelectiva;
	//Si la opción marcada es la todos los pronunciamientos...
	if(frmSelectiva.optAllPronunciamientos.checked == true)
		//se debe limpiar el campo del número del pronunciamiento
		frmSelectiva.txtPronunciamiento.value = '';
	else
		//de lo contrario se debe poner el focus en el campo del número
		frmSelectiva.txtPronunciamiento.focus();
}
//--------------------------------------------------------------------
//Function:	txtPronunciamiento_onfocus
//Objetivo:	Cuando el cursor se ubica en el campo del número del pronun-
//			ciamiento, se debe marcar el radio botton correspondiente.
//Autor:	Christian Sandoval Moya (S-COM)
//Fecha:	Marzo 2003
//-------------------------------------------------------------------
function txtPronunciamiento_onfocus() 
{
	var frmSelectiva = document.frmSelectiva;
	//Sin importar si estaba o no seleccionado, se selecciona
	frmSelectiva.optOnePronunciamiento.checked = true; 
}
//--------------------------------------------------------------------
//Function:	txtPronunciamiento_onblur
//Objetivo:	Cuando el cursor se sale del campo del número hay que fijarse
//			si el usuario digitó algo, ya que si no lo hizo, se debe 
//			marcar el radio botton de todos los pronunciamientos.
//Autor:	Christian Sandoval Moya (S-COM)
//Fecha:	Marzo 2003
//-------------------------------------------------------------------
function txtPronunciamiento_onblur() 
{
	//Se instancia el form
	var frmSelectiva = document.frmSelectiva;
	//Se toma el dato digitado por el usuario y se le quita los espacios
	//en blanco
	var strTexto = Trim(frmSelectiva.txtPronunciamiento.value);
	//Si el usuario no digitó nada, entonces...
	if(strTexto == '')
	{
		//se limpia el campo de posibles espacios en blanco y
		frmSelectiva.txtPronunciamiento.value = '';
		//se marca el radio botton de todos los pronunciamientos
		frmSelectiva.optAllPronunciamientos.checked = true; 
	}
	else
	{
		//Si el usuario digitó algo, entonces se autocompleta de
		//ceros a la izquierda.
		strTexto = '000' + strTexto;
		strTexto = strTexto.substr(strTexto.length - 3);
		//Y se vuelve a poner el valor en el respetivo campo
		frmSelectiva.txtPronunciamiento.value = strTexto;
	}
}
//--------------------------------------------------------------------
//Function:	optAnno_onclick
//Objetivo:	Cuando el usuario hace clic en cualquier radio botton de
//			año de pronunciamiento el sistema debe o borrar lo
//			anterior o poner el focus en el campo del año. 
//Autor:	Christian Sandoval Moya (S-COM)
//Fecha:	Marzo 2003
//-------------------------------------------------------------------
function optAnno_onclick() 
{
	//Se declara una variable para tomar la instancia del form
	var frmSelectiva = document.frmSelectiva;
	//Si la opción marcada es la todos los años...
	if(frmSelectiva.optAllAnnos.checked == true)
	{
		//se debe limpiar los campos de los años
		frmSelectiva.txtAnnoDesde.value = '';
		frmSelectiva.txtAnnoHasta.value = '';
	}
	else
		//de lo contrario se debe poner el focus en el campo 'desde'
		frmSelectiva.txtAnnoDesde.focus();
}

//--------------------------------------------------------------------
//Function:	optFecha_onclick
//Objetivo:	Cuando el usuario hace clic en cualquier radio botton de
//			fecha de pronunciamiento el sistema debe o borrar lo
//			anterior o poner el focus en el campo del fecha. 
//Autor:	Christian Sandoval Moya (S-COM)
//Fecha:	Febrero 2006
//-------------------------------------------------------------------
function optFecha_onclick() 
{
	//Se declara una variable para tomar la instancia del form
	var frmSelectiva = document.frmSelectiva;
	//Si la opción marcada es la todos los años...
	if(frmSelectiva.optAllFecha.checked == true)
	{
		//se debe limpiar los campos de la fecha
		frmSelectiva.txtFechaDesde.value = '';
		frmSelectiva.txtFechaHasta.value = '';
	}
	else
		//de lo contrario se debe poner el focus en el campo 'desde'
		frmSelectiva.txtFechaDesde.focus();
}

//--------------------------------------------------------------------
//Function:	optConsultantes_onclick
//Objetivo:	Cuando el usuario hace clic en cualquier radio botton del
//			consulante de pronunciamiento el sistema debe o borrar lo
//			anterior o poner el focus en el campo del consultante. 
//Autor:	Christian Sandoval Moya (S-COM)
//Fecha:	Marzo 2003
//-------------------------------------------------------------------
function optConsultantes_onclick() 
{
	//Se declara una variable para tomar la instancia del form
	var frmSelectiva = document.frmSelectiva;
	//Si la opción marcada es la de todos los consultantes...
	if(frmSelectiva.optAllConsultantes.checked == true)
		//se debe limpiar el campo del consultante del pronunciamiento
		frmSelectiva.txtConsultante.value = '';
	else
		//de lo contrario se debe poner el focus en el campo del consulante
		frmSelectiva.txtConsultante.focus();
}

//--------------------------------------------------------------------
//Function:	txtConsultante_onfocus
//Objetivo:	Cuando el cursor se ubica en el campo del consultante del 
//			pronunciamiento, se debe marcar el radio botton correspondiente.
//Autor:	Christian Sandoval Moya (S-COM)
//Fecha:	Marzo 2003
//-------------------------------------------------------------------
function txtConsultante_onfocus() 
{
	var frmSelectiva = document.frmSelectiva;
	//Sin importar si estaba o no seleccionado, se selecciona
	frmSelectiva.optOneConsultante.checked = true; 
}

//--------------------------------------------------------------------
//Function:	txtConsultante_onblur
//Objetivo:	Cuando el cursor se sale del campo del consulante hay que 
//			fijarse si el usuario digitó algo, ya que si no lo hizo,  
//			se debe marcar el radio botton de todos los consultantes.
//Autor:	Christian Sandoval Moya (S-COM)
//Fecha:	Marzo 2003
//-------------------------------------------------------------------
function txtConsultante_onblur() 
{
	//Se instancia el form
	var frmSelectiva = document.frmSelectiva;
	//Se toma el dato digitado por el usuario y se le quita los espacios
	//en blanco
	var strTexto = Trim(frmSelectiva.txtConsultante.value);
	//Si el usuario no digitó nada, entonces...
	if(strTexto == '')
	{
		//se limpia el campo de posibles espacios en blanco y
		frmSelectiva.txtConsultante.value = '';
		//se marca el radio botton de todos los consultantes
		frmSelectiva.optAllConsultantes.checked = true; 
	}
}

//	INSTITUCIONES

//--------------------------------------------------------------------
//Function:	optInstituciones_onclick
//Objetivo:	Cuando el usuario hace clic en cualquier radio botton de 
//			la institución del consultante el sistema debe o borrar lo
//			anterior o poner el focus en el campo de la institución. 
//Autor:	Christian Sandoval Moya (S-COM)
//Fecha:	Marzo 2003
//-------------------------------------------------------------------
function optInstituciones_onclick() 
{
	//Se declara una variable para tomar la instancia del form
	var frmSelectiva = document.frmSelectiva;
	//Si la opción marcada es la de todos las instituciones...
	if(frmSelectiva.optAllInstituciones.checked == true)
		//se debe limpiar el campo de la institución
		frmSelectiva.txtInstitucion.value = '';
	else
		//de lo contrario se debe poner el focus en el campo de la institución
		frmSelectiva.txtInstitucion.focus();
}
//--------------------------------------------------------------------
//Function:	txtInstitucion_onfocus
//Objetivo:	Cuando el cursor se ubica en el campo de la institución del 
//			consultante, se debe marcar el radio botton correspondiente.
//Autor:	Christian Sandoval Moya (S-COM)
//Fecha:	Marzo 2003
//-------------------------------------------------------------------
function txtInstitucion_onfocus() 
{
	var frmSelectiva = document.frmSelectiva;
	//Sin importar si estaba o no seleccionado, se selecciona
	frmSelectiva.optOneInstitucion.checked = true; 
}
//--------------------------------------------------------------------
//Function:	txtInstitucion_onblur
//Objetivo:	Cuando el cursor se sale del campo de la institución hay que 
//			fijarse si el usuario digitó algo, ya que si no lo hizo,  
//			se debe marcar el radio botton de todas las instituciones.
//Autor:	Christian Sandoval Moya (S-COM)
//Fecha:	Marzo 2003
//-------------------------------------------------------------------
function txtInstitucion_onblur() 
{
	//Se instancia el form
	var frmSelectiva = document.frmSelectiva;
	//Se toma el dato digitado por el usuario y se le quita los espacios en blanco
	var strTexto = Trim(frmSelectiva.txtInstitucion.value);
	//Si el usuario no digitó nada, entonces...
	if(strTexto == '')
	{
		//se limpia el campo de posibles espacios en blanco y
		frmSelectiva.txtInstitucion.value = '';
		//se marca el radio botton de todas las instituciones
		frmSelectiva.optAllInstituciones.checked = true; 
	}
}

//	ACRONIMOS

//--------------------------------------------------------------------
//Function:	optAcronimo_onclick
//Objetivo:	Cuando el usuario hace clic en cualquier radio botton del 
//			acrónimo de la institución el sistema debe o borrar lo
//			anterior o poner el focus en el campo del acrónimo. 
//Autor:	Christian Sandoval Moya (S-COM)
//Fecha:	Marzo 2003
//-------------------------------------------------------------------
function optAcronimo_onclick() 
{
	//Se declara una variable para tomar la instancia del form
	var frmSelectiva = document.frmSelectiva;
	//Si la opción marcada es la de todos los acrónimos...
	if(frmSelectiva.optAllAcronimo.checked == true)
		//se debe limpiar el campo del acrónimo
		frmSelectiva.txtAcronimo.value = '';
	else
		//de lo contrario se debe poner el focus en el campo del acrónimo
		frmSelectiva.txtAcronimo.focus();
}
//--------------------------------------------------------------------
//Function:	txtAcronimo_onfocus
//Objetivo:	Cuando el cursor se ubica en el campo del acrónimo de la 
//			institución, se debe marcar el radio botton correspondiente.
//Autor:	Christian Sandoval Moya (S-COM)
//Fecha:	Marzo 2003
//-------------------------------------------------------------------
function txtAcronimo_onfocus() 
{
	var frmSelectiva = document.frmSelectiva;
	//Sin importar si estaba o no seleccionado, se selecciona
	frmSelectiva.optOneAcronimo.checked = true; 
}
//--------------------------------------------------------------------
//Function:	txtAcronimo_onblur
//Objetivo:	Cuando el cursor se sale del campo del acrónimo hay que 
//			fijarse si el usuario digitó algo, ya que si no lo hizo,  
//			se debe marcar el radio botton de todos los acrónimos.
//Autor:	Christian Sandoval Moya (S-COM)
//Fecha:	Marzo 2003
//-------------------------------------------------------------------
function txtAcronimo_onblur() 
{
	//Se instancia el form
	var frmSelectiva = document.frmSelectiva;
	//Se toma el dato digitado por el usuario y se le quita los espacios en blanco
	var strTexto = Trim(frmSelectiva.txtAcronimo.value);
	//Si el usuario no digitó nada, entonces...
	if(strTexto == '')
	{
		//se limpia el campo de posibles espacios en blanco y
		frmSelectiva.txtAcronimo.value = '';
		//se marca el radio botton de todas las instituciones
		frmSelectiva.optAllAcronimo.checked = true; 
	}
}



//--------------------------------------------------------------------
//Function:	optCargo_onclick
//Objetivo:	Cuando el usuario hace clic en cualquier radio botton del 
//			cargo del consultante el sistema debe o borrar lo anterior
//			o poner el focus en el campo del cargo. 
//Autor:	Christian Sandoval Moya (S-COM)
//Fecha:	Marzo 2003
//-------------------------------------------------------------------
function optCargo_onclick() 
{
	//Se declara una variable para tomar la instancia del form
	var frmSelectiva = document.frmSelectiva;
	//Si la opción marcada es la de todos los cargos...
	if(frmSelectiva.optAllCargos.checked == true)
		//se debe limpiar el campo del cargo
		frmSelectiva.txtCargo.value = '';
	else
		//de lo contrario se debe poner el focus en el campo del cargo
		frmSelectiva.txtCargo.focus();
}
//--------------------------------------------------------------------
//Function:	txtCargo_onfocus
//Objetivo:	Cuando el cursor se ubica en el campo del cargo del con-
//			sultante, se debe marcar el radio botton correspondiente.
//Autor:	Christian Sandoval Moya (S-COM)
//Fecha:	Marzo 2003
//-------------------------------------------------------------------
function txtCargo_onfocus() 
{
	var frmSelectiva = document.frmSelectiva;
	//Sin importar si estaba o no seleccionado, se selecciona
	frmSelectiva.optOneCargo.checked = true; 
}
//--------------------------------------------------------------------
//Function:	txtCargo_onblur
//Objetivo:	Cuando el cursor se sale del campo del cargo hay que 
//			fijarse si el usuario digitó algo, ya que si no lo hizo,  
//			se debe marcar el radio botton de todos los cargos.
//Autor:	Christian Sandoval Moya (S-COM)
//Fecha:	Marzo 2003
//-------------------------------------------------------------------
function txtCargo_onblur() 
{
	//Se instancia el form
	var frmSelectiva = document.frmSelectiva;
	//Se toma el dato digitado por el usuario y se le quita los espacios en blanco
	var strTexto = Trim(frmSelectiva.txtCargo.value);
	//Si el usuario no digitó nada, entonces...
	if(strTexto == '')
	{
		//se limpia el campo de posibles espacios en blanco y
		frmSelectiva.txtCargo.value = '';
		//se marca el radio botton de todos los cargos
		frmSelectiva.optAllCargos.checked = true; 
	}
}


//--------------------------------------------------------------------
//Function:	optFuncionarios_onclick
//Objetivo:	Cuando el usuario hace clic en cualquier radio botton del 
//			funcionario particiapante el sistema debe o desmarcar el
//			combo box o poner el focus en el combo del funcionario. 
//Autor:	Christian Sandoval Moya (S-COM)
//Fecha:	Marzo 2003
//-------------------------------------------------------------------
function optFuncionarios_onclick() 
{
	//Se declara una variable para tomar la instancia del form
	var frmSelectiva = document.frmSelectiva;
	//Si la opción marcada es la de todos los funcionarios...
	if(frmSelectiva.optAllFuncionarios.checked == true)
		//se debe deshabilita el combo del funcionario
		frmSelectiva.cmbFuncionarios.disabled = true;
	else
		//de lo contrario se debe habilita el combo
		frmSelectiva.cmbFuncionarios.disabled = false;
}

//	BOLETIN

//--------------------------------------------------------------------
//Function:	optBoletin_onclick
//Objetivo:	Cuando el usuario hace clic en cualquier radio botton del 
//			número del boletín el sistema debe o borrar lo anterior
//			o poner el focus en el campo del número del boletín . 
//Autor:	Christian Sandoval Moya (S-COM)
//Fecha:	Marzo 2003
//-------------------------------------------------------------------
function optBoletin_onclick() 
{
	//Se declara una variable para tomar la instancia del form
	var frmSelectiva = document.frmSelectiva;
	//Si la opción marcada es la de todos los boletines...
	if(frmSelectiva.optAllBoletines.checked == true)
		//se debe limpiar el campo del boletín
		frmSelectiva.txtBoletin.value = '';
	else
		//de lo contrario se debe poner el focus en el campo del boletín
		frmSelectiva.txtBoletin.focus();
}
//--------------------------------------------------------------------
//Function:	txtBoletin_onfocus
//Objetivo:	Cuando el cursor se ubica en el campo del número del boletín,
//			se debe marcar el radio botton correspondiente.
//Autor:	Christian Sandoval Moya (S-COM)
//Fecha:	Marzo 2003
//-------------------------------------------------------------------
function txtBoletin_onfocus() 
{
	var frmSelectiva = document.frmSelectiva;
	//Sin importar si estaba o no seleccionado, se selecciona
	frmSelectiva.optOneBoletin.checked = true; 
}
//--------------------------------------------------------------------
//Function:	txtBoletin_onblur
//Objetivo:	Cuando el cursor se sale del campo del número de boletín
//			hay que fijarse si el usuario digitó algo, ya que si no lo   
//			hizo, se debe marcar el radio botton de todos los boletines.
//Autor:	Christian Sandoval Moya (S-COM)
//Fecha:	Marzo 2003
//-------------------------------------------------------------------
function txtBoletin_onblur() 
{
	//Se instancia el form
	var frmSelectiva = document.frmSelectiva;
	//Se toma el dato digitado por el usuario y se le quita los espacios en blanco
	var strTexto = Trim(frmSelectiva.txtBoletin.value);
	//Si el usuario no digitó nada, entonces...
	if(strTexto == '')
	{
		//se limpia el campo de posibles espacios en blanco y
		frmSelectiva.txtBoletin.value = '';
		//se marca el radio botton de todos los boletines
		frmSelectiva.optAllBoletines.checked = true; 
	}
}

//--------------------------------------------------------------------
//Function:	txtFechaDesde_onblur
//Objetivo:	Cuando el usuario sale del campo año desde se revisa a ver
//			si digitó algo. En caso que no lo haya hecho, se vuelve
//			a marcar el radio botton de todos los años y a deshabilitar
//			el campo del año hasta
//Autor:	Christian Sandoval Moya (S-COM)
//Fecha:	Febrero 2006
//-------------------------------------------------------------------
function txtFechaDesde_onblur() 
{
	//Solo en caso de que el usuario no haya digitado nada en el año desde...
	if(Trim(frmSelectiva.txtFechaDesde.value) == '')
	{
		//se marca el radio botton de todos los años,
		frmSelectiva.optAllFecha.checked = true;
		//se limpia cualquier posible valor del año hasta y
		frmSelectiva.txtFechaHasta.value = '';
		//se deshabilita el campo del año hasta
		frmSelectiva.txtFechaHasta.disabled = true; 
	}
}

//--------------------------------------------------------------------
//Function:	txtAnnoDesde_onblur
//Objetivo:	Cuando el usuario sale del campo año desde se revisa a ver
//			si digitó algo. En caso que no lo haya hecho, se vuelve
//			a marcar el radio botton de todos los años y a deshabilitar
//			el campo del año hasta
//Autor:	Christian Sandoval Moya (S-COM)
//Fecha:	Marzo 2003
//-------------------------------------------------------------------
function txtAnnoDesde_onblur() 
{
	//Solo en caso de que el usuario no haya digitado nada en el año desde...
	if(Trim(frmSelectiva.txtAnnoDesde.value) == '')
	{
		//se marca el radio botton de todos los años,
		frmSelectiva.optAllAnnos.checked = true;
		//se limpia cualquier posible valor del año hasta y
		frmSelectiva.txtAnnoHasta.value = '';
		//se deshabilita el campo del año hasta
		frmSelectiva.txtAnnoHasta.disabled = true; 
	}
}

//--------------------------------------------------------------------
//Function:	txtAnnoDesde_onfocus
//Objetivo:	Cuando el usuario pone el cursor en el campo del año desde
//			se debe marcar el radio botton que indica un año en especifico
//			y además habilita el campo del año hasta
//Autor:	Christian Sandoval Moya (S-COM)
//Fecha:	Marzo 2003
//-------------------------------------------------------------------
function txtAnnoDesde_onfocus() 
{
	//Se marca el radio botton de rango de años
	frmSelectiva.optOneAnnos.checked = true;
	//Se habilita el campo del año hasta
	frmSelectiva.txtAnnoHasta.disabled = false; 	
}

//--------------------------------------------------------------------
//Function:	txtFechaDesde_onfocus
//Objetivo:	Cuando el usuario pone el cursor en el campo de la fecha desde
//			se debe marcar el radio botton que indica un año en especifico
//			y además habilita el campo de la fecha hasta
//Autor:	Christian Sandoval Moya (S-COM)
//Fecha:	Febrero 2006
//-------------------------------------------------------------------
function txtFechaDesde_onfocus() 
{
	//Se marca el radio botton de rango de años
	frmSelectiva.optRangoFecha.checked = true;
	//Se habilita el campo del año hasta
	frmSelectiva.txtFechaHasta.disabled = false; 	
}

//--------------------------------------------------------------------
//Function:	txtAnnoHasta_onfocus
//Objetivo:	Cuando el usuario quiere escribir en el campo del año hasta
//			y todavía no ha escrito nada en el campo año desde, entonces
//			se devuelve al usuario a ese campo
//Autor:	Christian Sandoval Moya (S-COM)
//Fecha:	Marzo 2003
//-------------------------------------------------------------------
function txtAnnoHasta_onfocus() 
{
	//Si no se ha digitado nada en el año 'desde' entonces...
	if(Trim(frmSelectiva.txtAnnoDesde.value) == '')
	{
		//devolvemos al usuario a ese campo para que lo digite
		frmSelectiva.txtAnnoDesde.focus();
	}
}

//--------------------------------------------------------------------
//Function:	txtFechaHasta_onfocus
//Objetivo:	Cuando el usuario quiere escribir en el campo de la fecha hasta
//			y todavía no ha escrito nada en el campo fecha desde, entonces
//			se devuelve al usuario a ese campo
//Autor:	Christian Sandoval Moya (S-COM)
//Fecha:	Febrero 2006
//-------------------------------------------------------------------
function txtFechaHasta_onfocus() 
{
	//Si no se ha digitado nada en el año 'desde' entonces...
	if(Trim(frmSelectiva.txtFechaDesde.value) == '')
	{
		//devolvemos al usuario a ese campo para que lo digite
		frmSelectiva.txtFechaDesde.focus();
	}
}

//	NUMERO DE REVISTA

//--------------------------------------------------------------------
//Function:	optRevista_onclick
//Objetivo:	Cuando el usuario hace clic en cualquier radio botton del 
//			número de la revista el sistema debe o borrar lo anterior
//			o poner el focus en el campo del número de la revista. 
//Autor:	Christian Sandoval Moya (S-COM)
//Fecha:	Marzo 2003
//-------------------------------------------------------------------
function optRevista_onclick() 
{
	//Se declara una variable para tomar la instancia del form
	var frmSelectiva = document.frmSelectiva;
	//Si la opción marcada es la de todas las revistas...
	if(frmSelectiva.optAllRevistas.checked == true)
		//se debe limpiar el campo de la revista
		frmSelectiva.txtRevista.value = '';
	else
		//de lo contrario se debe poner el focus en el campo de la revista
		frmSelectiva.txtRevista.focus();
}
//--------------------------------------------------------------------
//Function:	txtRevista_onfocus
//Objetivo:	Cuando el cursor se ubica en el campo del número de la 
//			revista, se debe marcar el radio botton correspondiente.
//Autor:	Christian Sandoval Moya (S-COM)
//Fecha:	Marzo 2003
//-------------------------------------------------------------------
function txtRevista_onfocus() 
{
	var frmSelectiva = document.frmSelectiva;
	//Sin importar si estaba o no seleccionado, se selecciona
	frmSelectiva.optOneRevista.checked = true; 
}
//--------------------------------------------------------------------
//Function:	txtRevista_onblur
//Objetivo:	Cuando el cursor se sale del campo del número de la revista
//			hay que fijarse si el usuario digitó algo, ya que si no lo   
//			hizo, se debe marcar el radio botton de todas las revistas.
//Autor:	Christian Sandoval Moya (S-COM)
//Fecha:	Marzo 2003
//-------------------------------------------------------------------
function txtRevista_onblur() 
{
	//Se instancia el form
	var frmSelectiva = document.frmSelectiva;
	//Se toma el dato digitado por el usuario y se le quita los espacios en blanco
	var strTexto = Trim(frmSelectiva.txtRevista.value);
	//Si el usuario no digitó nada, entonces...
	if(strTexto == '')
	{
		//se limpia el campo de posibles espacios en blanco y
		frmSelectiva.txtRevista.value = '';
		//se marca el radio botton de todas las revistas
		frmSelectiva.optAllRevistas.checked = true; 
	}
}

//	FECHA DE LA REVISTA

//--------------------------------------------------------------------
//Function:	optFechaRevista_onclick
//Objetivo:	Cuando el usuario hace clic en cualquier radio botton de
//			año de la revista del pronunciamiento el sistema debe o borrar
//			lo anterior o poner el focus en el campo del año de la revista. 
//Autor:	Christian Sandoval Moya (S-COM)
//Fecha:	Marzo 2003
//-------------------------------------------------------------------
function optFechaRevista_onclick() 
{
	//Se declara una variable para tomar la instancia del form
	var frmSelectiva = document.frmSelectiva;
	//Si la opción marcada es la todos los años de la revista...
	if(frmSelectiva.optAllFechaRevista.checked == true)
	{
		//se debe limpiar los campos de los años
		frmSelectiva.txtAnnoDesdeR.value = '';
		frmSelectiva.txtAnnoHastaR.value = '';
	}
	else
		//de lo contrario se debe poner el focus en el campo 'desde'
		frmSelectiva.txtAnnoDesdeR.focus();
}

function txtAnnoDesdeR_onblur() 
{
	if(Trim(frmSelectiva.txtAnnoDesdeR.value) == '')
	{
		frmSelectiva.optAllFechaRevista.checked = true;
		frmSelectiva.txtAnnoHastaR.value = '';
		frmSelectiva.txtAnnoHastaR.disabled = true; 
	}
}

function txtAnnoDesdeR_onfocus() 
{
	frmSelectiva.optOneFechaRevista.checked = true;
	frmSelectiva.txtAnnoHastaR.disabled = false; 	
}

function txtAnnoHastaR_onfocus() 
{
	if(Trim(frmSelectiva.txtAnnoDesdeR.value) == '')
	{
		frmSelectiva.txtAnnoDesdeR.focus();
	}
}

//	FECHA DEL BOELTIN

//--------------------------------------------------------------------
//Function:	optFechaBoletin_onclick
//Objetivo:	Cuando el usuario hace clic en cualquier radio botton de
//			año del boletín del pronunciamiento el sistema debe o borrar
//			lo anterior o poner el focus en el campo del año del boletín. 
//Autor:	Christian Sandoval Moya (S-COM)
//Fecha:	Marzo 2003
//-------------------------------------------------------------------
function optFechaBoletin_onclick() 
{
	//Se declara una variable para tomar la instancia del form
	var frmSelectiva = document.frmSelectiva;
	//Si la opción marcada es la todos los años del boletín...
	if(frmSelectiva.optAllFechaBoletin.checked == true)
	{
		//se debe limpiar los campos de los años
		frmSelectiva.txtAnnoDesdeB.value = '';
		frmSelectiva.txtAnnoHastaB.value = '';
	}
	else
		//de lo contrario se debe poner el focus en el campo 'desde'
		frmSelectiva.txtAnnoDesdeB.focus();
}

//--------------------------------------------------------------------
//Function:	txtAnnoDesdeB_onblur
//Objetivo:	Cuando el usuario se sale del campo del año desde del 
//			boletín se debe revisar si se digitó algo o no, en caso
//			de que no haya digitado nada se debe poner el radio botton
//			de todos los boletines marcado. 
//--------------------------------------------------------------------
function txtAnnoDesdeB_onblur() 
{
	if(Trim(frmSelectiva.txtAnnoDesdeB.value) == '')
	{
		frmSelectiva.optAllFechaBoletin.checked = true;
		frmSelectiva.txtAnnoHastaB.value = '';
		frmSelectiva.txtAnnoHastaB.disabled = true; 
	}
}

//--------------------------------------------------------------------
//Function:	txtAnnoDesdeB_onfocus
//Objetivo:	Cuando el usuario se entra del campo del año desde del 
//			boletín se debe marcar el radio botton de un boletín.
//--------------------------------------------------------------------
function txtAnnoDesdeB_onfocus() 
{
	frmSelectiva.optOneFechaBoletin.checked = true;
	frmSelectiva.txtAnnoHastaB.disabled = false; 	
}

//--------------------------------------------------------------------
//Function:	txtAnnoHastaB_onfocus
//Objetivo:	Cuando el usuario se entra del campo del año hasta del 
//			boletín se debe revisar si ya digitó algo en el año desde,
//			ya que si no es así no le permitirá digitar nada.
//--------------------------------------------------------------------
function txtAnnoHastaB_onfocus() 
{
	if(Trim(frmSelectiva.txtAnnoDesdeB.value) == '')
	{
		frmSelectiva.txtAnnoDesdeB.focus();
	}
}

//--------------------------------------------------------------------
//Function:	cmdBuscar_onclick
//Objetivo:	Revisa los valores digitados en los campos de años y fechas
//			para determinar que con correctos (es decir, corresponden 
//			a fechas reales y menores a la actual).
//--------------------------------------------------------------------
function cmdBuscar_onclick() 
{
	var frmSelectiva = document.frmSelectiva;
	var strAnnoDesde = Trim(frmSelectiva.txtAnnoDesde.value);
	var strAnnoHasta = Trim(frmSelectiva.txtAnnoHasta.value);
	var strAnnoDesdeB = Trim(frmSelectiva.txtAnnoDesdeB.value);
	var strAnnoHastaB = Trim(frmSelectiva.txtAnnoHastaB.value);
	var strAnnoDesdeR = Trim(frmSelectiva.txtAnnoDesdeR.value);
	var strAnnoHastaR = Trim(frmSelectiva.txtAnnoHastaR.value);
	var strFechaDesde = Trim(frmSelectiva.txtFechaDesde.value);
	var strFechaHasta = Trim(frmSelectiva.txtFechaHasta.value);
	var strTexto = Trim(frmSelectiva.txtPronunciamiento.value);
	
	// NUMERO DEL PRONUNCIAMIENTO
	if(strTexto != '')
	{
		//Si el usuario digitó algo, entonces se autocompleta de
		//ceros a la izquierda.
		strTexto = '000' + strTexto;
		strTexto = strTexto.substr(strTexto.length - 3);
		//Y se vuelve a poner el valor en el respetivo campo
		frmSelectiva.txtPronunciamiento.value = strTexto;
	}	


	// AÑO DEL PRONUNCIAMIENTO
	
	//Si el usuario especificó un año entonces...
	if(strAnnoDesde != '')
	{	
		//Se revisa que realmente sea un año válido (1800-año actual) 
		if(!EsAnno(strAnnoDesde))
		{
			//Se le indica el error al usuario
			alert('Lo digitado en el campo año desde, no es un valor correcto.')
			//Se pone el cursor en el campo del año 'desde'
			frmSelectiva.txtAnnoDesde.focus();
			//Se cancela el submit del form
			return false;
		}
		
		//Si el usuario no especificó año hasta, entonces...
		if(strAnnoHasta == '')
		{
			//Se pone el mismo valor que en el año desde, es decir...
			frmSelectiva.txtAnnoHasta.value = strAnnoDesde;
			//Se buscará en sólo ese año
			strAnnoHasta = strAnnoDesde;
		}
	
		//También se debe revisar que lo digitado en la fecha hasta sea un año válido
		if(!EsAnno(strAnnoHasta))
		{
			//Mensaje de error
			alert('Lo digitado en el campo año hasta, no es un valor correcto.')
			//Cursor en el campo del año 'hasta'
			frmSelectiva.txtAnnoHasta.focus();
			//No se envia el form hacia el siguiente asp
			return false;
		}
		
		//Se debe revisar que el año hasta sea menor al desde
		if(RevisarAnnos(strAnnoDesde,strAnnoHasta) == false)
		{
			alert('El año desde no puede ser mayor al hasta');
			frmSelectiva.txtAnnoDesde.focus();
			return false;
		}
	}	
	
	// FECHA DEL PRONUNCIAMIENTO
	
	//Si el usuario especificó un año entonces...
	if(strFechaDesde != '')
	{	
		//Se revisa que realmente sea una fecha válida
		if(!EsFecha(strFechaDesde))
		{
			//Se le indica el error al usuario
			alert('Lo digitado en el campo fecha desde, no es un valor correcto.')
			//Se pone el cursor en el campo del año 'desde'
			frmSelectiva.txtFechaDesde.focus();
			//Se cancela el submit del form
			return false;
		}
		
		//Si el usuario no especificó fecha hasta, entonces...
		if(strFechaHasta == '')
		{
			//Se pone el mismo valor que en el año desde, es decir...
			frmSelectiva.txtFechaHasta.value = strFechaDesde;
			//Se buscará en sólo ese año
			strFechaHasta = strFechaDesde;
		}
	
		//También se debe revisar que lo digitado en la fecha hasta sea un año válido
		if(!EsFecha(strFechaHasta))
		{
			//Mensaje de error
			alert('Lo digitado en el campo fecha hasta, no es un valor correcto.')
			//Cursor en el campo del año 'hasta'
			frmSelectiva.txtFechaHasta.focus();
			//No se envia el form hacia el siguiente asp
			return false;
		}
		
		if(CalcularDiferencia(strFechaDesde,strFechaHasta) < 0)
		{
			alert('La fecha desde no puede ser mayor a la fecha hasta');
			frmSelectiva.txtFechaDesde.focus();
			return false;
		}
		
		if(strAnnoDesde != '')
		{
			if(strAnnoDesde != Trim(strFechaDesde.substring(6,11)))
			{
				alert('Si indica años y fechas, el año desde debe coincidir con el indicado en la fecha desde');
				frmSelectiva.txtFechaDesde.focus();
				return false;
			}
		}
		
		if(strAnnoHasta != '')
		{
			if(strAnnoHasta != Trim(strFechaHasta.substring(6,11)))
			{
				alert('Si indica años y fechas, el año hasta debe coincidir con el indicado en la fecha hasta');
				frmSelectiva.txtFechaHasta.focus();
				return false;
			}
		}
	}	
	
	
	// AÑO DEL BOLETIN
	
	//Si el usuario especificó un año entonces...
	if(strAnnoDesdeB != '')
	{	
		//Se revisa que realmente sea un año válido (1800-año actual) 
		if(!EsAnno(strAnnoDesdeB))
		{
			//Se le indica el error al usuario
			alert('Lo digitado en el campo año desde del boletín, no es un valor correcto.')
			//Se pone el cursor en el campo del año 'desde'
			frmSelectiva.txtAnnoDesdeB.focus();
			//Se cancela el submit del form
			return false;
		}
		
		//Si el usuario no especificó año hasta del boletín, entonces...
		if(strAnnoHastaB == '')
		{
			//Se pone el mismo valor que en el año desde, es decir...
			frmSelectiva.txtAnnoHastaB.value = strAnnoDesdeB;
			//Se buscará en sólo ese año
			strAnnoHastaB = strAnnoDesdeB;
		}
	
		//También se debe revisar que lo digitado en la fecha hasta sea un año válido
		if(!EsAnno(strAnnoHastaB))
		{
			//Mensaje de error
			alert('Lo digitado en el campo año hasta del boletín, no es un valor correcto.')
			//Cursor en el campo del año 'hasta'
			frmSelectiva.txtAnnoHastaB.focus();
			//No se envia el form hacia el siguiente asp
			return false;
		}
		
		//Se debe revisar que el año hasta del boletín sea menor al desde
		if(RevisarAnnos(strAnnoDesdeB,strAnnoHastaB) == false)
		{
			alert('El año desde no puede ser mayor al hasta');
			frmSelectiva.txtAnnoDesdeB.focus();
			return false;
		}
	}	
	
	// AÑO DE LA REVISTA
	
	//Si el usuario especificó un año entonces...
	if(strAnnoDesdeR != '')
	{	
		//Se revisa que realmente sea un año válido (1800-año actual) 
		if(!EsAnno(strAnnoDesdeR))
		{
			//Se le indica el error al usuario
			alert('Lo digitado en el campo año desde de la revista, no es un valor correcto.')
			//Se pone el cursor en el campo del año 'desde'
			frmSelectiva.txtAnnoDesdeR.focus();
			//Se cancela el submit del form
			return false;
		}
		
		//Si el usuario no especificó año hasta de la revista, entonces...
		if(strAnnoHastaR == '')
		{
			//Se pone el mismo valor que en el año desde, es decir...
			frmSelectiva.txtAnnoHastaR.value = strAnnoDesdeR;
			//Se buscará en sólo ese año
			strAnnoHastaR = strAnnoDesdeR;
		}
	
		//También se debe revisar que lo digitado en la fecha hasta sea un año válido
		if(!EsAnno(strAnnoHastaR))
		{
			//Mensaje de error
			alert('Lo digitado en el campo año hasta de la revista, no es un valor correcto.')
			//Cursor en el campo del año 'hasta'
			frmSelectiva.txtAnnoHastaR.focus();
			//No se envia el form hacia el siguiente asp
			return false;
		}
		
		//Se debe revisar que el año hasta sea menor al desde
		if(RevisarAnnos(strAnnoDesdeR,strAnnoHastaR) == false)
		{
			alert('El año desde de la revista no puede ser mayor al hasta');
			frmSelectiva.txtAnnoDesdeR.focus();
			return false;
		}
	}	
	
}

//--------------------------------------------------------------------
//Function:	MostrarAdiccional
//Objetivo:	Hace visible u oculta las primeras opciones adicionales
//			del formulario de búsqueda selectiva.
//--------------------------------------------------------------------
function MostrarAdiccional()
{
	if(divAdiccional.innerHTML != "Ocultar opciones adicionales")
	{
		trOculto1.style.display = "block";
		trOculto2.style.display = "block";
		trOculto3.style.display = "block";
		trOculto4.style.display = "block";
		trOculto5.style.display = "block";
		trOculto6.style.display = "block";
		trOculto7.style.display = "block";
		trOculto8.style.display = "block";
		trOculto9.style.display = "block";
		divAdiccional.innerHTML = "Ocultar opciones adicionales";
		
	}
	else
	{
		trOculto1.style.display = "none";
		trOculto2.style.display = "none";
		trOculto3.style.display = "none";
		trOculto4.style.display = "none";
		trOculto5.style.display = "none";
		trOculto6.style.display = "none";
		trOculto7.style.display = "none";
		trOculto8.style.display = "none";
		trOculto9.style.display = "none";
		divAdiccional.innerHTML = "Ver más opciones";
	}
}
