API.attachDocumentReadyListener(function()
{
    if(API.attachRolloverListeners)
    {
        var cnCache = {};
        var sizeCache = {};
        var getThemeClass = function(el)
        {
            var elId = API.elementUniqueId(el);
            if(cnCache[elId])
            {
                return cnCache[elId];
            }
            if(!API.hasClass(el.parentNode, 'box_content'))
            {
                return el.parentNode.parentNode.parentNode.className;
            }
            var s = el.previousSibling;
            while(s && (s.nodeType != 1 || !API.hasClass(s, 'box_title')))
            {
                s = s.previousSibling;
            }
            if(!s)
            {
                s = el.nextSibling;
                while(s && (s.nodeType != 1 || !API.hasClass(s, 'box_title')))
                {
                    s = s.nextSibling;
                }
                if(!s)
                {
                    return;
                }
            }
            var children = s.childNodes;
            for(var i = children.length; --i >= 0;)
            {
                if(API.getElementNodeName(children[i]) == 'h3')
                {
                    if(children[i].className == 'brahmanews')
                    {
                        cnCache[elId] = 'more_' + children[i].className;
                    }
                    else
                    {
                        cnCache[elId] = 'more_' + children[i].className;
                    }
                    return cnCache[elId];
                }
            }
        };
        
        var over = false;
        
        var overListener = function(e)
        {
            var className = getThemeClass(this);
            if(className)
            {
                over = true;
                var uid = API.elementUniqueId(this);
                API.addClass(this, className);
                var elSize = (sizeCache[uid])
                    ? sizeCache[uid]
                    : (sizeCache[uid] = API.getElementSizeStyle(this));
                
                API.sizeElement(this, elSize[0], 89, {duration: 500, ease: API.ease.circle});
            }
        };
        API.moreOverListener = overListener;
        
        var outListener = function(e)
        {
            var className = getThemeClass(this);
            if(className)
            {
                over = false;
                var uid = API.elementUniqueId(this);
                var elSize = (sizeCache[uid])
                    ? sizeCache[uid]
                    : (sizeCache[uid] = API.getElementSizeStyle(this));
                API.sizeElement(this, elSize[0], 33, {duration: 500, ease: API.ease.circle}, function(el){if(!over){API.removeClass(el, className);}});
            }
        };
        API.moreOutListener = outListener;
        
        var plusEls = API.getEBCN('more_plus');
        for(var i = plusEls.length; --i >= 0;)
        {
            API.attachRolloverListeners(plusEls[i], overListener, outListener);
        }
    }
});
