

  // javascript-funktion zur automatischen erzeugung eines 
// pfades mit navigationshistory innerhalb von html-seiten.
// dieses script darf unter beibehaltung des 
// copyright-vermerkes frei verwendet werden
// copyright 2005 sitepark gmbh, muenster, germany
// funktionsweise:
// eine beliebig lange history wird mit kurzem text 
// (z.b. seitentitel) und seitenurl innerhalb der 
// cookie-variablen navipath und naviurl protokolliert.
// der pfad wird automatisch verkürzt, wenn
// eine seite gleichen namens in der history schon einmal 
// vorhanden war.
// eine manuelle verkürzung des pfades erfolgt über die
// variable subindex. ein wert von z.b. 2 schneidet den 
// pfad hinter dem 2. eintrag ab.
// parameter
// pathname - Text, der im Pfad angezeigt werden soll.
//          - der Text muss im url-tauglichen Format
//            vorliegen und darf auf keinen fall komma
//            oder anfuehrungszeichen enthalten.
// pathurl  - URL der Seite
// subindex - optionale Angabe zur Verkürzung des Pfades
// einbindung in html-dokumente
// das script kann als externes javscript im header
// eines html-dokumentes eingebunden werden.
// beispiel:
// <script language="JavaScript" src="navipath.js" type="text/javascript">
// der aufruf der funktion erfolgt an der stelle im
// html-dokument an der der pfad ausgegeben werden soll. 
// beim aufruf muessen die o.g. variablen uebergeben werden:
// <script language="JavaScript">makenavipath("Wetter","/wetter.html")</script>
function makenavipath(pathname,pathurl,subindex,blnNoWrite)
{
    // fuehrende und nachfolgende Leerzeichen entfernen
    pathname = pathname.replace(/^ +/,"");
    pathname = pathname.replace(/ +$/,"");
    pathname = pathname.replace(/\+/g,"%20");
    delimiter   = " &gt; "
    outputparam = "";
    if (!subindex) subindex =0;
    navipatharray = new Array();
    naviurlarray  = new Array();
    // read cookie
    if (document.cookie)
    {
        start = document.cookie.indexOf("navipath=");
        if (start != -1)
        {
            ende = document.cookie.indexOf(";",start);
            if (ende == -1) ende = document.cookie.length;
            var navipath = document.cookie.substring(start+9,ende);
            navipatharray = navipath.split(",");
        }
        start = document.cookie.indexOf("naviurl=");
        if (start != -1)
        {
            ende = document.cookie.indexOf(";",start);
            if (ende == -1) ende = document.cookie.length;
            var naviurl = document.cookie.substring(start+8,ende);
            naviurlarray = naviurl.split(",");
        }
    }
    index = navipatharray.length;
    // pfad kürzen
    if (subindex == 0)
    {
        for (i = 0; i < index; i++)
        {
            if (navipatharray[i].toLowerCase() == pathname.toLowerCase())
            {
                subindex = i+1;
                break;
            }
        }
    }
    if (subindex !=0)
    {
        for (i =index; i >= subindex; i--)
        {
            navipatharray.pop();
            naviurlarray.pop();
        }
    }
    // append new element
    navipatharray.push(pathname)
    naviurlarray.push(pathurl)
    // write cookie
    document.cookie = "navipath="+navipatharray.join(",")+"; path=/"
    document.cookie = "naviurl="+naviurlarray.join(",")+"; path=/"
    if (!blnNoWrite)
    {
        for (i = 0; i < navipatharray.length; i++)
        {
            document.write(delimiter+"<a href='"+naviurlarray[i]+"' "+outputparam+">"+decodeURIComponent(navipatharray[i])+"</a>");
        }
    }
} 

