/*

================
Anwendung: Menue
================

Copyright (c) 2003 by randy webdesign.
Alle Rechte vorbehalten.

*/

// === Variablen (global) ===

var eintraege              = new Array()

// === Parameter (Vorbelegung) ===

var body_bgcolor           = "000000"
var body_background        = ""
var body_text              = "4C4A74"
var body_link              = "4C4A74"
var body_alink             = "FC6E24"
var body_vlink             = "00FF00"
var body_hover             = "0000FF"
var a_underline            = false
var menue_pre              = "<B><SMALL>"
var menue_post             = "</SMALL></B>"
var eintrag_pre            = "<BM><SMALL>"
var eintrag_post           = "</SMALL></BM>"
var menue_titel            = ""
var menue_style            = "font-family: Arial, Helvetica, sans-serif;"
var rand                   = 0
var bild_eintrag           = "normal.gif"
var bild_menue_offen       = "offen.gif"
var bild_menue_geschlossen = "geschlossen.gif"
var bild_breite            = 12
var bild_hoehe             = 12
var frame_name             = "menuetree"
var extra                  = false
var extra_text_expand      = "Aufbauen"
var extra_text_collapse    = "Abbauen"
var extra_pre              = "<SMALL>"
var extra_post             = "</SMALL>"
var copyright              = true

// === Hilfsfunktionen ===

// Cookie lesen
function read_cookie(cookie_name)
{
        var cookie_string = document.cookie
        var cookie_array = cookie_string.split(";")
        var array_size = cookie_array.length
        var cookie_teile

        var i = 0

        for(i = 0; i < array_size; i++)
        {
                cookie_teile = cookie_array[i].split("=")
                if(cookie_teile[0].substring(0, 1) == " ")
                        cookie_teile[0] = cookie_teile[0].substring(1, cookie_teile[0].length)
                if(cookie_teile[0] == cookie_name)
                        return unescape(cookie_teile[1])
        }

        return ""
}


// Cookie schreiben
function write_cookie(cookie_name, cookie_wert, gueltigkeitszeitraum)
{
        if(gueltigkeitszeitraum)
        {
                var ablauf_datum = new Date()

                ablauf_datum.setTime(ablauf_datum.getTime() + gueltigkeitszeitraum)
                document.cookie = cookie_name + "=" + escape(cookie_wert) + "; " +
                                        "expires=" + ablauf_datum.toGMTString()
        }
        else
                document.cookie = cookie_name + "=" + escape(cookie_wert)
}

// Knoten ermitteln
function set_nodes()
{
        var i

        for(i = 0; i < (eintraege.length - 1); i++)
                if(eintraege[i + 1].level > eintraege[i].level)
                        eintraege[i].node =  true
}

// Aufnahme eines neuen Menueeintrags
function neuer_eintrag(level, name, url, target, desc, image, image_open)
{
        this.level = level
        this.name = name
        this.url = url
        this.target = target
        this.node = false
        this.open = false
        this.description = desc
        this.image = image
        this.image_open = image_open
}

// Eintrag vornehmen und Verzweigungsermittlung
function eintrag(level, name, url, target, desc, image, image_open)
{
        var pos = eintraege.length

        if(level < 1)
        {
                alert("Level-Werte bitte ab 1 anlegen!")
                return
        }

        if(arguments.length < 2)
        {
                alert("Es muessen mindestens die ersten beiden Argumente angegeben werden.")
                return
        }

        eintraege[pos] = new neuer_eintrag(level,
                                                name,
                                                (arguments.length > 2) ? url : null,
                                                (arguments.length > 3) ? target : null,
                                                (arguments.length > 4) ? desc : null,
                                                (arguments.length > 5) ? image : null,
                                                (arguments.length > 6) ? image_open : null)
}

// Untermenue oeffnen oder schliessen
function submenue(nr)
{
        eintraege[nr].open = !eintraege[nr].open
        if((eintraege[nr].target != null) && (eintraege[nr].url != null))
                frames[eintraege[nr].target].location.href = eintraege[nr].url
        write_menue()
}

// Alle Untermenues oeffnen DEL
function expand()
{
        var i

        for(i = 0; i < eintraege.length; i++)
                if(eintraege[i].node)
                        eintraege[i].open = true
        write_menue()
}

// Alle Untermenues schliessen DEL
function collapse()
{
        var i

        for(i = 0; i < eintraege.length; i++)
                if(eintraege[i].node)
                        eintraege[i].open = false
        write_menue()
}

// Kommentar in der Statuszeile anzeigen
function show(comment)
{
        status = comment
        return true
}

// Kommentar aus der Statuszeile entfernen
function hide()
{
        status = ""
}

// Ausgabe eines Menueeintrags
function ausgabe(nr)
{
        with(self[frame_name].document)
        {
                var i

                write("<TABLE CELLSPACING=\"0\" CELLPADDING=\"0\" BORDER=\"0\">\n<TR ALIGN=\"LEFT\" VALIGN=\"CENTER\">\n<TD>")

                // Platzhalter
                if(eintraege[nr].level > 1)
                        write("<IMG SRC=\"back/leer.gif\" WIDTH=\"" + String(bild_breite * (eintraege[nr].level - 1)) + "\" HEIGHT=\"" + String(bild_hoehe) + "\" BORDER=\"0\" ALT=\"\">")

                // Untermenues / normaler Eintrag
                if(eintraege[nr].node)
                {
                        var link_pre = "<A HREF=\"javascript:parent.submenue(" + String(nr) + ")\" onMouseOver=\"return parent.show('" +
                                                        (eintraege[nr].description ? eintraege[nr].description : eintraege[nr].name) +
                                                        "')\" onMouseOut=\"parent.hide()\" TITLE=\"" +
                                                        (eintraege[nr].description ? eintraege[nr].description : eintraege[nr].name) + "\">"
                        var link_post = "</A>"

                        write(link_pre + "<IMG SRC=\"" +
                                (eintraege[nr].open ?
                                        (eintraege[nr].image_open ? eintraege[nr].image_open : bild_menue_offen) :
                                        (eintraege[nr].image ? eintraege[nr].image : bild_menue_geschlossen)) +
                                "\" WIDTH=\"" + String(bild_breite) + "\" HEIGHT=\"" + String(bild_hoehe) + "\" BORDER=\"0\" ALT=\"" +
                                (eintraege[nr].description ? eintraege[nr].description : eintraege[nr].name) + "\">" + link_post)
                        write("</TD>\n<TD>")
                        write(link_pre + menue_pre + eintraege[nr].name + menue_post + link_post)
                }
                else
                {
                        write("<A HREF=\"" + eintraege[nr].url + "\"" +
                                (eintraege[nr].description ? (" onMouseOver=\"return parent.show('" + eintraege[nr].description + "')\" onMouseOut=\"parent.hide()\"") : "") +
                                (eintraege[nr].target ? " TARGET=\"" + eintraege[nr].target + "\"" : "") +
                                " TITLE=\"" + (eintraege[nr].description ? eintraege[nr].description : eintraege[nr].name) + "\"><IMG SRC=\"" + (eintraege[nr].image ? eintraege[nr].image : bild_eintrag) +
                                "\" WIDTH=\"" + String(bild_breite) + "\" HEIGHT=\"" + String(bild_hoehe) +
                                "\" BORDER=\"0\" ALT=\"" +
                                eintraege[nr].name + "\"></A>")
                        write("</TD>\n<TD>")
                        write("<A HREF=\"" + eintraege[nr].url + "\"" +
                                (eintraege[nr].description ? (" onMouseOver=\"return parent.show('" + eintraege[nr].description + "')\" onMouseOut=\"parent.hide()\"") : "") +
                                (eintraege[nr].target ? " TARGET=\"" + eintraege[nr].target + "\"" : "") +
                                " TITLE=\"" + (eintraege[nr].description ? eintraege[nr].description : eintraege[nr].name) + "\">" + eintrag_pre + eintraege[nr].name + eintrag_post + "</A>")
                }

                writeln("</TD>\n</TR>\n</TABLE>")

        }
}

// Ausgabe aller Eintraege eines Levels und eines Untermenues
function ausgabe_eintraege(lvl, start)
{
        var i

        with(self[frame_name].document)
        {
                for(i = start; i < eintraege.length; i++)
                {
                        if(eintraege[i].level < lvl)
                                return
                        if(eintraege[i].level == lvl)
                        {
                                ausgabe(i)
                                if(eintraege[i].node)
                                        if(eintraege[i].open)
                                                ausgabe_eintraege(lvl + 1, i + 1)
                        }
                }
        }
}

// Menuedokument schreiben (dynamisches Dokument erzeugen)
function write_menue()
{
        with(self[frame_name].document)
        {
                open("text/html", "replace")

                // Kopf
                writeln("<HTML>\n<HEAD>\n<TITLE>HSE - Menü</TITLE>")
                writeln("<!--\n\nGeneriert mit Hilfe des Menueskripts\nvon Ralph Nitsch.\n\n-->")
                writeln("<META NAME=\"AUTHOR\" CONTENT=\"randy webdesign\">")
                writeln("<META NAME=\"COPYRIGHT\" CONTENT=\"randy webdesign\">")
                writeln("<META NAME=\"ROBOTS\" CONTENT=\"NONE\">")
                writeln("<META HTTP-EQUIV=\"CONTENT-TYPE\" CONTENT=\"text/html; CHARSET=iso-8859-1\">")
                writeln("<STYLE TYPE=\"text/css\">\n<!--")
                if(!a_underline)
                        writeln("A {text-decoration: none;}")
                writeln("A:hover {color: #" + body_hover + ";}")
                if(menue_style != "")
                        writeln("BODY, A, P, TD, H1, H2, H3, H4, H5, H6 {" + menue_style + "}")
                writeln("//-->\n</STYLE>")
                writeln("</HEAD>")

                // Koerper
                writeln("<BODY BGCOLOR=\"#" + body_bgcolor + "\" TEXT=\"#" + body_text +
                                "\" LINK=\"#" + body_link + "\" ALINK=\"#" + body_alink +
                                "\" VLINK=\"#" + body_vlink + "\" LEFTMARGIN=\"" + rand +
                                "\" TOPMARGIN=\"" + rand + "\" MARGINWIDTH=\"" + rand +
                                "\" MARGINHEIGHT=\"" + rand + "\"" +
                                (((body_background != "") && (body_background != null)) ? (" BACKGROUND=\"" + body_background + "\"") : "" ) + ">")
                //  Menue-Bild
                writeln("<TABLE WIDTH=\"90%\" BORDER=\"0\" CELLSPACING=\"0\" CELLPADDING=\"3\">")
                writeln("<TR valign=\"middle\">")
                writeln("<TD align=\"center\"><IMG SRC=\"back/logo_hse110.gif\" WIDTH=\"110\" HEIGHT=\"62\" BORDER=\"0\" ALT=\"\"></TD>")
                writeln("</TR></TABLE>")
                if(menue_titel != "")
                        writeln(menue_titel)
                write("<P>")
                ausgabe_eintraege(1, 0)
                writeln("</P>")
                if(extra)
                {
                        write("<P ALIGN=\"CENTER\">" + extra_pre)
                        write("<NOBR>[ <A HREF=\"javascript:parent.expand()\" TITLE=\"" + extra_text_expand + "\">" + extra_text_expand + "</A> ]<WBR></NOBR> ")
                        write("<NOBR>[ <A HREF=\"javascript:parent.collapse()\" TITLE=\"" + extra_text_collapse + "\">" + extra_text_collapse + "</A> ]<WBR></NOBR>")
                        writeln(extra_post + "</P>")
                }

                //  Impressum/Disclaimer
                writeln("<DIV ALIGN=\"center\">")
                writeln("<TABLE WIDTH=\"80%\" BORDER=\"0\" CELLSPACING=\"0\" CELLPADDING=\"3\">")
                writeln("<TR valign=\"middle\">")
                writeln("<TD align=\"left\"><A HREF=\"html/impressum_d.htm\" TARGET=\"haupt\"><SMALL><SMALL>Impressum</SMALL></SMALL></A></TD>")
                writeln("</TR><TR valign=\"middle\">")
                writeln("<TD align=\"left\"><A HREF=\"html/disclaimer_d.htm\" TARGET=\"haupt\"><SMALL><SMALL>Disclaimer</A></SMALL></SMALL></TD>")
                writeln("</TR><TR valign=\"middle\">")
                writeln("<TD align=\"left\"><IMG SRC=\"back/blankdot.gif\" WIDTH=\"16\" HEIGHT=\"10\" ALT=\"\"></TD>")
                writeln("</TR></TABLE></DIV>")

                //  Sprachauswahl
                writeln("<DIV ALIGN=\"center\">")
                writeln("<TABLE WIDTH=\"80%\" BORDER=\"0\" CELLSPACING=\"0\" CELLPADDING=\"3\">")
                writeln("<TR valign=\"middle\">")
                writeln("<TD align=\"left\"><A HREF=\"index.html\" TARGET=\"_top\"><IMG border=\"0\" SRC=\"back/xdeu.gif\" WIDTH=\"16\" HEIGHT=\"10\" ALT=\"Laden der deutschen Startseite\"></A>")
                writeln("<IMG SRC=\"back/blankdot.gif\" WIDTH=\"16\" HEIGHT=\"10\" ALT=\"\">")
                writeln("<IMG border=\"0\" SRC=\"back/xeng.gif\" WIDTH=\"16\" HEIGHT=\"10\" ALT=\"Ist noch nicht implementiert!\"></TD>")
                writeln("</TR></TABLE></DIV>")

                if(copyright)
                {
                        write("<HR SIZE=\"0\" WIDTH=\"80%\" ALIGN=\"CENTER\" COLOR=\"" + body_text + "\">\n<DIV ALIGN=\"center\">")
                        writeln("<TABLE WIDTH=\"80%\" BORDER=\"0\" CELLSPACING=\"0\" CELLPADDING=\"0\">")
                        writeln("<TR valign=\"middle\">")
                        writeln("<TD align=\"left\"><SMALL><SMALL>&copy; 1999-2010<BR><A HREF=\"http://www.rydesign.net\" TARGET=\"_blank\">rydesign</A></SMALL></SMALL></TD>")
                        writeln("</TR><TR valign=\"middle\">")
                        writeln("<TD align=\"left\"><IMG SRC=\"back/blankdot.gif\" WIDTH=\"16\" HEIGHT=\"4\" ALT=\"\"></TD>")
                        writeln("</TR><TR valign=\"middle\">")
                        writeln("<TD align=\"left\"><SMALL><SMALL>eMail: <A HREF=\"mailto:webmaster@pcdreh.de?subject=Kritik - pcdreh&reg;\">webmaster</A></SMALL></SMALL></TD>")
                        writeln("</TR></TABLE>")
                        writeln("</DIV>")
                }

                writeln("</BODY>")
                writeln("</HTML>")

                close()
        }

        // Menues in Cookie merken
//        if(rebuild)
//        {
//                var s = ""
//                var i
//
//                for(i = 0; i < eintraege.length; i++)
//                        if(eintraege[i].node)
//                                if(eintraege[i].open)
//                                        s += ((s == "") ? "" : ",") + String(i)
//                write_cookie("OpenNodes", s, 1000 * 60 * 60 * 24 * 92)
//        }
}

// === Menuefunktionen ==

// Ausgabe des kompletten Menues
function menue()
{
        set_nodes()

//        // Menues/Cookie auswerten
//        if(rebuild)
//        {
//                var s = read_cookie("OpenNodes")
//                var sarr = s.split(",")
//                var i
//                var nr
//
//                for(i = 0; i < sarr.length; i++)
//                {
//                        nr = parseInt(sarr[i])
//                        if(!isNaN(nr))
//                                if(eintraege[nr].node)
//                                        eintraege[nr].open = true
//                }
//        }

        write_menue()
}

function hseInfoBox( strName , strTitel ) {
         window.open(strName,strTitel,'status=yes,resizable=yes,scrollbars=yes,screenX=0,screenY=0,width=630,height=480');
// window.open(strName,Address,'status=yes,resizable=yes,scrollbars=yes,top=0,left=0,width=630,height=480')
}
