	var _norma_js_ = true;
	// Para cargar la pestaña de versiones se
	// debe pasar el id de la parte desde navegar_norma.js
	var objParte = null;
	var idNorma = window.parent.idNorma;
	var idVersion = window.parent.idVersion;
	var url = window.parent.url;
	var respaldo_norma_texto = "";
    var cadenaSaltosObligados = "|!|";
	var width_texto = "415px";
	var __GATO__ = "XX";
	var __mensaje_carga__ = "Preparando texto de la norma solicitada:\
							 <span id=\"porcentaje_carga\"></span><span class=\"cargandoWhite\" >&nbsp;</span><br/>\
							 (Este proceso podria tardar varios minutos<br/>\
							 dependiendo de su navegador y computador)";

	var __total_archivos_pdf__ 		= 0;
	var __tiene_estructuras_func__  = false;
	var __last_href_archivo_pdf     = "";
    function fechaLegis(fecha) {
        var arrFecha = fecha.split('-');
        if (arrFecha.length == 3) {
            var dia = arrFecha[2];
            var mes = arrFecha[1];
            var anio = arrFecha[0];
            
    		if (mes!="" && mes.charAt(0)=='0') {
    			mes = mes.charAt(1);
    		}
            fecha = dia + "-" + mesToStr(mes)+ "-" + anio;
        }
        return fecha;
    }

    function cargaVinculaciones() {
        new CargaVinculaciones2(idNorma, idParte, idVersion, 'box_vinculaciones');
    }
    
    function cargaLinkModificatoria() {
        // Cargar link
        var fechaUltMod = objParte.getFechaUltimaModificacion();
        
        if (fechaUltMod) 
            fechaUltMod = fechaLegis(fechaUltMod);
        else
            fechaUltMod = "";
        new CargaLinkModificatoria(idNorma, idParte, idVersion, fechaUltMod, 'ultima_modificatoria');
    }
    
    function show_cargando(se_muestra) {
        div_msg = document.getElementById('msg_cargando');
        if (se_muestra==1) {
            divTexto = document.getElementById('norma_texto');
            var alto = divTexto.offsetTop;
            var ancho = divTexto.offsetWidth;
            div_msg.style.left = ancho-80;
            div_msg.style.top = alto+3;
            div_msg.style.display="block";
            
        }
        else if(se_muestra==0) 
            div_msg.style.display='none';
    }
    
    function info_alerta(tipo_alerta) {
       div = document.getElementById('box_info_alertas');
       texto_alerta = document.getElementById('tdalerta');
       if(div.style.display=="none") {
            div.style.display="block";
            texto_alerta.innerHTML = show_info_alerta(tipo_alerta);
       }
    }
    
    function cerrar_info_alerta() {
       div = document.getElementById('box_info_alertas');
       texto_alerta = document.getElementById('tdalerta');
       div.style.display="none";
       texto_alerta.innerHTML = "";
    }
    
    function show_info_alerta(alerta) {
        var html = "";
        if (alerta=="alerta_derogado") {
            document.getElementById('tdalerta').innerHTML = "Buscando informacion...";
            var fecha_derogacion = objParte.nodo.selectSingleNode('./@fecha_derogacion');
            fecha_derogacion = fecha_derogacion ? fecha_derogacion.nodeValue : '';
            new AlertaDerogada(idNorma, idParte, idVersion, 'tdalerta', fecha_derogacion);
        }
        else if(alerta=="alerta_no_vigente") {
            var alerta = new Alerta(objParte.nodo);
            var fecha_ultima_version = alerta.getInfoNoVigente();
            var url_nav = url+'?idNorma='+idNorma+'&idParte='+idParte+'&idVersion='+fecha_ultima_version;
            html = 'Ultima Version: <a href="'+url_nav+'" target="_blank">'+fecha_ultima_version+'</a>';
        }
        else if(alerta=="alerta_refunde_a") {
            new AlertaRefundeA(idNorma, idParte, idVersion, 'tdalerta');  
        }
        else if(alerta=="alerta_refundido_por") {
            new AlertaRefundidoPor(idNorma, idParte, idVersion, 'tdalerta');  
        }
        else if(alerta=="alerta_vigencia_diferida") {
            var a = new Alerta(objParte.nodo);
            if(a.vigenciaDiferidaEvento()==1) {
                var evento = objParte.nodo.selectSingleNode('./VIGENCIA/EVENTO_INICIO/text()');
                evento = evento?evento.nodeValue:'';
                html="<b>Evento inicio vigencia:</b> " + evento;
            }
            else if (a.vigenciaDiferidaFecha()==1) {
                var fecha = objParte.nodo.selectSingleNode('./VIGENCIA/@inicio_vigencia');
                fecha = fecha?fecha.nodeValue:'';
                html="<b>Fecha inicio vigencia:</b> "+ fecha;
            }
        }
        else if(alerta=="alerta_derogacion_diferida") {
            var a = new Alerta(objParte.nodo);
            if(a.derogacionDiferidaEvento()==1) {
                var evento = objParte.nodo.selectSingleNode('./VIGENCIA/EVENTO_TERMINO/text()');
                evento = evento?evento.nodeValue:'';
                html="<b>Evento fin vigencia:</b> " + evento;
            }
            else if (a.derogacionDiferidaFecha()==1) {
                var fecha = objParte.nodo.selectSingleNode('./VIGENCIA/@fin_vigencia');
                fecha = fecha?fecha.nodeValue:'';
                html="<b>Fecha fin vigencia: </b>"+ fecha;
            }
        }
        else if(alerta=="alerta_otro_estado") {
            html = "En estado de Produccion";
        }
        else if(alerta=="alerta_doble_articulado") {
            html = "Esta Norma tiene un doble articulado";
        }
        return html;
    }
    
    function ocultar_todos() {
    	return true;
        document.getElementById('metadatos').style.display="none";
        document.getElementById('versiones').style.display="none";
        document.getElementById('enlaces').style.display="none";
        document.getElementById('exportar').style.display="none";
        document.getElementById('opciones').style.display="none";
    }
    
    function reiniciar_visor() {
        return true;
        ocultar_todos();
        document.getElementById("visor").style.display = "none";
    }
    
	function mostrar_o_ocultarById(IdDivE) {
		divE = document.getElementById(IdDivE);
		mostrar_o_ocultar(divE);
    }
	
    function mostrar_o_ocultar(divE) {
        if (divE.style.display == 'none') {
            ocultar_todos();
            divE.style.display = "block";
        }
        else {
            divE.style.display = "none";
        }
    }
    
    function ver_exportar() {
        var divExportar= document.getElementById('exportar');
        mostrar_o_ocultar(divExportar);
    }
    
    function ver_opciones() {
        var divOpciones = document.getElementById('opciones');
        mostrar_o_ocultar(divOpciones);
    }
    
    function ver_metadatos() {
        var divMetas = document.getElementById('metadatos');
        mostrar_o_ocultar(divMetas);
    }
    
    function ver_versiones() {
        new CargaVersiones(idNorma, getidParte(),  versionParteContexto(), 
            'contenido_versiones', 'status_versiones');
        var divVer = document.getElementById('versiones');
        mostrar_o_ocultar(divVer);
    } 
    
    function ver_vinculaciones() {
        new CargaVinculaciones(idNorma, idParte, idVersion, 
            'contenido_vinculaciones', 'status_vinculaciones');
        var divVinc = document.getElementById('vinculaciones');
        mostrar_o_ocultar(divVinc);
    } 
    
    function ver_enlaces() {
        var divOS = document.getElementById('enlaces');
        mostrar_o_ocultar(divOS);
    } 
    function getRadioValue(radio) {
        var opcion = "";
        for (var i=0; i<radio.length; i++) 
        {   
            if (radio[i].checked) 
            {
                opcion = radio[i].value;
            }
        }
        return opcion;
    }
    
    function onFormatoChange(radio) {
        if (radio.value == "pdf") {
            ocultarDIV('dir_correo');
            mostrarDIV('opciones_pdf');
        }
        else if (radio.value == "correo") {
            ocultarDIV('opciones_pdf');
            mostrarDIV('dir_correo');
        }
        else if (radio.value == "txt") {
            ocultarDIV('opciones_pdf');
            ocultarDIV('dir_correo');
        }
        else if (radio.value == "word") {
            ocultarDIV('opciones_pdf');
            ocultarDIV('dir_correo');
        }
        else if (radio.value == "html") {
            ocultarDIV('opciones_pdf');
            ocultarDIV('dir_correo');
        }
        else if (radio.value == "impresora") {
            ocultarDIV('opciones_pdf');
            ocultarDIV('dir_correo');
        }
    }
    

    
    function setAlertas(alertas) {
        img = document.getElementById('alerta_derogado');
        img.style.visibility = alertas[0]==1 ? 'visible' : 'hidden';
    
        img = document.getElementById('alerta_no_vigente');
        img.style.visibility = alertas[1]==1 ? 'visible' : 'hidden';
        
        img = document.getElementById('alerta_refunde_a');
        img.style.visibility = alertas[2]==1 ? 'visible' : 'hidden';
    
        img = document.getElementById('alerta_refundido_por');
        img.style.visibility = alertas[3]==1 ? 'visible' : 'hidden';
    
        img = document.getElementById('alerta_vigencia_diferida');
        img.style.visibility = alertas[4]==1 ? 'visible' : 'hidden';
    
        img = document.getElementById('alerta_derogacion_diferida');
        img.style.visibility = alertas[5]==1 ? 'visible' : 'hidden';
        
        img = document.getElementById('alerta_doble_articulado');
        img.style.visibility = alertas[6]==1 ? 'visible' : 'hidden';
    
        img = document.getElementById('alerta_otro_estado');
        img.style.visibility = alertas[7]==1 ? 'visible' : 'hidden';
    }
    
    function ocultarDIV(divName) {
        document.getElementById(divName).style.display = 'none';
    }
    
    function mostrarDIV(divName) {
        document.getElementById(divName).style.display = 'block';
    }
    
    function popUp(URL) {
        day = new Date();
        id = day.getTime();
        eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=240,height=300,left = 462,top = 334');");
    }
    
    function submitExportar(form, url) {
        form.idNorma.value = idNorma;
        form.idParte.value = getidParte();
        form.idVersion.value = idVersion;
        
        form.action = url + '/win_exportar';
        form.target = 'popUpExp';
        // Se setea el nombre del archivo a exportar
        var nom_archivo = document.getElementById('correoAsunto').value;
        form.titulo_parte.value = nom_archivo.replace(' ', '_');
        
        var formato = getRadioValue(form.exportar_formato);
        form.formato_seleccionado.value = formato;
        
        //Si se eligio enviar correo, comprobar que ingrese la direccion
        if (form.formato_seleccionado.value=='correo') {
            if(form.correoDireccion.value=="") {
                alert("Debe ingresar una direccion de correo");
                return false;
            }
        }
        else if (form.formato_seleccionado.value=='impresora') {
                form.action = url + '/imprimir';
                form.target = "_blank";
                return true;
        }
        
        
        window.open ('','popUpExp','scrollbars=no,resizable=no,width=450, height=350');
        return true;
        
    }
    
    function onclick_check_encabezado(control){
		if (control.checked) {
			document.form_exportar.text_encabezado.disabled = false;
		}
		else {
			document.form_exportar.text_encabezado.disabled = true;
		}
	}
    
    function onclick_check_piepagina(control){
		if (control.checked) {
			document.getElementById('text_piepagina').disabled = false;
		}
		else {
			document.getElementById('text_piepagina').disabled = true;
		}
	}
    
    // para cualquier tipo de nota y checkbox
    function muestra_oculta_notas(tipo_notas, checkbox,desde_un_clik,no_llamar_modifica, vez) {

		 if (ClaseNotasM.estado == "procesando"  || ClaseNotasM.cargando){

			setTimeout(function(){
				eval("muestra_oculta_notas('"+tipo_notas+"', '"+checkbox+"',"+desde_un_clik+","+no_llamar_modifica+");");
			},535);

			return false;
		 }
		 
		 var verOcultar = "";
         /*if (respaldo_norma_texto != "") {
             document.getElementById('norma_texto').innerHTML = respaldo_norma_texto;
         }*/
		 
         var verifica = false;
         if (document.getElementById(checkbox).checked) {
		 	if (!__CACHE_CARGADO__C_NOTAS_) {
				if (workingSimple()) {
					cargaParte(0, "A");
				}
				else {
					cargaParte(id_parte_cargada, "A");
				}
				return;

			}
		 	 verOcultar = "ver";
			 if (!mostrarNotas()) {
			 	verifica = true;
			 }
         }
         else {
			 var divs_notas = getElementsByName_iefix('div', tipo_notas, "norma_texto");
		 	 verOcultar = "ocultar";
			 if (divs_notas.length > 0) {
			 	ClaseNotasM.terminarExterno();
			 	ClaseNotasM = new Notas('norma_texto', divs_notas, tipo_notas);

				 if(tipo_notas == "notas_al_pie"){//Se llama a la funcion q calcula la pos de las notas.
				 	ClaseNotasM.ejecutaOnEnd = "modifica_ancho_etiqueta_pre("+verifica+");"
				 }

			 	ClaseNotasM.intervalNumber = setInterval("ClaseNotasM.oculta();", getValorParametro(__time_interal_notas_ocultar__));
			 }
			 
         }
		/*
		 * Traza
		 */
		if (typeof(desde_un_clik) != 'undefined') {
			TrazarVerOcultarOpciones(tipo_notas, verOcultar);
		}
		/*
	     * Fin Traza
	     */
		 
         //document.getElementById('old_div').innerHTML = document.getElementById('norma_texto').innerHTML;
         respaldo_norma_texto = "";
		 if (typeof(no_llamar_modifica) == 'undefined' && verOcultar == "ver") {
		 	modifica_ancho_etiqueta_pre(verifica);
		 }
    }
    
    
    function muestra_oculta_archivos_binarios(id_archivo_binario, checkbox,desde_un_clik) {
         var divs_archivos_binarios_con_notas 		= getElementsByName_iefix('span', id_archivo_binario, "norma_texto");
         var divs_archivos_binarios_sin_nota 		= getElementsByName_iefix('span', id_archivo_binario, "norma_texto_sin_notas");
         var divs_capt_archivos_binarios_con_notas 	= getElementsByName_iefix('span', id_archivo_binario+"_caption", "norma_texto");
         var divs_capt_archivos_binarios_sin_nota 	= getElementsByName_iefix('span', id_archivo_binario+"_caption", "norma_texto_sin_notas");
		 
         var verOcultar="";
		 if (document.getElementById(checkbox).checked) {
		 	verOcultar="ver";
             for(var i=0; i<divs_archivos_binarios_con_notas.length; i++) {
                 divs_archivos_binarios_con_notas[i].style.display='block';
             }
             for(var i=0; i<divs_archivos_binarios_sin_nota.length; i++) {
                 divs_archivos_binarios_sin_nota[i].style.display='block';
             }
             for(var i=0; i<divs_capt_archivos_binarios_con_notas.length; i++) {
                 divs_capt_archivos_binarios_con_notas[i].style.display='none';
             }
             for(var i=0; i<divs_capt_archivos_binarios_sin_nota.length; i++) {
                 divs_capt_archivos_binarios_sin_nota[i].style.display='none';
             }
         }
         else {
		 	verOcultar="ocultar";
             for(var i=0; i<divs_archivos_binarios_con_notas.length; i++) {
                 divs_archivos_binarios_con_notas[i].style.display='none';
             }
             for(var i=0; i<divs_archivos_binarios_sin_nota.length; i++) {
                 divs_archivos_binarios_sin_nota[i].style.display='none';
             }
             for(var i=0; i<divs_capt_archivos_binarios_con_notas.length; i++) {
                 divs_capt_archivos_binarios_con_notas[i].style.display='block';
             }
             for(var i=0; i<divs_capt_archivos_binarios_sin_nota.length; i++) {
                 divs_capt_archivos_binarios_sin_nota[i].style.display='block';
             }

         }
		 if (mostrarNotas()) {
		 	ordenarLasNotas('norma_texto', 'desde_muestra_oculta_archivos_binarios');
		 }
		/*
		 * Traza
		 */
		if (typeof(desde_un_clik) != 'undefined') {
			TrazarVerOcultarOpciones('archivos_binarios', verOcultar);
		}
	    /*
	     * Fin Traza
	     */

    }

function onMouseOverNotas(objNota){
	var name = objNota.getAttribute("name");
	var classname = "colordeFondoBordeBcn";
	switch (name){
		case 'notas_al_pie':
			classname = "colordeFondoBordePie";
			break;
		case 'notas_bcn':
			classname = "colordeFondoBordeBcn";
			break;
		case 'notas_originales':
			classname = "colordeFondoBordeOriginal";
			break;
	}
	objNota.className = classname;
}

function onMouseOutNotas(objNota){
	objNota.className = "colordeFondo";
}

function getElementosTexto(arrayNameElementos, contenedor){
	var hijos =  contenedor.childNodes;
	var elementos_secuenciales = new Array();
	var elementos_hijo = "";
	
	for (var i = 0; i < hijos.length; i++) {
		try {
			var name_hijo = hijos[i].getAttribute("name");
		} 
		catch (e) {
			continue;
		}
		if (arrayNameElementos.indexOf(name_hijo) > -1) {
			elementos_secuenciales.push(hijos[i]);
		}
		else {
			elementos_hijo = getElementosTexto(arrayNameElementos, hijos[i])
			elementos_secuenciales = elementos_secuenciales.concat(elementos_hijo);
		}
	}
	return elementos_secuenciales;
}
function replace(texto,s1,s2){
	var tmp = texto.split(s1).join(s2);
	return tmp;
}
function tratarCasoSaltosDeLineaPorNotas(idDivContenedor){
	var id_item = creaIdItemCache($F('idNorma'),$F('idParte_interna'),$F('idVersion_interna'));
	var nombre = "texto_con_notas";
	var divContenedor = document.getElementById(idDivContenedor);
	
	//Cache Local
	if(CacheClient.existe(id_item, nombre)){
		divContenedor.innerHTML = CacheClient.get(id_item,nombre);
		$('old_div').innerHTML = CacheClient.get(id_item,nombre);
		return true;
	}

	//Cache en Servidor
	var Key = $F('idNorma')+"_"+$F('idParte_interna')+"_"+$F('idVersion_interna');
	if(objetoDeTextosCacheadosCNotas[Key]){
		divContenedor.innerHTML = objetoDeTextosCacheadosCNotas[Key];
		$('old_div').innerHTML = objetoDeTextosCacheadosCNotas[Key];
		objetoDeTextosCacheadosCNotas[Key] = null;
		cachearDivConNotasProcesadas(divContenedor,false);
		return true;
	}
	//$('old_div').innerHTML = divContenedor.innerHTML;
	var DIV = document.createElement("div");
	var elementos_secuenciales = getElementosTexto(['pre_texto','notas_al_pie','notas_bcn','notas_originales'],divContenedor);

	var pre = document.createElement("pre");
	var divInt = document.createElement("div");
	var estaEliminado = false;
	if (elementos_secuenciales.length > 0){
		var grupo_anterior = elementos_secuenciales[0].getAttribute("id_de_cuerpo");
		
		divInt.setAttribute("name", "texto");
		divInt.style.margin="0px";
		divInt.style.width = "100%";
				
		pre.setAttribute("name", "pre_texto");
		pre.setAttribute("id_de_cuerpo", grupo_anterior);
		pre.setAttribute("id", "pre_"+grupo_anterior);
		pre.innerHTML = "<a id='ancla_parte_simple_"+grupo_anterior+"'></a>";
		var notas = new Array();
	}
	var correlativo_nota = 1000;
	for (var i=0;i<elementos_secuenciales.length;i++){
		correlativo_nota++;		
		var elemento 	  = elementos_secuenciales[i];
		var grupo 		  = elemento.getAttribute("id_de_cuerpo");
		var texto 		  = "";
		
		if (grupo == grupo_anterior){
			switch(elemento.getAttribute("name")){
				case 'pre_texto':
					estaEliminado = elemento.getAttribute("eliminado");
					texto = replace(elemento.innerHTML, "\n", "<br /><span></span>");
					texto = replace(texto,cadenaSaltosObligados,"<br /><span></span>");
					texto = replace(texto,"  ","&nbsp;&nbsp;");
					pre.innerHTML += texto;
					break;
				case 'notas_al_pie':
					pre.innerHTML += "<a id='ancla_nota_"+correlativo_nota+"'></a>";
					elemento.setAttribute("correlativo_nota","ancla_nota_"+correlativo_nota);
					notas.push(elemento);
					break;
				case 'notas_bcn':
					pre.innerHTML += "<a id='ancla_nota_"+correlativo_nota+"'></a>";
					elemento.setAttribute("correlativo_nota","ancla_nota_"+correlativo_nota);
					notas.push(elemento);
					break;
				case 'notas_originales':
					pre.innerHTML += "<a id='ancla_nota_"+correlativo_nota+"'></a>";
					elemento.setAttribute("correlativo_nota","ancla_nota_"+correlativo_nota);
					notas.push(elemento);
					break;
				default:
					alert("Paso un elemento no valido"+elemento.getAttribute("name"));
					break;
			}
		}else{
			if(estaEliminado == 'true' || estaEliminado == true){
				estaEliminado = true;
				var divInt3  = document.createElement('div');
				divInt3.setAttribute("name","div_texto_eliminado");
				divInt3.setAttribute("id","div_texto_eliminado_"+correlativo_nota);
				if ($('ops_ver_partes_eliminadas') && $('ops_ver_partes_eliminadas').checked) {
					var display = '';
				}
				else 
					if (estaEliminado) {
						var display = 'none';
					}				
				divInt3.style.display = display;
			}else{
				estaEliminado = false;
			}
			if(!estaEliminado){
				divInt.appendChild(pre);
			}else{
				divInt3.appendChild(pre);
				divInt.appendChild(divInt3);
			}
		
			var divInt2 = document.createElement("div")
			
			pre = document.createElement("pre");
			pre.setAttribute("name", "pre_texto");
			pre.setAttribute("id_de_cuerpo", grupo);
			pre.setAttribute("id", "pre_"+grupo);
			pre.innerHTML = "<a id='ancla_parte_simple_"+grupo+"'></a>";
			
			for (var j=0;j<notas.length;j++){
				divInt2.appendChild(notas[j]);
			}
			notas = new Array();
			DIV.appendChild(divInt);
			if (divInt2.innerHTML != "") {
				if (!estaEliminado) {
					DIV.appendChild(divInt2);
				}else{
					var divInt3  = document.createElement('div');
					divInt3.setAttribute("name","div_texto_eliminado");
					divInt3.setAttribute("id","div_nota_eliminado_"+correlativo_nota);
					divInt3.style.display = display;
					divInt3.appendChild(divInt2);
					DIV.appendChild(divInt3);
				}
			}

			var br = document.createElement("br");
			DIV.appendChild(br);
			if (detectar_browser()) { // => cualquier excepto IE
			}
			else {//=> CASO IE
				var br2 = document.createElement("br");
				DIV.appendChild(br2);
			}		
			
			var divInt = document.createElement("div");
			divInt.setAttribute("name", "texto");
			divInt.style.margin="0px";
			divInt.style.width = "100%";


			switch(elemento.getAttribute("name")){
				case 'pre_texto':
					estaEliminado = elemento.getAttribute("eliminado");
					texto = replace(elemento.innerHTML, "\n", "<br /><span></span>");
					texto = replace(texto,cadenaSaltosObligados,"<br /><span></span>");
					texto = replace(texto,"  ","&nbsp;&nbsp;");
					pre.innerHTML += texto;
					break;
				case 'notas_al_pie':
					pre.innerHTML += "<a id='ancla_nota_"+correlativo_nota+"'></a>";
					elemento.setAttribute("correlativo_nota","ancla_nota_"+correlativo_nota);
					notas.push(elemento);
					break;
				case 'notas_bcn':
					pre.innerHTML += "<a id='ancla_nota_"+correlativo_nota+"'></a>";
					elemento.setAttribute("correlativo_nota","ancla_nota_"+correlativo_nota);
					notas.push(elemento);
					break;
				case 'notas_originales':
					pre.innerHTML += "<a id='ancla_nota_"+correlativo_nota+"'></a>";
					elemento.setAttribute("correlativo_nota","ancla_nota_"+correlativo_nota);
					notas.push(elemento);
					break;
				default:
					alert("Paso un elemento no valido 2"+elemento.getAttribute("name"));
					break;
			}			
		}

		grupo_anterior = grupo;
	}
	var divGeneral = document.createElement("div");
	divGeneral.id = "div_general";
	divContenedor.innerHTML = "";
	divGeneral.appendChild(DIV);
	
	divContenedor.appendChild(divGeneral);
	cachearDivConNotasProcesadas(divContenedor);

}
function seCalculoTextoSinNotas(id_parte){
	return (ultima_parte_sin_notas == id_parte);
}

function terminaConSaltoDeLinea(texto){
	try {
		if (texto.slice(texto.length - 1, texto.length) == '\n') {
			return true;
		}
			return false;
	} 
	catch (e) {
		return true;
	}
}

var ultima_parte_tratada = null;
var ultima_parte_sin_notas = null;

function modifica_ancho_etiqueta_pre(verifica, vez){
	//alert("llamo a modifica_ancho_etiqueta_pre");
	if (verifica == true || !mostrarNotas()) {
		if (!seCalculoTextoSinNotas(id_parte_cargada) || typeof(vez) != 'undefined' ) {
				if (workingSimple()) {
					var objTexto = arregloPartes[0][6];
					ultima_parte_sin_notas = 0;
				}else{
					var objTexto = arregloPartes[id_parte_cargada][6];
					ultima_parte_sin_notas = id_parte_cargada;
				}

				if (!CacheClient.existe(objTexto.getIdObjeto(),'texto_sin_notas')) {
					if(typeof(vez) == 'undefined'){
						__CACHE_CARGADO__ = false;
						vez = 0;
					}
		
					if (!__CACHE_CARGADO__){
						if(vez <= 0){
							var tmp = objTexto.getIdObjeto()
							tmp = tmp.split("_");
							var _id_parte_   = tmp[1]; 
							var _id_version_ = tmp[2]; 
							obtenerTextosCacheados(idNorma, _id_version_, _id_parte_);
						}
				   		setTimeout(function(){modifica_ancho_etiqueta_pre(true,vez+1);},100);
						ultima_parte_sin_notas = -1;
						return;
				   }
			
			
					$("respaldo_texto_norma_original").innerHTML = objTexto.textoFinal;
					var pres_texto = getElementsByName_iefix('pre', 'pre_texto', "respaldo_texto_norma_original");//se saca del texto original
					if (pres_texto.length <= 0) {
						ultima_parte_sin_notas = -1;
						if (workingSimple()) {
							cargaParte(0, "A");
						}else{
							cargaParte(id_parte_cargada, "A");
						}
						return false;
					}
					var id_de_cuerpo_previo = pres_texto[0].getAttribute("id_de_cuerpo");
					var contenido_sin_notas = '<a id="ancla_parte_simple_sn' + id_de_cuerpo_previo + '"></a><div>';
					for (var i = 0; i < pres_texto.length; i++) {
						var id_de_cuerpo = pres_texto[i].getAttribute("id_de_cuerpo");
						if (id_de_cuerpo != id_de_cuerpo_previo) {
							if (detectar_browser()) { // => cualquier excepto IE
								if (!terminaConSaltoDeLinea(contenido_sin_notas)) {
									contenido_sin_notas += "</div><br/><a></a><br/><a id='ancla_parte_simple_sn" + id_de_cuerpo + "'></a><div>" + pres_texto[i].innerHTML;
								}
								else {
									contenido_sin_notas += "</div><br/><a id='ancla_parte_simple_sn" + id_de_cuerpo + "'></a><div>" + pres_texto[i].innerHTML;
								}
							}
							else {//=> CASO IE
								contenido_sin_notas += " </div><br/> <a id='ancla_parte_simple_sn" + id_de_cuerpo + "'></a><div> <br/>" + pres_texto[i].innerHTML;
							}
						}
						else {
							var tmp_texto = pres_texto[i].innerHTML;
							contenido_sin_notas += tmp_texto;
						}
						id_de_cuerpo_previo = id_de_cuerpo;
					}
					contenido_sin_notas += '</div>';
					
					if (detectar_browser()) {// => cualquier excepto IE
						var estilo_pre = 'style="width:98%;"';
					}
					else {//=> CASO IE
						var winW = 630, winH = 460;
						if (parseInt(navigator.appVersion) > 3) {
							if (navigator.appName.indexOf("Microsoft") != -1) {
								winW = document.body.offsetWidth;
							}
						}
						var ancho = winW - 300;
						var estilo_pre = 'style="width:' + ancho + 'px;"';
					}
					
					contenido_sin_notas = replace(contenido_sin_notas, cadenaSaltosObligados, "");
					contenido_sin_notas = replace(contenido_sin_notas, "\n", "<br /><span></span>");
					contenido_sin_notas = replace(contenido_sin_notas, "  ", "&nbsp;&nbsp;");
					
					contenido_sin_notas = '<div width="100%"><pre id="pre_sin_notas" ' + estilo_pre + '>' + contenido_sin_notas + '</pre></div>';
					document.getElementById('norma_texto_sin_notas').innerHTML = contenido_sin_notas;
					document.getElementById('old_norma_texto_sin_notas').innerHTML = contenido_sin_notas;
					
					CacheClient.agregar(objTexto.getIdObjeto(), 'texto_sin_notas', contenido_sin_notas);
					guardarCacheNormaParte(objTexto.getIdObjeto(), contenido_sin_notas);
				}
				else {
					document.getElementById('norma_texto_sin_notas').innerHTML = CacheClient.get(objTexto.getIdObjeto(), "texto_sin_notas");
					document.getElementById('old_norma_texto_sin_notas').innerHTML = CacheClient.get(objTexto.getIdObjeto(), "texto_sin_notas");
				}
			}
		document.getElementById('norma_texto').style.display = 'none';
		document.getElementById('norma_texto_sin_notas').style.display = 'block';
		
		if (parent.document.getElementById('buscar').value != '') {
			if (document.getElementById('ops_ver_marcas').value == "1") {
				try {
					var busqueda = document.getElementById('frase').value;
				} 
				catch (e) {
					var busqueda = document.getElementById('buscar').value;
				}
				parent.fnBuscarentexto_sin_notas(busqueda, 'norma_texto_sin_notas');
			}
		}
	}
	else {
		if (id_parte_cargada != ultima_parte_tratada) {
			tratarCasoSaltosDeLineaPorNotas('norma_texto');
			ultima_parte_tratada = id_parte_cargada;
		}
		document.getElementById('norma_texto_sin_notas').style.display = 'none';
		document.getElementById('norma_texto').style.display = 'block';
		
		var pres_texto = getElementsByName_iefix('pre', 'pre_texto', "norma_texto");
		var divs_textos = getElementsByName_iefix('div', 'texto', "norma_texto");
		var span_textos = getElementsByName_iefix('span', 'texto', "norma_texto");
		
		for (var i = 0; i < pres_texto.length; i++) {
			pres_texto[i].style.width = '100%';
		}
		for (var i = 0; i < divs_textos.length; i++) {
			divs_textos[i].style.width = width_texto;
		}
		for (var i = 0; i < span_textos.length; i++) {
			span_textos[i].style.width = width_texto;
		}
		if (detectar_browser()) {// => cualquier excepto IE
			var style_width = '98%';
		}
		else {//=> CASO IE
			var winW = 630, winH = 460;
			if (parseInt(navigator.appVersion) > 3) {
				if (navigator.appName.indexOf("Microsoft") != -1) {
					winW = document.body.offsetWidth;
				}
			}
			var ancho = winW - 300;
			var style_width = ancho + 'px';
		}
		document.getElementById('div_general').style.width = style_width;
		mostrarBusquedaCNotas();
		ordenarLasNotas('norma_texto','desde_modifica_pre');
	}
	parent.ajustarTam('norma','iframeContenido_norma');
}

function ejecutarOrdenamientoNotas(notas,top_nota_anterior,alto_nota_anterior, tipo_nota){
	alert("Esta llamando a ejecutarOrdenamientoNotas, revisar");
	var espacio_entre_pre_y_nota  = 25;
	if(notas.length > 0 ){
		var id = notas[0].getAttribute("id_de_cuerpo")
		if (top_nota_anterior == 0) {
			var pre = document.getElementById("pre_" + id);
			var pos_pre = findPos(pre);//[left, top]
			var top_pre = pos_pre[1];
			top_nota_anterior = top_pre;
		}
	}
	
	for (var i = 0; i < notas.length; i++) {
		var id = notas[i].getAttribute("id_de_cuerpo");
		var correlativo_nota = notas[i].getAttribute("correlativo_nota");
		var ancla_nota = document.getElementById(correlativo_nota);
		var pre = document.getElementById("pre_" + id);
		var posicion_pre = findPos(pre);//[left,top]
		var posicion_ancla = findPos(ancla_nota);//[left,top]
		try {
			var ancho_pre = pre.offsetWidth;
		} 
		catch (e) {
			//Si entra aca es porque no entro a tratarCasoSaltosDeLineaPorNotas
			ultima_parte_tratada = null;
			modifica_ancho_etiqueta_pre(false);
			return false;
		}
		if (detectar_browser()) {// => cualquier excepto IE
			var top_nota = posicion_ancla[1]-1;
		}
		else {//=> CASO IE
			var top_nota = posicion_ancla[1]+10;
		}
	
		var left_nota = posicion_pre[0] + ancho_pre + espacio_entre_pre_y_nota;
		
	
		if (top_nota_anterior + alto_nota_anterior > top_nota) {
			top_nota = top_nota_anterior + alto_nota_anterior + 0;
		}
		
		if (top_nota <= 0) {
			break;
		}
		notas[i].style.top = top_nota + "px";
		notas[i].style.left = left_nota + "px";

		
		top_nota_anterior = top_nota;
		alto_nota_anterior = notas[i].offsetHeight;
	}
	return [top_nota_anterior, alto_nota_anterior];
}
function ordenarLasNotas(idDivContenedor,desde_modifica_pre){
	ClaseNotas.terminarExterno();
	ClaseNotas = new Notas(idDivContenedor);
	if (typeof(desde_modifica_pre) == 'undefined') {
		ClaseNotas.ajustaAnchos();
	}
	if (ClaseNotas.total_total > 0) {
		ClaseNotas.intervalNumber = setInterval("ClaseNotas.procesa();", getValorParametro(__time_interal_notas__));
	}
}


    // variables globales para verificar si vienen notas
    var verifica_notas_bcn = "";
    var verifica_notas_al_pie = "";
    var verifica_notas_originales = "";

    
    function onBuscarFocus(input) {
        input.value = "";
    }
    
    function buscarTexto() {
        var texto = document.getElementById('frase').value;
        
        if (document.getElementById('norma_texto').style.display=='block') {
          fnBuscarentexto(texto, 'norma_texto'); 
        }
        if (document.getElementById('norma_texto').style.display=='none') {
          fnBuscarentexto(texto, 'norma_texto_sin_notas'); 
        }
    }
    
    function getElementsByName_iefix(tag, name, div, limite) {
		var t1 = new Date();
		if(typeof(limite) == 'undefined'){
			limite = 0;
		}
        var elem = document.getElementById(div).getElementsByTagName(tag);
        var arr = new Array();
        for(var i = 0, iarr = 0; i < elem.length; i++) {
              att = elem[i].getAttribute("name");
              if(att == name) {
                   arr[iarr] = elem[i];
                   iarr++;
				   if(limite > 0 && iarr >= limite){
				   		break;
				   }
              }
        }
		var t2 = new Date();
        var str = div +" - "+tag+" - "+name+": "+(t2-t1)+"<br/>";
		//$('mensaje_test').innerHTML += str;
        return arr;
    }

/*    function getElementsByName_iefix(tag, name, div, limite) {
		var t1 = new Date();
		if(typeof(limite) == 'undefined'){
			limite = 0;
		}
        var elem = document.getElementsByName(name);
        var arr = new Array();
        for(var i = 0, iarr = 0; i < elem.length; i++) {
              var att = elem[i].tagName;
              if(att.toUpperCase() == tag.toUpperCase()) {
                   arr[iarr] = elem[i];
                   iarr++;
				   if(limite > 0 && iarr >= limite){
				   		break;
				   }
              }
        }
		var t2 = new Date();
        var str = div +" - "+tag+" - "+name+": "+(t2-t1)+"<br/>";
		$('mensaje_test').innerHTML += str;
		return arr;
    }
*/
	function buscaRefANotaPie(id_nota){
		var referencias = document.getElementsByName("link_ref_nota_pie");
		for (var i = 0; i < referencias.length; i++) {
			var link = referencias[i];
			var id_nota_pie = link.getAttribute("id_nota_al_pie");
			if (id_nota_pie == id_nota){
				var pos_element  = findPos(link);
				posXNota 		 = pos_element[0];
				posYNota		 = pos_element[1];
				window.scrollTo(posXNota, posYNota);
				return false;
			}
		}
		return false;
	}
     
    function buscaNotaPieDesdeParte(id_nota_buscada,objCaller) {
        var cadena = "idnota_" + id_nota_buscada;
        var lista_notas_pie  = document.getElementsByName(cadena);
        if (lista_notas_pie.length > 0) {
			var posYCaller 	 = -1;
            var posXNota   	 = -2;
            var posYNota   	 = -2;
			var posCaller	 = findPos(objCaller);
			posYCaller 		 = posCaller[1];
			var i = 0;
			while(posYCaller > posYNota && i < lista_notas_pie.length){
				var pos_element  = findPos(lista_notas_pie[i++]);
				posXNota 		 = pos_element[0];
				posYNota		 = pos_element[1];
			}
			window.scrollTo(posXNota, posYNota);
        }
        else {
            var arregloPartes 		= parent.arregloPartes;
            parent.arbolTOC.s(arregloPartes[0][0]);
            parent.cargaParte(arregloPartes[0][0],'desde_busca_nota');
            parent.id_nota_al_pie 	= id_nota_buscada;
        }
    }    
    
    function encuentra_nota_al_pie() {
        var id_nota = parent.id_nota_al_pie; 
        if (id_nota != '') {
	        var cadena = "idnota_" + id_nota;
	        var lista_notas_pie = document.getElementsByName(cadena);
	
	        if (lista_notas_pie.length>0) {
	            var pos_element  = findPos(lista_notas_pie[0]);
				window.scrollTo(pos_element[0],pos_element[1]);
	        }
        }
        parent.id_nota_al_pie = '';
    }

    function verArchivo(id_archivo, formato) {
        var urlLocal = urlServidor+"/archivobinario?id=" +id_archivo+ "&formato=" +formato; 
        window.open(urlLocal,'','scrollbars=no,menubar=no,height=240,width=320,resizable=no,toolbar=no,location=no,status=no');
    }
    
    function show_visor(div_name) {
        
        var visor = document.getElementById('visor');
        mostrar_o_ocultar(visor);
        if (div_name=='metadatos') {
            ver_metadatos();
        }
        if (div_name=='versiones') {
            ver_versiones();
        }
        if (div_name=='vinculaciones') {
            ver_vinculaciones();
        }
        if (div_name=='enlaces') {
            ver_enlaces();
        }
        if (div_name=='exportar') {
            ver_exportar();
        }
        if (div_name=='opciones') {
            ver_opciones();
        }
        
        // Si todos los divs internos estan cerrados
        // entonces se cierra el visor
        if (isDivsEnabled() == false) {
            visor.style.display = "none";
        }
        else {
            visor.style.display = "block";
        }
    }
        
    function isDivsEnabled() {
        d1 = document.getElementById('metadatos').style.display;
        d2 = document.getElementById('versiones').style.display;
        d3 = document.getElementById('enlaces').style.display;
        d4 = document.getElementById('exportar').style.display;
        d5 = document.getElementById('opciones').style.display;
        nulo = "none";
        if (d1==nulo && d2==nulo && d3==nulo && d4==nulo && d5==nulo) {
            return false;
        }
        return true;
    }
    
    function registra_traza() {
        new Traza('28', idNorma, idParte, '');
    }
    
    /*
     * Funciones para mostrar las opciones
     * 
     */
	function verInfo(zona,valor){
	   var a = document.getElementById(zona);
	   var b = a.getElementsByTagName("div");
	   var patronzona = zona+'_';
	   var m = new RegExp(patronzona);
	   var num = b.length;
	   var patronexacto = patronzona+valor;
	   var m2 = new RegExp(patronexacto);
	   for(var i=0; i< num; i++){
	   	  if(b[i].id.match(m)){
	   	  	 if(b[i].id.match(m2)){
	   	  	 	  b[i].style.display= 'block';
	   	  	 	  ajustarTam('norma','iframeContenido_norma');
	   	  	 }else{
	   	  	 	     b[i].style.display= 'none';
	   	  	 }
			 tratarCasoMensajeVersiones(m2);
	   	  }
	   	}
	   	
		if(document.getElementById('opciones').style.display == 'block'){
			document.getElementById('opciones').style.display = 'none';
		}
	}
	
	function verOpciones(val){
	   var mydiv = document.getElementById(val);
	   if(mydiv.style.display == 'none'){
	   	 var div_ref = $('div_menu_norma');
	   	  mydiv.style.display = 'block';
		  mydiv.style.width   = (div_ref.offsetWidth-6)+"px";
		  ocultarOpciones(val);
	   }else{
		   if(mydiv.style.display == 'block'){
		   	  mydiv.style.display = 'none';
		   }
	   }
	}
	function mostrarOpciones(id){
		$(id).style.display = "block";
	}
	function ocultarOpciones(id){
		setTimeout("$('"+id+"').style.display = 'none'",10000);
	}
	function muestra_oculta_hipervinculos(check){
		//Los nombres de estos span, estan definidos en Texto.js
		var spans_links = document.getElementsByName('hipervinculo_link');
		var spans_normales = document.getElementsByName('hipervinculo_normal');
		var display_links = "none";
		var display_normal = "";
		var verOcultar = "ocultar";
		if(check.checked){
			verOcultar = "ver";
			display_links = "";
			display_normal = "none";
		}
		
		for(var i=0;i<spans_links.length;i++){
			var span_link = spans_links[i];
			span_link.style.display = display_links;
		}

		for(var i=0;i<spans_normales.length;i++){
			var span_normal = spans_normales[i];
			span_normal.style.display = display_normal;
		}
		/*
		 * Traza
		 */
		TrazarVerOcultarOpciones("hipervinculos", verOcultar);
	}	
    muestra_partes_eliminadasOnlyTree = function (){
		try {
			if(!cambiaronPreferencias ()){
				return false;
			}
			var Texto = arregloPartes[0][6];//[0] corresponde a la norma
			if (Texto.estado == "completo" && !Texto.TienePartesEliminadas) {
				return false;
			}
		} 
		catch (e) {
			alert("en muestra_partes_eliminadasOnlyTree:"+e);
			return false;
		}
		var check = document.getElementById('ops_ver_partes_eliminadas');
    	if(check.checked) 
    	{
    		parent.arbolTOC.verPartesEliminadas();
    	}
    	else 
    	{
    		parent.arbolTOC.ocultarPartesEliminadas();
    	}
    	//parent.document.getElementById('dtree').innerHTML = parent.arbolTOC.toString();
    	parent.arbolTOC.s(parent.id_parte_cargada);
	};
	
    muestra_partes_eliminadas = function (desde_un_clik) {
		try {
			var Texto = arregloPartes[0][6];//[0] corresponde a la norma
			if (Texto.estado == "completo" && !Texto.TienePartesEliminadas) {
				return false;
			}
		} 
		catch (e) {
			alert("en muestra_partes_eliminadas:"+e);
			return false;
		}
		
    	var check = document.getElementById('ops_ver_partes_eliminadas');
		var verOcultar = "";
    	if(check.checked) 
    	{
			verOcultar = "ver";
    		parent.arbolTOC.verPartesEliminadas();
    	}
    	else 
    	{
			verOcultar = "ocultar";
    		parent.arbolTOC.ocultarPartesEliminadas();
    	}

		var textosEliminados = document.getElementsByName("div_texto_eliminado");
		var largo = textosEliminados.length;
		for(var i=0; i < largo; i++){
			if(verOcultar == "ver"){
				textosEliminados[i].style.display = '';
				ordenarLasNotas(textosEliminados[i].getAttribute('id'),'desde_muestra_partes_eliminadas');
			}else{
				textosEliminados[i].style.display = 'none';
			}
		}
		
		if (largo > 0) {
			arbolTOC.ejecuta_posterior = new Array();
			ArbolGen.ejecutarOnEnd = "arbolTOC.s(parent.id_parte_cargada);";
			$('dtreeMsg').style.display = "";
			ArbolGen.show();
			parent.var_cambiaronPreferencias = true;
		}
		/*
		 * Traza
		 */
		if (typeof(desde_un_clik) != 'undefined') {
			TrazarVerOcultarOpciones("partes_eliminadas", verOcultar);
		}
	    /*
	     * Fin Traza
	     */	
    };

	// se ejecuta desde navegar_norma.js
	// y desde Texto.js
    function despliega_notas() {
		
        modifica_ancho_etiqueta_pre(false);
        
        muestra_oculta_archivos_binarios('archivos_binarios', 'ops_ver_archivos_binarios');
    } 

	
	//funcion para cambiar el color de fondo de la opcion delo menu
	
	function cambiaClase(idobj){
		var activar = document.getElementById(idobj);
		for(var i=1;i < 10;i++){
			var temp = "item"+i;
			document.getElementById(temp).className="inactivo";
		}
		activar.className = "activo";
	}

	var __VERSIONES_CARGADAS__ = false;
	function tratarCasoMensajeVersiones(div){
		var statusVersiones = document.getElementById("statusVersiones");
		if (!String("info_version").match(div)){
			statusVersiones.style.display = "none";
			return true;
		}
		if(!__VERSIONES_CARGADAS__){
			statusVersiones.style.display = "";
		}else{
			statusVersiones.style.display = "none";
			statusVersiones.innerHTML = "";
		}
	}

	
	function considerarCache(){
		if (typeof(_tipo_conexion_) == 'undefined'){//Indica que no se cargó bien el archivo speedTest.js
			_tipo_conexion_ = "rapida";
			window.location.href = window.location.href;
			return true;
		}
		if (_tipo_conexion_ == "rapida"){
			return true;
		}
		
		var nameN = navigator.userAgent;
		if(nameN.indexOf("Chrome") > -1 || nameN.indexOf("Safari") > -1){
			return false;
		}
		return true;
	}

	function revisarDimensionesImagen(objImagen){
		var maxPixeles = 700.0;
		if (objImagen.width > parseInt(maxPixeles)){
			var proporcion = parseFloat(maxPixeles/objImagen.width);
			objImagen.style.width = parseInt(maxPixeles)+'px';
			objImagen.style.height = parseInt(objImagen.height*proporcion)+'px';
		}
		ajustarTam('norma','iframeContenido_norma',true);
	}
