
function CargarCriteriosBuscarNormas(){

	if($("#buscador_normas_criterios").html() == ""){
		$.ajax({
			type: "GET", 
			url: "/servicios_n/leg/ajax_criterios_normas.asp?abc=" + $("#cuadro_mando>input#abc").val(), 
			cache: false,
			async: false,
			beforeSend: function(){
				$("#buscador_normas_criterios").html("<img src='/comunes/imagenes/spinner.gif'/>&nbsp;Cargando...");
			},
			success: function(html){
				$("#buscador_normas_criterios").html(html);
			},
			error: function(){
				alert("Error cargando los criterios.");
			}
		});
	}else{
		$("#buscador_normas_criterios").empty();
	}
	
}

function CargarListadoLegislacion(){

	var NodoRaiz = "<ul id='listado_legislacion'><li id='nodo_raiz' class='root'>Materias<\/li><\/ul>";

	$.ajax({
		type: "GET", 
		url: "/servicios_n/leg/ajax_listado.asp?abc=" + $("#cuadro_mando>input#abc").val(), 
		cache: false,
		async: true,
		beforeSend: function(){
			$("#criterios_busqueda").after('<div id="img_progreso_busqueda"></div>');
			$("#img_progreso_busqueda").html("<img src='/comunes/imagenes/spinner.gif'>&nbsp;Cargando...");
			$("#contenido_leg>#arbol_legislacion").empty();
			//$("#criterios_busqueda").hide();
		},
		success: function(html){
			$("#criterios_busqueda ~ div").not("#contenido_inicio").remove();
			$("#criterios_busqueda").after('<div id="contenido_leg"><div class="titulo_seccion"><span>Legislación</span></div><div id="arbol_legislacion" class="tree sin_borde con_scroll"></div></div>');
			
			$("#arbol_legislacion").html(NodoRaiz);
			$("#nodo_raiz").append(html);
			$("#arbol_legislacion").SimpleTree({
				animate: true, 
				autoclose: false,
				click: function(el){ 
					if($(el).attr("tipo") == 'con_hijos'){
						if($(el).attr("id").substr(0, 7) != "MATERIA")
							VerDocumentosDescendientes(el);
					}else{
						if($(el).attr("tipo") == 'InfoOficial'){
							$(el).next().toggle();
						}else{
							VerDocumentoInline(el);
						}
					}
				}
			});
			$("#resumen_criterios_busqueda").empty();
			$("#img_progreso_busqueda").remove();
		},
		error: function(){
			$("#img_progreso_busqueda").remove();
			alert("Error cargando la rama inicial del árbol.");
		}
	});
}

function CargarNorma(Ref, idContenedor){

	var NodoRaiz;
	var jsonCabecera = DatosCabeceraNorma(Ref);

	var ref_tratada = Ref;
	var re = new RegExp("/","ig");
	var ref_tratada = ref_tratada.replace(re, "_");
	
	if(jsonCabecera){
		NodoRaiz = "<ul id='listado_norma_" + ref_tratada + "'><li id='nodo_raiz' class='root'><span id='" + Ref + "' onclick='javascript:VerDocumentosDescendientes(this);'>" + unescape(jsonCabecera.NOMBRE_OFICIAL) + "<\/span><\/li><\/ul>";
	}else{
		alert("Error cargando el nombre de la norma.");
	}

	$.ajax({
		type: "GET", 
		url: "/servicios_n/leg/ajax_listado.asp?id_padre=" + Ref, 
		cache: false,
		async: true,
		beforeSend: function(){
			$("#" + idContenedor).html("<img src='/comunes/imagenes/spinner.gif'/>&nbsp;Cargando...");
		},
		success: function(html){
			$("#" + idContenedor).html(NodoRaiz);
			$("#" + idContenedor + ">ul>li").append(html);
			$("#" + idContenedor).SimpleTree({
				animate: true, 
				autoclose: false,
				click: function(el){ 
					if($(el).attr("tipo") == 'con_hijos'){
						//$(el).prev().trigger('click');
						VerDocumentosDescendientes(el);
					}else{
						if($(el).attr("tipo") == 'InfoOficial'){
							$(el).next().toggle();
						}else{
							VerDocumentoInline(el);
						}
					}
				}
			});
			$("#nodo_raiz>span").css("cursor", "pointer");
			//$("#" + idContenedor).slideDown();
		},
		error: function(){
			$("#" + idContenedor).empty();
			alert("Error cargando la rama inicial del árbol.");
		}
	});
}

function BuscarLegPorRef(Ref){

	var ref_tratada = Ref;
	var re = new RegExp("/","ig");
	var ref_tratada = ref_tratada.replace(re, "_");

	var NodoRaiz = "<ul id='listado_norma_" + ref_tratada + "'><li id='nodo_raiz_bn' class='root'>Resultados<\/li><\/ul>";

	$.ajax({
		async:		true,
		type:		"GET",		
		url:		"/servicios_n/leg/ajax_buscar_ref.asp", 
		cache:		false,
		data:		"referencia=" + Ref,
		beforeSend: function(){
			$("#criterios_busqueda").after('<div id="img_progreso_busqueda"></div>');
			$("#img_progreso_busqueda").html("<img src='/comunes/imagenes/spinner.gif'>&nbsp;Cargando...");
			$("#contenido_leg>#arbol_legislacion").empty();
			//$("#criterios_busqueda").hide();
		},
		success:	function(html){
			$("#criterios_busqueda ~ div").not("#contenido_inicio").remove();
			$("#criterios_busqueda").after('<div id="contenido_leg"><div id="arbol_legislacion" class="tree sin_borde con_scroll"></div></div>');

			$("#arbol_legislacion").html(NodoRaiz);
			$("#nodo_raiz_bn").append(html);
			$("#arbol_legislacion").SimpleTree({
				animate: true, 
				autoclose: false,
				click: function(el){ 
					if($(el).attr("tipo") == 'con_hijos'){
						//$(el).prev().trigger('click');
						VerDocumentosDescendientes(el);
					}else{
						if($(el).attr("tipo") == 'InfoOficial'){
							$(el).next().toggle();
						}else{
							VerDocumentoInline(el);
						}
					}
				}
			});
			VaciarCriteriosBuscador();
			OcultarCriteriosAvanzados();
			//$("#legislacion_buscar_texto").val(vTexto);
			$("#img_progreso_busqueda").remove();
		},
		error:		function(XMLHttpRequest, textStatus, errorThrown){
			$("#img_progreso_busqueda").remove();
			if(XMLHttpRequest.status >= 800)
				alert(XMLHttpRequest.statusText);
			else
				alert("Error en la búsqueda.");
		}
	});
}

function BuscarLeg(){

	var NodoRaiz = "<ul><li id='nodo_raiz_bn' class='root'>Resultados<\/li><\/ul>";

	var texto_en_titulo = escape($("#cuadro_mando>input#txt_busqueda_en_norma").val());
	var numero_norma = escape($("#cuadro_mando>input#numero_norma").val());
	var idioma = escape($("#cuadro_mando>input#idioma").val());
	var organo = escape($("#cuadro_mando>input#organo").val());
	var rango = escape($("#cuadro_mando>input#rango").val());
	var fuente_publi = escape($("#cuadro_mando>input#fuente_publi").val());
	var ambito = escape($("#cuadro_mando>input#ambito").val());
	var fecha_norma = escape($("#cuadro_mando>input#fecha_norma").val());
	var fecha_publi = escape($("#cuadro_mando>input#fecha_publi").val());
	var fecha_vigor = escape($("#cuadro_mando>input#fecha_vigor").val());
	var legislacion_buscar_articulo = escape($("#cuadro_mando>input#txt_num_articulo").val());
	var legislacion_buscar_texto = escape($("#cuadro_mando>input#txt_busqueda").val());

	if(texto_en_titulo != "" || numero_norma != "" || idioma != "" || organo != "" || rango != "" || fuente_publi != "" || ambito != "" || fecha_norma != "" || fecha_publi != "" || fecha_vigor != "" || legislacion_buscar_articulo != "" || legislacion_buscar_texto != ""){

		var abc = $("#cuadro_mando>input#abc").val();

		$.ajax({
			async:		true,
			type:		"GET",		
			url:		"/servicios_n/leg/ajax_buscar.asp", 
			cache:		false,
			data:		"abc=" + abc + "&texto_en_titulo=" + texto_en_titulo + "&" +
						"numero_norma=" + numero_norma + "&" +
						"idioma=" + idioma + "&" +
						"organo=" + organo + "&" +
						"rango=" + rango + "&" +
						"fuente_publi=" + fuente_publi + "&" +
						"ambito=" + ambito + "&" +
						"fecha_norma=" + fecha_norma + "&" +
						"fecha_publi=" + fecha_publi + "&" +
						"fecha_vigor=" + fecha_vigor + "&" +
						"legislacion_buscar_articulo=" + legislacion_buscar_articulo + "&" +
						"legislacion_buscar_texto=" + legislacion_buscar_texto,
			beforeSend: function(){
				$("#criterios_busqueda").after('<div id="img_progreso_busqueda"></div>');
				$("#img_progreso_busqueda").html("<img src='/comunes/imagenes/spinner.gif'>&nbsp;Buscando...");
				$("#contenido_leg").empty();
				$("#resultados_bbdd").empty();
			},
			success:	function(html){
				IdBusqueda = html.substr(0, html.indexOf("@", 0));
				$("#info_interna_id_busqueda").html(IdBusqueda);
					
				html = html.substr(html.indexOf("@", 0) + 1);
					
				VaciarCriteriosBuscador();
					
				AjustarCriterioResumen(IdBusqueda);

				$("#criterios_busqueda ~ div").remove();
				if(html != ""){
					$("#criterios_busqueda").after('<div id="resultados_bbdd"></div>');
					$("#resultados_bbdd").html(html);

					FormatearResultados(IdBusqueda);
					$("#txtFiltroTexto").keyup(function(event){
						if(event.keyCode =="13"){
							event.preventDefault();
							RefinarPorTexto(IdBusqueda, $('#txtFiltroTexto').val());
						}
					});
				}else{
//					$("#criterios_busqueda").after('<div id="lnk_arbol_legislacion"><a href="javascript:void(null);" onclick="CargarListadoLegislacion();">Pulse aqu&iacute; para volver al &aacute;rbol de legislaci&oacute;n</a></div>');
//					$("#lnk_arbol_legislacion").after('<div id="resultados_bbdd"></div>');
					$("#lnk_arbol_legislacion_b_avanzado").show();
					$("#resultados_bbdd").html('<div class="titulo_seccion"><span>Legislaci&oacute;n</span></div>No se han encontrado resultados.');
					$("#resultados_bbdd").show();
				}
 
				$("#img_progreso_busqueda").remove();
			},
			error:		function(XMLHttpRequest, textStatus, errorThrown){
				$("#img_progreso_busqueda").remove();
				$("#lista_resultados").empty();
				if(XMLHttpRequest.status >= 800)
					alert(XMLHttpRequest.statusText);
				else
					alert("Error en la búsqueda.");
			}
		});
			
	}else{
		alert("No se ha indicado ningún criterio para la búsqueda.");
	}
}

function ComponerResultadosLeg(Referencia, IdBusqueda, IdContenedor){

	var ref = Referencia;
	var re = new RegExp("/","ig");
	var id_previa = "prev_doc_" + ref.replace(re, "_");

	var jsonCabecera = DatosCabeceraNorma(Referencia);
	
	$("#" + IdContenedor).append('<div id="info_norma" class="informacion_oficial"></div>');

	if(jsonCabecera){
		$("#info_norma").append('<div><strong>' + unescape(jsonCabecera.NOMBRE_OFICIAL) + '</strong></div>');
		$("#info_norma").append('<div><span class="dato">' + Referencia + '</span></div>');
		if(jsonCabecera.ORGANO_EMISOR != "")
			$("#info_norma").append('<div><span class="dato"><strong>órgano emisor:</strong> ' + unescape(jsonCabecera.ORGANO_EMISOR) + '</span></div>');
		if(jsonCabecera.FUENTE_PUBLICACION != "")
			$("#info_norma").append('<div><span class="dato"><strong>publicación:</strong> ' + unescape(jsonCabecera.FUENTE_PUBLICACION) + '</span></div>');
		if(jsonCabecera.FECHA_ENTRADA_VIGOR != "")
			$("#info_norma").append('<div><span class="dato"><strong>entrada en vigor:</strong> ' + unescape(jsonCabecera.FECHA_ENTRADA_VIGOR) + '</span></div>');
		if(jsonCabecera.FECHA_FIN_VIGOR != "")
			$("#info_norma").append('<div><span class="dato"><strong>norma derogada:</strong> ' + unescape(jsonCabecera.FECHA_FIN_VIGOR) + '</span></div>');
		if(jsonCabecera.OBSERVACIONES_EDITORIALES != "")
			$("#info_norma").append('<div style="text-align: justify;"><span class="dato">' + unescape(jsonCabecera.OBSERVACIONES_EDITORIALES) + '</span></div>');
	}else{
		alert("Error cargando los datos de la norma.");
	}
	
	$("#" + IdContenedor).append('<div id="cont_resultados_norma"></div>');

	$("#cont_resultados_norma").append('<div id="lnk_resultados_norma"></div>');
	$("#lnk_resultados_norma").append('<a href="javascript:void(null);" id="lnk_resultados">Resultados encontrados</a>');
	$("#lnk_resultados_norma").append('<a href="javascript:void(null);" id="lnk_norma_completa">Norma completa</a>');
	$("#lnk_resultados_norma>a#lnk_norma_completa").click(function(){
		if($("#arbol_norma_completa").html() == "")
			CargarNorma(Referencia, "arbol_norma_completa");

		$("#arbol_norma_completa").show();
		$("#arbol_resultados").hide();
	});
	$("#lnk_resultados_norma>a#lnk_resultados").click(function(){		
		$("#arbol_resultados").show();		
		$("#arbol_norma_completa").hide();
	});

	$("#cont_resultados_norma").append('<div class="tree" id="arbol_norma_completa"></div>');
	$("#cont_resultados_norma").append('<div class="tree" id="arbol_resultados"></div>');

	VerResultadoLeg(Referencia, IdBusqueda, "arbol_resultados");

	$("#" + IdContenedor).show();
	
	if($("#arbol_resultados").html() == ""){
		$("#lnk_resultados_norma>a#lnk_resultados").hide();
		$("#lnk_resultados_norma>a#lnk_norma_completa").click();
		$("#lnk_resultados_norma>a#lnk_norma_completa").hide();
	}else{
		$("#arbol_resultados").show();		
		$("#arbol_norma_completa").hide();
	}

	$(".cont_imagen_resultados").hide();
}

function VerResultadoLeg(Referencia, IdBusqueda, IdContenedor){

	var ref = Referencia;
	var re = new RegExp("/","ig");
	var ref = ref.replace(re, "_");

	var	NodoRaiz = "<ul id='resultados_" + ref + "'><li id='nodo_raiz' class='root'>Resultados encontrados</li></ul>";

	$.ajax({
		async:		false,
		type:		"GET",
		cache:		false,
		url:		"/servicios_n/leg/ajax_resultados.asp?referencia=" + Referencia + "&id_busqueda=" + IdBusqueda,
		beforeSend: function(){
			$("#" + IdContenedor).html("<img src='/comunes/imagenes/spinner.gif'/>&nbsp;Cargando...");
		},
		success: function(html){
			if(html != ""){
				$("#" + IdContenedor).html(NodoRaiz);
				$("#" + IdContenedor + ">ul>li").append(html);
				$("#" + IdContenedor).SimpleTree({
					animate: true, 
					autoclose: false,
					click: function(el){ 
						if($(el).attr("tipo") == 'con_hijos'){
							//$(el).prev().trigger('click');
							VerDocumentosDescendientes(el);
						}else{
							if($(el).attr("tipo") == 'InfoOficial'){
								$(el).next().toggle();
							}else{
								VerDocumentoInline(el);
							}
						}
					}
				});
//				var TextoNodoRaiz = $("#resultados_" + ref + " #nodo_raiz").html();
//				TextoNodoRaiz = TextoNodoRaiz.replace("Resultados encontrados", "<span>Resultados encontrados</span>")
//				$("#resultados_" + ref + " #nodo_raiz").html(TextoNodoRaiz);
//				$("#resultados_" + ref + " #nodo_raiz>span").css({
//					fontWeight: "bold",
//					color:		"#064413"
//				});
			}else{
				$("#" + IdContenedor).empty();
			}
		},
		error: function(){
			$("#" + IdContenedor).empty();
			alert("Error cargando resultados en legislación.");
		}
	});

}

function VerDocumentosDescendientes(el){

	var ref = el.id;
	
	if($(el).parents("ul[id^='CARPETA']").length > 0)
		var carpeta = $(el).parents("ul[id^='CARPETA']").attr("id").substr(7);
	
	if(ref.substr(0, 7) != "CARPETA"){
		if(carpeta){
			VerDocumento(ref, carpeta);
		}else{
			VerDocumento(ref);
		}
	}	
}

function DatosCabeceraNorma(Referencia){
	
	var r = false;
	
	$.ajax({
		type: "GET", 
		url: "/servicios_n/leg/ajax_datos_cabecera.asp?ref=" + Referencia,
		cache: false,
		async: false,
		dataType:	"json",
		success: function(jsonCabecera){
			r = jsonCabecera;
		}
	});
	
	return r;
}

function AbrirConvenios(){

	if(UsuarioLogado == false){
		alert("Para acceder a este apartado tienes que iniciar sesión.\nIntroduce tu usuario y clave en la parte superior derecha.");
		return;
	}

	window.open("/sistema/appib.asp?id=90", "convenios");

}

function AbrirSubvenciones(){

	if(UsuarioLogado == false){
		alert("Para acceder a este apartado tienes que iniciar sesión.\nIntroduce tu usuario y clave en la parte superior derecha.");
		return;
	}

	window.open("/sistema/appib.asp?id=91", "subvenciones");

}

function AbrirBoletinesOficiales(){

	if(UsuarioLogado == false){
		alert("Para acceder a este apartado tienes que iniciar sesión.\nIntroduce tu usuario y clave en la parte superior derecha.");
		return;
	}

	window.open("/sistema/appib.asp?id=92", "boletines_oficiales");

}

