(function($){$.fn.media=function(options,f1,f2){return this.each(function(){if(typeof options=='function'){f2=f1;f1=options;options={}}var o=getSettings(this,options);if(typeof f1=='function')f1(this,o);var r=getTypesRegExp();var m=r.exec(o.src)||[''];o.type?m[0]=o.type:m.shift();for(var i=0;i<m.length;i++){fn=m[i].toLowerCase();if(isDigit(fn[0]))fn='fn'+fn;if(!$.fn.media[fn])continue;var player=$.fn.media[fn+'_player'];if(!o.params)o.params={};if(player){var num=player.autoplayAttr=='autostart';o.params[player.autoplayAttr||'autoplay']=num?(o.autoplay?1:0):o.autoplay?true:false}var $div=$.fn.media[fn](this,o);$div.css('backgroundColor',o.bgColor).width(o.width);if(typeof f2=='function')f2(this,$div[0],o,player.name);break}})};$.fn.mediabox=function(options,css){return this.click(function(){if(typeof $.blockUI=='undefined'||typeof $.blockUI.version=='undefined'||$.blockUI.version<1.26){if(typeof $.fn.mediabox.warning!='undefined')return this;$.fn.mediabox.warning=1;alert('The mediabox method requires blockUI v1.26 or later.');return false}var o,p,div=0,$e=$(this).clone();$e.appendTo('body').hide().css({margin:0});options=$.extend({},options,{autoplay:1});$e.media(options,function(){},function(origEl,newEl,opts,player){div=newEl;o=opts;p=player});if(!div)return false;var $div=$.browser.safari?$(div).hide():$(div).remove();if(o.loadingImage)$div.css({backgroundImage:'url('+o.loadingImage+')',backgroundPosition:'center center',backgroundRepeat:'no-repeat'});if(o.boxTitle)$div.prepend('<div style="margin:0;padding:0">'+o.boxTitle+'</div>');if(css)$div.css(css);$div.displayBox({width:o.width,height:o.height},function(el){$('object,embed',el).each(function(){try{this.Stop()}catch(e){}try{this.DoStop()}catch(e){}try{this.controls.stop()}catch(e){}$(this).remove()})},p=='flash');return false})};$.fn.media.mapFormat=function(format,player){if(!format||!player||!$.fn.media.defaults.players[player])return;format=format.toLowerCase();if(isDigit(format[0]))format='fn'+format;$.fn.media[format]=$.fn.media[player];$.fn.media[format+'_player']=$.fn.media.defaults.players[player]};$.fn.media.defaults={width:400,height:400,preferMeta:1,autoplay:0,bgColor:'#ffffff',params:{},attrs:{},flashvars:{},flashVersion:'7',expressInstaller:null,boxTitle:null,loadingImage: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}};$.fn.media.defaults.players={flash:{name:'flash',types:'flv,mp3,swf',oAttrs:{classid:'clsid:d27cdb6e-ae6d-11cf-96b8-444553540000',type:'application/x-oleobject',codebase:'http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version='+$.fn.media.defaults.flashVersion},eAttrs:{type:'application/x-shockwave-flash',pluginspage:'http://www.adobe.com/go/getflashplayer'}},quicktime:{name:'quicktime',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',oAttrs:{classid:'clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B',codebase:'http://www.apple.com/qtactivex/qtplugin.cab'},eAttrs:{pluginspage:'http://www.apple.com/quicktime/download/'}},realplayer:{name:'real',types:'ra,ram,rm,rpm,rv,smi,smil',autoplayAttr:'autostart',oAttrs:{classid:'clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA'},eAttrs:{type:'audio/x-pn-realaudio-plugin',pluginspage:'http://www.real.com/player/'}},winmedia:{name:'winmedia',types:'asf,avi,wma,wmv',autoplayAttr:'autostart',oUrl:'url',oAttrs:{classid:'clsid:6BF52A52-394A-11d3-B153-00C04F79FAA6',type:'application/x-oleobject'},eAttrs:{type:$.browser.mozilla&&isFirefoxWMPPluginInstalled()?'application/x-ms-wmp':'application/x-mplayer2',pluginspage:'http://www.microsoft.com/Windows/MediaPlayer/'}},iframe:{name:'iframe',types:'html,pdf'},silverlight:{name:'silverlight',types:'xaml'}};function isFirefoxWMPPluginInstalled(){var plugs=navigator.plugins;for(i=0;i<plugs.length;i++){var plugin=plugs[i];if(plugin['filename']=='np-mswmp.dll')return true}return false}var counter=1;for(var player in $.fn.media.defaults.players){var types=$.fn.media.defaults.players[player].types;$.each(types.split(','),function(i,o){if(isDigit(o[0]))o='fn'+o;$.fn.media[o]=$.fn.media[player]=getGenerator(player);$.fn.media[o+'_player']=$.fn.media.defaults.players[player]})};function getTypesRegExp(){var types='';for(var player in $.fn.media.defaults.players){if(types.length)types+=',';types+=$.fn.media.defaults.players[player].types};return new RegExp('\\.('+types.replace(/,/g,'|')+')\\b')};function getGenerator(player){return function(el,options){return generate(el,options,player)}};function isDigit(c){return'0123456789'.indexOf(c)>-1};function getSettings(el,options){options=options||{};var $el=$(el);var cls=el.className||'';var meta=$.metadata?$el.metadata():$.meta?$el.data():{};var w=meta.width||parseInt(((cls.match(/w:(\d+)/)||[])[1]||0));var h=meta.height||parseInt(((cls.match(/h:(\d+)/)||[])[1]||0));if(w)meta.width=w;if(h)meta.height=h;if(cls)meta.cls=cls;var a=$.fn.media.defaults;var b=(($.meta||$.metadata)&&$.fn.media.defaults.preferMeta)?options:meta;var c=b==options?meta:options;var p={params:{bgColor:options.bgColor||$.fn.media.defaults.bgColor}};var opts=$.extend({},a,b,c);$.each(['attrs','params','flashvars','silverlight'],function(i,o){opts[o]=$.extend({},p[o]||{},a[o]||{},b[o]||{},c[o]||{})});if(typeof opts.caption=='undefined')opts.caption=$el.text();opts.src=opts.src||$el.attr('href')||$el.attr('src')||'unknown';return opts};$.fn.media.swf=function(el,opts){if(typeof SWFObject=='undefined'){if(opts.flashvars){var a=[];for(var f in opts.flashvars)a.push(f+'='+opts.flashvars[f]);if(!opts.params)opts.params={};opts.params.flashvars=a.join('&')}return generate(el,opts,'flash')}var id=el.id?(' id="'+el.id+'"'):'';var cls=opts.cls?(' class="'+opts.cls+'"'):'';var $div=$('<div'+id+cls+'>');$(el).after($div).remove();var so=new SWFObject(opts.src,'movie_player_'+counter++,opts.width,opts.height,opts.flashVersion,opts.bgColor);if(opts.expressInstaller)so.useExpressInstall(opts.expressInstaller);for(var p in opts.params)if(p!='bgColor')so.addParam(p,opts.params[p]);for(var f in opts.flashvars)so.addVariable(f,opts.flashvars[f]);so.write($div[0]);if(opts.caption)$('<div>').appendTo($div).html(opts.caption);return $div};$.fn.media.flv=$.fn.media.mp3=function(el,opts){var src=opts.src;var player=/\.mp3\b/i.test(src)?$.fn.media.defaults.mp3Player:$.fn.media.defaults.flvPlayer;opts.src=player;opts.src=opts.src+'?file='+src;opts.flashvars=$.extend({},{file:src},opts.flashvars);return $.fn.media.swf(el,opts)};$.fn.media.xaml=function(el,opts){if(!window.Sys||!window.Sys.Silverlight){if($.fn.media.xaml.warning)return;$.fn.media.xaml.warning=1;alert('You must include the Silverlight.js script.');return}var props={width:opts.width,height:opts.height,background:opts.bgColor,inplaceInstallPrompt:opts.silverlight.inplaceInstallPrompt,isWindowless:opts.silverlight.isWindowless,framerate:opts.silverlight.framerate,version:opts.silverlight.version};var events={onError:opts.silverlight.onError,onLoad:opts.silverlight.onLoad};var id1=el.id?(' id="'+el.id+'"'):'';var id2=opts.id||'AG'+counter++;var cls=opts.cls?(' class="'+opts.cls+'"'):'';var $div=$('<div'+id1+cls+'>');$(el).after($div).remove();Sys.Silverlight.createObjectEx({source:opts.src,initParams:opts.silverlight.initParams,userContext:opts.silverlight.userContext,id:id2,parentElement:$div[0],properties:props,events:events});if(opts.caption)$('<div>').appendTo($div).html(opts.caption);return $div};function generate(el,opts,player){var $el=$(el);var o=$.fn.media.defaults.players[player];if(player=='iframe'){var o=$('<iframe'+' width="'+opts.width+'" height="'+opts.height+'" >');o.attr('src',opts.src);o.css('backgroundColor',o.bgColor)}else if($.browser.msie){var a=['<object width="'+opts.width+'" height="'+opts.height+'" '];for(var key in opts.attrs)a.push(key+'="'+opts.attrs[key]+'" ');for(var key in o.oAttrs||{})a.push(key+'="'+o.oAttrs[key]+'" ');a.push('></ob'+'ject'+'>');var p=['<param name="'+(o.oUrl||'src')+'" value="'+opts.src+'">'];for(var key in opts.params)p.push('<param name="'+key+'" value="'+opts.params[key]+'">');var o=document.createElement(a.join(''));for(var i=0;i<p.length;i++)o.appendChild(document.createElement(p[i]))}else{var a=['<embed width="'+opts.width+'" height="'+opts.height+'" style="display:block"'];if(opts.src)a.push(' src="'+opts.src+'" ');for(var key in opts.attrs)a.push(key+'="'+opts.attrs[key]+'" ');for(var key in o.eAttrs||{})a.push(key+'="'+o.eAttrs[key]+'" ');for(var key in opts.params)a.push(key+'="'+opts.params[key]+'" ');a.push('></em'+'bed'+'>')}var id=el.id?(' id="'+el.id+'"'):'';var cls=opts.cls?(' class="'+opts.cls+'"'):'';var $div=$('<div'+id+cls+'>');$el.after($div).remove();($.browser.msie||player=='iframe')?$div.append(o):$div.html(a.join(''));if(opts.caption)$('<div>').appendTo($div).html(opts.caption);return $div}})(jQuery);