/* dm_moviebox.js v1.12



	part of the (dm_) dutchmoney script library

	more information/downloads available at: http://lib.dutchmoney.com

	

	distributed under the MIT license, terms:

	copyright (c) 2007 dutchmoney llc

*/

var dm_moviebox=new Class({options:{fadelevel:0.85,overlaycolor:'#000000',moviespcbg:'#000000',linkcolor:'#006699',linkovercolor:'#ffffff',textcolor:'#006699',showcontrols:'false',title:'',boxwidth:580,boxheight:450,zindex:1234},initialize:function(b){this.state=0;this.plugins=0;this.setOptions(b);this.showtitle=this.options.title;if(navigator.plugins&&navigator.plugins.length)this.plugins=1;this.flashDetected=0;this.qtDetected=0;this.wmpDetected=0;this.f4mDetected=0;if(this.plugins){this.flashDetected=this.detectPluginOrAxo('Shockwave Flash')}else{this.flashDetected=this.detectPluginOrAxo('ShockwaveFlash.ShockwaveFlash')}if(this.plugins){this.qtDetected=this.detectPluginOrAxo('QuickTime')}else{this.qtDetected=this.detectPluginOrAxo('QuickTimeCheckObject.QuickTimeCheck')}if(window.ie6||window.ie7){this.wmpDetected=1}else if(navigator.mimeTypes&&navigator.mimeTypes.length){if(navigator.mimeTypes['video/x-ms-wmv']&&(obj=navigator.mimeTypes['video/x-ms-wmv'].enabledPlugin)){this.wmpDetected=1}}if(this.plugins){this.f4mDetected=this.detectPluginOrAxo('Flip4Mac')}$$('a').addEvent('click',function(e){e=new Event(e);var a=$(e.target);while(a.getTag()!='a'){a=a.getParent()}if(a.getProperty('title')){this.showtitle=a.getProperty('title')}a=a.href;

/*Quicktime Video Component Detect*/
if(a.toLowerCase().contains('.mov')||a.toLowerCase().contains('.mp4')){if(!this.qtDetected){return true}else{this.movieType='qt';if(this.options.showcontrols=='true'){this.renderboxheight=this.options.boxheight+16}else{this.renderboxheight=this.options.boxheight}}}

/*YouTube Video Component Detect*/
else if(a.toLowerCase().contains('youtube.com/watch?v=')){if(!this.flashDetected){return true}else{this.movieType='yt';this.options.boxwidth ="580";this.renderboxheight= 450}}

/*Vimeo Video Component DETECT*/																																																																																																																																																																																																																																																																																																																																																																																																																																else if(a.toLowerCase().contains('vimeo.com/')){if(!this.flashDetected){return true}else{this.movieType='vm';this.renderboxheight=(this.options.boxwidth*0.75).round()+17}}

/*Youtube Channel Component DETECT*/																																																																																																																																																																																																																																																																																																																																																																																																																																								
else if(a.toLowerCase().contains('youtube.com/cp')){if(!this.flashDetected){return true}else{this.movieType='channel';this.renderboxheight=(this.options.boxwidth*0.75).round()+17}}

/*mp3 playback Component DETECT*/																																																																																																																																																																																																																																																																																																																																																																																																																																								
else if(a.toLowerCase().contains('mp3')){if(!this.flashDetected){return true}else{this.movieType='mp3';this.options.boxwidth ="780";this.renderboxheight= 107}}

/*Google Video Component Detect*/
else if(a.toLowerCase().contains('video.google.com/videoplay?docid=')){if(!this.flashDetected){return true}else{this.movieType='gv';this.renderboxheight=(this.options.boxwidth*0.75).round()+26}}

/*WMV Video Component Detect*/
else if(a.toLowerCase().contains('.wmv')||a.toLowerCase().contains('.asf')){if(!this.f4mDetected&&!this.wmpDetected){return true}else{if(this.f4mDetected){this.movieType='qt';if(this.options.showcontrols=='true'){this.renderboxheight=this.options.boxheight+16}else{this.renderboxheight=this.options.boxheight}}

/*ASF Video Component Detect*/
else{if(a.toLowerCase().contains('.asf')){if(navigator.plugins&&navigator.plugins.length){this.movieType='wmp';this.renderboxheight=this.options.boxheight+40}else{return true}}else{this.movieType='wmp';if(this.options.showcontrols=='true'||(navigator.plugins&&navigator.plugins.length)){this.renderboxheight=this.options.boxheight+40}else{this.renderboxheight=this.options.boxheight}}}}}if(this.movieType){this.movieurl=a;if(this.state==0){this.createDomElements();this.addEffects();this.addEvents();this.state=1;this.showmoviebox()}else{this.showmoviebox();this.movieboxmoviespc.setStyle('margin-top','-'+(this.renderboxheight/2)+'px');this.movieboxcaptionspc.setStyle('margin-top',((this.renderboxheight/2)+13)+'px')}e.stop()}}.bind(this))},detectPluginOrAxo:function(a){var b=false;if(navigator.plugins&&navigator.plugins.length){for(var i=0;i<navigator.plugins.length;i++){var c=navigator.plugins[i];if(c.name.indexOf(a)>-1){b=true;break}}}else{try{axo=new ActiveXObject(a)}catch(e){axo=false}if(axo){if(a.indexOf('QuickTime')>-1){if(axo.IsQuickTimeAvailable(0)){b=1}}else{b=1}axo=null}}return b},createDomElements:function(){this.movieboxspc=new Element('div',{'styles':{'position':window.ie6?'absolute':'fixed','top':'0px','left':'0px','width':'100%','height':'100%','background':'transparent','z-index':this.options.zindex,'display':'none'}}).injectInside(document.body);this.movieboxoverlay=new Element('div',{'styles':{'position':'absolute','top':'0px','left':'0px','width':'100%','height':'100%','visibility':'hidden','background':this.options.overlaycolor,'z-index':'1'}}).injectInside(this.movieboxspc);this.movieboxmoviespc=new Element('div',{'styles':{'position':'absolute','top':'50%','left':'50%','margin-top':'-'+(this.renderboxheight/2)+'px','margin-left':'-'+(this.options.boxwidth/2)+'px','width':this.options.boxwidth+'px','height':'1px','background-color':this.options.moviespcbg,'border':'5px solid '+this.options.moviespcbg,'overflow':'hidden','visibility':'hidden','z-index':'10'}}).injectInside(this.movieboxspc);this.movieboxcaptionspc=new Element('div',{'styles':{'position':'absolute','top':'50%','right':'50%','margin-top':((this.renderboxheight/2)+13)+'px','margin-right':'-'+((this.options.boxwidth/2)+5)+'px','background-color':'transparent','width':this.options.boxwidth,'height':'12px','text-align':'right','visibility':'hidden','z-index':'20'}}).injectInside(this.movieboxspc);this.movieboxtitle=new Element('p',{'styles':{'color':this.options.textcolor,'margin':'0 0 7px 0','font-weight':'bold','display':'none','padding':'0','z-index':'10'}}).injectInside(this.movieboxcaptionspc);this.movieboxcloselink=new Element('a',{'styles':{'color':this.options.linkcolor,'z-index':'15'},'events':{'mouseover':function(e){this.movieboxcloselink.setStyle('color',this.options.linkovercolor)}.bind(this),'mouseout':function(e){this.movieboxcloselink.setStyle('color',this.options.linkcolor)}.bind(this),'click':function(e){this.hidemoviebox();new Event(e).stop()}.bind(this)},'href':'#'}).setText('close').injectInside(this.movieboxcaptionspc)},addEvents:function(){if(window.ie6)window.addEvent('scroll',this.fixIe6Fixed.bind(this));this.movieboxoverlay.addEvent('click',this.hidemoviebox.bind(this))},addEffects:function(){this.fxOverlay=new Fx.Style(this.movieboxoverlay,'opacity',{duration:250});this.fxOpenMovieSpc=new Fx.Style(this.movieboxmoviespc,'height',{duration:300})},showmoviebox:function(){if(this.state==1){this.movieboxspc.setStyle('display','block');if(window.ie6)this.fixIe6Fixed();this.fxOverlay.start(0,this.options.fadelevel).chain(function(){this.movieboxmoviespc.setStyle('visibility','visible');this.fxOpenMovieSpc.start(1,this.renderboxheight).chain(function(){if(this.showtitle!=''){this.movieboxtitle.setText(this.showtitle);this.movieboxtitle.setStyle('display','block')}this.movieboxcaptionspc.setStyle('margin-top',((this.renderboxheight/2)+13)+'px');this.movieboxcaptionspc.setStyle('visibility','visible');this.addMovie()}.bind(this))}.bind(this));this.state=11}},addMovie:function(){if(this.movieType=='qt'){if(navigator.plugins&&navigator.plugins.length){this.movieboxmoviespc.innerHTML='<object id="movieboxMovie" standby="loading quicktime..." type="video/quicktime" codebase="http://www.apple.com/qtactivex/qtplugin.cab" data="'+this.movieurl+'" width="'+this.options.boxwidth+'" height="'+this.renderboxheight+'"><param name="src" value="'+this.movieurl+'" /><param name="scale" value="aspect" /><param name="controller" value="'+this.options.showcontrols+'" /><param name="autoplay" value="true" /><param name="bgcolor" value="'+this.options.moviespcbg+'" /><param name="enablejavascript" value="true" /></object>';this.currentMovie=document.getElementById('movieboxMovie')}else{this.movieboxmoviespc.innerHTML='<object classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" standby="loading quicktime..." codebase="http://www.apple.com/qtactivex/qtplugin.cab" width="'+this.options.boxwidth+'" height="'+this.renderboxheight+'" id="movieboxMovie"><param name="src" value="'+this.movieurl+'" /><param name="scale" value="aspect" /><param name="controller" value="'+this.options.showcontrols+'" /><param name="autoplay" value="true" /><param name="bgcolor" value="'+this.options.moviespcbg+'" /><param name="enablejavascript" value="true" /></object>';this.currentMovie=document.getElementById('movieboxMovie')}}
																																																																																																																																																																																																																																																																													  
/*YouTube Playback Component*/																																																																																																																																																																																																																																																																													else if(this.movieType=='yt'){var a=this.movieurl.replace(/watch\?v\=/i,'v/');if(a.indexOf('&')>-1){a=a.substr(0,a.indexOf('&'))}a=a+'&amp;autoplay=1';this.movieboxmoviespc.innerHTML='<object id="movieboxMovie" standby="loading youtube video..." type="application/x-shockwave-flash" width="'+this.options.boxwidth+'" height="'+this.renderboxheight+'" data="'+a+'"><param name="movie" value="'+a+'" /><param name="bgcolor" value="'+this.options.moviespcbg+'" /></object>';this.currentMovie=document.getElementById('movieboxMovie')}else if(this.movieType=='gv'){var b=this.movieurl.replace(/videoplay/i,'googleplayer.swf');if(b.indexOf('&')>-1){b=b.substr(0,b.indexOf('&'))}this.movieboxmoviespc.innerHTML='<object id="movieboxMovie" standby="loading google video..." type="application/x-shockwave-flash" width="'+this.options.boxwidth+'" height="'+this.renderboxheight+'" data="'+b+'"><param name="movie" value="'+b+'" /><param name="bgcolor" value="'+this.options.moviespcbg+'" /><param name="FlashVars" value="playerMode=embedded&autoplay=true&loop=false" /></object>';this.currentMovie=document.getElementById('movieboxMovie')}

/*YouTube Channel Component*/																																																																																													
else if(this.movieType=='channel'){var a=this.movieurl.replace(/watch\?v\=/i,'v/');if(a.indexOf('&')>-1){a=a.substr(0,a.indexOf('&'))}a=a+'&amp;autoplay=1';this.movieboxmoviespc.innerHTML= '<object width="580" height="450"><param name="movie" value="'+this.movieurl+'"></param><param name="wmode" value="transparent"></param><embed src="'+this.movieurl+'" type="application/x-shockwave-flash" wmode="transparent" width="580" height="450"></embed></object>';this.currentMovie=document.getElementById('movieboxMovie')}

/*Vimeo playback component*/
else if(this.movieType=='vm'){var a=this.movieurl.replace(/watch\?v\=/i,'v/');if(a.indexOf('&')>-1){a=a.substr(0,a.indexOf('&'))}a=a+'&amp;autoplay=1';this.movieboxmoviespc.innerHTML='<object type="application/x-shockwave-flash" width="'+this.options.boxwidth+'"  height="'+this.renderboxheight+'" data="'+this.movieurl+'">	<param name="quality" value="best" />	<param name="allowfullscreen" value="true" />	<param name="scale" value="showAll" />	<param name="movie" value="'+this.movieurl+'" /></object><br /><a href="'+this.movieurl+'">Watch it in HD!</a> from <a href="http://www.vimeo.com/user459634?pg=embed&sec=957759">Respectably French!</a> on <a href="http://vimeo.com?pg=embed&sec=957759">Vimeo</a>.';this.currentMovie=document.getElementById('movieboxMovie')}

/*mp3 playback Component (INCOMPLETE)*/
else if(this.movieType=='mp3'){var a=this.movieurl.replace(/watch\?v\=/i,'v/');if(a.indexOf('&')>-1){a=a.substr(0,a.indexOf('&'))}a=a+'&amp;autoplay=1';this.movieboxmoviespc.innerHTML= '<img src="images/rfbanner.gif" /><br /><div style="text-align: center"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" width="400" height="27"><param name="flashvars" value="playerMode=embedded" /><param name="wmode" value="window" /><param name="bgcolor" value="#ffffff" /><param name="quality" value="best" /><param name="allowscriptaccess" value="never" /><param name="height" value="27" /><param name="width" value="400" /><param name="src" value="http://www.google.com/reader/ui/3247397568-audio-player.swf?audioUrl='+this.movieurl+'" /><embed type="application/x-shockwave-flash" flashvars="playerMode=embedded" wmode="window" bgcolor="#ffffff" quality="best" allowscriptaccess="never" height="27" width="400" src="http://www.google.com/reader/ui/3247397568-audio-player.swf?audioUrl='+this.movieurl+'"></embed></object>';this.currentMovie=document.getElementById('movieboxMovie')}

else if(this.movieType=='wmp'){if(navigator.plugins&&navigator.plugins.length){this.movieboxmoviespc.innerHTML='<object id="movieboxMovie" standby="loading windows media..." type="video/x-ms-wmv" data="'+this.movieurl+'" width="'+this.options.boxwidth+'" height="'+this.renderboxheight+'" /><param name="src" value="'+this.movieurl+'" /><param name="autoStart" value="true" /></object>';this.currentMovie=document.getElementById('movieboxMovie')}else{this.movieboxmoviespc.innerHTML='<object id="movieboxMovie" standby="loading windows media..." classid="CLSID:22D6f312-B0F6-11D0-94AB-0080C74C7E95" type="video/x-ms-wmv" data="'+this.movieurl+'" width="'+this.options.boxwidth+'" height="'+this.renderboxheight+'" /><param name="filename" value="'+this.movieurl+'" /><param name="showcontrols" value="'+this.options.showcontrols+'"><param name="autoStart" value="true" /><param name="stretchToFit" value="true" /></object>';this.currentMovie=document.getElementById('movieboxMovie')}}},hidemoviebox:function(){if(this.state==11){if(this.movieType=='qt'&&window.webkit){this.currentMovie.Stop()}if(navigator.plugins&&navigator.plugins.length){this.movieboxmoviespc.setHTML('')}else{if(window.ie6){this.currentMovie.style.display='none';this.movieboxmoviespc.innerHTML=''}}this.currentMovie=null;this.currentMovie=Class.empty;this.movieType=false;if(this.showtitle!=''){this.showtitle='';this.movieboxtitle.setText('');this.movieboxtitle.setStyle('display','none')}this.fxOverlay.start(this.options.fadelevel,0).chain(function(){this.movieboxspc.setStyle('display','none');this.movieboxcloselink.setStyle('color',this.options.linkcolor);this.movieboxcaptionspc.setStyle('visibility','hidden');this.movieboxoverlay.setStyle('visibility','hidden');this.movieboxmoviespc.setStyle('visibility','hidden');this.movieboxmoviespc.setStyle('height','1px')}.bind(this));this.state=1}},fixIe6Fixed:function(){if(this.state>0){this.movieboxspc.setStyles({'top':window.getScrollTop()+'px','left':window.getScrollLeft()+'px','height':window.getHeight()+'px'})}}});dm_moviebox.implement(new Options,new Events);window.addEvent('domready',function(){new dm_moviebox()});
