﻿
/* DHTML-Bibliothek */

/* Variablen zur Speicherung was unterstütst wird und welcher Browser verwendet wird. Browser die nich aufgeführt sind, unterstützen DOM oder fallen mir nicht ein. */
var DHTML = false/* Ob diese Bibliothek benutzt werden kann */, DOM = false/* (Document Object Model http://www.w3.org/DOM/) */, MSIE4 = false/* Microsoft Internet Explorer 4 */, NS4 = false/* Nescape 4 */, OP = false/* Opera */; 

/* Setzen der Variablen */
if (document.getElementById) 
{
    DHTML = true;
    DOM = true;
} 
else if (document.all) 
{
    DHTML = true;
    MSIE4 = true;
}
else if (document.layers) 
{
    DHTML = true;
    NS4 = true;
}

if (window.opera) 
{
    OP = true; /* wie man sehen kann unterstützt Opera diese Bibliothek nicht unbedinkt */
}

/* Ruft das Angegebene Element nach der entsprechenden Metode ab */

function getElement (Mode /* groß/klein schreibung egal dank .toLowerCase() */, Identifier, ElementNumber)
{
    var Element, ElementList;
    if (DOM) /* true  wenn der Browser DOM fähig ist. */
    {
        if (Mode.toLowerCase() == "id")                         /* das abzurufende Element muss ein 'id' attribut besitzen wenn dieser modus ausgewält ist. Bei 'Identifier' wird der wert des 'id' Attributes angegeben.
                                                                   'Elementnuber' ist null. Bei Modus ist "Id" einzutragen. Diese Methode solte bevorzugt verwendet werden da sie die eindeutigste ist(sie Zeile 75).*/
        {
            Element = document.getElementById(Identifier);
            if (!Element) /* wenn Element == null */
            {
                Element = false;
            }
            return Element;
        }
        if (Mode.toLowerCase() == "name")                        /* das abzurufende Element muss ein 'name' attribut besitzen wenn dieser modus ausgewält ist. Bei 'Identifier' wird der wert des 'name' Attributes angegeben.
                                                                    Des weiteren muss bei 'ElementNumber' eingetragen werden anwelcher Position in der 'ElementList' das Element steht.
                                                                    Die 'ElementList' beinhaltet nur Elemente mit dem angegebenen Namen, sortiert nach deren vorkommen,
                                                                    dabei wird der Quellcode von oben nach unten und von links nach rechts durchlaufen.  Bei Modus ist "Name" einzutragen.*/
        {
            ElementList = document.getElementsByName(Identifier); 
            Element = ElementList[ElementNumber];
            if (!Element)
            {
                Element = false;
            }
            return Element;
        }
        if (Mode.toLowerCase() == "tagname")                    /* solte diese Methode ausgewählt werden wird bei 'Identifier' der Tag angegeben und bei 'ElementNumber' die Position des Elements in der 'ElementList'.
                                                                   Die 'ElementList' enthält nur Elemente mit dem selben Tags, sortiert nach deren vorkommen, dabei wird der Quellcode von oben nach unten und von links 
                                                                   nach rechts durchlaufen.  Bei Modus ist "Tagname" einzutragen, wenn wie in den Zeilen 98 bis 125 Nescape 4 verwendet wird muss "Layerindex" angegeben werden */
        {
            ElementList = document.getElementsByTagName(Identifier);
            Element = ElementList[ElementNumber];
            if (!Element)
            {
                Element = false;
            }
            return Element;
        }
        return false;
    }
    if (MSIE4)/* true  wenn Microsoft Internet Explorer 4 verwendet wird. */
    {
        if (Mode.toLowerCase() == "id" || Mode.toLowerCase() == "name") /* da der MSIE4 hier bei der Methode 'Name' keine 'ElementList' erstelt kann es bei mehrfachem vorkommen des 'Identifiers' zur rückgabe des falschen Elements kommen.
                                                                           Die Methode 'Id' braucht keine 'ElementList' da die vergebenen IDs nur einmal pro Seite vorkommen dürfen.*/
        {
            Element = document.all(Identifier);
            if (!Element)
            {
                Element = false;
            }
            return Element;
        }
        if (Mode.toLowerCase() == "tagname")
        {
            ElementList = document.all.tags(Identifier);
            Element = ElementList[ElementNumber];
            if (!Element)
            {
                Element = false;
            }
            return Element;
        }
        return false;
    }
    if (NS4)/* true  wenn Nescape 4 verwendet wird. */
    {
        if (Mode.toLowerCase() == "id" || Mode.toLowerCase() == "name") /* Das selbe wie in Zeile 75 */
        {
            Element = document[Identifier];
            if (!Element) 
            {
                Element = document.anchors[Identifier];
            }
            if (!Element) 
            {
                Element = false;
            }
        return Element;
        }
        if (Mode.toLowerCase() == "layerindex") 
        {
            Element = document.layers[Identifier];
            if (!Element) 
            {
                Element = false;
            }
            return Element;
        }
        return false;
    }
    return false;
}

/* Gibt den Attributwert des angegebenen Atributes des angegebenen Elements zurück */

function getAttribute (Mode, Identifier, ElementNumber, AttributeName/* auf groß/kleinschreibung achten */) {
    var Attribute;
    var Element = getElement(Mode, Identifier, ElementNumber);
    if (!Element) 
    {
        return false;
    }
    if (DOM || MSIE4) /* Wenn DOM unterstützt ODER Internet Explorer 4 verwendet wird */
    {
        Attribute = Element.getAttribute(AttributeName);
        return Attribute;
    }
    if (NS4) 
    {
        Attribute = Element[AttributeName]
        if (!Attribute) 
        {
            Attribute = false;
        }
        return Attribute;
    }
    return false;
}

/* Giebt den Inhalt des angegebenen Elements zurück */

function getContent (Mode, Identifier, ElementNumber) {
    var Content;
    var Element = getElement(Mode, Identifier, ElementNumber);
    if (!Element)
    {
        return false;
    }
    if (DOM && Element.firstChild)
    {
        if (Element.firstChild.nodeType == 3)
        {
            Content = Element.firstChild.nodeValue;
        }
        else
        {
            Content = "";
        }
        return Content;
    }
    if (MSIE4)
    {
        Content = Element.innerText;
        return Content;
    }
    return false;
}

/* Setzt den Inhalt des angegebenen Elements zurück */

function setContent (Mode, Identifier, ElementNumber, Value/* der wert den das Element haben soll*/) {
    var Element = getElement(Mode, Identifier, ElementNumber);
    if (!Element) 
    {
        return false;
    }
    if (DOM && Element.firstChild) 
    {
        Element.firstChild.nodeValue = Value;
        return true;
    }
    if (MSIE4) 
    {
        Element.innerText = Value;
        return true;
    }
    if (NS4) 
    {
        Element.document.open();
        Element.document.write(Value);
        Element.document.close();
        return true;
    }
}

/* /\                                                  /\ */
/* |  Copyright http://www.Selfhtml.de / Stefan Münz   | */
/* |                                                    | */

/* Setzt den Attributwert des angegebenen Atributes des angegebenen Elements zurück */

function toPosition(x, y) {
    x = x.toString().replace("px", "");
    y = y.toString().replace("px", "");
    return {
        x: x,
        y: y
    };
}

function toSize(width, height) {
    width = width.toString().replace("px", "");
    height = height.toString().replace("px", "");
    return {
        width: width,
        height: height
    };
}

function setAttribute (Mode, Identifier, ElementNumber, AttributeName/* auf groß/klein schreibung achten */, Value) {
    var Element = getElement(Mode, Identifier, ElementNumber);
    if (!Element)
    {
        return false;
    }
    if (DOM || MSIE4)
    {
       Element.setAttribute(AttributeName, Value);
       return true;
    }
    if (NS4)
    {
        if (!Element[AttributeName])
        {
            return false;
        }
        else
        {
            Element[AttributeName] = Value;
            return true;
        }
    }
}

/* Giebt den Attributwert des angegebenen CSS Atributes des angegebenen Elements zurück */

function getCSSAttribute (Mode, Identifier, ElementNumber, CSSAttributeName/* auf groß/klein schreibung achten */) {
    var CSSAttribute;
    var Element = getElement(Mode, Identifier, ElementNumber);
    if (!Element)
    {
        return false;
    }
    if (DOM || MSIE4)
    {
        CSSAttribute = Element.style.getAttribute(CSSAttributeName);
        return CSSAttribute;
    }
    if (NS4) 
    {
        CSSAttribute = Element[CSSAttributeName]
        if (!CSSAttribute) 
        {
            CSSAttribute = false;
        }
        return CSSAttribute;
    }
    return false;
    
}

/* Setzt den Attributwert des angegebenen CSS Atributes des angegebenen Elements zurück */

function setCSSAttribute (Mode, Identifier, ElementNumber, CSSAttributeName/* auf groß/klein schreibung achten */, Value) {
    var Element = getElement(Mode, Identifier, ElementNumber);
    if (!Element)
    {
        return false;
    }
    if (DOM || MSIE4)
    {
       Element.style.setAttribute(CSSAttributeName, Value);
       return true;
    }
    if (NS4)
    {
        if (!Element[CSSAttributeName])
        {
            return false;
        }
        else
        {
            Element[CSSAttributeName] = Value;
            return true;
        }
    }
}

/* Setzt die Position des angegebenen Elements */

function setPosition (Mode, Identifier, ElementNumber, ValueX, ValueY) {/* X und Y beziehen sich auf die entfernung von X = links('left') und Y = oben('top') */
    if (!setCSSAttribute(Mode, Identifier, ElementNumber, "top", ValueY) || !setCSSAttribute(Mode, Identifier, ElementNumber, "left", ValueX))
    {
        return false;
    }
    setCSSAttribute(Mode, Identifier, ElementNumber, "top", ValueY);
    setCSSAttribute(Mode, Identifier, ElementNumber, "left", ValueX);
    return true;
}

/* Gibt die Position des angegebenen Elements zurück */

function getPosition (Mode, Identifier, ElementNumber) {
    var x, y;
    if (getCSSAttribute(Mode, Identifier, ElementNumber, "top"))
    {
        y = getCSSAttribute(Mode, Identifier, ElementNumber, "top");
    }
    if (getCSSAttribute(Mode, Identifier, ElementNumber, "Left"))
    {
        x = getCSSAttribute(Mode, Identifier, ElementNumber, "Left");
    }
    if (x && y)
        return toPosition(x, y);
    else
        return false;
}

/* funktion zum laden von bildern um die Zugrifszeit beim ersten aufruf zu verkürzen */

function preload(images) {
    var imageArray = new Array();
    imageArray = images.split(',');
    var imageObj = new Image();
    for (var i = 0; i <= imageArray.length - 1; i++) {
        imageObj.src = images[i];
    }
}


/* ------------------------------- ZeitAnzeige ------------------------------- */

/*
<head>
    <script type="text/javascript" src="JavaScript/DHTMl.lib.js"></script>
    <script type="text/javascript">
    function ZeitAnzeigen()
    {
        Zeit('id', 'Uhr',null, 'hhmmss');
    }
    </script>
</head>
<body onload="window.setTimeout('ZeitAnzeigen()', 1000);">
    <div id="Uhr" class="Uhr">&nbsp;</div>
</body>
*/


function Zeit (Mode, Identifier, ElementNumber, DateTimeMode) {
    var Wochentagname = new Array ("Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag", "Sonntag");
    var Jetzt = new Date();
    var Tag = Jetzt.getDate();
    var Monat = Jetzt.getMonth() + 1;
    var Jahr = Jetzt.getFullYear().toLocaleString().substr(3,2);
    var JahrF = Jetzt.getFullYear();
    if (JahrF < 999)
        Jahr += 1900;
    var Stunden = Jetzt.getHours();
    var Minuten = Jetzt.getMinutes();
    var Sekunden = Jetzt.getSeconds();
    var WoTag = Jetzt.getDay();
    var Vortag = (Tag < 10) ? "0" : "";
    var Vormon = (Monat < 10) ? ".0" : ".";
    var Vorstd = (Stunden < 10) ? "0" : "";
    var Vormin = (Minuten < 10) ? ":0" : ":";
    var Vorsek = (Sekunden < 10) ? ":0" : ":";
    var Datum;
    var Uhrzeit;
    var Gesamt;

    switch (DateTimeMode.toLowerCase())
    {
        case "ddmmyy":
        {
            Datum = Vortag + Tag + Vormon + Monat + "." + Jahr;
            Gesamt = Datum;
            setContent(Mode, Identifier, ElementNumber, Gesamt);
            break;
        }
        case "ddmmyyyy":
        {
            Datum = Vortag + Tag + Vormon + Monat + "." + JahrF;
            Gesamt = Datum;
            setContent(Mode, Identifier, ElementNumber, Gesamt);
            break;
        }     
        case "wwddmmyy":
        {
            Datum = Vortag + Tag + Vormon + Monat + "." + Jahr;
            Gesamt = Wochentagname[WoTag] + ", " + Datum;
            setContent(Mode, Identifier, ElementNumber, Gesamt);
            break;            
        }
        case "wwddmmyyyy":
        {
            Datum = Vortag + Tag + Vormon + Monat + "." + JahrF;
            Gesamt = Wochentagname[WoTag] + ", " + Datum;
            setContent(Mode, Identifier, ElementNumber, Gesamt);
            break;    
        }
        case "hhmmss":
        {
            Uhrzeit = Vorstd + Stunden + Vormin + Minuten + Vorsek + Sekunden;
            Gesamt = Uhrzeit;
            setContent(Mode, Identifier, ElementNumber, Gesamt);
            break;    
        }
        case "wwddmmhhmmss":
        {
            Uhrzeit = Vorstd + Stunden + Vormin + Minuten + Vorsek + Sekunden;
            Datum = Vortag + Tag + Vormon + Monat;
            Gesamt = Wochentagname[WoTag] + ", " + Datum + ", "+ Uhrzeit; ;
            setContent(Mode, Identifier, ElementNumber, Gesamt);
            break;    
                      
        }
        case "wwddmmyyhhmmss":
        {   
        
            Uhrzeit = Vorstd + Stunden + Vormin + Minuten + Vorsek + Sekunden;
            Datum = Vortag + Tag + Vormon + Monat + "." + Jahr;
            Gesamt = Wochentagname[WoTag] + ", " + Datum + ", " + Uhrzeit;
            setContent(Mode, Identifier, ElementNumber, Gesamt);
            break;         
        }
        default:
        {
            Datum = Vortag + Tag + Vormon + Monat + "." + JahrF;
            Uhrzeit = Vorstd + Stunden + Vormin + Minuten + Vorsek + Sekunden;
            Gesamt = Wochentagname[WoTag] + ", " + Datum + ", " + Uhrzeit;
            break;
        }
    }
    if (DHTML) 
    {
        if (NS4) 
        {
          setContent(Mode, Identifier, ElementNumber, '<span class="Uhr">' + Gesamt + "<\/span>");
        }
        else 
        {
          setContent(Mode, Identifier, ElementNumber, Gesamt);
        }
        window.setTimeout("ZeitAnzeigen()", 1000);
    }
}

/*------------------------------------------------------------------------------*/

function ScrollMenu (Mode, Identifier, ElementNumber, LinkArray, MaxSichtbLinks, align) {
    var divElement = getElement(Mode, Identifier, ElementNumber);
    var UlElement = document.createElement('ul');
    var lange = LinkArray.length;
    var LiElement;
    var aElement;
    var i = 0;
       
    if (lange <= MaxSichtbLinks)
    {
        while (i < lange)
        {
            aElement = document.createElement('a');
            aElement.setAttribute('id', ('a'+i.toLocaleString().substr(1,1)));
            aElement.setAttribute('href', "");
            aElement.innerText = LinkArray[i];
            LiElement = document.createElement('li');
            LiElement.appendChild(aElement);
            LiElement.setAttribute('id', ('li'+i.toLocaleString().substr(1,1)));
            UlElement.appendChild(LiElement);  
            i++;          
        }    
    
    }
    else if (lange > MaxSichtbLinks)
    {
        LiElement = document.createElement('li');
        LiElement.setAttribute('id', 'upleft');
        if (align.toLowerCase() == 'h')
            LiElement.innerText = '/\\';
        else if (align.toLowerCase() == 'v')
            LiElement.innerText = '<';
        
        UlElement.appendChild(LiElement);
        while (i < MaxSichtbLinks)
        {            
            aElement = document.createElement('a');
            aElement.setAttribute('id', ('a'+i.toLocaleString().substr(1,1)));
            aElement.setAttribute('href', "");
            aElement.innerText = LinkArray[i];
            LiElement = document.createElement('li');
            LiElement.appendChild(aElement);
            LiElement.setAttribute('id', ('li'+i.toLocaleString().substr(1,1)));
            UlElement.appendChild(LiElement);  
            i++; 
        }
        LiElement = document.createElement('li');
        LiElement.setAttribute('id', 'downright');
        if (align.toLowerCase()=='h')
            LiElement.innerText = '\\/';
        else if (align.toLowerCase() == 'v')
            LiElement.innerText = '>';
        UlElement.appendChild(LiElement);
    }
    document.appendChild(UlElement);/*
    divElement.appendChild()*/
}

function klick (LinkArray, MaxSichtbLinks){

	var Element = getElement('id', ('a'+(MaxSichtbLinks-1).toLocaleString()), null);
	Element.innerText = "Klappt";
	
}
    