flvbox = new (function() {
    this.play = function(item) {
        var rel = item.getAttribute('rel');
        var args;
        if( ! rel || (args = rel.split( '|' )).length < 3 )
        {
            return;
        }
        var w = parseInt(args[1]), h = parseInt(args[2]);
        var fb = document.createElement('div');
        $extend( fb, { className: 'flvbox_page', id: 'flvbox_disabler' } );
        
        var fiwrap = document.createElement('div');
        $extend( fiwrap, { className: 'flvbox_frame_wrap', id: 'flvbox_wrap' } );
        
        var fi = document.createElement('div');
        fi.className = 'flvbox_frame';
        fi.style.width = '' + (w + 100) + 'px';
        fi.style.height = '' + (h + 50) + 'px';
        if( h > 599 ) {
            fi.style.top = '100px';
        }
       
        var obj = document.createElement('object');
        $extend( obj, { height: h, width: w, data: args[0], type: 'application/x-shockwave-flash' } );
        
        var prm = document.createElement('param');
        prm.src = args[0];
        obj.appendChild(prm);
        
        var emb = document.createElement('embed');
        $extend( emb, { src: args[0], type: 'application/x-shockwave-flash', width: w, height: h } );
        emb.setAttribute("PLUGINSPAGE", "http://www.macromedia.com/go/getflashplayer");
        
        var cls = document.createElement('div');
        cls.style.width = '' + (w + 80) + 'px';
        cls.className = 'flvbox_close';
        cls.onclick = new Function('flvbox.close(this);');

        fi.appendChild(obj.outerHTML ? emb : obj);
        fi.appendChild(cls);
        fiwrap.appendChild(fi);
        
        document.body.appendChild(fb);
        document.body.appendChild(fiwrap);
        window.scroll(0,0);
        $('flvbox_disabler').set('tween', {duration: 'long'}).fade(0.75);
        $('flvbox_wrap').set('tween', {duration: 'long'}).fade(1);
    };
    this.close = function(elm) {
        var prnt = $(elm.parentNode.parentNode.id);
        var bgnd = $('flvbox_disabler');
        prnt.set('tween', { duration: 'long' }).fade(0);
        bgnd.set('tween', { duration: 'long' }).fade(0);
        this.delayRemove(2000, prnt);
        this.delayRemove(2000, bgnd);
    };
    this.delayRemove = function (interval, elm) {
        (function() { document.body.removeChild(this) }).delay(interval, elm);
    };
})();

