/*
 * jQuery Media Plugin for converting elements into rich media content.
 *
 * Examples and documentation at: http://malsup.com/jquery/media/
 * Copyright (c) 2007-2008 M. Alsup
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 *
 * @author: M. Alsup
 * @version: 0.92 (24-SEP-2009)
 * @requires jQuery v1.1.2 or later
 * $Id: jquery.media.js 2460 2007-07-23 02:53:15Z malsup $
 *
 * Supported Media Players:
 *	- Flash
 *	- Quicktime
 *	- Real Player
 *	- Silverlight
 *	- Windows Media Player
 *	- iframe
 *
 * Supported Media Formats:
 *	 Any types supported by the above players, such as:
 *	 Video: asf, avi, flv, mov, mpg, mpeg, mp4, qt, smil, swf, wmv, 3g2, 3gp
 *	 Audio: aif, aac, au, gsm, mid, midi, mov, mp3, m4a, snd, rm, wav, wma
 *	 Other: bmp, html, pdf, psd, qif, qtif, qti, tif, tiff, xaml
 *
 * Thanks to Mark Hicken and Brent Pedersen for helping me debug this on the Mac!
 * Thanks to Dan Rossi for numerous bug reports and code bits!
 * Thanks to Skye Giordano for several great suggestions!
 * Thanks to Richard Connamacher for excellent improvements to the non-IE behavior!
 */
(function(b){function r(){for(var c=navigator.plugins,a=0;a<c.length;a++)if(c[a].filename=="np-mswmp.dll")return true;return false}function s(){var c="";for(var a in b.fn.media.defaults.players){if(c.length)c+=",";c+=b.fn.media.defaults.players[a].types}return new RegExp("\\.("+c.replace(/,/ig,"|")+")\\b")}function t(c){return function(a,f){return o(a,f,c)}}function m(c){return"0123456789".indexOf(c)>-1}function u(c,a){a=a||{};var f=b(c),e=c.className||"",d=b.metadata?f.metadata():b.meta?f.data():
{};d=d||{};var g=d.width||parseInt((e.match(/w:(\d+)/)||[])[1]||0),h=d.height||parseInt((e.match(/h:(\d+)/)||[])[1]||0);if(g)d.width=g;if(h)d.height=h;if(e)d.cls=e;var i=b.fn.media.defaults,p=a,q=d,v={params:{bgColor:a.bgColor||b.fn.media.defaults.bgColor}},j=b.extend({},i,p,q);b.each(["attrs","params","flashvars","silverlight"],function(w,k){j[k]=b.extend({},v[k]||{},i[k]||{},p[k]||{},q[k]||{})});if(typeof j.caption=="undefined")j.caption=f.text();j.src=j.src||f.attr("href")||f.attr("src")||"unknown";
return j}function o(c,a,f){var e=b(c),d=b.fn.media.defaults.players[f];if(f=="iframe"){d=b('<iframe width="'+a.width+'" height="'+a.height+'" >');d.attr("src",a.src);d.css("backgroundColor",d.bgColor)}else if(b.browser.msie){var g=['<object width="'+a.width+'" height="'+a.height+'" '];for(var h in a.attrs)g.push(h+'="'+a.attrs[h]+'" ');for(h in d.ieAttrs||{}){var i=d.ieAttrs[h];if(h=="codebase"&&window.location.protocol=="https:")i=i.replace("http","https");g.push(h+'="'+i+'" ')}g.push("></object>");
i=['<param name="'+(d.oUrl||"src")+'" value="'+a.src+'">'];for(h in a.params)i.push('<param name="'+h+'" value="'+a.params[h]+'">');d=document.createElement(g.join(""));for(h=0;h<i.length;h++)d.appendChild(document.createElement(i[h]))}else if(d.standards){g=['<object type="'+d.mimetype+'" width="'+a.width+'" height="'+a.height+'"'];a.src&&g.push(' data="'+a.src+'" ');g.push(">");g.push('<param name="'+(d.oUrl||"src")+'" value="'+a.src+'">');for(h in a.params)h=="wmode"&&f!="flash"||g.push('<param name="'+
h+'" value="'+a.params[h]+'">');g.push("<div><p><strong>"+d.title+" Required</strong></p><p>"+d.title+' is required to view this media. <a href="'+d.pluginspage+'">Download Here</a>.</p></div>');g.push("</object>")}else{g=['<embed width="'+a.width+'" height="'+a.height+'" style="display:block"'];a.src&&g.push(' src="'+a.src+'" ');for(h in a.attrs)g.push(h+'="'+a.attrs[h]+'" ');for(h in d.eAttrs||{})g.push(h+'="'+d.eAttrs[h]+'" ');for(h in a.params)h=="wmode"&&f!="flash"||g.push(h+'="'+a.params[h]+
'" ');g.push("></embed>")}c=b("<div"+(c.id?' id="'+c.id+'"':"")+(a.cls?' class="'+a.cls+'"':"")+">");e.after(c).remove();b.browser.msie||f=="iframe"?c.append(d):c.html(g.join(""));a.caption&&b("<div>").appendTo(c).html(a.caption);return c}b.fn.media=function(c,a,f){if(c=="undo")return this.each(function(){var e=b(this),d=e.data("media.origHTML");d&&e.replaceWith(d)});return this.each(function(){if(typeof c=="function"){f=a;a=c;c={}}var e=u(this,c);typeof a=="function"&&a(this,e);var d=s().exec(e.src.toLowerCase())||
[""];e.type?(d[0]=e.type):d.shift();for(var g=0;g<d.length;g++){fn=d[g].toLowerCase();if(m(fn[0]))fn="fn"+fn;if(b.fn.media[fn]){d=b.fn.media[fn+"_player"];if(!e.params)e.params={};if(d)e.params[d.autoplayAttr||"autoplay"]=d.autoplayAttr=="autostart"?e.autoplay?1:0:e.autoplay?true:false;g=b.fn.media[fn](this,e);g.css("backgroundColor",e.bgColor).width(e.width);if(e.canUndo){var h=b("<div></div>").append(this);g.data("media.origHTML",h.html())}typeof f=="function"&&f(this,g[0],e,d.name);break}}})};
b.fn.media.mapFormat=function(c,a){if(!(!c||!a||!b.fn.media.defaults.players[a])){c=c.toLowerCase();if(m(c[0]))c="fn"+c;b.fn.media[c]=b.fn.media[a];b.fn.media[c+"_player"]=b.fn.media.defaults.players[a]}};b.fn.media.defaults={standards:false,canUndo:true,width:400,height:400,autoplay:0,bgColor:"#ffffff",params:{wmode:"transparent"},attrs:{},flvKeyName:"file",flashvars:{},flashVersion:"7",expressInstaller:null,flvPlayer:"mediaplayer.swf",mp3Player:"mediaplayer.swf",silverlight:{inplaceInstallPrompt:"true",
isWindowless:"true",framerate:"24",version:"0.9",onError:null,onLoad:null,initParams:null,userContext:null}};b.fn.media.defaults.players={flash:{name:"flash",title:"Flash",types:"flv,mp3,swf",mimetype:"application/x-shockwave-flash",pluginspage:"http://www.adobe.com/go/getflashplayer",ieAttrs:{classid:"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000",type:"application/x-oleobject",codebase:"http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version="+b.fn.media.defaults.flashVersion}},
quicktime:{name:"quicktime",title:"QuickTime",mimetype:"video/quicktime",pluginspage:"http://www.apple.com/quicktime/download/",types:"aif,aiff,aac,au,bmp,gsm,mov,mid,midi,mpg,mpeg,mp4,m4a,psd,qt,qtif,qif,qti,snd,tif,tiff,wav,3g2,3gp",ieAttrs:{classid:"clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B",codebase:"http://www.apple.com/qtactivex/qtplugin.cab"}},realplayer:{name:"real",title:"RealPlayer",types:"ra,ram,rm,rpm,rv,smi,smil",mimetype:"audio/x-pn-realaudio-plugin",pluginspage:"http://www.real.com/player/",
autoplayAttr:"autostart",ieAttrs:{classid:"clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA"}},winmedia:{name:"winmedia",title:"Windows Media",types:"asx,asf,avi,wma,wmv",mimetype:b.browser.mozilla&&r()?"application/x-ms-wmp":"application/x-mplayer2",pluginspage:"http://www.microsoft.com/Windows/MediaPlayer/",autoplayAttr:"autostart",oUrl:"url",ieAttrs:{classid:"clsid:6BF52A52-394A-11d3-B153-00C04F79FAA6",type:"application/x-oleobject"}},iframe:{name:"iframe",types:"html,pdf"},silverlight:{name:"silverlight",
types:"xaml"}};var n=1;for(var l in b.fn.media.defaults.players)b.each(b.fn.media.defaults.players[l].types.split(","),function(c,a){if(m(a[0]))a="fn"+a;b.fn.media[a]=b.fn.media[l]=t(l);b.fn.media[a+"_player"]=b.fn.media.defaults.players[l]});b.fn.media.swf=function(c,a){if(!window.SWFObject&&!window.swfobject){if(a.flashvars){var f=[];for(var e in a.flashvars)f.push(e+"="+a.flashvars[e]);if(!a.params)a.params={};a.params.flashvars=f.join("&")}return o(c,a,"flash")}f=b("<div"+(c.id?' id="'+c.id+'"':
"")+(a.cls?' class="'+a.cls+'"':"")+">");if(window.swfobject){b(c).after(f).appendTo(f);if(!c.id)c.id="movie_player_"+n++;swfobject.embedSWF(a.src,c.id,a.width,a.height,a.flashVersion,a.expressInstaller,a.flashvars,a.params,a.attrs)}else{b(c).after(f).remove();var d=new SWFObject(a.src,"movie_player_"+n++,a.width,a.height,a.flashVersion,a.bgColor);a.expressInstaller&&d.useExpressInstall(a.expressInstaller);for(var g in a.params)g!="bgColor"&&d.addParam(g,a.params[g]);for(e in a.flashvars)d.addVariable(e,
a.flashvars[e]);d.write(f[0])}a.caption&&b("<div>").appendTo(f).html(a.caption);return f};b.fn.media.flv=b.fn.media.mp3=function(c,a){var f=a.src,e=/\.mp3\b/i.test(f)?b.fn.media.defaults.mp3Player:b.fn.media.defaults.flvPlayer,d=a.flvKeyName;f=encodeURIComponent(f);a.src=e;a.src=a.src+"?"+d+"="+f;e={};e[d]=f;a.flashvars=b.extend({},e,a.flashvars);return b.fn.media.swf(c,a)};b.fn.media.xaml=function(c,a){if(!window.Sys||!window.Sys.Silverlight){if(!b.fn.media.xaml.warning){b.fn.media.xaml.warning=
1;alert("You must include the Silverlight.js script.")}}else{var f={width:a.width,height:a.height,background:a.bgColor,inplaceInstallPrompt:a.silverlight.inplaceInstallPrompt,isWindowless:a.silverlight.isWindowless,framerate:a.silverlight.framerate,version:a.silverlight.version},e={onError:a.silverlight.onError,onLoad:a.silverlight.onLoad},d=c.id?' id="'+c.id+'"':"",g=a.id||"AG"+n++;d=b("<div"+d+(a.cls?' class="'+a.cls+'"':"")+">");b(c).after(d).remove();Sys.Silverlight.createObjectEx({source:a.src,
initParams:a.silverlight.initParams,userContext:a.silverlight.userContext,id:g,parentElement:d[0],properties:f,events:e});a.caption&&b("<div>").appendTo(d).html(a.caption);return d}}})(jQuery);
