var tipo_estructura_funcional = "tipo_estructura_funcional";
var tiene_texto_diferido = "tiene_texto_diferido";
var palabra_frase = "palabra_frase";
var MATERIAS = "MATERIAS";
var DIV_atributos_de_la_parte = "DIV_atributos_de_la_parte";
var TR_seleccione_atributos_de_la_parte = "TR_atributos_de_la_parte";
var tipo_parte = "tipo_parte";

function mostrarSoloEnDiv(aMostrar,divId){
	var Obj = document.getElementById(divId);
	var divs = Obj.getElementsByTagName("DIV");
	for (var i=0;i<divs.length;i++){
		if(divs[i].id==aMostrar+"A"){
		}else{
			limpiarParametrosPorID(divs[i].id.substring(0,divs[i].id.length-1));
			if (divs[i].className == "datosFiltro") {
				divs[i].style.display = "none";
			}
		}
	}
}

function tratarCasoEncabezadoPromulgacion(){
	var atrib_parte_observacion = "atrib_parte_observacion";
	var detParte = document.getElementById(tipo_parte);
	if (detParte.value=="10" || detParte.value=="11" ){//Encabezado o Promulgacion
		mostrarSoloEnDiv(atrib_parte_observacion,DIV_atributos_de_la_parte);
	}
}
function tratarCasoNivelDeBusqueda(obj){

	if(typeof(obj)=='undefined'){
		var obj;
		var _obj1 = document.getElementById('nivel_busca_parte');
		var _obj2 = document.getElementById('nivel_busca_articulo');
		var _obj3 = document.getElementById('nivel_busca_norma');
		if (_obj1.checked) {obj = _obj1;}else if (_obj2.checked) {obj = _obj2;}else if (_obj3.checked) {obj = _obj3;}
		var desdeNivelBusqueda = false;
	}else{
		var desdeNivelBusqueda = true;
	}
	var id = obj.id;
	var divparte = document.getElementById('divParte');
	var agrupadorParte = 'parte';
	var agrupadorArticulo = 'articulo';
	var objAtributos_de_la_parte = document.getElementById(DIV_atributos_de_la_parte);
	var trAtributos_de_la_parte = document.getElementById(TR_seleccione_atributos_de_la_parte);
	var divarticulo = document.getElementById('divArticulo');
	var detParte = document.getElementById(tipo_parte);
	var detDetalle = document.getElementById('tipo_estructura_funcional');

	if (!obj.checked){
		return;
	}
	switch(id){
       case "nivel_busca_parte"   :
					   	divarticulo.style.display = "none";
	   				   if (desdeNivelBusqueda) {
						   	limpiarParametrosPorAgrupador(agrupadorArticulo, ''); //Limpia los valores
							limpiarParametrosPorAgrupador(agrupadorParte,''); //Le coloca los valores que traia desde la busqueda anterior
						    detParte.options[0].selected = true;
						    detDetalle.options[0].selected = true;
						    detDetalle.disabled = true;
					   }
					   divparte.style.display="block";
					   trAtributos_de_la_parte.style.display = "";
					   objAtributos_de_la_parte.style.display = "";
					   tratarCasoEncabezadoPromulgacion();
	                 break;
	   case "nivel_busca_articulo":
	   				   divarticulo.style.display="block";
	   				   if (desdeNivelBusqueda) {
					   		limpiarParametrosPorAgrupador(agrupadorParte, '');//Limpia los valores
							limpiarParametrosPorAgrupador(agrupadorArticulo);//Le coloca los valores que traia desde la busqueda anterior
						}
					   divparte.style.display="none";
					   detParte.options[0].selected = true;
					   detDetalle.options[0].selected = true;
					   detDetalle.disabled = true;
					   trAtributos_de_la_parte.style.display = "";
					   objAtributos_de_la_parte.style.display = "";
	                 break;
	   case "nivel_busca_norma"   :
	   				   divarticulo.style.display="none";
	   				   limpiarParametrosPorAgrupador(agrupadorArticulo,'');
	                   divparte.style.display="none";
	   				   limpiarParametrosPorAgrupador(agrupadorParte,'');
					   detParte.options[0].selected = true;
					   detDetalle.options[0].selected = true;
					   detDetalle.disabled = true;
					   objAtributos_de_la_parte.style.display = "none";
					   trAtributos_de_la_parte.style.display = "none";
	                 break;
		case "todas_las_versiones"	:
		case "texto_intermedios"	:
		case "texto_actualizado"	:
		case "texto_original"		:
					   var prevtext = "MensajeRolTipoVersion";

					   var idOtro = "todas_las_versiones";
					   if (id == "todas_las_versiones") {
					   	idOtro = "texto_intermedios";
					   }
					   else {
					   	if (id == "texto_actualizado" || id == "texto_original") {
					   		var obj1 = document.getElementById(prevtext + "todas_las_versiones");
					   		var obj2 = document.getElementById(prevtext + "texto_intermedios");
					   		obj1.style.display = "none";
					   		obj2.style.display = "none";
					   	}
					   }

					   var textoMsg = getTextoMensajeTipoVersionRol(id);
					   var objActual = document.getElementById(prevtext+id);
					   var objOtro = document.getElementById(prevtext+idOtro);

					   if (textoMsg != ""){
					   		objActual.innerHTML = textoMsg;
					   		objActual.style.display = "";
					   		objOtro.innerHTML = "";
					   		objOtro.style.display = "none";
					   }else{
					   		objOtro.style.display = "none";
					   		objOtro.innerHTML = "";
							objActual.style.display = "none";
					   		objActual.innerHTML = "";
					   }
					 break;
	}

}
function getTextoMensajeTipoVersionRol(tipoVersion){

	var fechaVersionIntermedios = getCookie("fechaVersionIntermedios");
	if(!fechaVersionIntermedios){
		fechaVersionIntermedios = "";
	}
	fechaVersionIntermedios = fechaVersionIntermedios.replace("\"","");
	fechaVersionIntermedios = fechaVersionIntermedios.replace("\"","");
	if (fechaVersionIntermedios != "None") {
		fechaVersionIntermedios = darFormatoFecha(fechaVersionIntermedios, "dd-mmm-aaaa");
	}else{
		fechaVersionIntermedios = "";
	}
	var textoRetorno = "";
	if(fechaVersionIntermedios){
		switch (tipoVersion){
			case "todas_las_versiones":
				textoRetorno = "(sólo versiones Original y Ultima para normas publicadas antes del "+fechaVersionIntermedios+")";
				break;
			case "texto_intermedios":
				textoRetorno = "(sólo normas publicadas a partir del "+fechaVersionIntermedios+")";
				break;
		}
	}
	return	textoRetorno;
}
function mostrarOcultar(obj){
	return tratarCasoNivelDeBusqueda(obj);
}


function activa(obj){
	var valor = obj.value;
	var id = obj.id;

	if(id==tipo_estructura_funcional){
		return;
	}
	if(valor=="16"){//Estructura Funcional
		document.getElementById(tipo_estructura_funcional).disabled = false;
	}else{
	      document.getElementById(tipo_estructura_funcional).disabled = true;
		  document.getElementById(tipo_estructura_funcional).options[0].selected = true;
		  limpiarParametrosPorID(tipo_estructura_funcional,'');
	}
	tratarCasoEncabezadoPromulgacion();
}
//En esta variable se guardan los ids de los DIVs de los filtros opcionales;
//y se llena al momento de dibujar el filtro en la pantalla
var gbl_FiltrosOpcionales = new Array();
var gbl_ParametrosOpcionales = new Array();
var div_filtrosOpcionales = "";
var div_sel_filtrosOpcionales = "";
var gbl_Parametros = new Hashtable();
var separadorAsistentes = ";";

function verParametros(){
	gbl_Parametros.toString();
}
function setValorParametro(key,valor){
	var obj = gbl_Parametros.get(key);
	if (typeof(obj) != 'undefined' && obj != null){
		if (obj.tipo == "organismo" || obj.tipo == "materia") {
			if (EsTipoBusquedaOracle(valor)){
				var valores = new Array();
				valores.push(trim(valor));
			}else{
				var valores = valor.split(separadorAsistentes);
			}
			obj["valores"] = new Array();
			for (var i = 0; i < valores.length; i++) {
				if (valores[i] != "") {
					if (obj["valores"].length == 0) {
						obj["valores"] = new Array(trim(valores[i]));
					}
					else {
						obj["valores"].push(trim(valores[i]));
					}
				}
			}
		}
		else {
			obj["valores"] = new Array(trim(valor));
		}
		gbl_Parametros.replace(key,obj);
		return true;
	}
	return false;
}
function addValorParametro(key,valor){
	var obj = gbl_Parametros.get(key);
	if (typeof(obj) != 'undefined' && obj != null){
		if(obj["valores"][0]==""){
			obj["valores"] = new Array(trim(valor));
		}else{
			obj["valores"].push(trim(valor));
		}
		gbl_Parametros.replace(key,obj);
		return true;
	}
	return false;
}

function setValorGlobalSelect(objHtml){
	var options = objHtml.options;
	var selectedIndex = objHtml.selectedIndex;
	setValorParametro(objHtml.id,options[selectedIndex].value);
}
function setValorGlobalRadio(objHtml){
	var value = "";
	var objectsHtml = document.getElementsByName(objHtml.name);
	for (var i=0;i<objectsHtml.length;i++){
		var id = objectsHtml[i].id;
		setValorParametro(id,"");
	}
	if (objHtml.checked) {
		value = "checked";
	}
	var key = objHtml.id;
	setValorParametro(key,value);
}

function setValorGlobalCkeck(objHtml){
	var value = "";
	if (objHtml.checked) {
		value = "checked";
	}
	var key = objHtml.id;
	setValorParametro(key,value);
}
function setValueSelect(objHtml,valor){
	var options = objHtml.options;
	var limpio = false;
	for (var i=0;i<options.length;i++){
		if (options[i].value==valor){
			options[i].selected=true;
			limpio = true;
			if (objHtml.id == tipo_parte){
				activa(objHtml);
			}
			break;
		}
	}
	if (!limpio){
		options[0].selected = true;
	}
}
function setValorDefectoParametro(key,valor){
	var obj = gbl_Parametros.get(key);
	if (typeof(obj) != 'undefined' && obj != null) {
		obj["valor_defecto"] = trim(valor);
		gbl_Parametros.replace(key, obj);
	}
	return true;
}
function setValoresPorDefecto(desde){
	if(typeof(desde)=='undefined'){
		if(getCookie("vieneDeSimpleOIndMateria")){
			setCookie("vieneDeSimpleOIndMateria",'','', '/','','' );
			setValorDefectoParametro(palabra_frase,'');
			setValorDefectoParametro(MATERIAS,'');
		}
	}
	var keys = gbl_Parametros.keys();
	for (var key in keys){
		key = keys[key];
		if(key != 'in_array'){
			limpiarParametrosPorID(key);
		}
	}
}

/*
 * Si la funcion recibe el parametro valor, setea con ese valor los parametros, caso contrario, los setea
 * con los valores por defecto desde Negocio
 */
function limpiarParametrosPorAgrupador(agrupador,valor){
	var keys = gbl_Parametros.keys();
	for (var i=0;i<keys.length;i++){
		var key = keys[i];
		var obj = gbl_Parametros.get(key);
		if(obj.agrupador==agrupador){
			limpiarParametrosPorID(key,valor);
		}
	}
}

/*
 * Si la funcion recibe el parametro valor, setea con ese valor el parametro, caso contrario, lo setea
 * con los valores por defecto desde Negocio
 */
function limpiarParametrosPorID(key,valor){
	var valor_defecto = "";
	var obj = gbl_Parametros.get(key);
	var objHtml = document.getElementById(key);
	if(typeof(obj)=='undefined' || typeof(obj)=='function()'){
		return;
	}
	if (typeof(valor) != 'undefined'){
		valor_defecto = valor;
	}else{
		valor_defecto = obj.valor_defecto;
	}
	obj.valores = new Array(valor_defecto);

	//Esto es para mostrar los parametros si o si, cuando el valor por defecto es distinto de vacio.
	try {
		if (valor_defecto != "") {
			/*
			 * Caso especial, cuando es uno de los parametros
			 * de "Tiene Texto Diferido" y el usuario es distinto
			 * de Anónimo o Consulta
			 * entonces se muestra el campo, caso contrario no..
			 */
			if (obj.agrupador == tiene_texto_diferido) {
				if (esUsuarioAnonimoOConsulta()) {
					document.getElementById(tiene_texto_diferido + 'A').style.display = "block";
				}else{
					document.getElementById(tiene_texto_diferido + 'A').style.display = "block";
					document.getElementById(key + 'A').style.display = "block";
				}
			}
			else {
				document.getElementById(key + 'A').style.display = "block";
			}
		}
	}
	catch (e) {
	}

	switch(obj.tipo){
		case 'text':
		case 'organismo':
		case 'materia':
			objHtml.value = valor_defecto;
			break;
		case 'select':
			if (objHtml == null) {
				alert('REVISAR ESTE KEY objHtml == null :' + key + ' ' + obj.agrupador);
			}
			setValueSelect(objHtml,valor_defecto);
			break;
		case 'radio':
			objHtml.checked = valor_defecto;
			mostrarOcultar(objHtml);
			break;
		case 'check':
			objHtml.checked = valor_defecto;
			break;
		case 'date':
			valores = valor_defecto.split(";");
			objHtml = document.getElementById('fecha_de_'+key);
			objHtml.value = darFormatoFecha(valores[0],"dd-mm-aaa");
			objHtml = document.getElementById('fecha_a_'+key);
			if (valores.length > 1) {
				objHtml.value = darFormatoFecha(valores[1],"dd-mm-aaa");
			}else{
				objHtml.value = "";
			}
			break;
		case undefined:
			return;
		default:
			alert("El tipo especificado no esta implementado, favor revisar: TIPO: " + obj.tipo + " KEY:" + key+ " AGRUPADOR: " + obj.agrupador);
	}
	setValorParametro(key,valor_defecto);
}

function darFormatoFecha(strFecha, strFormato){
	var dd_mm_yyyy = /^[0-9]{2}-[0-9]{2}-[0-9]{4}$/;
	var yyyy_mm_dd = /^[0-9]{4}-[0-9]{2}-[0-9]{2}$/;
	var mm_yyyy = /^[0-9]{2}-[0-9]{4}$/;
	var yyyy = /^[0-9]{4}$/;
	var formato = "";
	//En Formato dd-mm-yyyy
	if (dd_mm_yyyy.test(strFecha)) {
		formato="dd-mm-aaa";
	}else if(mm_yyyy.test(strFecha)){
		formato="mm-aaa";
	}else if(yyyy.test(strFecha)){
		formato="aaa";
	}else if(yyyy_mm_dd.test(strFecha)){
		formato="aaa-mm-dd";
	}else{

		if (strFecha != "") {
			alert("Formato de Fecha Desconicido: " + strFecha);
		}
		return strFecha;
	}

	if(formato==strFormato){
		return strFecha;
	}
	var arrFecha = strFecha.split("-");

	switch(formato){
		case "dd-mm-aaa":
			if(strFormato=="aaa-mm-dd"){
				return arrFecha[2]+"-"+arrFecha[1]+"-"+arrFecha[0];
			}else if(strFormato=="dd-mmm-aaaa"){
				return arrFecha[0]+"-"+Mes(arrFecha[1])+"-"+arrFecha[2];
			}else{
				alert("Formato no implementado: "+strFormato);
			}
			break;
		case "aaa-mm-dd":
			if(strFormato=="dd-mm-aaa"){
				return arrFecha[2]+"-"+arrFecha[1]+"-"+arrFecha[0];
			}else{
				alert("Formato no implementado: "+strFormato);
			}
			break;
	}

}
function Mes(mesNro){
	var meses = new Array("ENE","FEB","MAR","ABR","MAY","JUN","JUL","AGO","SEP","OCT","NOV","DIC");
	try{
		return meses[parseInt(mesNro)-1];
	}catch(e){
		return mesNro;
	}
}
function setValorCheckAgrupador(agrupador, valor){
	var keys = gbl_Parametros.keys();
	for (var i=0;i<keys.length;i++){
		var key = keys[i];
		var obj = gbl_Parametros.get(key);
		if(obj.agrupador==agrupador){
			var objHTML = document.getElementById(key);
			objHTML.checked = valor;
			setValorParametro(key,valor);
		}
	}
}

function muestraGruposConValoresSeleccionados(){
	var keys = gbl_Parametros.keys();
	for (var key in keys){
		key = keys[key];
		var obj = gbl_Parametros.get(key);
		if(obj){
			if((obj.valores.length > 0 && obj.valores[0] !="") || obj.estado == 'visible' ){
				//alert(obj.agrupador);
				var DIV_filtrosOpcionales = document.getElementById('filtrosOpcionales');
				var divs = DIV_filtrosOpcionales.getElementsByTagName('div');
				for (var i=0;i<divs.length;i++){
					var agrupador = divs[i].getAttribute("agrupador");
					if(agrupador == obj.agrupador){
						/*
						 * Caso especial:
						 * Para el Parametro "Tiene Texto Diferido"
						 */
						if (agrupador == tiene_texto_diferido) {
							if (!esUsuarioAnonimoOConsulta()) {
								document.getElementById('DIV_estadotexto').style.display = "block";
								divs[i].style.display = "block";
								DIV_filtrosOpcionales.style.display = "block";
							}else{}
						}
						else {
							divs[i].style.display = "block";
							DIV_filtrosOpcionales.style.display = "block";
						}
						break;
					}
				}
			}
		}
	}
}

function mostrarOcultarFiltros(valId,val){

	var res = document.getElementById(valId);
  	var agrupador = res.getAttribute("agrupador");

	if (val != 11 && val != 12 & val != 2) {
		document.getElementById(div_sel_filtrosOpcionales).style.display = "none";
		if (agrupador) {
			limpiarParametrosPorAgrupador(agrupador);
		}
	}
	if (val == 12) { //desde la seleccion de los filtros opcionales
		document.getElementById(div_filtrosOpcionales).style.display = "block";
	}
	else if (val != 2){
		for (var i = 0; i < gbl_FiltrosOpcionales.length; i++) {
			var filtro = gbl_FiltrosOpcionales[i];
			var displayed = "none";
			var objHtml = document.getElementById(filtro);
			var agrupadorInt = objHtml.getAttribute("agrupador");

			if (val == 11 || val == 13) {
				displayed = "none";
				if (agrupadorInt) {
					limpiarParametrosPorAgrupador(agrupadorInt);
				}
			}
			else {
				displayed = "block";
			}
			objHtml.style.display = displayed;
		}
	}
	if(val == 2){
		var objHTML_diferido = document.getElementById(tiene_texto_diferido);
		if(!objHTML_diferido.checked){
			setValorCheckAgrupador(tiene_texto_diferido,'');
			res.style.display = 'none';
		}else{
			/*
			 * Aqui se valida contra el perfil de usuario:
			 * Los usuarios Consulta y los Anonimos (Publico) no pueden ver
			 * los sub campos de "Tiene Texto Diferido"
			 * los demas usuarios, si.
			 */
			var rolUsuario = getCookie("rolUser");
			rolUsuario = rolUsuario.replace("\"","");
			rolUsuario = rolUsuario.replace("\"","");

			var rolesUsuario = rolUsuario.split(",");
			var esConsultaoPublico = false;
			for (var _i_ = 0; _i_<rolesUsuario.length;_i_++){
				if (rolesUsuario[_i_] == 'CONSULTA' || rolesUsuario[_i_] == 'PUBLICO' || rolesUsuario[_i_] == ''){
					setValorCheckAgrupador(tiene_texto_diferido,'checked');
					esConsultaoPublico = true;
					res.style.display = 'none';
				}else{
					/*
					 * Si al menos uno de los perfiles que tiene el usuario,
					 * le permite ver los sub campos de "Tiene Texto Diferido",
					 * se muestran
					 */
					esConsultaoPublico = false;
					break;
				}
			}
			if (!esConsultaoPublico) {
				limpiarParametrosPorAgrupador(tiene_texto_diferido);
				res.style.display = 'block';
			}
		}
	}else if (val == 13){
		res.style.display = 'none';
		//limpiarParametrosPorAgrupador(tiene_texto_diferido);
		setValorCheckAgrupador(tiene_texto_diferido,'');
	}

	if(val==0){
		res.style.display = 'none';
		if (agrupador) {
			limpiarParametrosPorAgrupador(agrupador);
		}
	}else{
		if(val==1){
		   res.style.display = 'block';
	    }else if(val != 2){
			  if(res.style.display =='block'){
		         res.style.display = 'none';
				 if (agrupador) {
					limpiarParametrosPorAgrupador(agrupador);
				 }
	          }else{
		            res.style.display = 'block';
	          }
		}
	}

	tratarCasoNivelDeBusqueda();
}

function prueba(){
	var lasdiv = document.getElementsByName('fil');
	for (var j = 0; j < lasdiv.length; j++) {
		if (lasdiv[j].style.display == 'none') {
			lasdiv[j].style.display = 'block';
		}
		else {
			lasdiv[j].style.display = 'none';
		}
	}
}

//****************************************************//
//  funciones para asistente contenido de los filtros //
//****************************************************//

function mostrarAsistente(obj, divId,refinar){
    var capas = document.getElementsByTagName('div');
	var temp = new Array();
	for(i=0;i<capas.length;i++){
		if(capas[i].className=="asistenteFiltro"){
			capas[i].style.display = 'none';
		}
	}
	var link = obj;
    var valores = findPos(link);
    var alertaTop = valores[1] + link.offsetHeight;
    var laDiv = divId;
	var offset = 55;

	if(typeof(refinar)!= 'undefined'){
		offset = -52;
	}

    alertaLeft = valores[0] +  link.offsetWidth + offset;
    document.getElementById(laDiv).style.left = alertaLeft + 'px';

    document.getElementById(laDiv).style.top = alertaTop + 'px';
    document.getElementById(laDiv).style.display = 'block';
}

function mostrarAsistente2(obj, divId){
    var link = obj;
    var valores = findPos(link);
    var alertaTop = valores[1] + link.offsetHeight;
    var laDiv = divId;

        alertaLeft = valores[0];
        document.getElementById(laDiv).style.left = alertaLeft + 'px';


    document.getElementById(laDiv).style.top = alertaTop + 'px';
    document.getElementById(laDiv).style.display = 'block';
}

function ocultarAsistente(divId){
   var laDiv = divId;
    document.getElementById(laDiv).style.display = 'none';
}

function findPos(obj){
    var curleft = curtop = 0;
    if (obj.offsetParent) {
        curleft = obj.offsetLeft;
        curtop = obj.offsetTop;
        while (obj = obj.offsetParent) {
            curleft += obj.offsetLeft;
            curtop += obj.offsetTop;
        }
    }
    return [curleft, curtop];
}

function mostrarDatoAsistente(divId,obj){
	var idobj = obj.id;
	var div1 = divId+'A';
	var fila1 = document.getElementById(div1);
	if (fila1.style.display != "none") {
		fila1.style.display = 'none';
		obj.className = 'nobold';
		limpiarParametrosPorID(divId);
	}else{
		fila1.style.display = 'block';
		obj.className = 'bold';
	}
	tratarCasoEncabezadoPromulgacion();
}

function mostrardatosAsistente(iddiv,asist){
    var mytable = document.getElementById(iddiv);
	var lasdivs = mytable.getElementsByTagName('DIV');
	var myasistente = document.getElementById(asist);
	var links = myasistente.getElementsByTagName('A');
	for (var j = 0; j < links.length; j++) {
	    if(links[j].className=='nobold'){
			links[j].className='bold';
		}
	}
	for(var i=0;i<lasdivs.length;i++){
		var temp = lasdivs[i].id;
		/*
		 * Caso especial: cuando es usuario Anonimo o Consulta
		 * los sub parametros de "Tiene Texto Diferido"
		 * no se muestran
		 */
		if (temp == "diferidos") {
			if (!esUsuarioAnonimoOConsulta()) {
				document.getElementById(temp).style.display = 'block';
			}else{
				document.getElementById(temp).style.display = 'none';
			}
		}else{
			document.getElementById(temp).style.display = 'block';
		}
	}
	tratarCasoEncabezadoPromulgacion();
}

function ocultardatosAsistente(iddiv,asist){
    var mytable = document.getElementById(iddiv);
	var lasdivs = mytable.getElementsByTagName('DIV');
	var myasistente = document.getElementById(asist);
	var links = myasistente.getElementsByTagName('A');
	for (var j = 0; j < links.length; j++) {
	    if(links[j].className=='bold'){
			links[j].className='nobold';
		}
	}
	for(var i=0;i<lasdivs.length;i++){
		var temp = lasdivs[i].id;
		var idParametro = temp.substring(0,temp.length-1);
		document.getElementById(temp).style.display='none';
		limpiarParametrosPorID(idParametro);
	}
}

//**************************************************************//
//  			FUNCIONES PARA EL ASISTENTE						//
//**************************************************************//
var resultadosAsistentes = new Object();
function cargarAsistenteAjax(tipo,idParametro){

	var lista_parametro = document.getElementById("lista_"+idParametro);
	lista_parametro.style.visibility = "visible";
	var lista_parametro2 = document.getElementById("lista2_"+idParametro);
	lista_parametro2.style.visibility = "visible";

	var mensaje = document.getElementById("cargandoAsistente_"+idParametro);
	mensaje.style.display = "";
	var res;
	try{resultadosAsistentes[tipo]}catch(e){resultadosAsistentes[tipo]=false;}

	this.cargar = function(){
		for (var i =  0;i<res.length;i++){
			//if (res[i].valor.indexOf("VICU")>-1){
			//	alert(decodeURIComponent( escape( res[i].valor ) ));
			//}
			var opt = new Option(decodeURIComponent( escape( res[i].valor ) ),decodeURIComponent( escape( res[i].valor ) ));
			opt.setAttribute("id",i+""+idParametro);
			lista_parametro.options[i] = opt;
		}
		mensaje.style.display = "none";
		tipoAsistenteCargado.push(idParametro);
	};

	if (resultadosAsistentes[tipo]){
		res = resultadosAsistentes[tipo];
		this.cargar();
		return;
	}

	this.success = function(req){
		var JSON = req.responseText;
		try{
			res = eval('('+JSON+')');
		}catch(e){
			alert(e);
		}
		resultadosAsistentes[tipo] = res;
		this.cargar();
	};
	this.onfailure = function(){
		var error = "Error ";
		alert(error);
		mensaje.style.display = "none";
	};
	var params = {
		method:'get',
		onFailure: this.onfailure,
		onSuccess: this.success,
		parameters: {tipoAsistente: tipo}
	};
	this.request = new Ajax.Request(parent.urlServidor + '/../Consulta/getInfoAsistente', params);
}

function fnColapseAsistenteMateria(id){
	var strDiv = "asistenteM_"+id;
	var strIframe = "iframeAsistenteM_"+id;

	var divAsistente = document.getElementById(strDiv);
	var iframeAsistente = document.getElementById(strIframe);

    var displayAsistente = divAsistente.style.display;
	var ns = (navigator.appName.indexOf("Netscape") != -1);
	var estaCargado = false;
	ocultarDivs();
	if (displayAsistente == 'none') {
		var pY = ns ? pageYOffset : window.document.documentElement.scrollTop;
		var pX = ns ? pageXOffset : window.document.documentElement.scrollLeft;

		var posX = pX + 100;
		var posY = pY + 10;
		divAsistente.style.left = posX + "px";
		divAsistente.style.top = posY + "px";



		divAsistente.style.display = '';

		var ancho = "230px";
		var alto = "500px";

		divAsistente.style.width = ancho;
		divAsistente.style.height = alto;


		for (var i = 0;i<AsistenteCargadoMateria.length;i++){
			if(AsistenteCargadoMateria[i] == id){
				estaCargado = true;
				break;
			}
		}

		if(!estaCargado){
			iframeAsistente.src = parent.urlServidor+"/asistenteMaterias?idParametro="+id;
			//AsistenteCargadoMateria.push(id);
		}
	}else{
		divAsistente.style.display = 'none';
	}
}

// oculta o muestra un div deacuerdo a su estado
// si no se ha cargado, lo carga (ajax)
var tipoAsistenteCargado = new Array();
var AsistenteCargadoMateria = new Array();
function fnColapseAsistente(id,tipo_campo){
	if(tipo_campo == "materia"){
		fnColapseAsistenteMateria(id);
		return true;
	}
    var strdiv = "asistente_"+id;
    var displayAsistente = document.getElementById(strdiv).style.display;
	var ns = (navigator.appName.indexOf("Netscape") != -1);
	var estaCargado = false;
	ocultarDivs();

	if(displayAsistente=='none'){

		var pY = ns ? pageYOffset : window.document.documentElement.scrollTop;
		var pX = ns ? pageXOffset : window.document.documentElement.scrollLeft;

	    var posX = pX + 20;
		var posY = pY + 100;

		var iframe = document.getElementById("iframeBugExplorerSelectAsistente");
		var divAsistente = document.getElementById(strdiv);


		iframe.style.left=posX+"px";
		iframe.style.top=posY+"px";

        divAsistente.style.left=posX+"px";
        divAsistente.style.top=posY+"px";

		//Para Firefox no se muestra el iframe, ya es para
		//un bug del IE, ademas que no muestra el focus en FF
		//cuando se muestra el Iframe
		if (!ns) {
			iframe.style.display = '';
		}
		divAsistente.style.display='';

		var caja = "searchbox_"+id;

        document.getElementById(caja).focus();

		var ancho = "640px";
		var alto = "200px";


		divAsistente.style.width = ancho;
        iframe.style.width = ancho;
        iframe.style.height = alto;
		divAsistente.style.height = alto;
		for (var i = 0;i<tipoAsistenteCargado.length;i++){
			if(tipoAsistenteCargado[i] == tipo_campo){
				estaCargado = true;
				break;
			}
		}
		if (!estaCargado) {
			cargarAsistenteAjax(tipo_campo,id);
		}
		/*
		 * Se quita este efecto por razones de rendimiento, dado que las materias
		 * Son demasiadas y se demora mucho en responder.
		 *
		divAsistente.style.width="10px";
        iframe.style.width="10px";
        iframe.style.height="10px";
		divAsistente.style.height="10px";
		aplicarEfecto(iframe,divAsistente,ancho,alto);
		*/

    }else{
        document.getElementById(strdiv).style.display='none';
        document.getElementById("iframeBugExplorerSelectAsistente").style.display='none';
    }
}
function aplicarEfecto(iframe,divAsistente,ancho,alto){
	var l_ancho = iframe.style.width;
	var l_alto = iframe.style.height;

	l_ancho = l_ancho.replace('px','');
	l_alto = l_alto.replace('px','');


	tmp_ancho = ancho.replace('px','');
	tmp_alto = alto.replace('px','');


	l_alto = Math.round(l_alto);
	l_ancho = Math.round(l_ancho);

	tmp_alto = Math.round(tmp_alto);
	tmp_ancho = Math.round(tmp_ancho);


	if(l_alto>= tmp_alto && l_ancho >= tmp_ancho)
		return true;

	if((tmp_alto - l_alto)> 100 )
		l_alto +=100;
	else
		l_alto +=tmp_alto - l_alto;

	if((tmp_ancho - l_ancho)> 100 )
		l_ancho +=100;
	else
		l_ancho +=tmp_ancho - l_ancho;

	iframe.style.width = l_ancho+"px";
	iframe.style.height = l_alto+"px";

	divAsistente.style.width = l_ancho+"px";
	divAsistente.style.height = l_alto+"px";

	setTimeout(function(){aplicarEfecto(iframe,divAsistente,ancho,alto)},1);

}
function ocultarDivs(){
//funcion que oculta los cuando algun parametro recibe el foco

	//"parametros" es una variable global que se crea al final del .pt con los Ids de los div de asistentes
	var parametros_local = parametros;
    //OCULTA EL IFRAME QUE SOLUCIONA UN BUG DEL EXPLORER QUE DIBUJA LOS CAMPOS SELECT POR SOBRE LOS DIV
    document.getElementById("iframeBugExplorerSelectAsistente").style.display='none';


    //OCULTA DIV DE LOS PARAMETROS CON ASISTENTE
    var asistentes = document.getElementsByName('divAsistente');
    var largo = asistentes.length;
    //var largo = parametros_local.length;
    for(var i=0;i<largo;i++){
        //document.getElementById("asistente_"+parametros_local[i]).style.display='none';
		asistentes[i].style.display='none';
    }
}
function fnAceptarAsistente(id){
    document.getElementById(id).value = document.getElementById('cadena_nombres_'+id).value;
	setValorParametro(id,document.getElementById(id).value);
    fnColapseAsistente(id);
	document.getElementById(id).focus();
}

// oculta o muestra un div deacuerdo a su estado
function fnColapse(strdiv){

  if(document.getElementById(strdiv).style.display=='none'){
       document.getElementById(strdiv).style.display='';
       document.getElementById('iframeBugExplorerSelectAsistente').style.display='';
  }else{
       document.getElementById(strdiv).style.display='none';
       document.getElementById('iframeBugExplorerSelectAsistente').style.display='none';
  }
}

//*******************************************************//
//    FUNCIONES PARA EL LISTADO DE RESULTADOS Y REFINAR  //
//*******************************************************//

function VerRefinar(){
	var divrefinar = document.getElementById('Refinar');
	divrefinar.style.display = 'block';
}


//*****************************************************//
//    FUNCIONES PARA GUARDAR Y RECUPERAR PARAMETROS    //
//*****************************************************//

function fncMostrarDivParametros(obj,laDiv,refinar){
	if (validandoCampo) return false;
	var frmGuardar = document.getElementById(laDiv);
	var pos = findPos(obj);
	var pos2 = findPos(obj.offsetParent);

	if(laDiv == 'div_guardarParametros'){
		document.getElementById('div_recuperarParametros').style.display = 'none';
	}
	if(laDiv == 'div_recuperarParametros'){
		document.getElementById('div_guardarParametros').style.display = 'none';
	}
	if(typeof(refinar)=='undefined'){
		var aRestar = obj.offsetParent.offsetWidth/2;
	}else{
		var aRestar = obj.offsetParent.offsetWidth+150;
	}

	frmGuardar.style.top = pos2[1]+50+'px';
	frmGuardar.style.left = pos2[0]-aRestar+'px';
	frmGuardar.style.display="block";
}



function fncMostrar(divId){
	var laDiv = document.getElementById(divId);
	if(laDiv.style.display == 'block'){
		laDiv.style.display = 'none';
	}else{
		  laDiv.style.display = 'block';
	}
}

function fncCerrarDiv(divId){
	var frmDiv = document.getElementById(divId);
	frmDiv.style.display = 'none';
}

function cambiaicono(obj){
	if (obj.className == 'boton_mas') {
				obj.className = 'boton_menos';
				obj.setAttribute("title","ocultar");
			}
			else {
				if (obj.className == 'boton_menos') {
					obj.className= 'boton_mas';
					obj.setAttribute("title","mostrar");
				}
			}
}



obtenerDatosGuardados = function (){
	document.getElementById('busquedasGuardadas').innerHTML = getProcesando();
	document.getElementById('datosGuardadas').innerHTML = getProcesando();

	this.success = function(req){
		var html = req.responseText;
		document.getElementById('busquedasGuardadas').innerHTML = html;
		document.getElementById('datosGuardadas').innerHTML = html;
		detenerProcesando();
	};

	var params = {
		method:'get',
		onSuccess: this.success,
		parameters: {}
	};
	this.request = new Ajax.Request(parent.urlServidor + '/../Consulta/datosGuardados', params);
};

ObtenerContenidoArbolTaxAvanzada = function (obj){

	if(typeof(obj)=='undefined'){
		obj = false;
	}else{
		obj.disabled=true;
	}

	document.getElementById('contenidoArbolTaxAvanzada').innerHTML = getProcesandoTax();
	var taxonomia = document.getElementById('taxonomia').value;
	var stringBusqueda = document.getElementById('stringBusqueda').value;

	this.success = function(req){
		var html = req.responseText;
		document.getElementById('contenidoArbolTaxAvanzada').innerHTML = html;
		document.getElementById('taxonomia').innerHTML = taxonomia;
		if(obj){
			obj.disabled=false;
		}
	};

	this.failure=function(){
		//document.getElementById('contenidoArbolTaxAvanzada').innerHTML = "... Ups!";
		document.getElementById('contenidoArbolTaxAvanzada').innerHTML = "";
		if(obj){
			obj.disabled=false;
		}
	};

	var params = {
		method:'get',
		onSuccess: this.success,
		onFailure: this.failure,
		parameters: {stringBusqueda:stringBusqueda,taxonomia:taxonomia}
	};
	this.request = new Ajax.Request(parent.urlServidor + '/../Consulta/clasificarTaxoAvanzada', params);
};

borrarParametroGuardado = function (objHml){
	var idParametro = objHml.getAttribute('id_guardado');
	document.getElementById('busquedasGuardadas').innerHTML = getProcesando();
	document.getElementById('datosGuardadas').innerHTML = getProcesando();

	this.success = function(req){
		var html = req.responseText;
		document.getElementById('busquedasGuardadas').innerHTML = html;
		document.getElementById('datosGuardadas').innerHTML = html;
		detenerProcesando();
	};

	var params = {
		method:'get',
		onSuccess: this.success,
		parameters: {}
	};
	this.request = new Ajax.Request(parent.urlServidor + '/../Consulta/datosGuardados?idParametro='+idParametro, params);
};

cargarParametroGuardado = function(objHtml){
	var idParametro = document.getElementById(objHtml).getAttribute('id_guardado');
	var idForm = 'Form_param_'+idParametro;
	/*
	 * Se realiza la traza
	 */
	RegistrarGuardarParametros("recuperar");

	var form = document.createElement("form");
	form.setAttribute('id',idForm);
	form.setAttribute('action',parent.urlServidor+'/../Consulta/buscador_avanzada');
	form.setAttribute('method','get');
	form.setAttribute('target','_parent');

	var InputidParametro = document.createElement("input");
	InputidParametro.setAttribute('type','hidden');
	InputidParametro.setAttribute('value',idParametro);
	InputidParametro.setAttribute('name','idParametro');
	form.appendChild(InputidParametro);

	document.body.appendChild(form);
	document.getElementById(idForm).submit();
};
var intervalProcesando = "stop";
function iniciarProcesando(name,inicio,limite, actual, accion){

	if(actual<limite && accion == "subiendo"){
		accion = "subiendo";
		actual = actual + 1;
	}else{
		if (actual > inicio) {
			accion = "bajando";
			actual = actual - 1;
		}else{
			accion = "subiendo";
			actual = actual + 1;
		}
	}
	try{
		var procesandos = document.getElementsByName(name);
		for (var i=0;i<procesandos.length;i++){
			p = procesandos[i];
			p.style.width=actual+"px";
		}
	}catch(e){}

	if (intervalProcesando != "stop") {
		setTimeout(function(){
			iniciarProcesando(name, inicio, limite, actual, accion);
		}, 1);
	}
}

function colpasar(id_obj,accion){
	var obj = document.getElementById(id_obj);
	if(obj){
		if (typeof(accion) == 'undefined') {
			if (obj.style.display == '') {
				obj.style.display = 'none';
			}
			else {
				obj.style.display = '';
			}
		}else{
			if (accion == 'ocultar') {
				obj.style.display = 'none';
			}
			else {
				obj.style.display = '';
			}
		}
	}
}
function detenerProcesando(){
	intervalProcesando = "stop";
}
function getProcesandoTax(){
	return "<div class='procesandoBlanco' name='procesando' style='width:150px'>Procesando... </div>";

}
function getProcesando(){
	intervalProcesando = "go";
	iniciarProcesando('procesando',100,300,100,"subiendo");
	return "<div class='procesandoAmarillo' name='procesando'>Procesando... </div>";

}
function esUsuarioConsulta(){
	var rolUsuario = getCookie("rolUser");
	rolUsuario = rolUsuario.replace("\"","");
	rolUsuario = rolUsuario.replace("\"","");

	var rolesUsuario = rolUsuario.split(",");
	var esConsultaoPublico = false;
	for (var _i_ = 0; _i_<rolesUsuario.length;_i_++){
		if (rolesUsuario[_i_] == 'CONSULTA'){
			return true;
		}
	}
	return false;
}
function esUsuarioAnonimoOConsulta(){
	if (esUsuarioConsulta() || esUsuarioAnonimo()){
		return true;
	}
	return false;
}

function esUsuarioAnonimo(){
	var rolUsuario = getCookie("rolUser");
	rolUsuario = rolUsuario.replace("\"","");
	rolUsuario = rolUsuario.replace("\"","");

	var rolesUsuario = rolUsuario.split(",");
	var esConsultaoPublico = false;
	for (var _i_ = 0; _i_<rolesUsuario.length;_i_++){
		if (rolesUsuario[_i_] == 'PUBLICO' || rolesUsuario[_i_] == ''){
			return true;
		}
	}
	return false;
}
var procesandoParametrosAGuardar = false;
function MostrarParametrosAGuardar(_stringBusqueda){
	if(procesandoParametrosAGuardar != false){
		return false;
	}
	if(esUsuarioAnonimo()){
		alert("Para guardar búsquedas debe ser un usuario registrado");
		return false;
	}
	procesandoParametrosAGuardar = true;
	document.getElementById('parametrosAGuardar').innerHTML = getProcesando();
	this.success = function(req){
		var html = req.responseText;
		document.getElementById('parametrosAGuardar').innerHTML = html;
		document.getElementById('stringBusquedaAGuardar').value = _stringBusqueda;
		detenerProcesando();
		procesandoParametrosAGuardar = false;
	};
	this.failure= function(){
		detenerProcesando();
		document.getElementById('parametrosAGuardar').innerHTML = " intentelo nuevamente...";
		procesandoParametrosAGuardar = false;
	};
	var params = {
		method:'post',
		onSuccess: this.success,
		onFailure: this.failure,
		parameters: {stringBusqueda:_stringBusqueda}
	};
	this.request = new parent.Ajax.Request(parent.urlServidor + '/../Consulta/datosAGuardar', params);
	return true;
}

function guardarParemetroBusqueda(){
	var stringBusqueda = document.getElementById('stringBusquedaAGuardar').value;
	var nombreAGuardar = document.getElementById('nombreBusquedaAGuardar').value;

	if(!stringBusqueda){
		alert('No se ha especificado los valores a guardar');
		return false;
	}

	if(!nombreAGuardar){
		alert('No se ha especificado nombre a guardar');
		return false;
	}
	/*
	 * Se realiza la traza
	 */
	RegistrarGuardarParametros();

	this.success = function(req){
		if (trim(req.responseText) != 'True\n') {
			alert(req.responseText);
			detenerProcesando();
		}
		else {
			detenerProcesando();
			obtenerDatosGuardados();
		}
	};

	var params = {
		method:'post',
		onSuccess: this.success,
		parameters: {nombreAGuardar:nombreAGuardar,stringBusqueda:stringBusqueda}
	};

	this.request = new Ajax.Request(parent.urlServidor + '/../Consulta/guardarDatos', params);
}

function goToResultadoAvanzada(){
	var form = document.getElementById("formHidden");
	form.action= parent.urlServidor+"/../Consulta/listaresultadosavanzada";
	form.submit();
}

function actualizarPreferencias(){
	/*
	 * Revisa como estan los campos de busqueda
	 * y los guarda en preferencias
	 */


	//Primero se revisa para los estados del texto y los parametros opcionales.
	var objFiltrosOpcionales = document.getElementById(div_filtrosOpcionales);
	var objInputs = objFiltrosOpcionales.getElementsByTagName("input");
	var objSelects = objFiltrosOpcionales.getElementsByTagName("select");
	var inputs = new Array();

	for (var i = 0; i < objSelects.length; i++) {
		inputs.push(objSelects[i]);
	}
	for (var i = 0; i < objInputs.length; i++) {
		inputs.push(objInputs[i]);
	}

	var cadena = "83,on,CONSULTADEFECTO||";
	for(var i=0;i<inputs.length;i++){
		var fecha_de = /^fecha_de_.+$/;
		var fecha_a = /^fecha_a_.+$/;
		var idDiv = inputs[i].id+"A";
		var idObj = inputs[i].id;

		if (fecha_a.test(inputs[i].id) || fecha_de.test(inputs[i].id)) {
			if (fecha_de.test(inputs[i].id)) {
				idDiv = inputs[i].id.substring("fecha_de_".length, inputs[i].id.length) + "A";
				idObj = inputs[i].id.substring("fecha_de_".length, inputs[i].id.length);
			}else{
				continue;
			}
		}
		var objDiv = document.getElementById(idDiv);

		if (objDiv) {
			if (objDiv.style.display != "none") {
				var obj = gbl_Parametros.get(idObj);
				if (obj.tipo == "text" || obj.tipo == "materia" || obj.tipo == "organismo" || obj.tipo == "select" || obj.tipo == "date") {
					cadena = cadena + obj.id + ",IZQUIERDA,DATOSINICIALES";
					cadena = cadena + "||"
				}
				else
					if ((obj.tipo == "check" || obj.tipo == "radio") && obj.valores[0] == "checked") {
						cadena = cadena + obj.id + ",on,ESTADOTEXTO";
						cadena = cadena + "||"
					}
			}
		}else{
			if(inputs[i].checked){
				cadena = cadena + obj.id + ",on,ESTADOTEXTO";
				cadena = cadena + "||"
			}
		}
	}

	//
	//A continuacion se revisa el Tipo de Version
	//modulo  = VERSIONES
	var ObjetosJsYKeys = getParametrosByAgrupador("tipo_de_version");
	for(var i=0;i<ObjetosJsYKeys[1].length;i++){
		var objHtml = document.getElementById(ObjetosJsYKeys[1][i]);
		if (!objHtml){alert("No esta funcionando bien tipo_de_version :S"); continue;}
		if (objHtml.checked){
			cadena = cadena +ObjetosJsYKeys[0][i].id+",on,VERSIONES||";
		}
	}

	//
	//A continuacion se revisa el Nivel de Busqueda
	//modulo  = NIVELACIERTO
	var ObjetosJsYKeys = getParametrosByAgrupador("nivel_de_busqueda");
	for(var i=0;i<ObjetosJsYKeys[1].length;i++){
		var objHtml = document.getElementById(ObjetosJsYKeys[1][i]);
		if (!objHtml){alert("No esta funcionando bien nivel_de_busqueda :S"); continue;}
		if (objHtml.checked){
			cadena = cadena +ObjetosJsYKeys[0][i].id+",on,NIVELACIERTO||";
		}
	}

	//
	//A continuacion se revisa el Tipo de Parte
	//modulo  = PARTE
	var tiposParteDict = eval("({'16':12,'10':15,'11':51,'12':52})");
	var obj = document.getElementById(tipo_parte);
	var ObjetosOptions = obj.options;
	for(var i=0;i<ObjetosOptions.length;i++){
		var opt = ObjetosOptions[i] ;
		if (!opt){alert("No esta funcionando bien PARTE :S"); continue;}
		if (opt.selected && opt.value != ""){
			cadena = cadena +tiposParteDict[opt.value]+",on,PARTE||";
		}
	}


	//
	//A continuacion se revisa el Tipo Estructura Funcional
	//modulo  = ESTRUCTURA
	var tipoEstructurasDict = eval("({'1':14,'0':86,'2':87,'3':88,'4':89,'5':90,'7':91,'8':93,'13':116,'14':124,'15':125})");
	var obj = document.getElementById("tipo_estructura_funcional");
	var ObjetosOptions = obj.options;
	for(var i=0;i<ObjetosOptions.length;i++){
		var opt = ObjetosOptions[i] ;
		if (!opt){alert("No esta funcionando bien ESTRUCTURA :S"); continue;}
		if (opt.selected && opt.value != ""){
			cadena = cadena +tipoEstructurasDict[opt.value]+",on,ESTRUCTURA||";
		}
	}

	goToActualizaPreferencias(cadena);
}

function getParametrosByAgrupador(agrupador){
	var keys = gbl_Parametros.keys();
	var parametros = new Array();
	var keysToSend = new Array();
	for (var i = 0; i < keys.length; i++) {
		var obj = gbl_Parametros.get(keys[i]);
		if (!obj) {continue;}
		if (obj.agrupador == agrupador) {
			parametros.push(obj);
			keysToSend.push(keys[i]);
		}
	}
	return [parametros,keysToSend];
}
function goToActualizaPreferencias(cadena){
	var divMensaje = document.getElementById("divMensaje");
	divMensaje.style.display="";

	var ns = (navigator.appName.indexOf("Netscape") != -1);
	var pY = ns ? pageYOffset : window.document.documentElement.scrollTop;
	var pX = ns ? pageXOffset : window.document.documentElement.scrollLeft;

	var posX = pX + 300;
	var posY = pY + 200;
	divMensaje.style.left = posX + "px";
	divMensaje.style.top = posY + "px";

	divMensaje.innerHTML=" Actualizando Preferencias...";
	this.success = function(req){
		divMensaje.innerHTML=" Preferencias Actualizadas";
		setTimeout(function(){divMensaje.style.display="none";},2000);
	};
	this.failure= function(){
		divMensaje.innerHTML=" No se ha podido actualizar las preferencias, favor intentar nuevamente";
		setTimeout(function(){divMensaje.style.display="none";},2000);
	};
	var params = {
		method:'post',
		onSuccess: this.success,
		parameters: {prefnew: cadena, tipoPref: "avanzada"}
	};
	this.request = new Ajax.Request(parent.urlServidor + '/../Consulta/actualizaPreferenciasAvanzada', params);
}
function ocultarSeleccionFiltro(idFiltro){
	var filtro = document.getElementById(idFiltro);
	try {
		filtro.style.display = "none";
	}catch(e){}
}

function validarCodigo(){
	var selTipo = document.getElementById("tipo");
	var selCodigos = document.getElementById("selCodigos");
	var trCodigos = document.getElementById("trCodigos");
	
	var selConstitucion = document.getElementById("selConstitucion");
	var trConstitucion = document.getElementById("trConstitucion");
	
	if(parseInt(selTipo.value)==10){
		selCodigos.disabled = false;
		trCodigos.style.display = "block";
		try{
			var nroBCN = document.getElementById("numero_bcn");
			nroBCN.value = "";	
		}
		catch(e){}
		
	}
	else{
		selCodigos.disabled = true;
		trCodigos.style.display = "none";
	}
	//alert(selTipo.value);
	
	
	if(parseInt(selTipo.value)==30){
		selConstitucion.disabled = false;
		trConstitucion.style.display = "block";
		try{
			var nroBCN = document.getElementById("numero_bcn");
			nroBCN.value = "";	
		}
		catch(e){}
		
	}
	else{
		selConstitucion.disabled = true;
		trConstitucion.style.display = "none";
	}

}
