/**
 * @package WebDevil
 * @subpackage VisualDynamo
 */

"use strict";

dojo.provide('visualdynamo');

dojo.require("dojo.fx");

dojo.mixin(visualdynamo, {
    _showSubmenu: function(parent, children) {
        var items = dojo.query("#nav > ul > li");
        dojo.forEach(items, function(item) {
            if (dojo.hasClass(item, 'current_page_item')) {
                dojo.removeClass(item, 'current_page_item');
            }
        });
        dojo.addClass(parent, 'current_page_item');
        dojo.addClass(parent, 'current_page_parent');
        dojo.fx.wipeIn({node: children}).play();
    },
    run: function() {
        // A "3D szolgáltatások" menure kattintva nem annak tartalma kell, hogy
        // bejojjon, hanem az almenujet mutatjuk meg.
        var that = this,
            nav = dojo.byId("nav"),
            parentMenuItem = dojo.query(".page-item-6", nav)[0],
            current = dojo.query(".current_page_parent"),
            submenuItems = dojo.query("ul", parentMenuItem)[0];
        // A submenu villog egyet oldal betoltodeskor az utolagos elrejtes
        // miatt. Azert nincs alapbol elrejtve, hogy JS nelkul is hasznalhato
        // maradjon a menu. A villagast elkerulendo, a teljes navigaciot
        // kikapcsoljuk, es kozben elrejtjuk az almenut, es fade animacioval
        // visszakapcsoljuk a navigaciot.
        dojo.style(submenuItems, {display: 'none'});
        dojo.style(nav, {visibility: 'visible'}); /* ie fix */
        dojo.fadeIn({node: nav}).play();
        // Ha a "3D szolgáltatások" almenuin vagyunk, alapbol mutatjuk az
        // almenuket is.
        if (current.length > 0 && current[0] == parentMenuItem) {
            that._showSubmenu(parentMenuItem, submenuItems);
        }
        dojo.connect(parentMenuItem, "onclick", function(event) {
            if (event.target.nodeName == 'SPAN') {
                event.preventDefault();
                that._showSubmenu(parentMenuItem, submenuItems);
            }
        });
    }
});

