
function initTHP() {
    THPLoaded = true; DocInfo();
}

var THPLoaded = false;

function getQuery(queryName, defaultValue) {
    var results = false;
    var pattern = new RegExp('^'+queryName+'=(.+)$');
    var qstring = (decodeURIComponent) ? decodeURIComponent(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 renderMode() {
    switch (document.compatMode) {  //  Moz1+, NN6+, IE6+
        case 'BackCompat' :
            return 'Quirks';
            break;
        case 'QuirksMode' :         //  Op7+
            return 'Quirks';
            break;
        case 'CSS1Compat' :
            return 'Strict';
            break;
        default :
            return  void(0);
            break;
    }
}
function DocInfo() {
    var InfoStr=' Revision '+document.lastModified+' \u2013 Browser Mode (quirks/strict): '+renderMode();
    document.getElementById('DocInfo').firstChild.nodeValue=InfoStr;
}

function toggleCSS() {
if (document.getElementById("allTHP").disabled)
    {
    document.getElementById("allTHP").disabled=false;
    } else {
    document.getElementById("allTHP").disabled=true;
    }
}
function toggleOLI() {
if (document.getElementById("THPlist").style.listStyleType == "none")
    {
    document.getElementById("THPlist").style.listStyleType="decimal";
    } else {
    document.getElementById("THPlist").style.listStyleType="none";
    }
}

function noStyles() {
    for (i=0; i<document.styleSheets.length; i++) document.styleSheets[i].disabled=true;
}
                                      /* ss=document.styleSheets[0]      */
                                      /* ss=document.getElementsByTagName('style')[0] */
// .Hitem    { display: block; }      /* ss.cssRules[0].style.display='' */
// .Duke     { display: list-item; }  /* ss.cssRules[1].style.display='' */
// .Marquess { display: list-item; }  /* ss.cssRules[2].style.display='' */
// .Earl     { display: list-item; }  /* ss.cssRules[3].style.display='' */
// .Countess { display: list-item; }  /* ss.cssRules[4].style.display='' */
// .Viscount { display: list-item; }  /* ss.cssRules[5].style.display='' */
// .Baron    { display: list-item; }  /* ss.cssRules[6].style.display='' */
// .Baroness { display: list-item; }  /* ss.cssRules[7].style.display='' */
// .Lord     { display: list-item; }  /* ss.cssRules[8].style.display='' */

/*

function assignSSRules() {
if (document.styleSheets)  //  assign style-rules to variables
    {
    ss=document.styleSheets[0];  //  1st styleSheet = document.styleSheets[0] = <style/>-element
    if (ss.cssRules) ssr=ss.cssRules;
        else if (ss.rules) ssr=ss.rules;
    ssrHitem=ssr[0];
    ssrDuke=ssr[1];
    ssrMarquess=ssr[2];
    ssrEarl=ssr[3];
    ssrCountess=ssr[4];
    ssrViscount=ssr[5];
    ssrBaron=ssr[6];
    ssrBaroness=ssr[7];
    ssrLord=ssr[8];
    }
}

function useCSSrule(ssr,index) {
for (i=1; i<9; i++) {
    if (index != i)
      ssr[i].style.display='list-item';
    else
      ssr[i].style.display='none';
  }
}
function toggleCSSrule(ssr,index) {
if (ssr[index].style.display == 'none') {
      ssr[index].style.display='block';
    } else {
      ssr[index].style.display='none';
  }
}
function allTHP()         { for (i=1; i<9; i++) ssr[i].style.display='list-item'; }
function onlyPeers()      { toggleCSSrule(ssr,0); }
function onlyDukes()      { useCSSrule(ssr,1); }
function onlyMarquesses() { useCSSrule(ssr,2); }
function onlyEarls()      { useCSSrule(ssr,3); }
function onlyCountesses() { useCSSrule(ssr,4); }
function onlyViscounts()  { useCSSrule(ssr,5); }
function onlyBarons()     { useCSSrule(ssr,6); }
function onlyBaronesses() { useCSSrule(ssr,7); }
function onlyLords()      { useCSSrule(ssr,8); }

*/




/*  StyleSheets-Index/IDs/Files in ThePeerage.html
 *
 *  0 = [noid] = <style/>-Element
 *  1 = allTHP = onlyImport.css = Peers and Heirs
 *  2 = onlyP  = onlyPeers.css
 *  3 = onlyD  = onlyDukes.css
 *  4 = onlyM  = onlyMarquesses.css
 *  5 = onlyE  = onlyEarls.css
 *  6 = onlyC  = onlyCountesses.css
 *  7 = onlyV  = onlyViscounts.css
 *  8 = onlyB  = onlyBarons.css
 *  9 = onlyBs = onlyBaronesses.css
 * 10 = onlyL  = onlyLords.css
 * 11 = pureLi = onlyPrint.css
 *
 */


function useCSS(start,index) {
    for (var i=start; i<document.styleSheets.length; i++) {
        if (index != i)
          document.styleSheets[i].disabled=true;
        else
          document.styleSheets[i].disabled=false;
      }
}
function allTHP()         { useCSS(1,1); }
function onlyPeers()      { useCSS(1,2); }
function onlyDukes()      { useCSS(1,3); }
function onlyMarquesses() { useCSS(1,4); }
function onlyEarls()      { useCSS(1,5); }
function onlyCountesses() { useCSS(1,6); }
function onlyViscounts()  { useCSS(1,7); }
function onlyBarons()     { useCSS(1,8); }
function onlyBaronesses() { useCSS(1,9); }
function onlyLords()      { useCSS(1,10); }
function pureList()       { useCSS(1,11); }

function preselectTitle(s) {
    switch (s) {
        case 'allTHP':         /* allTHP(); */   break;  /* is default stylesheet */
        case 'onlyPeers':      onlyPeers();      break;
        case 'onlyDukes':      onlyDukes();      break;
        case 'onlyMarquesses': onlyMarquesses(); break;
        case 'onlyEarls':      onlyEarls();      break;
        case 'onlyCountesses': onlyCountesses(); break;
        case 'onlyViscounts':  onlyViscounts();  break;
        case 'onlyBarons':     onlyBarons();     break;
        case 'onlyBaronesses': onlyBaronesses(); break;
        case 'onlyLords':      onlyLords();      break;
        case 'pureList':       pureList();       break;
        default: alert('cannot identify selection: '+s+'\n(note: ?select=\'key\' has changed to ?select=key [no quotes])'); break;
    }
}

//  load <script> and execute after styleSheet-IDs are known

if (document.getElementById) //  assign stylesheet-objects to variables
    {
    cssZero=document.getElementsByTagName('style')[0];  //  =document.styleSheets[0];
    cssTHP=document.getElementById('allTHP');           //  =document.styleSheets[1];
    cssHitem=document.getElementById('onlyP');          //  =document.styleSheets[2];
    cssDuke=document.getElementById('onlyD');           //  =document.styleSheets[3];
    cssMarquess=document.getElementById('onlyM');       //  =document.styleSheets[4];
    cssEarl=document.getElementById('onlyE');           //  =document.styleSheets[5];
    cssCountess=document.getElementById('onlyC');       //  =document.styleSheets[6];
    cssViscount=document.getElementById('onlyV');       //  =document.styleSheets[7];
    cssBaron=document.getElementById('onlyB');          //  =document.styleSheets[8];
    cssBaroness=document.getElementById('onlyBs');      //  =document.styleSheets[9];
    cssLord=document.getElementById('onlyL');           //  =document.styleSheets[10];
    cssList=document.getElementById('pureLi');          //  =document.styleSheets[11];
    }
if (!document.styleSheets)
    {
    document.styleSheets = new Array(cssZero,allTHP,cssHitem,cssDuke,cssMarquess,cssEarl,cssCountess,cssViscount,cssBaron,cssBaroness,cssLord,cssList);
    }
preselectTitle(getQuery('select','allTHP'));