function CNavigation(szNavigation)
{
    this.m_pNavi = null;
    this.m_szNavi = szNavigation;
    this.m_szHide = "hide";
    this.m_szShow = "show";
    this.m_szActiveLink = "active";
    this.m_szInactiveLink = "inactive";
    this.m_pCurMain = null;
    this.m_pCurSub = null;
    
    if(szNavigation)
    {
        this.m_pNavi = document.getElementById(szNavigation);
    }
}

CNavigation.prototype.Show = function(pTarget)
{
    if(pTarget)
    {
        pTarget.className = pTarget.className.replace(this.m_szHide, this.m_szShow);
    }
}

CNavigation.prototype.Hide = function(pTarget)
{
    if(pTarget)
    {
        pTarget.className = this.m_szHide;
    }
}

CNavigation.prototype.SetActive = function(pTarget)
{
    if(pTarget)
    {
        pTarget.className = pTarget.className + " " + this.m_szActiveLink;
    }
}

CNavigation.prototype.SetInactive = function(pTarget)
{
    if(pTarget)
    {
        pTarget.className = "";
    }
}

CNavigation.prototype.Run = function()
{
    var li = null;
    var sub = null;
    var self = this;

    if(this.m_pNavi)
    {
        if(this.m_pNavi.getElementsByTagName("ul")[0].getElementsByTagName("li"))
        {
            li = this.m_pNavi.getElementsByTagName("ul")[0].getElementsByTagName("li")[0];
            
            while(li)
	    {
                li.onmouseup = function()
                {
                    if(self.m_pCurMain)
                    {
                        self.SetInactive(self.m_pCurMain.getElementsByTagName("a")[0]);

                        if(self.m_pCurMain.getElementsByTagName("ul")[0])
                        {
                            self.Hide(self.m_pCurMain.getElementsByTagName("ul")[0]);
                        }

                        if(self.m_pCurSub)
                        {
                            self.SetInactive(self.m_pCurSub.getElementsByTagName("a")[0]);
                        }
                    }
                    
                    self.SetActive(this.getElementsByTagName("a")[0]);
                    self.m_pCurMain = this;
                    
                    if(this.getElementsByTagName("ul")[0])
                    {
                        self.Show(this.getElementsByTagName("ul")[0]);
                    }
                }
                
                // untermenüs
                if(li.nodeType == 1 && li.getElementsByTagName("ul")[0])
                {
                    this.Hide(li.getElementsByTagName("ul")[0]);

                    if(li.getElementsByTagName("ul")[0].getElementsByTagName("li")[0])
                    {
                        sub = li.getElementsByTagName("ul")[0].getElementsByTagName("li")[0];

                        while(sub)
			{
                            sub.onclick = function()
                            {
                                if(self.m_pCurSub) self.SetInactive(self.m_pCurSub.getElementsByTagName("a")[0]);
                                self.SetActive(this.getElementsByTagName("a")[0]);
                                self.m_pCurSub = this;
                            }

                            sub = sub.nextSibling;
                            if(!document.all)
                                sub = sub.nextSibling;
                        }
                    }
                }
                
                // aktive links beim seitenstart anzeigen
                if(this.m_pNavi.getElementsByTagName("input")["CurMainMenu"].value)
                {
                    this.SetActive(document.getElementById(this.m_pNavi.getElementsByTagName("input")["CurMainMenu"].value).getElementsByTagName("a")[0]);
                    this.m_pCurMain = document.getElementById(this.m_pNavi.getElementsByTagName("input")["CurMainMenu"].value);

                    if(this.m_pNavi.getElementsByTagName("input")["CurSubMenu"].value &&
                       document.getElementById(this.m_pNavi.getElementsByTagName("input")["CurMainMenu"].value).getElementsByTagName("ul")[0])
                    {
                        this.Show(document.getElementById(this.m_pNavi.getElementsByTagName("input")["CurMainMenu"].value).getElementsByTagName("ul")[0]);
                        this.SetActive(document.getElementById(this.m_pNavi.getElementsByTagName("input")["CurSubMenu"].value).getElementsByTagName("a")[0]);
                        this.m_pCurSub = document.getElementById(this.m_pNavi.getElementsByTagName("input")["CurSubMenu"].value);
                    }
                }
            
                li = li.nextSibling;
                if(!document.all)
                    li = li.nextSibling;
            }
        }
    }
}
