/*
 *JQuery Media for Website Realizer
 * 
 * Version: 1.0.0
 * Copyright (c) 2008 Adritech Software Co. Ltd.
 * 
 * Amended from the following:
 *
 * 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.81 (06/05/2008)
 * @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!
 */
(function(c){c.fn.media=function(n,m,o){return this.each(function(){if(typeof n=="function"){o=m;m=n;n={}}var w=h(this,n);if(typeof m=="function"){m(this,w)}var v=k();var p=v.exec(w.src)||[""];w.type?p[0]=w.type:p.shift();for(var u=0;u<p.length;u++){fn=p[u].toLowerCase();if(f(fn[0])){fn="fn"+fn}if(!c.fn.media[fn]){continue}var t=c.fn.media[fn+"_player"];if(!w.params){w.params={}}if(t){var s=t.autoplayAttr=="autostart";w.params[t.autoplayAttr||"autoplay"]=s?(w.autoplay?1:0):w.autoplay?true:false}var q=c.fn.media[fn](this,w);q.css("backgroundColor",w.bgColor).width(w.width);if(typeof o=="function"){o(this,q[0],w,t.name)}break}})};c.fn.media.mapFormat=function(n,m){if(!n||!m||!c.fn.media.defaults.players[m]){return}n=n.toLowerCase();if(f(n[0])){n="fn"+n}c.fn.media[n]=c.fn.media[m];c.fn.media[n+"_player"]=c.fn.media.defaults.players[m]};c.fn.media.defaults={width:400,height:400,autoplay:0,bgColor:"#ffffff",params:{},attrs:{},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}};c.fn.media.defaults.players={flash:{name:"flash",types:"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="+c.fn.media.defaults.flashVersion},eAttrs:{type:"application/x-shockwave-flash",pluginspage:"http://www.adobe.com/go/getflashplayer"}},jwmediaplayer:{name:"jwmediaplayer",types:"flv,mp3",oAttrs:{classid:"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000",type:"application/x-oleobject",codebase:"http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version="+c.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:{type:"video/quicktime",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:c.browser.mozilla&&l()?"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 l(){var m=navigator.plugins;for(i=0;i<m.length;i++){var n=m[i];if(n.filename=="np-mswmp.dll"){return true}}return false}var e={};e.flash=function(r,m){if(!window.SWFObject&&!window.swfobject){if(m.flashvars){var u=[];for(var s in m.flashvars){u.push(s+"="+m.flashvars[s])}if(!m.params){m.params={}}m.params.flashvars=u.join("&")}return g(r,m,"flash")}var o=r.id?(' id="'+r.id+'"'):"";var v=m.cls?(' class="'+m.cls+'"'):"";var t=c("<div"+o+v+">");if(window.swfobject){c(r).after(t).appendTo(t);if(!r.id){r.id="movie_player_"+a++}swfobject.embedSWF(m.src,r.id,m.width,m.height,m.flashVersion,m.expressInstaller,m.flashvars,m.params,m.attrs)}else{c(r).after(t).remove();var q=new SWFObject(m.src,"movie_player_"+a++,m.width,m.height,m.flashVersion,m.bgColor);if(m.expressInstaller){q.useExpressInstall(m.expressInstaller)}for(var n in m.params){if(n!="bgColor"){q.addParam(n,m.params[n])}}for(var s in m.flashvars){q.addVariable(s,m.flashvars[s])}q.write(t[0])}if(m.caption){c("<div>").appendTo(t).html(m.caption)}return t};e.jwmediaplayer=function(n,o){var p=o.src;var m=/\.mp3\b/i.test(p)?o.mp3Player?o.mp3Player:c.fn.media.defaults.mp3Player:o.flvPlayer?o.flvPlayer:c.fn.media.defaults.flvPlayer;o.src=m;o.src=o.src+"?file="+p;o.flashvars=c.extend({},{file:p},o.flashvars);return c.fn.media.swf(n,o)};e.silverlight=function(s,t){if(!window.Sys||!window.Sys.Silverlight){if(c.fn.media.xaml.warning){return}c.fn.media.xaml.warning=1;alert("You must include the Silverlight.js script.");return}var r={width:t.width,height:t.height,background:t.bgColor,inplaceInstallPrompt:t.silverlight.inplaceInstallPrompt,isWindowless:t.silverlight.isWindowless,framerate:t.silverlight.framerate,version:t.silverlight.version};var p={onError:t.silverlight.onError,onLoad:t.silverlight.onLoad};var q=s.id?(' id="'+s.id+'"'):"";var o=t.id||"AG"+a++;var n=t.cls?(' class="'+t.cls+'"'):"";var m=c("<div"+q+n+">");c(s).after(m).remove();Sys.Silverlight.createObjectEx({source:t.src,initParams:t.silverlight.initParams,userContext:t.silverlight.userContext,id:o,parentElement:m[0],properties:r,events:p});if(t.caption){c("<div>").appendTo(m).html(t.caption)}return m};var a=1;for(var j in c.fn.media.defaults.players){var d=c.fn.media.defaults.players[j].types;c.each(d.split(","),function(m,n){if(f(n[0])){n="fn"+n}c.fn.media[n]=c.fn.media[j]=b(j);c.fn.media[n+"_player"]=c.fn.media.defaults.players[j]})}function k(){var n="";for(var m in c.fn.media.defaults.players){if(n.length){n+=","}n+=c.fn.media.defaults.players[m].types}return new RegExp("\\.("+n.replace(/,/g,"|")+")\\b")}function b(m){if(e[m]){return e[m]}else{return function(o,n){return g(o,n,m)}}}function f(m){return"0123456789".indexOf(m)>-1}function h(o,z){z=z||{};var y=c(o);var x=o.className||"";var v=c.metadata?y.metadata():c.meta?y.data():{};v=v||{};var u=v.width||parseInt(((x.match(/w:(\d+)/)||[])[1]||0));var q=v.height||parseInt(((x.match(/h:(\d+)/)||[])[1]||0));if(u){v.width=u}if(q){v.height=q}if(x){v.cls=x}var t=c.fn.media.defaults;var s=z;var r=v;var n={params:{bgColor:z.bgColor||c.fn.media.defaults.bgColor}};var m=c.extend({},t,s,r);c.each(["attrs","params","flashvars","silverlight"],function(p,w){m[w]=c.extend({},n[w]||{},t[w]||{},s[w]||{},r[w]||{})});if(typeof m.caption=="undefined"){m.caption=y.text()}m.src=m.src||y.attr("href")||y.attr("src")||"unknown";return m}function g(s,m,w){var z=c(s);var r=c.fn.media.defaults.players[w];if(w=="iframe"){var r=c('<iframe width="'+m.width+'" height="'+m.height+'" >');r.attr("src",m.src);r.css("backgroundColor",r.bgColor)}else{if(c.browser.msie){var v=['<object width="'+m.width+'" height="'+m.height+'" '];for(var x in m.attrs){v.push(x+'="'+m.attrs[x]+'" ')}for(var x in r.oAttrs||{}){v.push(x+'="'+r.oAttrs[x]+'" ')}v.push("></object>");var q=['<param name="'+(r.oUrl||"src")+'" value="'+m.src+'">'];for(var x in m.params){q.push('<param name="'+x+'" value="'+m.params[x]+'">')}var r=document.createElement(v.join(""));for(var t=0;t<q.length;t++){r.appendChild(document.createElement(q[t]))}}else{var v=['<embed width="'+m.width+'" height="'+m.height+'" style="display:block"'];if(m.src){v.push(' src="'+m.src+'" ')}for(var x in m.attrs){v.push(x+'="'+m.attrs[x]+'" ')}for(var x in r.eAttrs||{}){v.push(x+'="'+r.eAttrs[x]+'" ')}for(var x in m.params){v.push(x+'="'+m.params[x]+'" ')}v.push("></embed>")}}var n=s.id?(' id="'+s.id+'"'):"";var y=m.cls?(' class="'+m.cls+'"'):"";var u=c("<div"+n+y+">");z.after(u).remove();(c.browser.msie||w=="iframe")?u.append(r):u.html(v.join(""));if(m.caption){c("<div>").appendTo(u).html(m.caption)}return u}})(jQuery);
