﻿

////////////////////////////////////////////////////////////////////////////////////////////////////
// StyleManager
////////////////////////////////////////////////////////////////////////////////////////////////////
function StyleManager(iBaseClass, iClasses)
{
    var This = this;

    // Data members
    This.Classes = null;
    This.BaseClass = iBaseClass;
    This.Default = iBaseClass;

    // Methods
    This.Set = function(iName, iClass)
    { This.Classes[iName] = iClass; }

    This.Get = function(iName)
    {
        if (iName == null)
            return This.Default;
        else if (typeof iName == 'string')
        {
            if (defined(This.Classes[iName]))
                return This.Classes[iName];
            else
                return This.BaseClass + '-' + iName;
        }
        else
        {
            var classes = [];
            for (var i = 0; i < iName.length; i++)
                classes.push(This.Get(iName[i]));
            return classes;
        }
    }

    // Initialize
    {
        This.Classes = (iClasses) ? iClasses : Styles.Classes;
        This.BaseClass = (iBaseClass) ? iBaseClass : '';
        This.Default = (iBaseClass) ? iBaseClass : '';
    }
}

////////////////////////////////////////////////////////////////////////////////////////////////////
// Styles
////////////////////////////////////////////////////////////////////////////////////////////////////

var Styles = new StyleManager('', {});

////////////////////////////////////////////////////////////////////////////////////////////////////
