var bannerInitClass = Class.create({
    initialize: function() {
        this._init();
    },
    _init: function() {
        Event.observe(window, 'load', this._windowLoad.bindAsEventListener(this));
    },
    _windowLoad: function(event) {
        this._initEvent.bind(this).delay(3);
    },
    _initEvent: function(){
        var banners = $$('div[bannerUrl]');
        banners.each(function(banner) {this._initBannerLink(banner)}.bind(this));
    },
    _initBannerLink: function(banner) {
        var refNode = banner.nextSiblings();
        var parent = banner.ancestors().first();
        var url = banner.readAttribute('bannerUrl');
        var title = banner.readAttribute('title');
        /** hardoce for animation banner **/
        var urlParams = url.toQueryParams();
        var bannerId = $H(urlParams).get('product_id');

        if ([684, 686, 832, 833, 834, 835].include(bannerId)) {
            
            return;
        }
        
        
        var link = new Element('div').setStyle({cursor: 'pointer'});
        if ($A(refNode).size() > 0) {
            refNode = refNode.first();
            parent.insertBefore(link, refNode);
        } else {
            parent.appendChild(link);
        }
        link.absolutize();
        link.clonePosition(banner, {setLeft: false,
                                    setTop:  false});
                                    
        
        var marginTopLink = banner.cumulativeOffset().top - link.cumulativeOffset().top;
        var marginLeftLink = banner.cumulativeOffset().left - link.cumulativeOffset().left;
        link.setStyle({marginTop: marginTopLink, marginLeft: marginLeftLink});
        
        link.appendChild(new Element('a', {href:   url,
                                           title: title,
                                           target: '_blank'}))
                                    .appendChild(new Element('img',{src: '/common/i/spacer.gif'})
                                    .clonePosition(banner, {setLeft: false,
                                                            setTop:  false}));
        
        if (($('bottom_line').cumulativeOffset().top
             - $('r_col').getHeight() 
             - $('r_col').cumulativeOffset().top) <= 0) {
             
            var marginTopBottomLine = $('r_col').getHeight()
                                      + $('r_col').cumulativeOffset().top
                                      - $('bottom_line').cumulativeOffset().top
                                      + 20;
                                      
            $('emptyDiv').setStyle({height: marginTopBottomLine});
        }
        
    }
});
new bannerInitClass();
