var Menus = [ null, null, null, null ];
var imprintView = null;
var _transitionEnd = null;

function upd(menuObject, menuLinkObject) {
    var bar = document.getElementById("layer-blackbar");
    var s = window.getComputedStyle(menuLinkObject);
    var gap = parseInt(s["padding-left"]);
    gap = parseInt(s.paddingLeft);
    menuObject.style.left = gap + menuLinkObject.offsetLeft + "px";
}

var Menu = {
    menuObject     : null,
    menuLinkObject : null,
    isOpened       : false,

    init : function (menuObject, menuLinkObject) {
        this.menuObject     = menuObject;
        this.menuLinkObject = menuLinkObject;
        this.isOpened       = false;
    },

    dismissed : function (event) {
        document.body.removeChild(this);
    },

    close : function () {
        if (this.isOpened) {
            this.menuObject.addEventListener(_transitionEnd, this.dismissed, null);
            this.isOpened = false;
            this.menuObject.style.opacity = 0.0;
            //this.menuLinkObject.style.color = "white";
        }
    },

    open : function () {
        if (!this.isOpened) {
            this.isOpened = true;
            this.menuObject.style.opacity = 1.0;
            //this.menuLinkObject.style.color = "cyan";
        }
    }
};


function html_menu_apps() {
    return "<ul>\
<li><a id='menu-row' target='_blank' href='http://itunes.apple.com/de/app/photoflow-by-xraw/id385352666?mt=8'><img src='images/apps/photoflow.png' />PhotoFlow</a></li>\
<li><a id='menu-row' target='_blank' href='http://itunes.apple.com/de/app/stare-square/id309530590?mt=8'><img src='images/apps/staresquare.png' />Stare Square</a></li>\
<li><a id='menu-row' target='_blank' href='http://itunes.apple.com/de/app/swr-radio/id328079086?mt=8'><img src='images/apps/swr.png' />SWR Radio</a></li>\
<li><a id='menu-row' class='last' target='_blank' href='http://itunes.apple.com/de/app/swr3-elchradio/id322077464?mt=8'><img src='images/apps/swr3.png' />SWR3 Elchradio</a></li>\
</ul>";
}

function html_menu_jobs() {
    return "<ul>\
<li><a id='menu-row' target='_blank' href='http://karriere.unicum.de/stellenangebot/details/xraw-software-ui-designer-fuer-apps-und-websites/2552642'><p><b>UI Designer</b> / Freie<br>Mitarbeit / 3-6 Monate</p></a></li>\
<li><a id='menu-row' target='_blank' href='http://karriere.unicum.de/stellenangebot/details/xraw-software-web-entwickler-fuer-apps-und-websites/2552643'><p><b>Web Entwickler</b> / Freie Mitarbeit / 3-6 Monate</p></a></li>\
<li><a id='menu-row' class='last' target='_blank' href='http://karriere.unicum.de/stellenangebot/details/xraw-software-ios-entwickler-fuer-mobile-apps/2552644'><p><b>iOS Entwickler</b> / Freie Mitarbeit / 3 Monate</p></a></li>\
</ul>";
}

function html_menu_contact() {
    return "<b>XRAW Software</b><br>Taunusstra&szlig;e 7<br>65183 Wiesbaden<br><br>Telefon:<br>Fax:<br>E-Mail:<br><br>Ansprechpartner:\
<div id='contact-values-box'>\
+ 49 611 - 2401 6729<br>+ 49 611 - 2401 6730<br><a href=\'mailto:contact@xraw.de\'>contact@xraw.de</a><br><br>Walantis Giosis\
</div>";
}

function html_menu_imprint() {
    var htmlString = "<p style=\"float:left\"><b>XRAW Software (Walantis Giosis / Dipl-Inform. (FH) / Inhaber)</b><br>Taunusstraße 7<br>65183 Wiesbaden<br><br>Telefon: +49 611 2401 6729<br>Telefax: +49 611 2401 6730<br><br>E-Mail: contact@xraw.de<br>Internet: http://www.xraw.de<br><br>Umsatzsteuer-Identifikationsnummer gem&auml;&szlig;<br>§ 27 a Umsatzsteuergesetz: DE 248338376<br><br>Haftungshinweis: Trotz sorgf&auml;ltiger inhaltlicher Kontrolle &uuml;bernehmen wir keine Haftung f&uuml;r die Inhalte externer Links. F&uuml;r den Inhalt der verlinkten Seiten sind ausschlie&szlig;lich deren Betreiber verantwortlich.</p>";
    return htmlString;
}

function toggle_menu(index, css, link_css, html) {
    if (Menus[index] === null) {
        var link = document.getElementById(link_css);
        var menu = document.createElement("div");
        menu.setAttribute("id", css);
        menu.innerHTML = html;
        document.body.appendChild(menu);

        upd(menu, link);

        for (var i = 0; i < Menus.length; ++i) {
            if (i != index) {
                if (Menus[i] !== null) {
                    Menus[i].close();
                    Menus[i] = null;
                }
            }
        }

        Menus[index] = Menu;
        Menus[index].init( menu, link );
        Menus[index].open();
        return;
    }
    else {
        Menus[index].close();
        Menus[index] = null;
        return;
    }
}

function trigger_menu_apps() {
    toggle_menu(0, "menu-apps", "link-apps", html_menu_apps());
}

function trigger_menu_jobs() {
    toggle_menu(1, "menu-jobs", "link-jobs", html_menu_jobs());
}

function trigger_menu_contact() {
    toggle_menu(2, "menucontact", "link-contact", html_menu_contact());
}

function trigger_menu_imprint() {
    toggle_menu(3, "menuimprint", "link-imprint", html_menu_imprint());
}



function callback123(event) {
    imprintView.removeEventListener(_transitionEnd, callback123, false);
    document.body.removeChild(imprintView);
    imprintView = null;
}



function imprint_de() {
    var htmlString = "<p style=\"float:left\"><b>XRAW Software (Walantis Giosis / Dipl-Inform. (FH) / Inhaber)</b><br>Taunusstraße 7<br>65183 Wiesbaden<br><br>Telefon: +49 611 2401 6729<br>Telefax: +49 611 2401 6730<br><br>E-Mail: contact@xraw.de<br>Internet: http://www.xraw.de<br><br>Umsatzsteuer-Identifikationsnummer gem&auml;&szlig;<br>§ 27 a Umsatzsteuergesetz: DE 248338376<br><br>Haftungshinweis: Trotz sorgf&auml;ltiger inhaltlicher Kontrolle &uuml;bernehmen wir keine Haftung f&uuml;r die Inhalte externer Links. F&uuml;r den Inhalt der verlinkten Seiten sind ausschlie&szlig;lich deren Betreiber verantwortlich.</p>";
    var bar = document.getElementById("layer-footer");

    if (imprintView !== null) {
        imprintView.addEventListener(_transitionEnd, callback123, false);
        imprintView.style.opacity = 0.0;
        return;
    }

    imprintView = document.createElement("div");
    imprintView.setAttribute("id", "imprint");
    imprintView.innerHTML = htmlString;
    document.body.appendChild(imprintView);

    imprintView.style.left = "20%";
    imprintView.style.right = "20%";
    imprintView.style.top = bar.offsetTop - imprintView.offsetHeight + "px";

    imprintView.style.opacity = 1.0;

    imprintView.onmousedown = function (event) {
        imprintView.addEventListener(_transitionEnd, callback123, false);
        imprintView.style.opacity = 0.0;
    }
}



// --------------------------------------------------------------------------------
// - Main entry function called onload.
// --------------------------------------------------------------------------------
function main() {
    if ($.browser.webkit) {
        _transitionEnd = "webkitTransitionEnd";
    }
    else if ($.browser.mozilla) {
        _transitionEnd = "transitionend";
    }
    else if ($.browser.opera) {
        _transitionEnd = "oTransitionEnd";
    }
    else if ($.browser.opera) {
        _transitionEnd = "msTransitionEnd";
    }
    else {
        _transitionEnd = "transitionend";
    }

    window.onresize = function (event) {
        for (var i = 0; i < Menus.length; ++i) {
            if (Menus[i] !== null && Menus[i].isOpened) {
                upd(Menus[i].menuObject, Menus[i].menuLinkObject);
            }
        }
    }

    var logo = document.getElementById("layer-logo");
    setTimeout(function () { logo.className = "in"; }, 500);
}

