(function(){

    var Dom = YAHOO.util.Dom;
    var Event = YAHOO.util.Event;

    SODON.widget.Topmenu = {

        /**
         * @description uund rootmenu-d aguulagdah buh item-iig hadgalna
         * @property {Array} rootmenus
         */
        rootmenus: null,

        /**
         * @description uund submenu-d aguulagdah buh item-iig hadgalna
         * @property {Array} submenus
         */
        submenus: null,

        /**
         * @description init function
         * @method init
         * @param {String} topmenu
         * @param {String} rootmenu
         * @param {String} submenuTar
         */
        init: function(rootmenu, submenuTar) {

            var self = this;
            this.rootmenus = Dom.getChildren(rootmenu);
            this.submenus = Dom.getChildren(submenuTar);


             
            this._defaultItem();

            for ( var i = 0; i < this.rootmenus.length; i++ ) {

                Event.on(this.rootmenus[i], "mouseover", function(e, data) {

                    self._clearItems();
                    self._overItem(data.i);
                }, {i:i});
            }


        },

        /**
         * @description
         * @method _clearItems
         */
        _clearItems: function() {

            for ( var i = 0; i < this.rootmenus.length; i++ ) {

                Dom.removeClass(Dom.getFirstChild(this.rootmenus[i]), "sel");
                Dom.setStyle(this.submenus[i], "display", "none");
            }
        },

        /**
         * @description
         * @method _overItem
         * @param {Integer} i
         */
        _overItem: function(i) {

            Dom.addClass(Dom.getFirstChild(this.rootmenus[i]), "sel");
            Dom.setStyle(this.submenus[i], "display", "");
        },

        _defaultItem: function(){

            for(var i=0; i<this.rootmenus.length; i++){
                Dom.setStyle(this.submenus[i], "display", "none");
                if(Dom.hasClass(Dom.getFirstChild(this.rootmenus[i]), "sel") == true)
                    Dom.setStyle(this.submenus[i], "display", "");
            }
        }
    };

})();