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]; 

// 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 = letrasSig[i];
		capa.className = "letrasig";
		capa.innerHTML = letrasSig[i];	
		capa.onclick = function(){
			for(var k=0;k<letrasSig.length;k++){
				if(this.id!=letrasSig[k]) document.getElementById(letrasSig[k]).className = "letrasig";
			}
			this.className = (this.className=="letrasig")?"letrasigon":"letrasig";
			letraini= this.id.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 documentos en la vista:")!=-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;
}