123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213 |
- /* $Id: lightbox_video.js,v 1.1.4.20 2010/09/21 17:57:22 snpower Exp $ */
- /**
- * Lightbox video
- * @author
- * Stella Power, <http://drupal.org/user/66894>
- */
- var Lightvideo;
- // start jQuery block
- (function ($) {
- Lightvideo = {
- // startVideo()
- startVideo: function (href) {
- if (Lightvideo.checkKnownVideos(href)) {
- return;
- }
- else if (href.match(/\.mov$/i)) {
- if (navigator.plugins && navigator.plugins.length) {
- Lightbox.modalHTML ='<object id="qtboxMovie" type="video/quicktime" codebase="http://www.apple.com/qtactivex/qtplugin.cab" data="'+href+'" width="'+Lightbox.modalWidth+'" height="'+Lightbox.modalHeight+'"><param name="allowFullScreen" value="true"></param><param name="src" value="'+href+'" /><param name="scale" value="aspect" /><param name="controller" value="true" /><param name="autoplay" value="true" /><param name="bgcolor" value="#000000" /><param name="enablejavascript" value="true" /></object>';
- } else {
- Lightbox.modalHTML = '<object classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" codebase="http://www.apple.com/qtactivex/qtplugin.cab" width="'+Lightbox.modalWidth+'" height="'+Lightbox.modalHeight+'" id="qtboxMovie"><param name="allowFullScreen" value="true"></param><param name="src" value="'+href+'" /><param name="scale" value="aspect" /><param name="controller" value="true" /><param name="autoplay" value="true" /><param name="bgcolor" value="#000000" /><param name="enablejavascript" value="true" /></object>';
- }
- }
- else if (href.match(/\.wmv$/i) || href.match(/\.asx$/i)) {
- Lightbox.modalHTML = '<object NAME="Player" WIDTH="'+Lightbox.modalWidth+'" HEIGHT="'+Lightbox.modalHeight+'" align="left" hspace="0" type="application/x-oleobject" CLASSID="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6"><param name="allowFullScreen" value="true"></param><param NAME="URL" VALUE="'+href+'"></param><param NAME="AUTOSTART" VALUE="true"></param><param name="showControls" value="true"></param><embed WIDTH="'+Lightbox.modalWidth+'" HEIGHT="'+Lightbox.modalHeight+'" align="left" hspace="0" SRC="'+href+'" TYPE="application/x-oleobject" AUTOSTART="false"></embed></object>';
- }
- else {
- Lightbox.videoId = href;
- variables = '';
- if (!href.match(/\.swf$/i)) {
- href = Lightbox.flvPlayer + '?file=' + href;
- if (Lightbox.flvFlashvars.length) {
- variables = Lightbox.flvFlashvars;
- }
- }
- Lightvideo.createEmbed(href, "flvplayer", "#ffffff", variables);
- }
- },
- // createEmbed()
- createEmbed: function(href, id, color, variables) {
- var bgcolor = 'bgcolor="' + color + '"';
- var flashvars = '';
- if (variables) {
- flashvars = 'flashvars="' + variables + '"';
- }
- Lightbox.modalHTML = '<embed type="application/x-shockwave-flash" ' +
- 'src="' + href + '" ' +
- 'id="' + id + '" name="' + id + '" ' + bgcolor + ' ' +
- 'quality="high" wmode="transparent" ' + flashvars + ' ' +
- 'height="' + Lightbox.modalHeight + '" ' +
- 'width="' + Lightbox.modalWidth + '" ' +
- 'allowfullscreen="true" ' +
- '></embed>';
- },
- // checkKnownVideos()
- checkKnownVideos: function(href) {
- if (Lightvideo.checkYouTubeVideo(href) || Lightvideo.checkGoogleVideo(href) ||
- Lightvideo.checkMySpaceVideo(href) || Lightvideo.checkLiveVideo(href) ||
- Lightvideo.checkMetacafeVideo(href) ||
- Lightvideo.checkIFilmSpikeVideo(href)
- ) {
- return true;
- }
- return false;
- },
- // checkYouTubeVideo()
- checkYouTubeVideo: function(href) {
- var patterns = [
- 'youtube.com/v/([^"&]+)',
- 'youtube.com/watch\\?v=([^"&]+)',
- 'youtube.com/\\?v=([^"&]+)'
- ];
- for (var i = 0; i < patterns.length; i++) {
- var pattern = new RegExp(patterns[i], "i");
- var results = pattern.exec(href);
- if (results !== null) {
- Lightbox.videoId = results[1];
- var href = "http://www.youtube.com/v/"+Lightbox.videoId;
- var variables = 'fs=1';
- if (Lightbox.flvFlashvars.length) {
- variables = variables + '&' + Lightbox.flvFlashvars;
- href = href + '&' + variables;
- }
- Lightvideo.createEmbed(href, "flvvideo", "#ffffff", variables);
- return true;
- }
- }
- return false;
- },
- // checkGoogleVideo()
- checkGoogleVideo: function(href) {
- var patterns = [
- 'http://video.google.[a-z]{2,4}/googleplayer.swf\\?docId=(-?\\d*)',
- 'http://video.google.[a-z]{2,4}/videoplay\\?docid=([^&]*)&',
- 'http://video.google.[a-z]{2,4}/videoplay\\?docid=(.*)'
- ];
- for (var i = 0; i < patterns.length; i++) {
- var pattern = new RegExp(patterns[i], "i");
- var results = pattern.exec(href);
- if (results !== null) {
- Lightbox.videoId = results[1];
- var href = "http://video.google.com/googleplayer.swf?docId="+Lightbox.videoId+"&hl=en";
- var variables = 'fs=true';
- if (Lightbox.flvFlashvars.length) {
- variables = variables + '&' + Lightbox.flvFlashvars;
- href = href + '&' + variables;
- }
- Lightvideo.createEmbed(href, "flvvideo", "#ffffff", variables);
- return true;
- }
- }
- return false;
- },
- // checkMetacafeVideo()
- checkMetacafeVideo: function(href) {
- var patterns = [
- 'metacafe.com/watch/(\.[^/]*)/(\.[^/]*)/',
- 'metacafe.com/watch/(\.[^/]*)/(\.*)',
- 'metacafe.com/fplayer/(\.[^/]*)/(\.[^.]*).'
- ];
- for (var i = 0; i < patterns.length; i++) {
- var pattern = new RegExp(patterns[i], "i");
- var results = pattern.exec(href);
- if (results !== null) {
- Lightbox.videoId = results[1];
- Lightvideo.createEmbed("http://www.metacafe.com/fplayer/"+Lightbox.videoId+"/.swf", "flvvideo", "#ffffff");
- return true;
- }
- }
- return false;
- },
- // checkIFilmSpikeVideo()
- checkIFilmSpikeVideo: function(href) {
- var patterns = [
- 'spike.com/video/[^/&"]*?/(\\d+)',
- 'ifilm.com/video/[^/&"]*?/(\\d+)',
- 'spike.com/video/([^/&"]*)',
- 'ifilm.com/video/([^/&"]*)'
- ];
- for (var i = 0; i < patterns.length; i++) {
- var pattern = new RegExp(patterns[i], "i");
- var results = pattern.exec(href);
- if (results !== null) {
- Lightbox.videoId = results[1];
- Lightvideo.createEmbed("http://www.spike.com/efp", "flvvideo", "#000", "flvbaseclip="+Lightbox.videoId+"&");
- return true;
- }
- }
- return false;
- },
- // checkMySpaceVideo()
- checkMySpaceVideo: function(href) {
- var patterns = [
- 'src="myspace.com/index.cfm\\?fuseaction=vids.individual&videoid=([^&"]+)',
- 'myspace.com/index.cfm\\?fuseaction=vids.individual&videoid=([^&"]+)',
- 'src="myspacetv.com/index.cfm\\?fuseaction=vids.individual&videoid=([^&"]+)"',
- 'myspacetv.com/index.cfm\\?fuseaction=vids.individual&videoid=([^&"]+)'
- ];
- for (var i = 0; i < patterns.length; i++) {
- var pattern = new RegExp(patterns[i], "i");
- var results = pattern.exec(href);
- if (results !== null) {
- Lightbox.videoId = results[1];
- Lightvideo.createEmbed("http://lads.myspace.com/videos/vplayer.swf", "flvvideo", "#ffffff", "m="+Lightbox.videoId);
- return true;
- }
- }
- return false;
- },
- // checkLiveVideo()
- checkLiveVideo: function(href) {
- var patterns = [
- 'livevideo.com/flvplayer/embed/([^"]*)"',
- 'livevideo.com/video/[^/]*?/([^/]*)/',
- 'livevideo.com/video/([^/]*)/'
- ];
- for (var i = 0; i < patterns.length; i++) {
- var pattern = new RegExp(patterns[i], "i");
- var results = pattern.exec(href);
- if (results !== null) {
- Lightbox.videoId = results[1];
- Lightvideo.createEmbed("http://www.livevideo.com/flvplayer/embed/"+Lightbox.videoId, "flvvideo", "#ffffff");
- return true;
- }
- }
- return false;
- }
- };
- //End jQuery block
- }(jQuery));
|