function MostrarConsejos(){
    $("#cont_consejos").toggle();
    if($("#cont_consejos:visible").length == 0){
        $("#titulo_refinar_busqueda").css({
            backgroundColor: "#FFF",
            paddingLeft: "20px",
            paddingTop: "3px",
            backgroundPosition: "0px 0px"
        });
        OcultarContenidoConsejos();
    }else{
        $("#titulo_refinar_busqueda").css({
            backgroundColor: "#CCCC99",
            paddingLeft: "25px",
            paddingTop: "5px",
            backgroundPosition: "5px 2px"
        });
    }
}

function CrearContenedorAccionesResultados(IdApartado){

	$("#cont_acciones_resultados").remove();
	
	$("#" + IdApartado).after(function(){
		var html;
		html = '<div id="cont_acciones_resultados">';
		html = html + '	<div class="b_icono_cerrar">'
		html = html + '		<a onclick="javascript:OcultarContenidoConsejos();" href="javascript:void(null);">cerrar</a>'
		html = html + '	</div>'
		html = html + '</div>'
		return html;
	});
}

function MostrarConsejosConceptos(IdBusqueda, Todos){

	if(($("#consejo_refinar_conceptos_rel:visible").length > 0) && (Todos == 0)){
		OcultarContenidoConsejos();
		return;
	}
	
	CrearContenedorAccionesResultados("lnk_consejos_conceptos");
	
	$.ajax({
		type:		"GET",
		cache:		false,
		url:		"/servicios_n/bbdd/buscar_documentos/ajax_consejos.asp?modo=0&id_busqueda=" + IdBusqueda + "&todos=" + Todos,
		async:		true,
		beforeSend: function(){
			$("#cont_acciones_resultados>*:not('.b_icono_cerrar')").remove();
			$("#cont_acciones_resultados").append("<div id='img_cargando'><img src='/comunes/imagenes/spinner.gif'>&nbsp;Cargando...</div>");
			$("#cont_acciones_resultados").show();
		},
		success: function(codigo){
			$("#cont_acciones_resultados>#img_cargando").remove();
			$("#cont_acciones_resultados").append(codigo);
			if($("#consejo_refinar_conceptos_rel .lnkConceptoRelFiltro").length > 0)
				$("#cont_consejos_tipo_filtro").show();
		},
		error:	function(){
			OcultarContenidoConsejos();
			alert("Error cargando los consejos.");
		}
	});
}

function MostrarConsejosLegislacion(IdBusqueda){

	if($("#consejo_refinar_legis_rel:visible").length > 0){
		OcultarContenidoConsejos();
		return;
	}
	
	CrearContenedorAccionesResultados("lnk_consejos_legislacion");
	
	$.ajax({
		type:		"GET",
		cache:		false,
		url:		"/servicios_n/bbdd/buscar_documentos/ajax_consejos.asp?modo=1&id_busqueda=" + IdBusqueda,
		async:		true,
		beforeSend: function(){
			$("#cont_acciones_resultados>*:not('.b_icono_cerrar')").remove();
			$("#cont_acciones_resultados").append("<div id='img_cargando'><img src='/comunes/imagenes/spinner.gif'>&nbsp;Cargando...</div>");
			$("#cont_acciones_resultados").show();
		},
		success: function(codigo){
			$("#cont_acciones_resultados>#img_cargando").remove();
			$("#cont_acciones_resultados").append(codigo);
			if($("#consejo_refinar_legis_rel .lnkLegisRelFiltro").length > 0)
				$("#cont_consejos_tipo_filtro").show();
		},
		error:	function(){
			OcultarContenidoConsejos();
			alert("Error cargando los consejos.");
		}
	});
}

function MostrarConsejosOtros(IdBusqueda){

	if($("#consejo_refinar_otros:visible").length > 0){
		OcultarContenidoConsejos();
		return;
	}
	
	CrearContenedorAccionesResultados("lnk_consejos_otros");

	$.ajax({
		type:		"GET",
		cache:		false,
		url:		"/servicios_n/bbdd/buscar_documentos/ajax_consejos.asp?modo=2&id_busqueda=" + IdBusqueda,
		async:		true,
		beforeSend: function(){
			$("#cont_acciones_resultados>*:not('.b_icono_cerrar')").remove();
			$("#cont_acciones_resultados").append("<div id='img_cargando'><img src='/comunes/imagenes/spinner.gif'>&nbsp;Cargando...</div>");
			$("#cont_acciones_resultados").show();
		},
		success: function(codigo){
			$("#cont_acciones_resultados>#img_cargando").remove();
			$("#cont_acciones_resultados").append(codigo);
		},
		error:	function(){
			OcultarContenidoConsejos();
			alert("Error cargando los consejos.");
		}
	});
}

function MostrarConsejosRango(IdBusqueda){

	if($("#consejo_refinar_rango:visible").length > 0){
		OcultarContenidoConsejos();
		return;
	}
	
	CrearContenedorAccionesResultados("lnk_consejos_rango");

	$.ajax({
		type:		"GET",
		cache:		false,
		url:		"/servicios_n/bbdd/buscar_documentos/ajax_consejos.asp?modo=3&id_busqueda=" + IdBusqueda,
		async:		true,
		beforeSend: function(){
			$("#cont_acciones_resultados>*:not('.b_icono_cerrar')").remove();
			$("#cont_acciones_resultados").append("<div id='img_cargando'><img src='/comunes/imagenes/spinner.gif'>&nbsp;Cargando...</div>");
			$("#cont_acciones_resultados").show();
		},
		success: function(codigo){
			$("#cont_acciones_resultados>#img_cargando").remove();
			$("#cont_acciones_resultados").append(codigo);
		},
		error:	function(){
			OcultarContenidoConsejos();
			alert("Error cargando los rangos.");
		}
	});
}

function MostrarConsejosAmbito(IdBusqueda){

	if($("#consejo_refinar_ambito:visible").length > 0){
		OcultarContenidoConsejos();
		return;
	}
	
	CrearContenedorAccionesResultados("lnk_consejos_ambito");
	
	$.ajax({
		type:		"GET",
		cache:		false,
		url:		"/servicios_n/bbdd/buscar_documentos/ajax_consejos.asp?modo=4&id_busqueda=" + IdBusqueda,
		async:		true,
		beforeSend: function(){
			$("#cont_acciones_resultados>*:not('.b_icono_cerrar')").remove();
			$("#cont_acciones_resultados").append("<div id='img_cargando'><img src='/comunes/imagenes/spinner.gif'>&nbsp;Cargando...</div>");
			$("#cont_acciones_resultados").show();
		},
		success: function(codigo){
			$("#cont_acciones_resultados>#img_cargando").remove();
			$("#cont_acciones_resultados").append(codigo);
		},
		error:	function(){
			OcultarContenidoConsejos();
			alert("Error cargando los &aacute;mbitos.");
		}
	});
}

function MostrarConsejosMateriaSolo(IdBusqueda){

	if($("#consejo_refinar_materia_solo:visible").length > 0){
		OcultarContenidoConsejos();
		return;
	}
	
	CrearContenedorAccionesResultados("lnk_consejos_materia");
	
	$.ajax({
		type:		"GET",
		cache:		false,
		url:		"/servicios_n/bbdd/buscar_documentos/ajax_consejos.asp?modo=5&id_busqueda=" + IdBusqueda,
		async:		true,
		beforeSend: function(){
			$("#cont_acciones_resultados>*:not('.b_icono_cerrar')").remove();
			$("#cont_acciones_resultados").append("<div id='img_cargando'><img src='/comunes/imagenes/spinner.gif'>&nbsp;Cargando...</div>");
			$("#cont_acciones_resultados").show();
		},
		success: function(codigo){
			$("#cont_acciones_resultados>#img_cargando").remove();
			$("#cont_acciones_resultados").append(codigo);
		},
		error:	function(){
			OcultarContenidoConsejos();
			alert("Error cargando las materias.");
		}
	});
}

function MostrarEdicionesOnline(IdBusqueda){

	if($("#consejo_ediciones_online:visible").length > 0){
		OcultarContenidoConsejos();
		return;
	}
	
	$.ajax({
		type:		"GET",
		cache:		false,
		url:		"/servicios_n/bbdd/buscar_documentos/ajax_ediciones_online.asp?id_busqueda=" + IdBusqueda,
		async:		true,
		beforeSend: function(){
			$("#cont_acciones_resultados>*:not('.b_icono_cerrar')").remove();
			$("#cont_acciones_resultados").append("<div id='img_cargando'><img src='/comunes/imagenes/spinner.gif'>&nbsp;Cargando...</div>");
			$("#cont_acciones_resultados").show();
		},
		success: function(codigo){
			$("#cont_acciones_resultados>#img_cargando").remove();
			$("#cont_acciones_resultados").append(codigo);
		},
		error:	function(){
			OcultarContenidoConsejos();
			alert("Error cargando ediciones online relacionadas.");
		}
	});
}

function OcultarContenidoConsejos(){
	$("#cont_acciones_resultados").hide();
	$("#cont_acciones_resultados>*:not('.b_icono_cerrar')").remove();
	$(".lnk_consejos>a").removeClass("naranja negrita sin_subrayar");
}

function FormatearResultados(IdBusqueda, ContenedorResultados){

	IdBusqueda = IdBusqueda || "";
	ContenedorResultados = ContenedorResultados || "#resultados_bbdd";
	
	ContenedorResultados = ContenedorResultados + " ";
	
	var TextoDestacar = "";

	if(ContenedorResultados == "#resultados_bbdd "){
		$(".lnk_consejos>a").click(function(){
			if($(this).hasClass("conceptos"))
				MostrarConsejosConceptos($(this).attr("rel"), 0);
			
			if($(this).hasClass("legislacion"))
				MostrarConsejosLegislacion($(this).attr("rel"));
				
			if($(this).hasClass("otros"))
				MostrarConsejosOtros($(this).attr("rel"));

			if($(this).hasClass("rango"))
				MostrarConsejosRango($(this).attr("rel"));

			if($(this).hasClass("ambito"))
				MostrarConsejosAmbito($(this).attr("rel"));

			if($(this).hasClass("materia"))
				MostrarConsejosMateriaSolo($(this).attr("rel"));

			$(".lnk_consejos>a").removeClass("naranja negrita sin_subrayar");
			if($("#cont_acciones_resultados:visible").length > 0)
				$(this).addClass("naranja negrita sin_subrayar");
		});
	}

	$(ContenedorResultados + ".doc_descripcion").click(function(){
		if(this.id.substr(0, 7).toUpperCase() == "SP/LEG/"){
			var IdB = IdBusqueda;
			var Ref = this.id;
			var re = new RegExp("/","ig");
			var id_previa = "cont_" + Ref.replace(re, "_");
			if($("#" + id_previa).length == 0){
				if(IdBusqueda == ""){
					$(this).parent().append("<div class='tree' id='" + id_previa + "'></div>");
					CargarNorma(this.id, id_previa);
				}else{
					var id_ul_padre_previa = $(this).parents("ul").attr("id");
					if(id_ul_padre_previa != "")
						id_ul_padre_previa = "#" + id_ul_padre_previa;
					$(id_ul_padre_previa + " .previa_documento").remove();

					$(this).parent().append("<div id='" + id_previa + "' class='previa_documento'><\/div>");
					ComponerResultadosLeg(this.id, IdBusqueda, id_previa);
				}
			}else{
				$("#" + id_previa).stop();
				$("#" + id_previa).slideUp("normal", function(){
					$("#" + id_previa).remove();
				});
			}
		}else
			if($(this).attr("tipo") == 'con_hijos'){
				VerDocumentosDescendientes(this);
			}else{
				if(this.id.substr(0, 8).toUpperCase() == "SP/FORM/")
					VerDocumento(this.id);
				else
					VerDocumentoInline(this);
				
			}
	});

	$(ContenedorResultados + ".doc_titulo").click(function(){
		$(this).prev("span.doc_descripcion").click();
	});
	
	if((ContenedorResultados == "#resultados_bbdd ") || (ContenedorResultados == "#resultados_bbdd_modal ")){
		if(ContenedorResultados == "#resultados_bbdd "){
			$("#resumen_criterios_busqueda>#id_busqueda_actual").val(IdBusqueda);
			$("#info_interna_id_busqueda").html(IdBusqueda);
		}
		
		$("#lst_resultado_bbdd>li>input:checkbox.chk_seleccionar_documento").hide();
		$("#lst_resultado_bbdd>li>input:checkbox.chk_seleccionar_documento").checkbox({cls:"jquery-safari-checkbox"});

		$("#lst_resultado_bbdd>li>input:checkbox.chk_seleccionar_documento").click(function(){
			SeleccionarDocumentoEnListado($(this).nextAll(".doc_descripcion").attr("id"));
		});
	
		if(ContenedorResultados == "#resultados_bbdd "){
			DestacarTextoBuscado(TextoUsadoEnBusqueda(IdBusqueda), "ul#lst_resultado_bbdd .doc_titulo", 0);
			IndicarTextoEncontradoEnConceptos();
		}
	}
	
	if(ContenedorResultados != "#resultados_bbdd_modal "){	
		$("img.imgCambiarFotoAleatoria").click(function(){
			RenovarImagenAleatoria($(this).next("img.FotoAleatoria"));
		});
	}
	
	$(ContenedorResultados).show();
}

function ListarResultados(IdBusqueda, TipoOrden, Pagina, TipoFiltro, ValorFiltro){

	if(typeof IdBusqueda == "undefined"){
		IdBusqueda = ""
	}
	if(typeof TipoOrden == "undefined"){
		TipoOrden = ""
	}
	if(typeof Pagina == "undefined"){
		Pagina = ""
	}
	if(typeof TipoFiltro == "undefined"){
		TipoFiltro = ""
	}
	if(typeof ValorFiltro == "undefined"){
		ValorFiltro = ""
	}

	VaciarCriteriosBuscador();

	if(($("#cont_consejos_tipo_filtro>input[name='rd_tipo_filtro']:checked").val() == "1") && ($("#cont_consejos_tipo_filtro>input[name='rd_tipo_filtro']").length > 0)){
		switch(TipoFiltro){
			case 2:
				$("#cuadro_mando>input#id_concepto").val(ValorFiltro);
				BuscarDocsBBDD();
				break;
			case 4:
				$("#cuadro_mando>input#referencia_art_busq_nueva").val(ValorFiltro);
				BuscarDocsBBDD();
				break;
		}
	}else{		
		$.ajax({
			type:		"GET",		
			cache:		false,
			url:		"/servicios_n/bbdd/buscar_documentos/ajax_resultados.asp?id_busqueda=" + IdBusqueda + "&tipo_filtro=" + TipoFiltro + "&valor_filtro=" + escape(ValorFiltro) + "&tipo_orden=" + TipoOrden + "&pagina=" + Pagina,
			async:		false,						
			beforeSend: function(){
				if($("div#sb-container:visible").length > 0){
					$("#resultados_bbdd_modal").empty();
					$("#resultados_bbdd_modal").append("<div id='img_progreso_busqueda'><img src='/comunes/imagenes/spinner.gif'>&nbsp;Buscando...</div>");
				}else{
					$("#criterios_busqueda").after("<div id='img_progreso_busqueda'><img src='/comunes/imagenes/spinner.gif'>&nbsp;Buscando...</div>");
					
					if($("#cont_consejos:visible").length > 0){
						MostrarConsejos(); //para ocultarlos
					}
				}
			},
			success: function(codigo){
				var IdBusquedaNueva = codigo.substr(0, codigo.indexOf("@", 0));

				codigo = codigo.substr(codigo.indexOf("@", 0) + 1);
				
				if($("div#sb-container:visible").length > 0){
					$("#resultados_bbdd_modal").html(codigo);
					FormatearResultados(IdBusquedaNueva, "#resultados_bbdd_modal");
				}else{

					if(TipoFiltro == "6"){
						//$("#resultados_bbdd").remove();
						//$("#cont_carpetas").after('<div id="resultados_bbdd"></div>');
					}else{
						$("#criterios_busqueda ~ div").not("#contenido_inicio").remove();
						$("#criterios_busqueda").after('<div id="resultados_bbdd"></div>');
					}

					$("#resultados_bbdd").html(codigo);
				
					if(TipoFiltro == "5")
						$("#resumen_criterios_busqueda").html("Documentos seleccionados");
					else
						AjustarCriterioResumen(IdBusquedaNueva);

					FormatearResultados(IdBusquedaNueva, "#resultados_bbdd");
				}
				
				
				$("#txtFiltroTexto").keyup(function(event){
					if(event.keyCode =="13"){
						event.preventDefault();
						RefinarPorTexto(IdBusquedaNueva, $('#txtFiltroTexto').val());
					}
				});
				$("#txtFiltroTexto").next("img").click(function(){
					RefinarPorTexto(IdBusquedaNueva, $('#txtFiltroTexto').val());
				});				
			},
			error:		function(XMLHttpRequest, textStatus, errorThrown){
				//$("#img_progreso_busqueda").remove();
				$("#lista_resultados").empty();
				if(XMLHttpRequest.status >= 800)
					alert(XMLHttpRequest.statusText);
				else
					alert("Se ha producido un error.");
			}
		});
	}
}

function SeleccionarDocumentoEnListado(ref){

	var accion, msg;
	var id_previa;
	var re = new RegExp("/","ig");
	var refTratada;
	
	refTratada = ref.replace(re, "_");
	id_previa = "prev_doc_" + refTratada;
	
	if($("#chkSelDoc_" + refTratada).attr("checked")){
		accion = "0";
		msg = "Error deseleccionando el documento.";
	}else{
		accion = "1";
		msg = "Error seleccionando el documento.";
	}

	$.ajax({
		type: "GET", 
		url: "/visor/ajax_seleccion_documentos.asp",
		data: "referencia=" + ref + "&accion=" + accion,
		cache: false,
		async: true,
		success: function(html){
			if(accion == "0")
				$("#" + id_previa + " #chk_seleccionar_documento").attr("checked", "");
			else
				if(accion = "1")
					$("#" + id_previa + " #chk_seleccionar_documento").attr("checked", "checked");
			return true;
		},
		error: function(){
			alert(msg);
			return false;
		}
	});
}


function RefinarPorTexto(IdBusqueda, Texto){

	if(trim(Texto) != ""){
		var r = ValidarTextoBusqueda($("#cont_filtro_texto>input#txtFiltroTexto").val());

		if(r.palabrasNoIgnoradas == ""){
			$("#cont_filtro_texto>input#txtFiltroTexto").val("");
		}else{
			$("#cont_filtro_texto>input#txtFiltroTexto").val(r.palabrasNoIgnoradas);

			ListarResultados(IdBusqueda, 0, 0, 3, r.palabrasNoIgnoradas);
		}
	}
}

function AjustarCriterioResumen(IdBusqueda){

	$("#resumen_criterios_busqueda").empty();

	$.ajax({
		cache:		false,
		async:		false,
		type:		"GET",
		url:		"/servicios_n/bbdd/criterios/ajax_detalles_busqueda.asp",
		data:		"id_busqueda=" + IdBusqueda,
		success:	function(html){
			$("#resumen_criterios_busqueda").html(html);
		},
		error:		function(){
			alert("Error recuperando los criterios de la búsqueda.");
		}
	});
	
	$("#criterios_busqueda").show();

}

function IndicarTextoEncontradoEnConceptos(){

	$("span.rank9000:not('.vigencia', ':has(.highlight1, .nota_resultados)')").append("<span class='nota_resultados'>&nbsp;[texto encontrado en conceptos]</span>");
}

function CargarBusqueda(IdBusqueda){

	$("#contenido_inicio").remove();

	var jsonObj = jsonCriteriosBusqueda(IdBusqueda);
	BuscadorAjustarServicio(jsonObj.TipoServicio, jsonObj.lbTipoServicio, false);
	BuscadorAjustarMateria(jsonObj.lbMateria, jsonObj.abc, false);
	
	ListarResultados(IdBusqueda);
	if(jsonObj.ReferenciaSP != ""){
		$(".cont_imagen_resultados").hide();
		if(jsonObj.ReferenciaSP.substr(0, 8).toUpperCase() == "SP/FORM/" ){
			VerDocumento(jsonObj.ReferenciaSP);
		}else{
			$("#lst_resultado_bbdd>li>span.doc_descripcion:first").click();
		}
	}
	
	OcultarCriteriosAvanzados();
	
}

/*************************************************************************************************/

function TextoUsadoEnBusqueda(IdBusqueda){

	if(typeof IdBusqueda == "undefined"){
		IdBusqueda = ""
	}
	
	var Texto  = "";

	if(IdBusqueda != ""){
		$.ajax({
			cache:		false,
			async:		false,
			type:		"GET",
			url:		"/servicios_n/bbdd/criterios/ajax_texto_buscado.asp",
			data:		"id_busqueda=" + IdBusqueda,
			success:	function(html){
				Texto = html;
			},
			error:		function(){
				alert("Error recuperando el texto usado en la búsqueda.");
				Texto = "";
			}
		});
	}else{
		Texto = "";
	}
	
	return Texto;
}
/*************************************************************************************************/

