Ext.ns('MTN.RolloverWidget');
MTN.RolloverWidget=function(config) {
    this.required_args(config, 'render_to', 'MTN.RolloverWidget');
    MTN.RolloverWidget.superclass.constructor.call(this,config);
}

Ext.extend(MTN.RolloverWidget, Ext.Panel, FW.Widgets.IBaseObj);
CURRENT_PROTO=MTN.RolloverWidget.prototype;
Ext.reg('mtn.rolloverwidget',MTN.RolloverWidget);

CURRENT_PROTO.initComponent=function() {
    this.context('http://www.mtncapital.com');
    if(!Ext.isArray(this.render_to))
        this.render_to = [this.render_to];
    Ext.each(this.render_to, function(render_to) {
        var container = Ext.get(render_to);
        var text = container.dom.innerHTML;
        var text_id = render_to + '-text';
        //container.update(String.format("<span id='{0}'>{1}</span>", text_id, text));
        Ext.attach_delayed_handler(container, this._on_mouseover, this, 'mouseover');
        Ext.attach_delayed_handler(container, this._on_mouseout, this, 'mouseout');
        Ext.attach_delayed_handler(container, this._on_click, this);
    }, this);
}

CURRENT_PROTO._on_mouseover=function(e,t) {    
    var container = this._find_parent(Ext.get(t));
    if(!container)
        return;
    container.addClass('rollover-bkg');
    //var text = Ext.get(container.id + '-text');
    var text = container.down('a[class*=linktext]');
    if(text) {
        text.removeClass('linktext');
        text.addClass('rollover-text');
    }
}

CURRENT_PROTO._on_mouseout=function(e,t) {
    var container = this._find_parent(Ext.get(t));    
    if(!container)
        return;
    container.removeClass('rollover-bkg');
    //var text = Ext.get(container.id + '-text');
    var text = container.down('a[class*=rollover-text]');
    if(text) {
        text.addClass('linktext');
        text.removeClass('rollover-text');
    }
}

CURRENT_PROTO._on_click=function(e,t) {
    t = Ext.get(t);
    var container = this._find_parent(t);
    var link = container.down('a[class*=linktext]');
    link = link == null ? container.down('a[class*=rollover-text]') : link;
    this.refresh_page(link.dom.getAttribute('href'));
}

CURRENT_PROTO._find_parent=function(container) {
    var idx = this.render_to.grep(function(i) { return i == container.id});
    if(idx == -1) {
        for(var i=0; i < this.render_to.length; i++) {
            var parent_id = this.render_to[i];
            var parent = container.up(String.format('[id={0}]', parent_id));
            if(parent) {
                container = parent;
                break;
            }
        }
    }
    return container;
}
