

/*@cc_on @*/ var isMSIEorWSH = /*@if (@_jscript) true; @else @*/ false; /*@end @*/

// -----------------------------------------------------------------
// hacks ?
// -----------------------------------------------------------------

var __deURI__ = decodeURI;
var __enURI__ = encodeURI;
var decodeURI = function(URI) { try { return __deURI__(URI); } catch (failure) { try { return unescape(URI); } catch (failure) { return URI; } } }
var encodeURI = function(URI) { try { return __enURI__(URI); } catch (failure) { try { return   escape(URI); } catch (failure) { return URI; } } }

var $AP = Array.prototype; // var args = [].slice.call(arguments,0);
String.prototype.mark   = function(NTOKEN) { return "<"+NTOKEN+">"+this+"<\/"+NTOKEN+">"; }
String.prototype.markup = function(/*NTOKENS*/) { return  "<"+$AP.join.call(arguments,"><")+">"+this+"<\/"+$AP.slice.call(arguments,0).reverse().join("><\/")+">"; }
String.prototype.markUP = function(/*NTOKENS*/) { return ["<",$AP.join.call(arguments,"><"),">",this,"<\/",$AP.slice.call(arguments,0).reverse().join("><\/").replace(/\s+[^>]*/gi,""),">"].join(""); }
String.prototype.markIf = function(isTrue) { return (isTrue)?this.bold():this; }

// -----------------------------------------------------------------
// -----------------------------------------------------------------

function getQuery(queryName, defaultValue) {
    try { // better RegExp
        var pattern = new RegExp('[?&]'+queryName+'=(.+?)(?:&|$)');
        return (pattern.test(decodeURI(window.location.search))) ? RegExp.$1 : defaultValue ;
    }
    catch (failure) { // lesser RegExp
        var results = false;
        var pattern = new RegExp('^'+queryName+'=(.+)$');
		var qstring = (decodeURI) ? decodeURI(window.location.search).slice(1).split('&') : window.location.search.slice(1).split('&') ;
        for (var i=0; i<qstring.length && !results; i++) results=pattern.test(qstring[i]);
        return (results) ? RegExp.$1 : defaultValue ;
    }
}

function doResetObj(idStr) {
    var el=document.getElementById(idStr);
    with (el) { while (hasChildNodes()) { void(removeChild(lastChild)); } }
    el.appendChild(document.createTextNode('@@result removed@@'));
}

resultSrc = function() {
    this.Source = [];
    this.updateSrc = function(s) {
        if (s instanceof Array)    this.Source=this.Source.concat(s);
        else if ((typeof(s)=='string')||(s instanceof String)) this.Source[this.Source.length]=s; }
    this.returnSrc = function(s)  { return this.Source.join(s||''); }
    this.removeSrc = function()   { this.Source.length=0; }
    return this;
}

function getAttributeDOMx(el,ns,pfx,name) {
    if (el.getAttributeNS) { return el.getAttributeNS(ns,name); }
    else { return el.getAttribute(name)||el.getAttribute(pfx+":"+name); }
} // END:fn
function setAttributeDOMx(el,ns,qname,val) {
    if (el.setAttributeNS) { return el.setAttributeNS(ns,qname,val); }
    else { return el.setAttribute(qname,val); }
} // END:fn
function getClassAttr(el) {
    if (el.getAttributeNS) { return el.getAttributeNS("http:\/\/www.w3.org\/1999\/xhtml","class"); }
    else { return el.getAttribute("class")||el.getAttribute("xhtml:class")||el.className; }
} // END:fn

// -----------------------------------------------------------------
// date time &c
// -----------------------------------------------------------------

var baseDate = new Date();
var baseDays = Math.floor(baseDate.valueOf()/86400000);
var modiDate = new Date(document.lastModified);
var modiDays = baseDays-(Math.floor(modiDate.valueOf()/86400000));
var ISO4Date = /(\d{4}-\d{2}-\d{2})/;   //  /([0-9]{4}-[0-9]{2}-[0-9]{2})/  /(\d{4}-\d{2}-\d{2})/  /(\d\d\d\d-\d\d-\d\d)/
var base2Day = { "y":baseDate.getUTCFullYear(),"m":baseDate.getUTCMonth()+1,"d":baseDate.getUTCDate() }
    base2Day.YY  = ''+base2Day.y;
    base2Day.MM  = ((base2Day.m<10)?'0':'')+base2Day.m;
    base2Day.DD  = ((base2Day.d<10)?'0':'')+base2Day.d;
    base2Day.ISO = base2Day.YY+'-'+base2Day.MM+'-'+base2Day.DD;

function getDays2Date(tDate) { // Arg: Object Date
    return Math.abs(baseDays-(Math.floor(oDate.valueOf()/86400000)));
} // END:fn
function getDaysSince(strYYYY,strMM,strDD) { // StrOfMonths: [0]1-12
    return Math.abs(baseDays-(Math.floor(Date.UTC(parseInt(strYYYY,10),parseInt(strMM,10)-1,parseInt(strDD,10))/86400000)));
} // END:fn
function getDuration(fromISODate,toISODate) { // Args: String ISO-Date = "YYYY-MM-DD"
    var fromDate = fromISODate.split('-');    var toDate = toISODate.split('-');
    return getDaysSince(toDate[0],toDate[1],toDate[2])-getDaysSince(fromDate[0],fromDate[1],fromDate[2]);
} // END:fn
function getDuration2Day(fromISODate) { // Arg: String ISO-Date = "YYYY-MM-DD"
    var fromDate = fromISODate.split('-');
    return getDaysSince(fromDate[0],fromDate[1],fromDate[2]);
} // END:fn

DaysOfMonthInYear = function(MM,YY){ return (MM==2) ? (((!(YY%4) && (YY%100)) || !(YY%400)) ? 29 : 28) : [0,31,28,31,30,31,30,31,31,30,31,30,31][MM] ; }

function FromDate2Date(fDate,tDate) { // Args: Object Date
    return getDaysAsAMD(Math.abs((Math.floor(tDate.valueOf()/86400000))-(Math.floor(fDate.valueOf()/86400000))));
}
function FromToISODate(fISODate,tISODate) { // Args: String ISO-Date = "YYYY-MM-DD"
    var fDate = fISODate.split('-');
    var tDate = tISODate.split('-');
    return FromToNumDate(parseInt(fDate[0],10),parseInt(fDate[1],10),parseInt(fDate[2],10),parseInt(tDate[0],10),parseInt(tDate[1],10),parseInt(tDate[2],10));
}
function FromToISO2Day(fISODate) { // Arg: String ISO-Date = "YYYY-MM-DD"
    var fDate = fISODate.split('-');
    return FromToNumDate(parseInt(fDate[0],10),parseInt(fDate[1],10),parseInt(fDate[2],10),base2Day.y,base2Day.m,base2Day.d);
}
function FromToNumDate(fY,fM,fD,tY,tM,tD) { // NumOfMonths: 1-12
    var rY=tY-fY; var rM=tM-fM; var rD=tD-fD;
    if (rD<0) { rD+=DaysOfMonthInYear(fM,fY); rM--; }
    if (rM<0) { rM+=12; rY--; }
    return ((rY)?((rY<10)?"0":"")+rY+"a":"")+((rM)?((rM<10)?"0":"")+rM+"m":"")+((rD)?((rD<10)?"0":"")+rD+"d":"");
}
function FromToStrDate(fY,fM,fD,tY,tM,tD) { // StrOfMonths: [0]1-12
    var rY=parseInt(tY,10)-parseInt(fY,10);
    var rM=parseInt(tM,10)-parseInt(fM,10);
    var rD=parseInt(tD,10)-parseInt(fD,10);
    if (rD<0) { rD+=DaysOfMonthInYear(fM,fY); rM--; }
    if (rM<0) { rM+=12; rY--; }
    return ((rY)?((rY<10)?"0":"")+rY+"a":"")+((rM)?((rM<10)?"0":"")+rM+"m":"")+((rD)?((rD<10)?"0":"")+rD+"d":"");
}

var modi2Day = FromToNumDate(modiDate.getUTCFullYear(),modiDate.getUTCMonth()+1,modiDate.getUTCDate(),baseDate.getUTCFullYear(),baseDate.getUTCMonth()+1,baseDate.getUTCDate());
    //? = getDaysAsAMD(modiDays);
    //? = FromDate2Date(modiDate,baseDate);
    //? = FromToNumDate(modiDate.getUTCFullYear(),modiDate.getUTCMonth()+1,modiDate.getUTCDate(),baseDate.getUTCFullYear(),baseDate.getUTCMonth()+1,baseDate.getUTCDate());

// -----------------------------------------------------------------
// init & exec
// -----------------------------------------------------------------

function initObjRefs(oRef) {
    sObj=oRef;
    sDoc=oRef.contentDocument /*@if (@_jscript) ||oRef.XMLDocument /*@end @*/ ;
                              /*@if (@_jscript) if(sDoc==null) sDoc.load(oRef.data); /*@end @*/
}

function initDocRefs() {
    rDiv = document.getElementById('resultDiv');
    // void(setAttributeDOMx(rDiv,'http:\/\/www.w3.org\/XML\/1998\/namespace','xml:base','Nobiliario.xml'));
    document.getElementById('idAheadStr').firstChild.nodeValue="\u00ABNobiliario Espa\u00F1ol\u00BB , Page Revision "+document.lastModified+((modi2Day)?" ~ "+modi2Day:"");
    document.getElementById('idStatusStr').firstChild.nodeValue="@@initializing...@@";
    document.getElementById('idUserAgent').firstChild.nodeValue=navigator.userAgent;
    document.getElementById('idCompatMode').firstChild.nodeValue=document.compatMode;
	//
    initNobRefs(); // Seleccion.ORDEN = sNob.OrdenSuces; Seleccion.LLANO=true; Seleccion.REGEX=false; Seleccion.LISTA = Seleccion.llanoSucesion; Seleccion.FILTRO = ""; Seleccion.TCLASE = "";
	//
	if (window.location.search) { evalQuerySelVals(); }
    // 
    document.getElementById('idStats').firstChild.nodeValue=document.getElementById('idStatusStr').firstChild.nodeValue=(sNob.ITEMS)+" titles in Nobiliario-Database, built "+(sNob.NobRev)+((sNob.NobRev.indexOf('?')==-1)?" ~ "+FromToISO2Day(sNob.NobRev):"");
    FAQs = document.getElementById('sourceFAQ').cloneNode(true);
	//
	(window.location.search.indexOf('action')==-1) ? initSelVals() : execQuerySelVals() ;
}

function initNobRefs() {
    sNob = sNob||Nobiliario;
	sNob.IdGoTo     = (window.location.protocol=="http:") ?  "#" : "Nobiliario.xml#" ;
    sNob.TMayor     = new Array(sNob.ITEMS);
    sNob.Titulo     = new Array(sNob.ITEMS);
    sNob.Nombre     = new Array(sNob.ITEMS);
    sNob.OrdenSuces = new Array(sNob.ITEMS);
    sNob.OrdenVerso = new Array(sNob.ITEMS);
    sNob.OrdenEdadS = new Array(sNob.ITEMS);
    var  DiasEdad   = new Array(sNob.ITEMS);
    var  DiasSuces  = new Array(sNob.ITEMS); var fha;
    var  DiasEdadS  = new Array(sNob.ITEMS);
    var  DiasCreac  = new Array(sNob.ITEMS);
    var  DiasGdEsp  = new Array(sNob.ITEMS);
    sNob.EdadAMD    = new Array(sNob.ITEMS);
    sNob.SucesAMD   = new Array(sNob.ITEMS);
    sNob.EdadSuces  = new Array(sNob.ITEMS);
    sNob.CreacAMD   = new Array(sNob.ITEMS);
    sNob.GdEspAMD   = new Array(sNob.ITEMS);
    for (var i=0; i<sNob.ITEMS; i++)
        {
        DiasEdad[i]   = (ISO4Date.test(sNob.Nacencia[i]))?getDuration2Day(RegExp.$1):0;
        DiasSuces[i]  = (ISO4Date.test(sNob.Sucesion[i]))?getDuration2Day(fha=RegExp.$1):0;
        DiasEdadS[i]  = [(DiasEdad[i]&&DiasSuces[i])?DiasEdad[i]-DiasSuces[i]:0,i];
        sNob.EdadAMD[i]   = (DiasEdad[i])?" ~"+FromToISO2Day(sNob.Nacencia[i]):"";
        sNob.SucesAMD[i]  = (DiasSuces[i])?" ~"+FromToISO2Day(fha):"";
        sNob.EdadSuces[i] = (DiasEdadS[i][0])?" (~"+FromToISODate(sNob.Nacencia[i],fha)+")":"";
        DiasCreac[i]  = (ISO4Date.test(sNob.Creacion[i]))?getDuration2Day(fha=RegExp.$1):0;
        sNob.CreacAMD[i] = (DiasCreac[i])?" ~"+FromToISO2Day(fha):"";
        DiasGdEsp[i]  = (ISO4Date.test(sNob.Grandeza[i]))?getDuration2Day(fha=RegExp.$1):0;
        sNob.GdEspAMD[i] = (DiasGdEsp[i])?" ~"+FromToISO2Day(fha):"";
        } // END:for
    DiasEdadS.sort(function(el1,el2){ return el2[0]-el1[0]; }); // descending order
    for (var i=0; i<sNob.ITEMS; i++)
        {
        sNob.OrdenSuces[i] = i;
        sNob.OrdenVerso[i] = sNob.ITEMS-1-i;
        sNob.OrdenEdadS[i] = DiasEdadS[i][1];
		sNob.TMayor[i] = sNob.NobCls[i].indexOf("TMayor")!=-1;
        sNob.Titulo[i] = sNob.Clase[i]+" "+sNob.Parte[i]+" "+sNob.Denom[i].markIf(sNob.TMayor[i]);
        sNob.Nombre[i] = sNob.Cortesia[i]+sNob.dePila[i]+" "+sNob.Apellido[i];
        }
}

// -----------------------------------------------------------------

function initSelVals() {
    // Seleccion.LLANO
    Seleccion.LLANO=document.FORMer.FLATten.checked;
    // Seleccion.REGEX
    Seleccion.REGEX=document.FORMer.REGEX.checked;
    // Seleccion.ORDEN
    // Seleccion.LISTA
    Seleccion(document.FORMer.SORTer.options[document.FORMer.SORTer.selectedIndex].value);
    // Seleccion.FILTRO
    Seleccion(document.FORMer.FILTERs.options[document.FORMer.FILTERs.selectedIndex].value);
    // Seleccion.TCLASE
    Seleccion.filtroClase(document.FORMer.SELECTor.options[document.FORMer.SELECTor.selectedIndex].value);
}

function execQuerySelVals() {
    // Seleccion.LLANO
    switch (getQuery('simple','true')) {
		case "on"    : Seleccion.LLANO=true;  break;
		case "off"   : Seleccion.LLANO=false; break;
		case "true"  : Seleccion.LLANO=true;  break;
		case "false" : Seleccion.LLANO=false; break;
		case "null"  : Seleccion.LLANO=false; break;
		case "0"     : Seleccion.LLANO=false; break;
		case "1"     : Seleccion.LLANO=true;  break;
		default      : Seleccion.LLANO=true;  break;
	}
    // Seleccion.REGEX
    switch (getQuery('regex','false')) {
		case "on"    : Seleccion.REGEX=true;  break;
		case "off"   : Seleccion.REGEX=false; break;
		case "true"  : Seleccion.REGEX=true;  break;
		case "false" : Seleccion.REGEX=false; break;
		case "null"  : Seleccion.REGEX=false; break;
		case "0"     : Seleccion.REGEX=false; break;
		case "1"     : Seleccion.REGEX=true;  break;
		default      : Seleccion.REGEX=false; break;
	}
    // Seleccion.ORDEN
    // Seleccion.LISTA
    Seleccion(getQuery('sel3',document.FORMer.SORTer.options[document.FORMer.SORTer.selectedIndex].value));
    // Seleccion.FILTRO
    Seleccion(getQuery('sel2',document.FORMer.FILTERs.options[document.FORMer.FILTERs.selectedIndex].value));
    // Seleccion.TCLASE
	Seleccion.filtroClase(getQuery('sel1',document.FORMer.SELECTor.options[document.FORMer.SELECTor.selectedIndex].value));
    // Seleccion.BUSCA
    switch (getQuery('action','0')) {
		case "1"          : 
		case "select"     : Seleccion(getQuery('sel1',document.FORMer.SELECTor.options[document.FORMer.SELECTor.selectedIndex].value));  break;
		case "2"          :
		case "search"     : print(Seleccion.BUSCAsinFILTROS(getQuery('sel4',document.FORMer.SEARCHin.options[document.FORMer.SEARCHin.selectedIndex].value),getQuery('text',document.FORMer.TEXTer.value))); break;
		case "3"          :
		case "s select"   :
		case "s+select"   : print(Seleccion.BUSCAconFILTROS(getQuery('sel4',document.FORMer.SEARCHin.options[document.FORMer.SEARCHin.selectedIndex].value),getQuery('text',document.FORMer.TEXTer.value))); break;
		default           : break;
	}

}

function addQuery2URL() {
	(/(\?.*)$/.test(document.FORMer.STATUS.value)) ? window.location.search=RegExp.$1 : window.location.href="Nobiliario.html" ;
}
function addQuery2LOG(action) {
	document.FORMer.STATUS.title=document.FORMer.STATUS.value="http:\/\/unterstein.net\/NobiliarioEspanol"+evalSelVals(action);
}

function evalQuerySelVals() {
	var value;
	var selectOpt = function(oForm, value) {
		for (var i=0; i<oForm.length; i++) {
			if (oForm.options[i].value==value) { oForm.selectedIndex=i; return; }  // options[i].selected=true;
		}
	}
	//
    if (value=getQuery('sel1',false)) selectOpt(document.FORMer.SELECTor,value);
    if (value=getQuery('sel2',false)) selectOpt(document.FORMer.FILTERs,value);
    if (value=getQuery('sel3',false)) selectOpt(document.FORMer.SORTer,value);
    if (value=getQuery('text',false)) document.FORMer.TEXTer.value=value;
    if (value=getQuery('sel4',false)) selectOpt(document.FORMer.SEARCHin,value);
    switch (getQuery('regex','false')) {
		case "on"    : document.FORMer.REGEX.checked=true;  break;
		case "off"   : document.FORMer.REGEX.checked=false; break;
		case "true"  : document.FORMer.REGEX.checked=true;  break;
		case "false" : document.FORMer.REGEX.checked=false; break;
		case "null"  : document.FORMer.REGEX.checked=false; break;
		case "0"     : document.FORMer.REGEX.checked=false; break;
		case "1"     : document.FORMer.REGEX.checked=true;  break;
		default      : document.FORMer.REGEX.checked=false; break;
	}
    switch (getQuery('simple','true')) {
		case "on"    : document.FORMer.FLATten.checked=true;  break;
		case "off"   : document.FORMer.FLATten.checked=false; break;
		case "true"  : document.FORMer.FLATten.checked=true;  break;
		case "false" : document.FORMer.FLATten.checked=false; break;
		case "null"  : document.FORMer.FLATten.checked=false; break;
		case "0"     : document.FORMer.FLATten.checked=false; break;
		case "1"     : document.FORMer.FLATten.checked=true;  break;
		default      : document.FORMer.FLATten.checked=true;  break;
	}
}

function evalSelVals(action) {
    return encodeURI([
	((action||false)?"&action="+action:""),
    ((document.FORMer.SELECTor.options[document.FORMer.SELECTor.selectedIndex].defaultSelected)?"":"&sel1="+document.FORMer.SELECTor.options[document.FORMer.SELECTor.selectedIndex].value),
	((document.FORMer.FILTERs.options[document.FORMer.FILTERs.selectedIndex].defaultSelected)?"":"&sel2="+document.FORMer.FILTERs.options[document.FORMer.FILTERs.selectedIndex].value),
	((document.FORMer.SORTer.options[document.FORMer.SORTer.selectedIndex].defaultSelected)?"":"&sel3="+document.FORMer.SORTer.options[document.FORMer.SORTer.selectedIndex].value),
    ((document.FORMer.TEXTer.value)?"&text="+document.FORMer.TEXTer.value:""),
	((document.FORMer.SEARCHin.options[document.FORMer.SEARCHin.selectedIndex].defaultSelected)?"":"&sel4="+document.FORMer.SEARCHin.options[document.FORMer.SEARCHin.selectedIndex].value),
    ((document.FORMer.REGEX.checked)?"&regex="+document.FORMer.REGEX.checked:""),
    ((document.FORMer.FLATten.checked)?"":"&simple="+document.FORMer.FLATten.checked)
].join("").replace(/^&/,"?"));
}


// -----------------------------------------------------------------

function initInsEvent() {
    var oIns = rDiv.getElementsByTagName("ins");
    if (document.addEventListener)
        for (var i=0; i<oIns.length; i++)
        {
        oIns[i].addEventListener('click',execInsEvNew,false);
        }
    else if (window.opera || document.all)
        for (var i=0; i<oIns.length; i++)
        {
        oIns[i].onclick=execInsEvOld;
        }
    alert((oIns.length)?"[##] is active \'onClick\', attached to "+oIns.length+" titles":"no list/titles or no ##>01, i.e. no related titles");
}
function execInsEvNew(ev) {
    ev.currentTarget.innerHTML="<ol>"+Seleccion.BUSCAconNOMBRES(ev.currentTarget.title)+"<\/ol>";
    ev.stopPropagation(); ev.currentTarget.style.cursor="auto";
    ev.currentTarget.removeEventListener(ev.type,arguments.callee,!ev.bubbles);
}
function execInsEvOld(ev) {
    // ev=ev||window.event; var currentTarget=ev.target||ev.srcElement; currentTarget.innerHTML=Seleccion.BUSCAconNOMBRES(currentTarget.title); (!ev.stopPropagation) ? ev.cancelBubble=true : ev.stopPropagation() ; currentTarget.onclick=null;
    this.innerHTML="<ol>"+Seleccion.BUSCAconNOMBRES(this.title)+"<\/ol>";
    ev=ev||window.event; (!ev.stopPropagation) ? ev.cancelBubble=true : ev.stopPropagation() ;
    this.style.cursor="auto";
    this.onclick=null;
}

// -----------------------------------------------------------------
// some code-compatibility with jsshell.exe (Mozilla's SpiderMonkey)
// -----------------------------------------------------------------

function print(stuff) { rDiv.innerHTML="<ol>"+stuff+"<\/ol>end|fin"; }

// -----------------------------------------------------------------
// -----------------------------------------------------------------
// -----------------------------------------------------------------

function Seleccion(fn) {
    void((Seleccion[fn]&&(typeof(Seleccion[fn])=='function'))&&Seleccion[fn]());
}

// -----------------------------------------------------------------

Seleccion.nada = function() {
    doResetObj("resultDiv");
    Seleccion.ORDEN=sNob.OrdenSuces;
    Seleccion.LISTA=Seleccion.llanoSucesion;
    Seleccion.LLANO=true;
    Seleccion.REGEX=false;
    Seleccion.TCLASE="";
    Seleccion.FILTRO="";
}

Seleccion.ordenNombre = function() { Seleccion.ORDEN=sNob.OrdenNombre; Seleccion.LISTA=(Seleccion.LLANO)?Seleccion.llanoNombre:Seleccion.listaNombre; }
Seleccion.ordenNacimiento = function() { Seleccion.ORDEN=sNob.OrdenNacen; Seleccion.LISTA=(Seleccion.LLANO)?Seleccion.llanoNacimiento:Seleccion.listaNacimiento; }
Seleccion.ordenDenominacion = function() { Seleccion.ORDEN=sNob.OrdenDenom; Seleccion.LISTA=(Seleccion.LLANO)?Seleccion.llanoDenominacion:Seleccion.listaDenominacion; }
Seleccion.ordenCreacion = function() { Seleccion.ORDEN=sNob.OrdenCreac; Seleccion.LISTA=(Seleccion.LLANO)?Seleccion.llanoCreacion:Seleccion.listaCreacion; }
Seleccion.ordenGrandeza = function() { Seleccion.ORDEN=sNob.OrdenGdEsp; Seleccion.LISTA=(Seleccion.LLANO)?Seleccion.llanoGrandeza:Seleccion.listaGrandeza; }
Seleccion.ordenSucesion = function() { Seleccion.ORDEN=sNob.OrdenSuces; Seleccion.LISTA=(Seleccion.LLANO)?Seleccion.llanoSucesion:Seleccion.listaSucesion; }
Seleccion.ordenSucVerso = function() { Seleccion.ORDEN=sNob.OrdenVerso; Seleccion.LISTA=(Seleccion.LLANO)?Seleccion.llanoSucesion:Seleccion.listaSucesion; }
Seleccion.ordenNumero = function() { Seleccion.ORDEN=sNob.OrdenNumero; Seleccion.LISTA=(Seleccion.LLANO)?Seleccion.llanoNumero:Seleccion.listaNumero; }
Seleccion.ordenEdadS = function() { Seleccion.ORDEN=sNob.OrdenEdadS; Seleccion.LISTA=(Seleccion.LLANO)?Seleccion.llanoEdadS:Seleccion.listaEdadS; }

Seleccion.filtroTodos = function() { Seleccion.FILTRO=""; }
Seleccion.filtroOcupado = function() { Seleccion.FILTRO="TM"; }
Seleccion.filtroMayor = function() { Seleccion.FILTRO="TMayor"; }
Seleccion.filtroMayorMujer = function() { Seleccion.FILTRO="TMayor Mujer"; }
Seleccion.filtroMayorVaron = function() { Seleccion.FILTRO="TMayor Varon"; }
Seleccion.filtroMenor = function() { Seleccion.FILTRO="TMenor"; }
Seleccion.filtroMenorMujer = function() { Seleccion.FILTRO="TMenor Mujer"; }
Seleccion.filtroMenorVaron = function() { Seleccion.FILTRO="TMenor Varon"; }
Seleccion.filtroMujer = function() { Seleccion.FILTRO="Mujer"; }
Seleccion.filtroVaron = function() { Seleccion.FILTRO="Varon"; }
Seleccion.filtroNoOcupado = function() { Seleccion.FILTRO="Titu"; }
Seleccion.filtroElecto = function() { Seleccion.FILTRO="TituEle"; }
Seleccion.filtroVacante = function() { Seleccion.FILTRO="TituVac"; }
Seleccion.filtroCancelado = function() { Seleccion.FILTRO="TituCan"; }
Seleccion.filtroAnulado = function() { Seleccion.FILTRO="TituAnu"; }
Seleccion.filtroCaducado = function() { Seleccion.FILTRO="TituCad"; }
Seleccion.filtroSuprimido = function() { Seleccion.FILTRO="TituSup"; }
Seleccion.filtroRevertido = function() { Seleccion.FILTRO="TituRev"; }
Seleccion.filtroExtinguido = function() { Seleccion.FILTRO="TituExt"; }
Seleccion.filtroRenunciado = function() { Seleccion.FILTRO="TituRen"; }
Seleccion.filtroConGdE = function() { Seleccion.FILTRO="conGdE"; }
Seleccion.filtroSinGdE = function() { Seleccion.FILTRO="sinGdE"; }
Seleccion.filtroClase = function(Clase) {
    switch (Clase) {
    case "TitulosATTRS"      : Seleccion.TCLASE="";                break;
    case "TitulosPLANO"      : Seleccion.TCLASE="";                break;
    case "soloPrincipados"   : Seleccion.TCLASE="Princ";           break;
    case "soloPrincipes"     : Seleccion.TCLASE="Principe";        break;
    case "soloPrincesas"     : Seleccion.TCLASE="Princesa";        break;
    case "soloDucados"       : Seleccion.TCLASE="Du";              break;
    case "soloDuques"        : Seleccion.TCLASE="Duque ";          break;
    case "soloDuquesas"      : Seleccion.TCLASE="Duquesa";         break;
    case "soloMarquesados"   : Seleccion.TCLASE="Marques";         break;
    case "soloMarqueses"     : Seleccion.TCLASE="Marques ";        break;
    case "soloMarquesas"     : Seleccion.TCLASE="Marquesa ";       break;
    case "soloCondados"      : Seleccion.TCLASE="Cond";            break;
    case "soloCondes"        : Seleccion.TCLASE="Conde ";          break;
    case "soloCondesas"      : Seleccion.TCLASE="Condesa";         break;
    case "soloVizcondados"   : Seleccion.TCLASE="Vizcond";         break;
    case "soloVizcondes"     : Seleccion.TCLASE="Vizconde ";       break;
    case "soloVizcondesas"   : Seleccion.TCLASE="Vizcondesa";      break;
    case "soloBaronias"      : Seleccion.TCLASE="Baron";           break;
    case "soloBarones"       : Seleccion.TCLASE="Baron ";          break;
    case "soloBaronesas"     : Seleccion.TCLASE="Baronesa";        break;
    case "soloSenorios"      : Seleccion.TCLASE="Senor";           break;
    case "soloSenores"       : Seleccion.TCLASE="Senor ";          break;
    case "soloSenoras"       : Seleccion.TCLASE="Senora";          break;
    case "soloGrandezas"     : Seleccion.TCLASE="Grande";          break;
    case "soloGrandes"       : Seleccion.TCLASE="Grande ";         break;
    case "soloGrandesas"     : Seleccion.TCLASE="Grandesa";        break;
    case "soloMariscalatos"  : Seleccion.TCLASE="Mariscal";        break;
    case "soloMariscales"    : Seleccion.TCLASE="Mariscal ";       break;
    case "soloMariscalas"    : Seleccion.TCLASE="Mariscala ";      break;
    case "soloAlmirantazgos" : Seleccion.TCLASE="Almirant";        break;
    case "soloAlmirantes"    : Seleccion.TCLASE="Almirante";       break;
    case "soloAlmirantas"    : Seleccion.TCLASE="Almiranta ";      break;
    case "soloAdelantados"   : Seleccion.TCLASE="Adelantado";      break;
    case "soloAdelantadas"   : Seleccion.TCLASE="Adelantada";      break;
    case "soloAdelantazgos"  : Seleccion.TCLASE="Adelant";         break;
    case "soloConDucados"    : Seleccion.TCLASE=" Du";             break;
    case "soloConDuques"     : Seleccion.TCLASE="Conde Duque";     break;
    case "soloConDuquesas"   : Seleccion.TCLASE="Condesa Duquesa"; break;
    case "todosConGdE"       : Seleccion.TCLASE="conGdE";          break;
    case "todosSinGdE"       : Seleccion.TCLASE="sinGdE";          break;
    case "todosTitulos"      : Seleccion.TCLASE="";                break;
    case "filtroTodos"       : Seleccion[Clase](); break;
    case "filtroOcupado"     : Seleccion[Clase](); break;
    case "filtroMayor"       : Seleccion[Clase](); break;
    case "filtroMayorMujer"  : Seleccion[Clase](); break;
    case "filtroMayorVaron"  : Seleccion[Clase](); break;
    case "filtroMenor"       : Seleccion[Clase](); break;
    case "filtroMenorMujer"  : Seleccion[Clase](); break;
    case "filtroMenorVaron"  : Seleccion[Clase](); break;
    case "filtroMujer"       : Seleccion[Clase](); break;
    case "filtroVaron"       : Seleccion[Clase](); break;
    case "filtroNoOcupado"   : Seleccion[Clase](); break;
    case "filtroElecto"      : Seleccion[Clase](); break;
    case "filtroVacante"     : Seleccion[Clase](); break;
    case "filtroCancelado"   : Seleccion[Clase](); break;
    case "filtroAnulado"     : Seleccion[Clase](); break;
    case "filtroCaducado"    : Seleccion[Clase](); break;
    case "filtroSuprimido"   : Seleccion[Clase](); break;
    case "filtroRevertido"   : Seleccion[Clase](); break;
    case "filtroExtinguido"  : Seleccion[Clase](); break;
    case "filtroRenunciado"  : Seleccion[Clase](); break;
    case "filtroConGdE"      : Seleccion[Clase](); break;
    case "filtroSinGdE"      : Seleccion[Clase](); break;
    case "ordenNombre"       : Seleccion[Clase](); break;
    case "ordenNacimiento"   : Seleccion[Clase](); break;
    case "ordenDenominacion" : Seleccion[Clase](); break;
    case "ordenCreacion"     : Seleccion[Clase](); break;
    case "ordenGrandeza"     : Seleccion[Clase](); break;
    case "ordenSucesion"     : Seleccion[Clase](); break;
    case "ordenSucVerso"     : Seleccion[Clase](); break;
    case "ordenNumero"       : Seleccion[Clase](); break;
    case "ordenEdadS"        : Seleccion[Clase](); break;
    default :
        Seleccion.TCLASE="";
        Seleccion.FILTRO="";
        Seleccion.ordenSucesion();
        break;
    }
}

// -----------------------------------------------------------------

Seleccion.filtroNobCls = function(IDX,FIL) {
    return (sNob.NobCls[Seleccion.ORDEN[IDX]].indexOf(FIL)!=-1);
}

Seleccion.BUSCA = function(DONDE,QUE) {
    var rSrc = new resultSrc();
    for (var i=0; i<sNob.ITEMS; i++)
    {
    if ((sNob[DONDE][Seleccion.ORDEN[i]].indexOf(QUE)!=-1)&&Seleccion.filtroNobCls(i,Seleccion.FILTRO))
        rSrc.updateSrc(Seleccion.LISTA(Seleccion.ORDEN[i]));
    }
    return rSrc.returnSrc();
}

Seleccion.BUSCAconFILTROS = function(DONDE,QUE) {
    var rSrc = new resultSrc();
	// ------------------------
	// ------------------------
	if (Seleccion.REGEX) {
		try { //
			var pattern = new RegExp(); pattern.compile(QUE);
			for (var i=0; i<sNob.ITEMS; i++)
			{
			if (Seleccion.filtroNobCls(i,Seleccion.TCLASE)&&Seleccion.filtroNobCls(i,Seleccion.FILTRO)&&pattern.test(sNob[DONDE][Seleccion.ORDEN[i]]))
				rSrc.updateSrc(Seleccion.LISTA(Seleccion.ORDEN[i]));
			}
		}
		catch (failure) { rSrc.updateSrc("<li>Error: Regular Expression not computable ["+failure+"]<\/li>"); }
		finally  { return rSrc.returnSrc(); }
	} 
	// ------------------------
	// ------------------------
    for (var i=0; i<sNob.ITEMS; i++)
    {
    if ((sNob[DONDE][Seleccion.ORDEN[i]].indexOf(QUE)!=-1)&&Seleccion.filtroNobCls(i,Seleccion.TCLASE)&&Seleccion.filtroNobCls(i,Seleccion.FILTRO))
        rSrc.updateSrc(Seleccion.LISTA(Seleccion.ORDEN[i]));
    }
    return rSrc.returnSrc();
}

Seleccion.BUSCAsinFILTROS = function(DONDE,QUE) {
    var rSrc = new resultSrc();
	// ------------------------
	// ------------------------
	if (Seleccion.REGEX) {
		try { // noop Opera: var pattern = (new RegExp()).compile(QUE);
			var pattern = new RegExp(); pattern.compile(QUE);
			for (var i=0; i<sNob.ITEMS; i++)
			{
			if (pattern.test(sNob[DONDE][Seleccion.ORDEN[i]]))
				rSrc.updateSrc(Seleccion.LISTA(Seleccion.ORDEN[i]));
			}
		}
		catch (failure) { rSrc.updateSrc("<li>Error: Regular Expression not computable ["+failure+"]<\/li>"); }
		finally  { return rSrc.returnSrc(); }
	} 
	// ------------------------
	// ------------------------
    for (var i=0; i<sNob.ITEMS; i++)
    {
    if (sNob[DONDE][Seleccion.ORDEN[i]].indexOf(QUE)!=-1)
        rSrc.updateSrc(Seleccion.LISTA(Seleccion.ORDEN[i]));
    }
    return rSrc.returnSrc();
}

Seleccion.BUSCAvinculados = function(IDX) {
    var rSrc = new resultSrc();
    var iQUE = (sNob.XLINK[IDX])?sNob.XLINK[IDX].slice(1):sNob.XMLID[IDX];
    for (var i=0; i<sNob.ITEMS; i++)
    {
    if (sNob.XMLID[Seleccion.ORDEN[i]]==iQUE||sNob.XLINK[Seleccion.ORDEN[i]]=="#"+iQUE)
        rSrc.updateSrc(Seleccion.todosVinculados(Seleccion.ORDEN[i]));
    }
    return rSrc.returnSrc();
}

Seleccion.BUSCAconNOMBRES = function(IDX) {
    var rSrc = new resultSrc();
    var iNOM = sNob.Nombre[IDX];
    for (var i=0; i<sNob.ITEMS; i++)
    {
    if (sNob.Nombre[Seleccion.ORDEN[i]]==iNOM)
        rSrc.updateSrc(Seleccion.todosVinculados(Seleccion.ORDEN[i]));
    }
    return rSrc.returnSrc();
}

// -----------------------------------------------------------------

Seleccion.TitulosATTRS = function() {
    var iOrd ;
    var rSrc = new resultSrc();
    for (var i=0; i<sNob.ITEMS; i++)
    {
    iOrd=Seleccion.ORDEN[i];
    if (Seleccion.filtroNobCls(i,Seleccion.FILTRO))
    rSrc.updateSrc([
        "<li class=\""+sNob.NobCls[iOrd]+"\">",
        "<span class=\"Denom\">"+sNob.Denom[iOrd]+"<\/span>, ",
        "<span class=\"ATTRS\"> pos.<a href=\"Nobiliario.xml#xmlns(ah=urn:xmlns:adhoc)xpath1(\/\/ah:list\/ah:item["+(iOrd+1)+"])element(\/1\/2\/1\/"+(iOrd+1)+")\">"+(iOrd+1)+"<\/a>  xhtml:class=\""+sNob.NobCls[iOrd]+"\"<br\/>\u00A0 xml:id=\"<a href=\"Nobiliario.xml#"+sNob.XMLID[iOrd]+"\">"+sNob.XMLID[iOrd]+"<\/a>\""+((sNob.XLINK[iOrd])?"  xlink:href=\"<a href=\"Nobiliario.xml"+sNob.XLINK[iOrd]+"\">"+sNob.XLINK[iOrd]+"<\/a>\"":"")+"<\/span>",
        ((sNob.Titulos[iOrd]=="01")?"":" <ins title=\""+iOrd+"\">["+sNob.Titulos[iOrd]+"]<\/ins>"),
        "<\/li>"  //  #xmlns(ah=urn:xmlns:adhoc)xpointer(\/\/ah:list\/ah:item["+(iOrd+1)+"])xpath1(\/\/ah:list\/ah:item["+(iOrd+1)+"])element(\/1\/2\/1\/"+(iOrd+1)+")
        ].join(""));
    }
    print(rSrc.returnSrc());
}

Seleccion.TitulosPLANO = function() {
    var rSrc = new resultSrc();    rSrc.updateSrc("");
    for (var i=0; i<sNob.ITEMS; i++)
    {
    if (Seleccion.filtroNobCls(i,Seleccion.FILTRO))
        rSrc.Source[rSrc.Source.length]=rSrc.Source.length+" : "+Seleccion.todosValores(Seleccion.ORDEN[i]);
    }
    rDiv.innerHTML="<pre xml:space='preserve' style='width:95%;overflow:hidden;border-right:1px dotted darkgray;'><\/pre>end|fin";
    rDiv.firstChild.appendChild(document.createTextNode(rSrc.returnSrc(/*@if (@_jscript) "\r\n" @else @*/ "\n" /*@end @*/).replace(/<\/?[^>]+>/gi,"")));
}

Seleccion.TitulosESTAD = function() {
    rDiv.innerHTML="<pre><strong>Estad&iacute;stica/Statistic<\/strong>   (\"M\" male-, \"F\" female-, \"X\" non-occupied):\r\n"+sNob.STATS+"<\/pre>";
}

Seleccion.TitulosTODOS = function() {
    var rSrc = new resultSrc();
    for (var i=0; i<sNob.ITEMS; i++)
    {
    rSrc.updateSrc(Seleccion.LISTA(Seleccion.ORDEN[i]));
    }
    print(rSrc.returnSrc());
}

Seleccion.todosTitulos = function() { print(Seleccion.BUSCA("NobCls","")); }
Seleccion.soloPrincipados = function() { print(Seleccion.BUSCA("NobCls","Princ")); }
Seleccion.soloPrincipes = function() { print(Seleccion.BUSCA("NobCls","Principe")); }
Seleccion.soloPrincesas = function() { print(Seleccion.BUSCA("NobCls","Princesa")); }
Seleccion.soloDucados = function() { print(Seleccion.BUSCA("NobCls","Du")); }
Seleccion.soloDuques = function() { print(Seleccion.BUSCA("NobCls","Duque ")); }
Seleccion.soloDuquesas = function() { print(Seleccion.BUSCA("NobCls","Duquesa")); }
Seleccion.soloMarquesados = function() { print(Seleccion.BUSCA("NobCls","Marques")); }
Seleccion.soloMarqueses = function() { print(Seleccion.BUSCA("NobCls","Marques ")); }
Seleccion.soloMarquesas = function() { print(Seleccion.BUSCA("NobCls","Marquesa ")); }
Seleccion.soloCondados = function() { print(Seleccion.BUSCA("NobCls","Cond")); }
Seleccion.soloCondes = function() { print(Seleccion.BUSCA("NobCls","Conde ")); }
Seleccion.soloCondesas = function() { print(Seleccion.BUSCA("NobCls","Condesa")); }
Seleccion.soloVizcondados = function() { print(Seleccion.BUSCA("NobCls","Vizcond")); }
Seleccion.soloVizcondes = function() { print(Seleccion.BUSCA("NobCls","Vizconde ")); }
Seleccion.soloVizcondesas = function() { print(Seleccion.BUSCA("NobCls","Vizcondesa")); }
Seleccion.soloBaronias = function() { print(Seleccion.BUSCA("NobCls","Baron")); }
Seleccion.soloBarones = function() { print(Seleccion.BUSCA("NobCls","Baron ")); }
Seleccion.soloBaronesas = function() { print(Seleccion.BUSCA("NobCls","Baronesa")); }
Seleccion.soloSenorios = function() { print(Seleccion.BUSCA("NobCls","Senor")); }
Seleccion.soloSenores = function() { print(Seleccion.BUSCA("NobCls","Senor ")); }
Seleccion.soloSenoras = function() { print(Seleccion.BUSCA("NobCls","Senora")); }
Seleccion.soloGrandezas = function() { print(Seleccion.BUSCA("NobCls","Grande")); }
Seleccion.soloGrandes = function() { print(Seleccion.BUSCA("NobCls","Grande ")); }
Seleccion.soloGrandesas = function() { print(Seleccion.BUSCA("NobCls","Grandesa")); }
Seleccion.soloMariscalatos = function() { print(Seleccion.BUSCA("NobCls","Mariscal")); }
Seleccion.soloMariscales = function() { print(Seleccion.BUSCA("NobCls","Mariscal ")); }
Seleccion.soloMariscalas = function() { print(Seleccion.BUSCA("NobCls","Mariscala ")); }
Seleccion.soloAlmirantazgos = function() { print(Seleccion.BUSCA("NobCls","Almirant")); }
Seleccion.soloAlmirantes = function() { print(Seleccion.BUSCA("NobCls","Almirante")); }
Seleccion.soloAlmirantas = function() { print(Seleccion.BUSCA("NobCls","Almiranta ")); }
Seleccion.soloAdelantados = function() { print(Seleccion.BUSCA("NobCls","Adelantado")); }
Seleccion.soloAdelantadas = function() { print(Seleccion.BUSCA("NobCls","Adelantada")); }
Seleccion.soloAdelantazgos = function() { print(Seleccion.BUSCA("NobCls","Adelant")); }
Seleccion.soloConDucados = function() { print(Seleccion.BUSCA("NobCls"," Du")); }
Seleccion.soloConDuques = function() { print(Seleccion.BUSCA("NobCls","Conde Duque")); }
Seleccion.soloConDuquesas = function() { print(Seleccion.BUSCA("NobCls","Condesa Duquesa")); }
Seleccion.todosConGdE = function() { print(Seleccion.BUSCA("NobCls","conGdE")); }
Seleccion.todosSinGdE = function() { print(Seleccion.BUSCA("NobCls","sinGdE")); }

// -----------------------------------------------------------------
Seleccion.todosValores = function(IDX) {
    return [
        ((sNob.Numero[IDX])?sNob.Numero[IDX]+"\u00B0 "+sNob.Titulo[IDX]:sNob.Titulo[IDX]),
        sNob.Creacion[IDX]+sNob.CreacAMD[IDX],
        ((sNob.Grandeza[IDX])?sNob.Grandeza[IDX]+sNob.GdEspAMD[IDX]:"sin GdE"),
        sNob.Sucesion[IDX]+sNob.SucesAMD[IDX],
        sNob.Nombre[IDX],
        "*"+sNob.Nacencia[IDX]+sNob.EdadAMD[IDX]+sNob.EdadSuces[IDX]
        ].join(" : ");
}
Seleccion.todosVinculados = function(IDX) {
    return [
		"<li>",
        ((sNob.Numero[IDX])?sNob.Numero[IDX]+"\u00B0 "+sNob.Titulo[IDX]:sNob.Titulo[IDX]),
        "<br \/>\u2022\t"+sNob.Creacion[IDX]+sNob.CreacAMD[IDX],
        " : "+((sNob.Grandeza[IDX])?sNob.Grandeza[IDX]+sNob.GdEspAMD[IDX]:"sin GdE"),
        "<br \/>\u2022\t"+sNob.Sucesion[IDX]+sNob.SucesAMD[IDX]+sNob.EdadSuces[IDX],
        "<\/li>"
        ].join("");
}
// -----------------------------------------------------------------
Seleccion.llanoNombre = function(IDX) {
    return [
        "<li>"+sNob.Apellido[IDX]+", "+sNob.Cortesia[IDX]+sNob.dePila[IDX],
        "*"+sNob.Nacencia[IDX]+sNob.EdadAMD[IDX]+sNob.EdadSuces[IDX],
        ((sNob.Numero[IDX])?sNob.Numero[IDX]+"\u00B0 "+sNob.Titulo[IDX]:sNob.Titulo[IDX]),
        sNob.Creacion[IDX]+sNob.CreacAMD[IDX],
        ((sNob.Grandeza[IDX])?sNob.Grandeza[IDX]+sNob.GdEspAMD[IDX]:"sin GdE"),
        sNob.Sucesion[IDX]+sNob.SucesAMD[IDX],
        ((sNob.Titulos[IDX]=="01")?"[01]<\/li>":"<ins title=\""+IDX+"\">["+sNob.Titulos[IDX]+"]<\/ins><\/li>")
        ].join(" : ");
}
Seleccion.listaNombre = function(IDX) {
    return [
        "<li class=\""+sNob.NobCls[IDX]+"\">",
        "<span class=\"Apellido\">"+sNob.Apellido[IDX]+"<\/span> : ",
        ((sNob.Numero[IDX])?" <span class=\"Numero\">"+sNob.Numero[IDX]+"\u00B0<\/span> ":""),
        "<span class=\"Clase\">"+sNob.Clase[IDX]+"<\/span> ",
        "<span class=\"Parte\">"+sNob.Parte[IDX]+"<\/span> ",
        "<span class=\"Denom\"><a href=\"Nobiliario.xml#"+sNob.XMLID[IDX]+"\">"+sNob.Denom[IDX]+"<\/a>"+((sNob.XLINK[IDX])?"<a class=\"TMayor\" href=\"Nobiliario.xml"+sNob.XLINK[IDX]+"\">\u00B9<\/a>":"")+"<\/span>",
        "<div  class=\"Num\">\u2022\t",
            "<span class=\"dePila\">"+sNob.Cortesia[IDX]+sNob.dePila[IDX]+"<\/span> : ",
            "<span class=\"Nacen\">*"+sNob.Nacencia[IDX]+sNob.EdadAMD[IDX]+sNob.EdadSuces[IDX]+"<\/span><br \/>\u2022\t",
            "<span class=\"Suces\">"+sNob.Sucesion[IDX]+sNob.SucesAMD[IDX]+"<\/span><br \/>\u2022\t",
            "<span class=\"Creac\">"+sNob.Creacion[IDX]+sNob.CreacAMD[IDX]+"<\/span> : ",
            "<span class=\"GdEsp\">"+((sNob.Grandeza[IDX])?sNob.Grandeza[IDX]+sNob.GdEspAMD[IDX]:"sin GdE")+"<\/span> ",
        ((sNob.Titulos[IDX]=="01")?"":"<ins title=\""+IDX+"\">["+sNob.Titulos[IDX]+"]<\/ins>"),
        "<\/div>",
        "<\/li>"
        ].join("");
}
// -----------------------------------------------------------------
Seleccion.llanoNacimiento = function(IDX) {
    return [
        "<li>*"+sNob.Nacencia[IDX]+sNob.EdadAMD[IDX],
        sNob.Nombre[IDX],
        ((sNob.Numero[IDX])?sNob.Numero[IDX]+"\u00B0 "+sNob.Titulo[IDX]:sNob.Titulo[IDX]),
        sNob.Creacion[IDX]+sNob.CreacAMD[IDX],
        ((sNob.Grandeza[IDX])?sNob.Grandeza[IDX]+sNob.GdEspAMD[IDX]:"sin GdE"),
        sNob.Sucesion[IDX]+sNob.SucesAMD[IDX]+sNob.EdadSuces[IDX],
        ((sNob.Titulos[IDX]=="01")?"[01]<\/li>":"<ins title=\""+IDX+"\">["+sNob.Titulos[IDX]+"]<\/ins><\/li>")
        ].join(" : ");
}
Seleccion.listaNacimiento = function(IDX) {
    return [
        "<li class=\""+sNob.NobCls[IDX]+"\">",
        "<span class=\"Nacen\">*"+sNob.Nacencia[IDX]+sNob.EdadAMD[IDX]+"<\/span> : ",
        "<span class=\"Apellido\">"+sNob.Apellido[IDX]+"<\/span>, ",
        "<span class=\"dePila\">"+sNob.Cortesia[IDX]+sNob.dePila[IDX]+"<\/span><div>\u2022\t",
        ((sNob.Numero[IDX])?"<span class=\"Numero\">"+sNob.Numero[IDX]+"\u00B0<\/span> ":""),
        "<span class=\"Clase\">"+sNob.Clase[IDX]+"<\/span> ",
        "<span class=\"Parte\">"+sNob.Parte[IDX]+"<\/span> ",
        "<span class=\"Denom\"><a href=\"Nobiliario.xml#"+sNob.XMLID[IDX]+"\">"+sNob.Denom[IDX]+"<\/a>"+((sNob.XLINK[IDX])?"<a class=\"TMayor\" href=\"Nobiliario.xml"+sNob.XLINK[IDX]+"\">\u00B9<\/a>":"")+"<\/span>",
        "<span class=\"Num\"><br \/>\u2022\t",
            "<span class=\"Creac\">"+sNob.Creacion[IDX]+sNob.CreacAMD[IDX]+"<\/span> : ",
            "<span class=\"GdEsp\">"+((sNob.Grandeza[IDX])?sNob.Grandeza[IDX]+sNob.GdEspAMD[IDX]:"sin GdE")+"<\/span><br \/>\u2022\t",
            "<span class=\"Suces\">"+sNob.Sucesion[IDX]+sNob.SucesAMD[IDX]+sNob.EdadSuces[IDX]+"<\/span>",
        "<\/span>"+((sNob.Titulos[IDX]=="01")?"":" <ins title=\""+IDX+"\">["+sNob.Titulos[IDX]+"]<\/ins>")+"<\/div>",
        "<\/li>"
        ].join("");
}
// -----------------------------------------------------------------
Seleccion.llanoDenominacion = function(IDX) {
    return [
        "<li>"+sNob.Denom[IDX].markIf(sNob.TMayor[IDX]),
        sNob.Creacion[IDX]+sNob.CreacAMD[IDX],
        ((sNob.Grandeza[IDX])?sNob.Grandeza[IDX]+sNob.GdEspAMD[IDX]:"sin GdE"),
        ((sNob.Numero[IDX])?sNob.Numero[IDX]+"\u00B0 "+sNob.Clase[IDX]+" "+sNob.Parte[IDX]:sNob.Clase[IDX]+" "+sNob.Parte[IDX]),
        sNob.Sucesion[IDX]+sNob.SucesAMD[IDX],
        sNob.Nombre[IDX],
        "*"+sNob.Nacencia[IDX]+sNob.EdadAMD[IDX]+sNob.EdadSuces[IDX],
        ((sNob.Titulos[IDX]=="01")?"[01]<\/li>":"<ins title=\""+IDX+"\">["+sNob.Titulos[IDX]+"]<\/ins><\/li>")
        ].join(" : ");
}
Seleccion.listaDenominacion = function(IDX) {
    return [
        "<li class=\""+sNob.NobCls[IDX]+"\">",
        "<span class=\"Denom\"><a href=\"Nobiliario.xml#"+sNob.XMLID[IDX]+"\">"+sNob.Denom[IDX]+"<\/a>"+((sNob.XLINK[IDX])?"<a class=\"TMayor\" href=\"Nobiliario.xml"+sNob.XLINK[IDX]+"\">\u00B9<\/a>":"")+"<\/span>, ",
        ((sNob.Numero[IDX])?" <span class=\"Numero\">"+sNob.Numero[IDX]+"\u00B0<\/span> ":""),
        "<span class=\"Clase\">"+sNob.Clase[IDX]+"<\/span> ",
        "<span class=\"Parte\">"+sNob.Parte[IDX]+"<\/span> : ",
        "<span class=\"dePila\">"+sNob.Cortesia[IDX]+sNob.dePila[IDX]+"<\/span> ",
        "<span class=\"Apellido\">"+sNob.Apellido[IDX]+"<\/span>",
        "<div  class=\"Num\">\u2022\t",
            "<span class=\"Creac\">"+sNob.Creacion[IDX]+sNob.CreacAMD[IDX]+"<\/span> : ",
            "<span class=\"GdEsp\">"+((sNob.Grandeza[IDX])?sNob.Grandeza[IDX]+sNob.GdEspAMD[IDX]:"sin GdE")+"<\/span><br \/>\u2022\t",
            "<span class=\"Suces\">"+sNob.Sucesion[IDX]+sNob.SucesAMD[IDX]+"<\/span> : ",
            "<span class=\"Nacen\">*"+sNob.Nacencia[IDX]+sNob.EdadAMD[IDX]+sNob.EdadSuces[IDX]+"<\/span> ",
        ((sNob.Titulos[IDX]=="01")?"":"<ins title=\""+IDX+"\">["+sNob.Titulos[IDX]+"]<\/ins>"),
        "<\/div>",
        "<\/li>"
        ].join("");
}
// -----------------------------------------------------------------
Seleccion.llanoCreacion = function(IDX) {
    return [
        "<li>"+sNob.Creacion[IDX]+sNob.CreacAMD[IDX],
        ((sNob.Grandeza[IDX])?sNob.Grandeza[IDX]+sNob.GdEspAMD[IDX]:"sin GdE"),
        sNob.Denom[IDX].markIf(sNob.TMayor[IDX]),
        ((sNob.Numero[IDX])?sNob.Numero[IDX]+"\u00B0 "+sNob.Clase[IDX]+" "+sNob.Parte[IDX]:sNob.Clase[IDX]+" "+sNob.Parte[IDX]),
        sNob.Sucesion[IDX]+sNob.SucesAMD[IDX],
        sNob.Nombre[IDX],
        "*"+sNob.Nacencia[IDX]+sNob.EdadAMD[IDX]+sNob.EdadSuces[IDX],
        ((sNob.Titulos[IDX]=="01")?"[01]<\/li>":"<ins title=\""+IDX+"\">["+sNob.Titulos[IDX]+"]<\/ins><\/li>")
        ].join(" : ");
}
Seleccion.listaCreacion = function(IDX) {
    return [
        "<li class=\""+sNob.NobCls[IDX]+"\">",
        "<span class=\"Denom\"><a href=\"Nobiliario.xml#"+sNob.XMLID[IDX]+"\">"+sNob.Denom[IDX]+"<\/a>"+((sNob.XLINK[IDX])?"<a class=\"TMayor\" href=\"Nobiliario.xml"+sNob.XLINK[IDX]+"\">\u00B9<\/a>":"")+"<\/span>, ",
        ((sNob.Numero[IDX])?" <span class=\"Numero\">"+sNob.Numero[IDX]+"\u00B0<\/span> ":""),
        "<span class=\"Clase\">"+sNob.Clase[IDX]+"<\/span> ",
        "<span class=\"Parte\">"+sNob.Parte[IDX]+"<\/span> : ",
        "<span class=\"dePila\">"+sNob.Cortesia[IDX]+sNob.dePila[IDX]+"<\/span> ",
        "<span class=\"Apellido\">"+sNob.Apellido[IDX]+"<\/span>",
        "<div  class=\"Num\">\u2022\t",
            "<span class=\"Creac\">"+sNob.Creacion[IDX]+sNob.CreacAMD[IDX]+"<\/span> : ",
            "<span class=\"GdEsp\">"+((sNob.Grandeza[IDX])?sNob.Grandeza[IDX]+sNob.GdEspAMD[IDX]:"sin GdE")+"<\/span><br \/>\u2022\t",
            "<span class=\"Suces\">"+sNob.Sucesion[IDX]+sNob.SucesAMD[IDX]+"<\/span> : ",
            "<span class=\"Nacen\">*"+sNob.Nacencia[IDX]+sNob.EdadAMD[IDX]+sNob.EdadSuces[IDX]+"<\/span> ",
        ((sNob.Titulos[IDX]=="01")?"":"<ins title=\""+IDX+"\">["+sNob.Titulos[IDX]+"]<\/ins>"),
        "<\/div>",
        "<\/li>"
        ].join("");
}
// -----------------------------------------------------------------
Seleccion.llanoGrandeza = function(IDX) {
    return [
        "<li>"+((sNob.Grandeza[IDX])?sNob.Grandeza[IDX]+sNob.GdEspAMD[IDX]:"sin GdE"),
        sNob.Denom[IDX].markIf(sNob.TMayor[IDX]),
        sNob.Creacion[IDX]+sNob.CreacAMD[IDX],
        ((sNob.Numero[IDX])?sNob.Numero[IDX]+"\u00B0 "+sNob.Clase[IDX]+" "+sNob.Parte[IDX]:sNob.Clase[IDX]+" "+sNob.Parte[IDX]),
        sNob.Sucesion[IDX]+sNob.SucesAMD[IDX],
        sNob.Nombre[IDX],
        "*"+sNob.Nacencia[IDX]+sNob.EdadAMD[IDX]+sNob.EdadSuces[IDX],
        ((sNob.Titulos[IDX]=="01")?"[01]<\/li>":"<ins title=\""+IDX+"\">["+sNob.Titulos[IDX]+"]<\/ins><\/li>")
        ].join(" : ");
}
Seleccion.listaGrandeza = function(IDX) {
    return [
        "<li class=\""+sNob.NobCls[IDX]+"\">",
        "<span class=\"Denom\"><a href=\"Nobiliario.xml#"+sNob.XMLID[IDX]+"\">"+sNob.Denom[IDX]+"<\/a>"+((sNob.XLINK[IDX])?"<a class=\"TMayor\" href=\"Nobiliario.xml"+sNob.XLINK[IDX]+"\">\u00B9<\/a>":"")+"<\/span>, ",
        "<span class=\"Clase\">"+sNob.Clase[IDX]+"<\/span> ",
        "<span class=\"Parte\">"+sNob.Parte[IDX]+"<\/span> : ",
        "<span class=\"dePila\">"+sNob.Cortesia[IDX]+sNob.dePila[IDX]+"<\/span> ",
        "<span class=\"Apellido\">"+sNob.Apellido[IDX]+"<\/span>",
        "<div  class=\"Num\">\u2022\t",
            "<span class=\"GdEsp\">"+((sNob.Grandeza[IDX])?sNob.Grandeza[IDX]+sNob.GdEspAMD[IDX]:"sin GdE")+"<\/span> : ",
            "<span class=\"Creac\">"+sNob.Creacion[IDX]+sNob.CreacAMD[IDX]+"<\/span><br \/>\u2022\t",
            ((sNob.Numero[IDX])?" <span class=\"Numero\">"+sNob.Numero[IDX]+"\u00B0<\/span> ":""),
            "<span class=\"Suces\">"+sNob.Sucesion[IDX]+sNob.SucesAMD[IDX]+"<\/span> : ",
            "<span class=\"Nacen\">*"+sNob.Nacencia[IDX]+sNob.EdadAMD[IDX]+sNob.EdadSuces[IDX]+"<\/span> ",
        ((sNob.Titulos[IDX]=="01")?"":"<ins title=\""+IDX+"\">["+sNob.Titulos[IDX]+"]<\/ins>"),
        "<\/div>",
        "<\/li>"
        ].join("");
}
// -----------------------------------------------------------------
Seleccion.llanoSucesion = function(IDX) {
    return [
        "<li>"+sNob.Sucesion[IDX]+sNob.SucesAMD[IDX],
        ((sNob.Numero[IDX])?sNob.Numero[IDX]+"\u00B0 "+sNob.Titulo[IDX]:sNob.Titulo[IDX]),
        sNob.Creacion[IDX]+sNob.CreacAMD[IDX],
        ((sNob.Grandeza[IDX])?sNob.Grandeza[IDX]+sNob.GdEspAMD[IDX]:"sin GdE"),
        sNob.Nombre[IDX],
        "*"+sNob.Nacencia[IDX]+sNob.EdadAMD[IDX]+sNob.EdadSuces[IDX],
        ((sNob.Titulos[IDX]=="01")?"[01]<\/li>":"<ins title=\""+IDX+"\">["+sNob.Titulos[IDX]+"]<\/ins><\/li>")
        ].join(" : ");
}
Seleccion.listaSucesion = function(IDX) {
    return [
        "<li class=\""+sNob.NobCls[IDX]+"\">",
        ((sNob.Numero[IDX])?" <span class=\"Numero\">"+sNob.Numero[IDX]+"\u00B0<\/span> ":""),
        "<span class=\"Clase\">"+sNob.Clase[IDX]+"<\/span> ",
        "<span class=\"Parte\">"+sNob.Parte[IDX]+"<\/span> ",
        "<span class=\"Denom\"><a href=\"Nobiliario.xml#"+sNob.XMLID[IDX]+"\">"+sNob.Denom[IDX]+"<\/a>"+((sNob.XLINK[IDX])?"<a class=\"TMayor\" href=\"Nobiliario.xml"+sNob.XLINK[IDX]+"\">\u00B9<\/a>":"")+"<\/span> : ",
        // "<span class=\"NumDe\">[n\u00FAm."+(IDX+1)+"\/"+sNob.ITEMS+"]<\/span> ",
        "<span class=\"Apellido\">"+sNob.Apellido[IDX]+"<\/span>, ",
        "<span class=\"dePila\">"+sNob.Cortesia[IDX]+sNob.dePila[IDX]+"<\/span>",
        "<div  class=\"Num\">\u2022\t",
            "<span class=\"Suces\">"+sNob.Sucesion[IDX]+sNob.SucesAMD[IDX]+sNob.EdadSuces[IDX]+"<\/span> : ",
            "<span class=\"Nacen\">*"+sNob.Nacencia[IDX]+sNob.EdadAMD[IDX]+"<\/span><br \/>\u2022\t",
            "<span class=\"Creac\">"+sNob.Creacion[IDX]+sNob.CreacAMD[IDX]+"<\/span> : ",
            "<span class=\"GdEsp\">"+((sNob.Grandeza[IDX])?sNob.Grandeza[IDX]+sNob.GdEspAMD[IDX]:"sin GdE")+"<\/span> ",
            // ((sNob.Numero[IDX])?"<span class=\"Numero\">"+((sNob.Numero[IDX].charAt(0)=='0')?sNob.Numero[IDX].slice(1):sNob.Numero[IDX])+"\u00B0<\/span> ":""),
        ((sNob.Titulos[IDX]=="01")?"":"<ins title=\""+IDX+"\">["+sNob.Titulos[IDX]+"]<\/ins>"),
        "<\/div>",
        "<\/li>"
        ].join("");
}
// -----------------------------------------------------------------
Seleccion.listaSucVersa = function(IDX) {
    return [
        "<li class=\""+sNob.NobCls[IDX]+"\">",
        "<\/li>"
        ].join("");
}
// -----------------------------------------------------------------
Seleccion.llanoNumero = function(IDX) {
    return [
        "<li>"+((sNob.Numero[IDX])?sNob.Numero[IDX]+"\u00B0 "+sNob.Titulo[IDX]:sNob.Titulo[IDX]),
        sNob.Creacion[IDX]+sNob.CreacAMD[IDX],
        ((sNob.Grandeza[IDX])?sNob.Grandeza[IDX]+sNob.GdEspAMD[IDX]:"sin GdE"),
        sNob.Sucesion[IDX]+sNob.SucesAMD[IDX],
        sNob.Nombre[IDX],
        "*"+sNob.Nacencia[IDX]+sNob.EdadAMD[IDX]+sNob.EdadSuces[IDX],
        ((sNob.Titulos[IDX]=="01")?"[01]<\/li>":"<ins title=\""+IDX+"\">["+sNob.Titulos[IDX]+"]<\/ins><\/li>")
        ].join(" : ");
}
Seleccion.listaNumero = function(IDX) {
    return [
        "<li class=\""+sNob.NobCls[IDX]+"\">",
        ((sNob.Numero[IDX])?"<span class=\"Numero\">"+sNob.Numero[IDX]+"\u00B0<\/span> ":""),
        "<span class=\"Clase\">"+sNob.Clase[IDX]+"<\/span> ",
        "<span class=\"Parte\">"+sNob.Parte[IDX]+"<\/span> ",
        "<span class=\"Denom\"><a href=\"Nobiliario.xml#"+sNob.XMLID[IDX]+"\">"+sNob.Denom[IDX]+"<\/a>"+((sNob.XLINK[IDX])?"<a class=\"TMayor\" href=\"Nobiliario.xml"+sNob.XLINK[IDX]+"\">\u00B9<\/a>":"")+"<\/span> : ",
        "<span class=\"dePila\">"+sNob.Cortesia[IDX]+sNob.dePila[IDX]+"<\/span> ",
        "<span class=\"Apellido\">"+sNob.Apellido[IDX]+"<\/span>",
        "<div  class=\"Num\">\u2022\t",
            "<span class=\"Suces\">"+sNob.Sucesion[IDX]+sNob.SucesAMD[IDX]+"<\/span> : ",
            "<span class=\"Nacen\">*"+sNob.Nacencia[IDX]+sNob.EdadAMD[IDX]+sNob.EdadSuces[IDX]+"<\/span><br \/>\u2022\t",
            "<span class=\"Creac\">"+sNob.Creacion[IDX]+sNob.CreacAMD[IDX]+"<\/span> : ",
            "<span class=\"GdEsp\">"+((sNob.Grandeza[IDX])?sNob.Grandeza[IDX]+sNob.GdEspAMD[IDX]:"sin GdE")+"<\/span> ",
        ((sNob.Titulos[IDX]=="01")?"":"<ins title=\""+IDX+"\">["+sNob.Titulos[IDX]+"]<\/ins>"),
        "<\/div>",
        "<\/li>"
        ].join("");
}
// -----------------------------------------------------------------
Seleccion.llanoEdadS = function(IDX) {
    return [
        "<li>"+((sNob.EdadSuces[IDX])?sNob.EdadSuces[IDX].substring(3,sNob.EdadSuces[IDX].length-1):"??a??m??d"),
        sNob.Sucesion[IDX]+sNob.SucesAMD[IDX],
        ((sNob.Numero[IDX])?sNob.Numero[IDX]+"\u00B0 "+sNob.Titulo[IDX]:sNob.Titulo[IDX]),
        sNob.Creacion[IDX]+sNob.CreacAMD[IDX],
        ((sNob.Grandeza[IDX])?sNob.Grandeza[IDX]+sNob.GdEspAMD[IDX]:"sin GdE"),
        sNob.Nombre[IDX],
        "*"+sNob.Nacencia[IDX]+sNob.EdadAMD[IDX],
        ((sNob.Titulos[IDX]=="01")?"[01]<\/li>":"<ins title=\""+IDX+"\">["+sNob.Titulos[IDX]+"]<\/ins>")
        ].join(" : ");
}
Seleccion.listaEdadS = function(IDX) {
    return [
        "<li class=\""+sNob.NobCls[IDX]+"\">",
        "<span class=\"EdadS\">"+((sNob.EdadSuces[IDX])?sNob.EdadSuces[IDX].substring(3,sNob.EdadSuces[IDX].length-1):"??a??m??d")+"<\/span> : ",
        "<span class=\"Suces\">"+sNob.Sucesion[IDX]+sNob.SucesAMD[IDX]+"<\/span> : ",
        "<span class=\"Creac\">"+sNob.Creacion[IDX]+sNob.CreacAMD[IDX]+"<\/span> : ",
        "<span class=\"GdEsp\">"+((sNob.Grandeza[IDX])?sNob.Grandeza[IDX]+sNob.GdEspAMD[IDX]:"sin GdE")+"<\/span><div>\u2022\t",
        ((sNob.Numero[IDX])?"<span class=\"Numero\">"+sNob.Numero[IDX]+"\u00B0<\/span> ":""),
        "<span class=\"Clase\">"+sNob.Clase[IDX]+"<\/span> ",
        "<span class=\"Parte\">"+sNob.Parte[IDX]+"<\/span> ",
        "<span class=\"Denom\"><a href=\"Nobiliario.xml#"+sNob.XMLID[IDX]+"\">"+sNob.Denom[IDX]+"<\/a>"+((sNob.XLINK[IDX])?"<a class=\"TMayor\" href=\"Nobiliario.xml"+sNob.XLINK[IDX]+"\">\u00B9<\/a>":"")+"<\/span><br \/>\u2022\t",
        "<span class=\"Apellido\">"+sNob.Apellido[IDX]+"<\/span><br \/>\u2022\t",
        "<span class=\"dePila\">"+sNob.Cortesia[IDX]+sNob.dePila[IDX]+"<\/span> ",
        "<span class=\"Num\">(",
            "<span class=\"Nacen\">*"+sNob.Nacencia[IDX]+sNob.EdadAMD[IDX]+"<\/span>",
        ")<\/span>"+((sNob.Titulos[IDX]=="01")?"":" <ins title=\""+IDX+"\">["+sNob.Titulos[IDX]+"]<\/ins>")+"<\/div>",
        "<\/li>"
        ].join("");
}
// -----------------------------------------------------------------
// -----------------------------------------------------------------


Seleccion.TitulosINSTR = function() {
    rDiv.innerHTML = [
    "<pre><strong>Abreviaturas\/Instrumentos | Abbreviations\/Instruments | Abkürzungen<\/strong>",
    "    BO    = B.O.    = Boletín Oficial del Estado",
    "    CC    = C.C.    = (a consulta de la) Cámara de Castilla",
    "    CCa   = C.Ca.   = (a consulta de los) Cortes de Cádiz",
    "    CConf = C.Conf. = Carta de Confirmación",
    "    CI    = C.I.    = (a consulta de la) Cámara de Indias",
    "    CoR   = Co.R.   = Consejo de Regencia",
    "    CP    = C.P.    = Carta Pontificia (Breve)",
    "    CPS   = C.P.S.  = Carta Pontificia de Sucesión",
    "    CR    = C.R.    = Carta de Rehabilitación",
    "    CS    = C.S.    = Carta de Sucesión",
    "    D     = D.      = Decreto",
    "    DespA = Desp.A. = Despacho de Autorización",
    "    GP    = G.P.    = Gobierno Provisional",
    "    OA    = O.A.    = Orden de Autorización",
    "    RA    = R.A.    = Real Autorización",
    "    RC    = R.C.    = Real Cédula",
    "    RCR   = R.C.R.  = Real Carta de Rehabilitación",
    "    RCS   = R.C.S.  = Real Carta de Sucesión",
    "    RD    = R.D.    = Real Decreto",
    "    RDR   = R.D.R.  = Real Decreto de Rehabilitación",
    "    RDesp = R.Desp. = Real Despacho",
    "    RF    = R.F.    = Real Facultad",
    "    RO    = R.O.    = Real Orden",
    "    RP    = R.P.    = Real Privilegio",
    "    SJ    = S.J.    = Sentencia judicial",
    "    TA    = T.A.    = Título del Archiduque Pretendiente Don Carlos de Austria",
    "    TAu   = T.Au.   = Título de Austria",
    "    TC    = T.C.    = Título Carlista",
    "    TCe   = T.Ce.   = Título de Cerdeña",
    "    TF    = T.F.    = Título de Flandes",
    "    TFr   = T.Fr.   = Título de Francia",
    "    TI    = T.I.    = Título de Italia",
    "    TIngl = T.Ingl. = Título de Inglaterra",
    "    TM    = T.M.    = Título de Milán",
    "    TMa   = T.Ma.   = Título de Mallorca",
    "    TN    = T.N.    = Título de Nápoles",
    "    TNa   = T.Na.   = Título de Navarra",
    "    TP    = T.P.    = Título de Portugal",
    "    TRC   = T.R.C.  = Título de los Reyes Católicos",
    "    TS    = T.S.    = Título de Sicilia",
    "    TSIR  = T.S.I.R.= Título del Sacro Imperio Romano",
    "    TSM   = T.S.M.  = Título de San Marino",
    "    NN    = N.N.    = Nomen (Instrumenti) Nominandum",
    "    desde = dsd.    = desde ... since ... seit  ...",
    "    fecha = fha.    = fecha ... date  ... Datum ...",
    "            cre.    = Fecha de creación",
    "            suc.    = Fecha de sucesión",
    "            ocu.    = Fecha de ocupación (= sucesión), Título ocupado",
    "            vac.    = Fecha de vacancia, Título vacante",
    "                     (desde que día de la muerte de titular precedente)",
    "            can.    = Fecha de cancelación, Título cancelado",
    "            ren.    = Fecha de renunciación, Título renunciado",
    "            anu.    = Fecha de anulación, Título anulado",
    "            cad.    = Fecha de caducidad, Título caducado",
    "            sup.    = Fecha de supresión, Título suprimido",
    "            rev.    = Fecha de reversión, Título revertido",
    "            ext.    = Fecha de extinción, Título extinguido",
    "    GdE     = G.d.E.      = Grandeza de España",
    "    GdEPC   = G.d.E.cre.  = Grandeza de España de primera creación (1ª clase y antigüedad)",
    "    GdE1a   = G.d.E.1ª    = Grandeza de España de primera clase",
    "    GdE2a   = G.d.E.2ª    = Grandeza de España de segunda clase",
    "    GdE3a   = G.d.E.3ª    = Grandeza de España de tercera clase",
    "    GdEHon  = G.d.E.hon.  = Grandeza de España honoraria",
    "    GdEVit  = G.d.E.vit.  = Grandeza de España vitalicia",
    "    GdEPers = G.d.E.pers. = Grandeza de España personal",
    "<\/pre>"
].join("\r\n");
}


// -----------------------------------------------------------------
// -----------------------------------------------------------------
// EOF