/*

Diverse Javascript-Funktionen
Javascript-Programmierung: Alexander Koch, ak@AlexanderKoch.de, http://www.AlexanderKoch.de/
Stand: 28. August 2000
Die Dokumentation wurde im November 2002 letztmalig überarbeitet.

*/


/*
  Funktion zum gleichzeitigen Ändern der drei "Hauptframes" von Juralink
  Die Funktion muß immer mit drei Parametern aufgerufen werden: Inhalt des linken Frames, Inhalt des oberen Frames, Inhalt des unteren Frames
  Soll ein Frame nicht verändert werden, muß ein Leerstring ('') übergeben werden.
*/
function dreiframes (links,oben,unten) {
  if (links) {
    parent.Inhalt.location.href=links; 
  }
  if (oben) {
    parent.Hauptframe.location.href=oben;
  }
  if (unten) {
    parent.Unterframe.location.href=unten;
  }
}

// Für die schrittweise Umstellung auf 2-Frame-Technik wurde diese vereinfachte Variante obiger Funktion eingeführt, EK
function zweiframes (links,oben) {
  if (links) {
    parent.Inhalt.location.href=links; 
  }
  if (oben) {
    parent.Hauptframe.location.href=oben;
  }
}

/*
Die Funktion liest den Cooky aus und gibt den "Wert" als String zurück
*/
function CookieHolen() {
  var cookystring = "";
  if(document.cookie) {
    cookystring = document.cookie;  // Wenn ein Cooky vorhanden ist, wird er gelesen
  }
  cookystring = cookystring.substr(cookystring.lastIndexOf("=")+1); // Uns interessiert nur der Wert des Cookies, also schneiden wir alles nach vor dem "=" ab (bzw. übernehmen nur den Teil dahinter...)
  return cookystring;
}


/*
Funktion zum Schreiben eines Cookies
Erwartet wird eine Bezeichnung für den Cooky und ein Wert
Das "Verfallsdatum" beträgt ein Jahr
*/
function CookieSchreiben(Bezeichner, Wert) {
  var jetzt = new Date();           // Ermitteln des Datums
  var Verfall = 1000*60*60*24*365;  // Wir berechnen die ms eines Jahres ;-))
  var Auszeit = new Date(jetzt.getTime() + Verfall);
  document.cookie = Bezeichner+"="+Wert+"; path=/; expires="+Auszeit.toGMTString()+";";  // Schreiben des Cookies
}


/* 
Funktion zum Ermitteln des Dokumentnamens. 
Die URL-Eigenschaft liefert die komplette URL - uns interessiert aber nur der Name des Dokuments ohne Pfad und ohne Parameter und Anker. Gehen wir davon aus, daß das Dokument _immer_ "Gutachten.htm" heißt, wäre diese Funktion überflüssig. Wir wollen aber auf Nummer Sicher gehen und für die Zukunft offen sein ;-)) BTW: Unter IE liefert die URL-Methode die URL ohne Parameter und Anker -- wir könnten uns die Funktion also sparen; leider verhält sich der NN anders...
 */
function getdocname() {      
  var url = document.URL;
  docname = url.match(/[\/|\\](\w+\.\w+)($|\?|\#)/);  // sieht komplizierter aus, als es ist... Wir suchen: Ein Wort aus alphanumerischen Zeichen mit einem Punkt in der Mitte (\w+?\.\w+?). Vor dem Wort muß ein "/" oder "\" stehen ([\/|\\]). URLs werden zwar überlicherweise durch "/" getrennt, der IE verwendet bei lokalen Dateien aber einen "\"... Weiter muß das gesuchte Wort entweder am Ende der URL stehen "$" (kein Parameter übergeben und kein Anker) oder von einem "?" (Parameter) oder "#" (Anker) gefolgt werden. RFC-konform ist nur eine Übergabe in der Form: "docname?Parameter#Anker", so daß es eigentlich reichen würde nur nach einem "?" zu suchen. Der NN verarbeitet aber auch die Form "docname#Anker?Parameter", so daß wir zur Sicherheit auch diese Form berücksichtigen ($|\?|\#), außerdem könnte das Dokument nur mit Anker aufgerufen werden. Der reguläre Ausdruck liefert ein Array mit den Treffern zurück: [0] enthält den gesamten Treffer ("/beispiel.htm?"), [1] den Inhalt der ersten Klammer ("beispiel.htm") und [2] den Inhalt der zweiten Klammer "?". Uns interessiert nur die erste Klammer!
  return(docname[1]);
}
