var Mediabox={init: function(options){this.options=Object.extend({resizeDuration: 240,
resizeTransition: Fx.Transitions.sineInOut,
topDistance: 15,
initialWidth: 360,
initialHeight: 360,
defaultWidth: 640,
defaultHeight: 360,
animateCaption: true,
playerpath: setPlayerPath(),
backcolor:  '0x777777',
frontcolor:'0x000000',
lightcolor:'0x000000',
fullscreen:'true',
autostart:'true',
autoplay:'true',
bgcolor:'black',
controller:'true',
fkBGcolor:'#000000',
fkFullscreen:'true',
revverID:'187866',
revverFullscreen:'true',
revverBack:'#000000',
revverFront:'#ffffff',
revverGrad:'#000000',
ytAutoplay:'1',
vhAutoplay:'1',
vhFullscreen:'true',
vmFullscreen:'1',
vmTitle:'1',
vmByline:'1',
vmPortrait:'1',
vmColor:'5ca0b5'
}, options ||{});if(window.ie6 && document.compatMode=="BackCompat"){this.options.animateCaption=false;}
this.anchors=[];$each(document.links, function(el){if (el.rel && el.rel.test(/^mediabox/i)){el.onclick=this.click.pass(el, this);this.anchors.push(el);}}, this);this.eventKeyDown=this.keyboardListener.bindAsEventListener(this);this.eventPosition=this.position.bind(this);this.overlay=new Element('div').setProperty('id', 'lbOverlay').injectInside(document.body);this.center=new Element('div').setProperty('id', 'lbCenter').setStyles({width: this.options.initialWidth+'px', height: this.options.initialHeight+'px', marginLeft:'-'+(this.options.initialWidth/2)+'px', display:'none'}).injectInside(document.body);this.canvas=new Element('div').setProperty('id', 'lbImage').injectInside(this.center);this.bottomContainer=new Element('div').setProperty('id', 'lbBottomContainer').setStyle('display', 'none').injectInside(document.body);this.bottom=new Element('div').setProperty('id', 'lbBottom').injectInside(this.bottomContainer);new Element('a').setProperties({id:'lbCloseLink', href:'#'}).injectInside(this.bottom).onclick=this.overlay.onclick=this.close.bind(this);this.caption=new Element('div',{'id':'lbCaption'}).injectInside(this.bottom);new Element('div').setStyle('clear', 'both').injectInside(this.bottom);var nextEffect=this.nextEffect.bind(this);this.fx={overlay: this.overlay.effect('opacity',{duration: 500}).hide(),
center: this.center.effects({duration: this.options.resizeDuration, transition: this.options.resizeTransition, onComplete: nextEffect}),
content: this.canvas.effect('opacity',{duration: 500, onComplete: nextEffect}),
bottom: this.bottomContainer.effect('height',{duration: 400, onComplete: nextEffect})
};},
click: function(link){return this.open(link.href, link.title, link.rel);},
open: function(url, title, rel){this.href=url;this.title=title;this.rel=rel;this.position();this.setup(true);var wh=(window.getHeight()==0) ? window.getScrollHeight() : window.getHeight();var st=document.body.scrollTop ||document.documentElement.scrollTop;this.top=st+(wh / this.options.topDistance);this.center.setStyles({top: this.top+'px', display:''});this.fx.overlay.start(0.8);this.center.className='lbLoading';return this.loadVideo(url);},
position: function(){this.overlay.setStyles({'top': window.getScrollTop()+'px', 'height': window.getHeight()+'px'});},
setup: function(open){var aDim=this.rel.match(/[0-9]+/g);this.contentsWidth=(aDim && (aDim[0] > 0)) ? aDim[0] : this.options.defaultWidth;this.contentsHeight=(aDim && (aDim[1] > 0)) ? aDim[1] : this.options.defaultHeight;var elements=$A(document.getElementsByTagName('object'));elements.extend(document.getElementsByTagName(window.ie ? 'select' :'embed'));elements.each(function(el){if (open) el.lbBackupStyle=el.style.visibility;el.style.visibility=open ? 'hidden' : el.lbBackupStyle;});var fn=open ? 'addEvent' :'removeEvent';window[fn]('scroll', this.eventPosition)[fn]('resize', this.eventPosition);document[fn]('keydown', this.eventKeyDown);this.step=0;},
keyboardListener: function(event){switch (event.keyCode){case 27: case 88: case 67: this.close();break;}},
loadVideo: function(url){this.step=1;if (url.match(/dailymotion\.com/i)){this.type='flash';this.object=new SWFObject(url, "sfwvideo", this.contentsWidth, this.contentsHeight, "9", "#000000", "wmode", "transparent");this.object.addParam('allowscriptaccess','always');this.object.addParam('allowfullscreen','true');} else if (url.match(/flickr\.com/i)){this.type='flashobj';var videoId=url.split('/');this.videoID=videoId[5];this.object='<object type="application/x-shockwave-flash" width="'+this.contentsWidth+'" height="'+this.contentsHeight+'" data="http://www.flickr.com/apps/video/stewart.swf?v=1.173" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"> <param name="flashvars" value="intl_lang=en-us&amp;photo_secret=a8e6cdca81&amp;photo_id='+this.videoID+'"></param> <param name="movie" value="http://www.flickr.com/apps/video/stewart.swf?v=1.173"></param> <param name="bgcolor" value="'+this.options.fkBGcolor+'"></param> <param name="allowFullScreen" value="'+this.options.fkFullscreen+'"></param><embed type="application/x-shockwave-flash" src="http://www.flickr.com/apps/video/stewart.swf?v=1.173" bgcolor="'+this.options.fkBGcolor+'" allowfullscreen="'+this.options.fkFullscreen+'" flashvars="intl_lang=en-us&amp;photo_secret=a8e6cdca81&amp;photo_id='+this.videoID+'" height="'+this.contentsHeight+'" width="'+this.contentsWidth+'"></embed></object>';} else if (url.match(/google\.com\/videoplay/i)){this.type='flash';var videoId=url.split('=');this.videoID=videoId[1];this.object=new SWFObject("http://video.google.com/googleplayer.swf?docId="+this.videoID+"&autoplay=1&hl=en", "sfwvideo", this.contentsWidth, this.contentsHeight, "9", "#000000", "wmode", "transparent");this.object.addParam('allowscriptaccess','always');this.object.addParam('allowfullscreen','true');} else if (url.match(/metacafe\.com\/watch/i)){this.type='flash';var videoId=url.split('/');this.videoID=videoId[4];this.object=new SWFObject("http://www.metacafe.com/fplayer/"+this.videoID+"/.swf", "sfwvideo", this.contentsWidth, this.contentsHeight, "9", "#000000", "wmode", "transparent");this.object.addParam('allowscriptaccess','always');this.object.addParam('allowfullscreen','true');} else if (url.match(/myspacetv\.com/i)){this.type='flash';var videoId=url.split('=');this.videoID=videoId[2];this.object=new SWFObject("http://lads.myspace.com/videos/vplayer.swf?m="+this.videoID+"&v=2&type=video", "sfwvideo", this.contentsWidth, this.contentsHeight, "9", "#000000", "wmode", "transparent");this.object.addParam('allowscriptaccess','always');this.object.addParam('allowfullscreen','true');} else if (url.match(/revver\.com/i)){this.type='flash';var videoId=url.split('/');this.videoID=videoId[4];this.object=new SWFObject("http://flash.revver.com/player/1.0/player.swf?mediaId="+this.videoID+"&affiliateId="+this.options.revverID+"&allowFullScreen="+this.options.revverFullscreen+"&backColor="+this.options.revverBack+"&frontColor="+this.options.revverFront+"&gradColor="+this.options.revverGrad+"&shareUrl=revver", "sfwvideo", this.contentsWidth, this.contentsHeight, "9", "#000000", "wmode", "transparent");this.object.addParam('allowscriptaccess','always');this.object.addParam('allowfullscreen','true');} else if (url.match(/youtube\.com\/watch/i)){this.type='flash';var videoId=url.split('=');this.videoID=videoId[1];this.object=new SWFObject("http://www.youtube.com/v/"+this.videoID+"&autoplay=1", "sfwvideo", this.contentsWidth, this.contentsHeight, "9", "#000000", "wmode", "transparent");this.object.addParam('allowscriptaccess','always');this.object.addParam('allowfullscreen','true');} else if (url.match(/veoh\.com/i)){this.type='flash';var videoId=url.split('videos/');this.videoID=videoId[1];this.object=new SWFObject("http://www.veoh.com/videodetails2.swf?permalinkId="+this.videoID+"&id=2907158&player=videodetailsembedded&videoAutoPlay="+this.options.vhAutoplay, "sfwvideo", this.contentsWidth, this.contentsHeight, "9", "#000000", "wmode", "transparent");this.object.addParam('allowscriptaccess','always');this.object.addParam('allowfullscreen','true');} else if (url.match(/viddler\.com/i)){var videoId=url.split('/');this.videoId1=videoId[4];this.videoId2=videoId[6];this.videoID="viddler_"+this.videoId1+"_"+this.videoId2;this.type='flashobj';this.object='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="'+this.contentsWidth+'" height="'+this.contentsHeight+'" id="'+this.videoID+'"><param name="movie" value="http://www.viddler.com/player/e5398221/" /><param name="allowScriptAccess" value="always" /><param name="allowFullScreen" value="'+this.options.vdFullscreen+'" /><embed src="http://www.viddler.com/player/e5398221/" width="'+this.contentsWidth+'" height="'+this.contentsHeight+'" type="application/x-shockwave-flash" allowScriptAccess="always" allowFullScreen="'+this.options.vdFullscreen+'" name="'+this.videoID+'" ></embed></object>';} else if (url.match(/vimeo\.com/i)){this.type='flash';var videoId=url.split('/');this.videoID=videoId[3];this.object=new SWFObject("http://www.vimeo.com/moogaloop.swf?clip_id="+this.videoID+"&amp;server=www.vimeo.com&amp;fullscreen=1&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=5ca0b5", "sfwvideo", this.contentsWidth, this.contentsHeight, "9", "#000000", "wmode", "transparent");this.object.addParam('allowscriptaccess','always');this.object.addParam('allowfullscreen','true');} else if (url.match(/\.swf/i)){this.type='flash';this.object=new SWFObject(url, "sfwvideo", this.contentsWidth, this.contentsHeight, "9", "#000000", "wmode", "transparent");this.object.addParam('allowscriptaccess','always');this.object.addParam('allowfullscreen','true');} else if (url.match(/\.flv/i)){this.type='flash';this.object=new SWFObject(this.options.playerpath+"?file="+url+"&autostart="+this.options.autostart+"&displayheight="+this.contentsHeight+"&allowfullscreen="+this.options.fullscreen+"&usefullscreen="+this.options.fullscreen+"&backcolor="+this.options.backcolor+"&frontcolor="+this.options.frontcolor+"&lightcolor="+this.options.lightcolor, "flvvideo", this.contentsWidth, this.contentsHeight, "9", "#000000", "wmode", "transparent");this.object.addParam('allowscriptaccess','always');this.object.addParam('allowfullscreen','true');} else if (url.match(/\.mov/i)){this.type='qt';if (this.options.controller=='true'){this.contentsHeight=(this.contentsHeight*1)+16};if (navigator.plugins && navigator.plugins.length){this.object='<object id="mediabox" standby="loading quicktime..." type="video/quicktime" codebase="http://www.apple.com/qtactivex/qtplugin.cab" data="'+url+'" width="'+this.contentsWidth+'" height="'+this.contentsHeight+'"><param name="src" value="'+url+'" /><param name="scale" value="aspect" /><param name="controller" value="'+this.options.controller+'" /><param name="autoplay" value="'+this.options.autoplay+'" /><param name="bgcolor" value="'+this.options.bgcolor+'" /><param name="enablejavascript" value="true" /></object>';} else{this.object='<object classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" standby="loading quicktime..." codebase="http://www.apple.com/qtactivex/qtplugin.cab" width="'+this.contentsWidth+'" height="'+this.contentsHeight+'" id="mediabox"><param name="src" value="'+url+'" /><param name="scale" value="aspect" /><param name="controller" value="'+this.options.controller+'" /><param name="autoplay" value="'+this.options.autoplay+'" /><param name="bgcolor" value="'+this.options.bgcolor+'" /><param name="enablejavascript" value="true" /></object>';}} else if (url.match(/\.wmv/i)){this.type='wmv';if (this.options.controller=='true'){this.contentsHeight=(this.contentsHeight*1)+16};if (navigator.plugins && navigator.plugins.length){this.object='<object id="mediabox" standby="loading windows media..." type="video/x-ms-wmv" data="'+url+'" width="'+this.contentsWidth+'" height="'+this.contentsHeight+'" /><param name="src" value="'+url+'" /><param name="autoStart" value="'+this.options.autoplay+'" /></object>';} else{this.object='<object id="mediabox" standby="loading windows media..." classid="CLSID:22D6f312-B0F6-11D0-94AB-0080C74C7E95" type="video/x-ms-wmv" data="'+url+'" width="'+this.contentsWidth+'" height="'+this.contentsHeight+'" /><param name="filename" value="'+url+'" /><param name="showcontrols" value="'+this.options.controller+'"><param name="autoStart" value="'+this.options.autoplay+'" /><param name="stretchToFit" value="true" /></object>';}} else if (url.match(/\#mb_/i)){this.type='element';var Id=url.split('#');this.element=Id[1];this.object=$(this.element).innerHTML;} else{this.type='iframe';this.iframeId="lbFrame_"+new Date().getTime();this.object=new Element('iframe').setProperties({id: this.iframeId, width: this.contentsWidth, height: this.contentsHeight, frameBorder:0, scrolling:'auto', src:url});}
this.nextEffect();return false;},
nextEffect: function(url){switch (this.step++){case 1:
this.canvas.style.width=this.bottom.style.width=this.contentsWidth+'px';this.canvas.style.height=this.contentsHeight+'px';this.caption.innerHTML=this.title;if (this.center.clientHeight !=this.canvas.offsetHeight){this.fx.center.start({height: this.canvas.offsetHeight, width: this.canvas.offsetWidth, marginLeft: -this.canvas.offsetWidth/2});break;} else if (this.center.clientWidth !=this.canvas.offsetWidth){this.fx.center.start({height: this.canvas.offsetHeight, width: this.canvas.offsetWidth, marginLeft: -this.canvas.offsetWidth/2});break;}
this.step++;case 2:
this.bottomContainer.setStyles({top: (this.top+this.center.clientHeight)+'px', height:'0px', marginLeft: this.center.style.marginLeft, width:this.center.style.width, display:''});this.fx.content.start(1);this.step++;case 3:
if (this.type=='flash'){this.object.write(this.canvas);} else if (this.type=='iframe'){this.object.injectInside(this.canvas)
} else{this.canvas.setHTML(this.object);}
this.currentObject=document.getElementById('mediabox');this.center.className='';break;this.step++;case 4:
if (this.options.animateCaption){this.fx.bottom.start(0,this.bottom.offsetHeight);break;}
this.bottomContainer.style.height=(this.bottom.offsetHeight)+'px';case 5:
this.step=0;}},
close: function(){if (this.type=='qt' && window.webkit){this.currentObject.Stop();}
if (navigator.plugins && navigator.plugins.length){this.canvas.setHTML('');} else{if (window.ie6){this.canvas.innerHTML='';} else{this.canvas.innerHTML='';}}
this.currentObject=null;this.currentObject=Class.empty;this.type=false;if (this.step < 0) return;this.step=-1;for (var f in this.fx) this.fx[f].stop();this.center.style.display=this.bottomContainer.style.display='none';this.fx.overlay.chain(this.setup.pass(false, this)).start(0);return false;}};window.addEvent('domready', Mediabox.init.bind(Mediabox));
