﻿var Menu = Class.create({
    initialize: function(id) {
        this._menuId = id;
        this._children = [];

        this._state = $('');

        this._normalItemCssClass = "normal";
        this._disabledItemCssClass = "disabled";
        this._hoveredItemCssClass = "hoveredItemFirstLevel";

        this._expandAnimationType = Effect.Transitions.sinoidal;
        this._expandAnimationDuration = 0.3;
        this._collapseAnimationType = Effect.Transitions.sinoidal;
        this._collapseAnimationDuration = 0.3;

        var topLevelItem = $$('#' + id + ' > ul' + ' > li' + ' > .menuContent');
        for (var i = 0; i < topLevelItem.length; i++) {
            this._children[this._children.length] = new MenuItem(topLevelItem[i].parentNode.id, this, null);
        }

        this._isInAnimation = false;
        this._isExpanded = false;

        this.loadJson(this._state);
    },
    saveJson: function() {
    },
    loadJson: function(jsonText) {

    },
    getChildren: function() {
        return this._children;
    },
    getExpandAnimationType: function() {
        return this._expandAnimationType;
    },
    getExpandAnimationDuration: function() {
        return this._expandAnimationDuration;
    },
    getCollapseAnimationType: function() {
        return this._collapseAnimationType;
    },
    getCollapseAnimationDuration: function() {
        return this._collapseAnimationDuration;
    },
    getNormalItemCssClass: function() {
        return this._normalItemCssClass;
    },
    getDisabledItemCssClass: function() {
        return this._disabledItemCssClass;
    },
    getHoveredItemCssClass: function() {
        return this._hoveredItemCssClass;
    },
    getIsInAnimation: function() {
        return this._isInAnimation;
    },
    setIsInAnimation: function(value) {
        this._isInAnimation = value;
    },
    getIsExpanded: function() {
        return this._isExpanded;
    },
    setIsExpanded: function(value) {
        this._isExpanded = value;
    }
});