﻿(function(a){a.fn.media=function(b,d,f){return this.each(function(){if(typeof b=="function"){f=d;d=b;b={}}var h=g(this,b);if(typeof d=="function")d(this,h);var n=e(),j=n.exec(h.src)||[".null","null"];h.type?(j[0]=h.type):j.shift();for(var l=0;l<j.length;l++){fn=j[l].toLowerCase();if(c(fn[0]))fn="fn"+fn;if(!a.fn.media[fn])continue;var i=a.fn.media[fn+"_player"];if(!h.params)h.params={};if(i){var m=i.autoplayAttr=="autostart";h.params[i.autoplayAttr||"autoplay"]=m?h.autoplay?1:0:h.autoplay?true:false}var k=a.fn.media[fn](this,h);if(h.bgColor)k.css("backgroundColor",h.bgColor).width(h.width);else k.width(h.width);if(typeof f=="function")f(this,k[0],h,i.name);break}})};a.fn.media.mapFormat=function(b,d){if(!b||!d||!a.fn.media.defaults.players[d])return;b=b.toLowerCase();if(c(b[0]))b="fn"+b;a.fn.media[b]=a.fn.media[d]};a.fn.media.defaults={width:400,height:400,preferMeta:1,autoplay:0,params:{},attrs:{},flashvars:{},flashVersion:"7",caption:false,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}};a.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="+a.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",oIESrc:"url",oAttrs:{classid:"clsid:6BF52A52-394A-11d3-B153-00C04F79FAA6",type:"application/x-oleobject"},eAttrs:{type:"application/x-mplayer2",pluginspage:"http://www.microsoft.com/Windows/MediaPlayer/"}},shockwave:{name:"shockwave",types:"dcr",oAttrs:{classid:"clsid:166B1BCA-3F9C-11CF-8075-444553540000",codebase:"http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version="+a.fn.media.defaults.flashVersion},eAttrs:{type:"application/x-director",pluginspage:"http://www.macromedia.com/shockwave/download/"}},applet:{name:"applet",types:"class,null",oFFSrc:"code",oIESrc:"code",oAttrs:{classid:"clsid:8AD9C840-044E-11D1-B3E9-00805F499D93",codebase:"http://java.sun.com/products/plugin/autodl/jinstall-1_5_0-windows-i586.cab#Version=1,5,0,0"},eAttrs:{type:"application/x-java-applet",pluginspage:"http://java.sun.com/j2se/1.5.0/download.html"}}};var h=1;for(var b in a.fn.media.defaults.players){var i=a.fn.media.defaults.players[b].types;a.each(i.split(","),function(e,d){if(c(d[0]))d="fn"+d;a.fn.media[d]=a.fn.media[b]=f(b);a.fn.media[d+"_player"]=a.fn.media.defaults.players[b]})}function e(){var b="";for(var c in a.fn.media.defaults.players){if(b.length)b+=",";b+=a.fn.media.defaults.players[c].types}return new RegExp("\\.("+b.replace(/,/g,"|")+")\\b")}function f(a){return function(c,b){return d(c,b,a)}}function c(a){return "0123456789".indexOf(a)>-1}function g(h,d){d=d||{};var e=a(h),f=h.className||"",b=a.meta?e.data():{},l=b.width||parseInt((f.match(/w:(\d+)/)||[])[1]||0),k=b.height||parseInt((f.match(/h:(\d+)/)||[])[1]||0);if(l)b.width=l;if(k)b.height=k;if(f)b.cls=f;var i=a.fn.media.defaults,g=a.meta&&a.fn.media.defaults.preferMeta?d:b,j=g==d?b:d,m={params:{}},c=a.extend({},i,g,j);a.each(["attrs","params","flashvars"],function(d,b){c[b]=a.extend({},m[b]||{},i[b]||{},g[b]||{},j[b]||{})});if(typeof c.caption=="undefined")c.caption=e.text();c.src=c.src||e.attr("href")||e.attr("src")||"unknown";return c}a.fn.media.swf=function(e,b){if(typeof SWFObject=="undefined"){if(b.flashvars){var j=[];for(var f in b.flashvars)j.push(f+"="+b.flashvars[f]);if(!b.params)b.params={};b.params.flashvars=j.join("&")}return d(e,b,"flash")}var l=e.id?' id="'+e.id+'"':"",k=b.cls?' class="'+b.cls+'"':"",c=a("<div"+l+k+">");a(e).after(c).remove();var g=new SWFObject(b.src,"movie_player_"+h++,b.width,b.height,b.flashVersion,b.bgColor);for(var i in b.params)if(i!="bgColor")g.addParam(i,b.params[i]);for(var f in b.flashvars)g.addVariable(f,b.flashvars[f]);g.write(c[0]);if(b.caption)a("<div>").appendTo(c).html(b.caption);return c};a.fn.media.flv=a.fn.media.mp3=function(e,b){var c=b.src,d=/\.mp3\b/i.test(c)?a.fn.media.defaults.mp3Player:a.fn.media.defaults.flvPlayer;b.src=d;b.src=b.src+"?file="+c;b.flashvars=a.extend({},{file:c},b.flashvars);return a.fn.media.swf(e,b)};function d(i,b,h){var k=a(i),e=a.fn.media.defaults.players[h];if(a.browser.msie){var d=['<object width="'+b.width+'" height="'+b.height+'" '];for(var c in b.attrs)d.push(c+'="'+b.attrs[c]+'" ');for(var c in e.oAttrs||{})d.push(c+'="'+e.oAttrs[c]+'" ');d.push("></object>");var g=['<param name="'+(e.oIESrc||"src")+'" value="'+b.src+'">'];for(var c in b.params)g.push('<param name="'+c+'" value="'+b.params[c]+'">');var e=document.createElement(d.join(""));for(var j=0;j<g.length;j++)e.appendChild(document.createElement(g[j]))}else if(h=="applet"){var d=['<object width="'+b.width+'" height="'+b.height+'" '];for(var c in b.attrs)d.push(c+'="'+b.attrs[c]+'" ');for(var c in e.eAttrs||{})d.push(c+'="'+e.eAttrs[c]+'" ');d.push(">");var g=['<param name="'+(e.oFFSrc||"src")+'" value="'+b.src+'">'];for(var c in b.params)g.push('<param name="'+c+'" value="'+b.params[c]+'">');d.push(g.join(""));d.push("</object>")}else{var d=['<embed width="'+b.width+'" height="'+b.height+'" style="display:block"'];if(b.src)d.push(" "+(e.oFFSrc||"src")+'="'+b.src+'" ');for(var c in b.attrs)d.push(c+'="'+b.attrs[c]+'" ');for(var c in e.eAttrs||{})d.push(c+'="'+e.eAttrs[c]+'" ');for(var c in b.params)d.push(c+'="'+b.params[c]+'" ');d.push("></embed>")}var m=i.id?' id="'+i.id+'"':"",l=b.cls?' class="'+b.cls+'"':"",f=a("<div"+m+l+">");k.after(f).remove();a.browser.msie||h=="iframe"?f.append(e):f.html(d.join(""));if(b.caption)a("<div>").appendTo(f).html(b.caption);return f}})(jQuery)