
// Add custom initialization here
//String.prototype.trim = function () {
//    return
//    (this.replace(/^[\s\xA0]+/, "").replace(/[\s\xA0]+$/, ""))
//}

String.prototype.endsWith = function (str) {
    return (this.match(str + "$") == str)
}

String.prototype.startsWith = function (str) {
    return (this.match("^" + str) == str)
}

function Menu(name, submenueArray) {
    this.Name = name;
    this.SubmenuArray = submenueArray;
}

function SubMenu(name, link) {
    this.Name = name;
    this.Link = link;
}



NetxpVerein = {
    Menue: Array(),
    Init: function () {
        this.Menue = Array(5);
        this.Menue[0] = new Menu('Info', Array(
            new SubMenu('Module', 'Vereinssoftware.aspx')
            , new SubMenu('News', 'news.aspx')
            , new SubMenu('Faktenblatt', 'Faktenblatt.aspx')
			, new SubMenu('Referenzen', 'Referenzen.aspx')
        //, new SubMenu('Testversion', 'DownloadTestversion.aspx')
        ));
        this.Menue[1] = new Menu('Kaufen', Array(
            new SubMenu('Preis', 'Preise.aspx')
            , new SubMenu('Bestellen', 'Bestellen.aspx')
            , new SubMenu('SMS Preise', 'SMSPreise.aspx')
            , new SubMenu('Lettershop', 'LettershopPreise.aspx')
        ));
        this.Menue[2] = new Menu('Support', Array(
            new SubMenu('Hilfe', 'Hilfe.aspx')
            , new SubMenu('Hotline', 'Hotline.aspx')
            //, new SubMenu('Forum', 'Forum.aspx')
            , new SubMenu('FAQ', 'FAQ.aspx')
            , new SubMenu('Datenschutz', 'Datenschutz.aspx')
        ));
        this.Menue[3] = new Menu('Kontakt', Array(
            new SubMenu('Kontakt', 'Kontakt.aspx')
            , new SubMenu('Impressum', 'Impressum.aspx')
        ));
        this.Menue[4] = new Menu('Download', Array(
            new SubMenu('Netxp:Verein', 'Download.aspx')
            , new SubMenu('Dokumente', 'Dokumente.aspx')
             , new SubMenu('Testversion', 'Testversion.aspx')
        ));

    },
    getPageName: function () {
        var href = document.location.href;
        var start = href.lastIndexOf('/') + 1;

        var name = '';
        if (start < 0) {
            name = 'start';
        }
        else {
            name = href.substring(start, href.length).toLowerCase();
            var end = name.lastIndexOf('.');

            if (end < 0) {
                name = 'start';
            } else {
                name = name.substring(0, end).toLowerCase();
            }
        }
        return name;
    },
    getMenuFromPageName: function (pageName) {
        for (m = 0; m < this.Menue.length; m++) {
            for (sm = 0; sm < this.Menue[m].SubmenuArray.length; sm++) {
                // mit punkt prufensicher stellen das die seite wirklih so heisst
                if (this.Menue[m].SubmenuArray[sm].Link.toLowerCase().startsWith(pageName.toLowerCase() + ".")) {
                    return this.Menue[m];
                }
            }
        }
        // default start menue
        return this.Menue[0];
    },
    getMainNaviItem: function (homedir, classaddition, name, linktarget) {
        var html = '<div class="nav_main_item' + classaddition + '">';
        html = html + '<a href="http://' + homedir + '/' + linktarget + '">' + name + '</a>';
        html = html + '</div>';
        return html;
    },
    getMainNaviSelectedItem: function (homedir, classaddition, name, linktarget) {
        var html = '<div class="nav_main_selecteditem' + classaddition + '">';
        html = html + '<a href="http://' + homedir + '/' + linktarget + '">' + name + '</a>';
        html = html + '</div>';
        return html;
    },
    getMainNaviSelectedItemDiv: function (classname) {
        return '<div class="' + classname + '"></div>';
    },
    getMainNaviSubitemLast: function () {
        return '<div id="nav_main_subitem_last" class="nav_main_subitem_last" style="padding-left:0px;padding-right:0px;"></div>';
    },
    getMainNaviSubitem: function (homedir, classaddition, name, linktarget) {
        var html = '<div class="nav_main_subitem' + classaddition + '">';
        html = html + '<a href="http://' + homedir + '/' + linktarget + '">' + name + '</a>';
        html = html + '</div>';
        return html;
    },
    getMainSubNavi: function (homedir, pageName, selectedMenu) {

        var html = this.getMainNaviSubitemLast();

        for (sm = selectedMenu.SubmenuArray.length - 1; sm >= 0; sm--) {
            var classAdd = '';

            if (sm == 0) {
                classAdd = '_first ';
            }

            if (this.Menue[m].SubmenuArray[sm].Link.toLowerCase().startsWith(pageName.toLowerCase() + ".")) {
                html = html + this.getMainNaviSubitem(homedir, classAdd + ' nav_sub_selecteditem', this.Menue[m].SubmenuArray[sm].Name, this.Menue[m].SubmenuArray[sm].Link);
            } else {
                html = html + this.getMainNaviSubitem(homedir, classAdd, this.Menue[m].SubmenuArray[sm].Name, this.Menue[m].SubmenuArray[sm].Link);
            }
        }
        return html;
    },
    createMainMeue: function (pageName, selectedMenu) {
        var htmlMainNav = '';
        var htmlSubNav = '';
        var homedir = 'www.netxp-verein.de';
        // menue rückwärts durchlaufen
        for (m = this.Menue.length - 1; m >= 0; m--) {

            // prüfen ob das selectedMenu das aktuelle ist
            if (this.Menue[m].Name == selectedMenu.Name) {
                // das unter menü anzeigen

                var classDivAdd = '';
                var classAdd = '';
                if (m == this.Menue.length - 1) {
                    classDivAdd = 'nav_main_selecteditem_last';
                    classAdd = '_left';
                } else if (m == 0) {
                    classDivAdd = 'nav_main_selecteditem_right';
                    classAdd = '_first';
                } else {
                    classDivAdd = 'nav_main_selecteditem_right';
                    classAdd = '';
                }
                htmlMainNav = htmlMainNav + this.getMainNaviSelectedItemDiv(classDivAdd);
                htmlMainNav = htmlMainNav + this.getMainNaviSelectedItem(homedir, classAdd, this.Menue[m].Name, this.Menue[m].SubmenuArray[0].Link);
                htmlSubNav = this.getMainSubNavi(homedir, pageName, this.Menue[m]);
            } else {
                // kein unter menü anzeigen
                var classAdd = '';
                if (m == this.Menue.length - 1) {
                    classAdd = '_last';
                } else if (m == 0) {
                    classAdd = '_first';
                }

                htmlMainNav = htmlMainNav + this.getMainNaviItem(homedir, classAdd, this.Menue[m].Name, this.Menue[m].SubmenuArray[0].Link);
            }
        }
        return Array(htmlMainNav, htmlSubNav);
    },
    writeMainMenue: function (navMainID, navMainSubID) {
        this.Init();

        var pageName = this.getPageName();

        var selectedMenu = this.getMenuFromPageName(pageName);

        if (selectedMenu != undefined) {

            var htmlContent = this.createMainMeue(pageName, selectedMenu);
            if (htmlContent != null) {

                var navmain = document.getElementById(navMainID);
                navmain.innerHTML = htmlContent[0];

                var sub = document.getElementById(navMainSubID);
                //if (subnavi.length == 0) subnavi = getMainSubNaviStart();
                sub.innerHTML = htmlContent[1];
            }
        } else {
            alert(pageName);
        }
    }

}

