/* funcion que reemplaza diseño web por el de notes para el texto de la norma*/

function maquetar() {
	var str=document.getElementById("cont_norma").innerHTML;
	//alert(str)
	var RE = /(<a\shref=\"[\/ \w \. \$ \% \- \?]*\">)(<font\s[\w = \" \#]*>)([\w \s á é í ó ú \/]*)(<\/font>)(<\/a>)/gi;// 
	 	str=str.replace(RE,"$1$3$5");
	//alert(str)	

	str=str.replace(/\<b\>/gi,"<strong>");
	//alert(str)		
		str=str.replace(/\<\/b\>/gi,"</strong>");
	//alert(str)
		str=str.replace(/\<FONT/gi,"<span");
	//alert(str)
		str=str.replace(/\<\/FONT\>/gi,"</span>");
	//alert(str)
		str=str.replace(/face\=\"Arial\"/gi,"");
	//alert(str)
		str=str.replace(/color\=\"#FF0000\"/gi,"class='color1'");
	//alert(str)
		str=str.replace(/color\=\"#008000\"/gi,"class='color2'");
	//alert(str)
		str=str.replace(/color\=\"#0000FF\"/gi,"class='color3'");
	//alert(str)
			str=str.replace(/face\=\Arial/gi,"");
	//alert(str)
		str=str.replace(/color\=\#FF0000/gi,"class='color1'");
	//alert(str)
	 	str=str.replace(/color\=\#008000/gi,"class='color2'");
	//alert(str)
	 	str=str.replace(/color\=\#0000FF/gi,"class='color3'");
	//alert(str)	
		//str=str.replace(/\<i\>/gi,"<em>");
	//alert(str)
		//str=str.replace(/\<\/i\>/gi,"</em>");
	//alert(str)	
	document.getElementById("cont_norma").innerHTML=str;
	//alert(document.getElementById("cont_norma").innerHTML);
}

/* fin de la funcion */

var ct=-1;

var letraini = 'A';

var tipos_normativos = new Array();

var letrasSig = new Array();

letrasSig = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','ñ','o','p','q','r','s','t','u','v','w','x','y','z'];

var urlbase = (urlbase)?urlbase:document.location.href.split(".nsf")[0]; 
//var urlbase ="http://pruebas.normativafinanciera.com/dependencia/normadep";



// Muestra/oculta el siglario al pinchar en la flecha

function mostrarSiglario(){

	document.getElementById("siglario").style.display=(document.getElementById("siglario").style.display!="block")?"block":"none";

	if(document.getElementById("siglario").style.display=="block") creaSiglario();

}

// Genera la capa superior con las letras

function creaSiglario(){

	document.getElementById("clave").value = "";

	var sig = document.getElementById("siglario");

	var letras = document.getElementById("letras");

	letras.className = "letrasig";

	letras.innerHTML = "";

	for(var i=0;i<letrasSig.length;i++){

		var capa = document.createElement("div");

		capa.id ="s_"+ letrasSig[i];

		capa.className = "letrasig";

		capa.innerHTML = letrasSig[i];	

		capa.onclick = function(){

			for(var k=0;k<letrasSig.length;k++){

				if(this.id!="s_"+letrasSig[k]) document.getElementById("s_"+letrasSig[k]).className = "letrasig";

			}

			this.className = (this.className=="letrasig")?"letrasigon":"letrasig";

			letraini= this.id.split("_")[1].toUpperCase();

			lanzarajax();

		}

		letras.appendChild(capa);

	}

	lanzarajax();

}

// objeto con los datos de cada fila

function tipo(){

	this.tiponor = arguments[0];

	this.prefijo = arguments[1];

	this.formato = arguments[2];	

}



// ajax

function lanzarajax(){

	urls = urlbase+".nsf/siglario?readform&ALF="+letraini;

	var miAjaxs = new AJAX();

	miAjaxs.onDownloadComplete = function(){

		if(this.responseXML!=null){

			var ultimaDiferencia = 0;

			if(serverData){

				serverData.clear();

				serverData = null;

			}

			serverData = procesarXMLsig(this.responseXML);

			this.responseXML = null;

		}else{

			alert("Los datos recibidos desde el servidor no son correctos")

		}

		this.dispose();

	}

	miAjaxs.startDownload(urls,"");

}

// Construye el array de datos con el xml

function procesarXMLsig(xmldom){

	tipos_normativos.length = 0;

	var miValor;

	var trs=xmldom.getElementsByTagName("tr");

	numtr=trs.length;

	cuantas = numtr;

	for(var ix=0;ix<numtr;ix++){

		var tds=trs[ix].getElementsByTagName("td");

		var valoresTd="";

		var numtds=tds.length;

		for(var j=0;j<numtds;j++){

			tdes=tds[j];

			if(tdes.hasChildNodes()) miValor = tdes.childNodes[0].nodeValue+"";

			else miValor ="&nbsp;";

			valoresTd+="'" + miValor + "',";

		}

		valoresTd+="0";

		if(valoresTd.indexOf("\n")!=-1)	valoresTd = valoresTd.replace(/\n/g,"");

		eval("tipos_normativos["+ix+"]=new tipo("+valoresTd+")");

	}

	creaTabla(letraini);

}

// Construye la tabla con los datos

function creaTabla(letra){

	var tabla = document.getElementById("tipos");

	while(tabla.rows.length>1) tabla.deleteRow(1);

	var len = tipos_normativos.length;

	for(var i=0;i<len;i++){

		//fila

		var fila = tabla.insertRow(-1);

		fila.id = "tr"+i;

		//celda1

		var celda1 = fila.insertCell(-1);

		celda1.id = "td1"+i;

		celda1.innerHTML = tipos_normativos[i].tiponor;
		
		if(tipos_normativos[i].tiponor.indexOf("no hay ")!=-1){

			celda1.colSpan=4;

		}else{

			//celda2

			var celda2 = fila.insertCell(-1);

			celda2.id = "td2"+i;

			celda2.innerHTML = tipos_normativos[i].prefijo;

			//celda3

			var celda3 = fila.insertCell(-1);

			celda3.id = "td3"+i;

			//celda3.className = "flecha";

			var imput = document.createElement("input");

			imput.id = "input"+i;

			imput.value = tipos_normativos[i].formato;		

			celda3.appendChild(imput);

			//celda4 flecha

			var celda4 = fila.insertCell(-1);

			celda4.id = "td4"+i;

			celda4.className = "flecha";			

			var ind = "";

			celda4.onclick = function(){

				ind = this.id.substring(3);

				var texto = "";

				texto = tipos_normativos[ind].tiponor+"||"+tipos_normativos[ind].prefijo+"||"+document.getElementById("input"+ind).value;

				document.getElementById("clave").value = texto.split("||")[1]+'  '+ texto.split("||")[2];

				mostrarSiglario();

			}	

		}

	}

}



function escapar(valor){

	valor = valor.replace('"','');

	if(valor.indexOf('and')!=-1) valor = valor.replace('and','&');

	if(valor.indexOf('&')!=-1){		

		var valores = valor.split('&');

		var tx = '';

		for(var i=0;i<valores.length;i++){

			var espfin = valores[i].lastIndexOf(' ');

			if(espfin==parseInt(valores[i].length-1)) valores[i] = valores[i].slice(0,espfin);

			if(valores[i].indexOf(' ')==0) valores[i] = valores[i].substring(1);

			tx+=(i<valores.length-1)?'"'+valores[i]+'"'+' and ':'"'+valores[valores.length-1]+'"';

		}

		valor = tx;

	}else valor = '"'+valor+'"';

	return valor;

}

function numNormasAct(){

	var capa = document.getElementById("totalNormas");

	var meses = new Array();

	meses = ["Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"];

	var d = new Date();

	var dia = d.getDate();

	var m = d.getMonth();

	var anio = d.getYear();

	capa.innerHTML = "Registradas "+numenormas+" normas a "+dia+" de "+meses[m]+" de "+anio;

}



function formatNum(n){

	n = n.toString();

	var ln = n.length;

	var aux = n.substring(ln-1,ln);

	var auxr = aux.substring(0,1);

	var auxrr = "";

	for(var i=ln-1;i>=0;i--) aux+= n.substring(i,i-1);

	for(var i=1;i<ln;i++) auxr+=(i%3==0)?"."+aux.substring(i,i+1):aux.substring(i,i+1);

	for(var i=auxr.length;i>=0;i--)	auxrr+= auxr.substring(i,i-1);

	n = auxrr;

	return n;

}


