/* Familienchronik Javascript-Bibliothek */

//  Globale Variable und Arrays

var fn = new Array();
var ln = new Array();

function numFmt(num)
{
  var erg = '0000' + eval(num);
  var pos = erg.length - 4;
  erg = erg.substr(pos,4);
  return erg;
}

function getNum(txt, msk, pos, num)
{
//  Variable:
//  txt = Vorgegebener Eingabestring
//  msk = Zu verwendende Codemaske
//  pos  = Startposition der Codeauswertung (1. Zeichen = Position 0)
//  num  = Anzahl der auszuwertenden Zeichen (1- oder 2-stellige Auswertung)
//  erg  = Numerischer Ergebniswert

//  Verwendete JavaScript-Funktionen:
//  txt.length        Länge der Zeichenkette txt
//  txt.charAt(p)     Zeichen an Position p der Zeichenkette txt
//                    Zählung beginnt bei Position 0
//  txt.indexOf(t)    Position des Musters t im Text txt
//                    Zählung beginnt bei 0

    var l;                      // Länge der Codemaske
    var k, j;                   // Zählvariable
    var c;                      // Einzelzeichen
    var e;                      // Ergebniswert

    l = msk.length;             // Masken-Länge
    erg = 0;                    // Initialisierung Ergebniswert
    k = 0;                      // Zählwert für Dekodierung
    while (k < num)             // Schleife über 1- oder 2-stellige Decodierung
    {
      c = txt.charAt(pos + k);  // Zeichen an Position (p+k) des Textes t (Zählung ab 0)
      j = msk.indexOf(c);       // Position des Zeichens c in Maske m (Zählung ab 0)
      erg = (erg * l) + j;      // Ergebniswert multiplizieren und ergänzen
      k = k + 1;                // Schleifentzähler erhöhen
    }
    return erg;                 // Ergebniswert ausgeben
}

function getDat(txt, msk, pos)
{
//  00 = ' ', 01 = '*', 02 = '+'
//  00 = ' ', 03 = 'u', 06 = 'v', 09 = 'n'
//  00 = '+', 12 = '-'
//  00 = ' ', 24 = 'm', 48 = 'w'

  var g = '';
  var u = '';
  var p = '';
  var k, j;
  var erg = '';
  k = pos + 1;
  j = getNum(txt, msk, k, 2);
  k = getNum(txt, msk, pos, 1);
  while (k > 23) { k = k - 24; }
  if (k > 23) { m = 'weiblich, '; k = k - 24; }
  if (k > 11) { p = ' v.Chr.'; k = k - 12; }
  if (k > 2)  { u = 'um '; k = k - 3; }
  if (k > 2)  { u = 'vor '; k = k - 3; }
  if (k > 2)  { u = 'nach '; k = k - 3; }
  if (k > 0)  { g = '* '; k = k - 1; }
  if (k > 0)  { g = '+ '; k = k - 1; }
  if (j == 0) { erg = ''; } else { erg = g + u + eval(j) + p; }
  if (erg != '') { erg = '(' + erg + ')'; }
  return erg;
}

function getGes(txt, msk, pos)
{
//  00 = ' ', 01 = '*', 02 = '+'
//  00 = ' ', 03 = 'u', 06 = 'v', 09 = 'n'
//  00 = '+', 12 = '-'
//  00 = ' ', 24 = 'm', 48 = 'w'

  var erg = 0;
  var k;
  k = getNum(txt, msk, pos, 1);
  if (k > 23) { erg = 1; k = k - 24; }
  if (k > 23) { erg = 2; k = k - 24; }
  return erg;
}

function setFlg(num, ges, mod)
{
//  num = Nummer des betrachteten Personeneintrags
//  ges = 0: Auswirkung auf alle Familienmitglieder
//        1: Auswirkung auf männliche Familienmitglieder
//        2: Auswirkung auf weibliche Familienmitglieder
//  mod = 0: Indikator "Unterverzeichnis zuklappen"
//        1: Indikator "Unterverzeichnis aufklappen"
}

function setVor()
{
}

function setNch()
{
}

//  var a = 5;
//  alert(a);
