1/* JCE MediaBox - 2.0.0 beta 4 | 05 April 2016 | http://www.joomlacontenteditor.net | Copyright (C) 2006 - 2016 Ryan Demmer. All rights reserved | GNU/GPL Version 2 - http://www.gnu.org/licenses/gpl-2.0.html */ 2if(window.jQuery==="undefined"){throw new Error('JQuery is required to run Mediabox!');} 3(function($){var MediaBox={util:{},settings:{selector:'.jcepopup, .wfpopup, [data-mediabox]',labels:{"close":"Close","next":"Next","previous":"Previous"}},popups:[],items:[],getSite:function(){var base=this.settings.base||"";if(base){var site=document.location.href;var parts=site.split(':\/\/');var port=parts[0];var url=parts[1];if(url.indexOf(base)!==-1){url=url.substr(0,url.indexOf(base));}else{url=url.substr(0,url.indexOf('/'))||url;} 4return port+'://'+url+base;} 5return null;},init:function(settings){var self=this;$.extend(this.settings,settings);this.site=this.getSite();if(!MediaBox.Env.video||!MediaBox.Env.audio){document.createElement('source');} 6self.create();if(settings.mediafallback===1){self.mediaFallback();}},resolveMediaPath:function(s,absolute){function toAbsolute(url){var div=document.createElement('div');div.innerHTML='<a href="'+url+'">x</a>';return div.firstChild.href;} 7if(s&&s.indexOf('://')===-1&&s.charAt(0)!=='/'){s=this.settings.base+s;} 8if(absolute){return toAbsolute(s);} 9return s;},mediaFallback:function(){var self=this;var selector=this.settings.mediaselector;var elms=$(selector);var swf=this.settings.mediaplayer||'plugins/system/jcemediabox/mediaplayer/mediaplayer.swf';var supportMap={'video':{'h264':['video/mp4','video/mpeg'],'webm':['video/webm'],'ogg':['video/ogg']},'audio':{'mp3':['audio/mp3','audio/mpeg'],'ogg':['audio/ogg'],'webm':['audio/webm']}};function checkSupport(name,type){var hasSupport=false;for(var n in supportMap[name]){if(supportMap[name][n].indexOf(type)!==-1){hasSupport=Env[name]&&!!Env[name][n];}} 10return hasSupport;} 11$(elms).each(function(el){var type=el.getAttribute('type'),src=el.getAttribute('src'),name=el.nodeName.toLowerCase(),hasSupport=false;if(!src||!type){$('source[type]',el).each(function(n){src=n.getAttribute('src'),type=n.getAttribute('type');if(type!=="video/x-flv"){hasSupport=checkSupport(name,type);} 12if(!hasSupport){return false;}});if(!hasSupport&&name==="video"){var source=$('source[type="video/x-flv"]',el);if(source.length){src=$(source).attr('src'),type="video/x-flv";}}}else{hasSupport=checkSupport(name,type);} 13if(!src||!type){return;} 14if(hasSupport){return;} 15var w=el.getAttribute('width'),h=el.getAttribute('height');var html='',flashvars=[];if(!self.settings.mediaplayer){flashvars.push('file='+self.resolveMediaPath(src,true));} 16self.each(['autoplay','loop','preload','controls'],function(at){var v=el.getAttribute(at);if(typeof v!=="undefined"&&v!==null){if(v===at){v=true;} 17flashvars.push(at+'='+v);}});var i,attrs=el.attributes;for(i=attrs.length-1;i>=0;i--){var attrName=attrs[i].name;if(attrName&&(attrName.indexOf('data-video-')!==-1||attrName.indexOf('data-audio-')!==-1)){var name=attrName.replace(/data-(video|audio)-/i,'');var value=attrs[i].value;if(typeof value!=="undefined"||value!==null){flashvars.push(name+'='+value);}}} 18html+='<object class="wf-mediaplayer-object" data="'+self.resolveMediaPath(swf)+'" type="application/x-shockwave-flash"';if(w){html+=' width="'+w+'"';} 19if(h){html+=' height="'+h+'"';} 20html+='>';html+='<param name="movie" value="'+self.resolveMediaPath(swf)+'" />';html+='<param name="flashvars" value="'+flashvars.join('&')+'" />';html+='<param name="allowfullscreen" value="true" />';html+='<param name="wmode" value="transparent" />';var poster=el.getAttribute('poster');if(poster){html+='<img src="'+self.resolveMediaPath(poster)+'" alt="" />';} 21html+='<i>Flash is required to play this video. <a href="https://get.adobe.com/flashplayer" target="_blank">Get Adobe® Flash Player</a></i>';html+='</object>';var div=document.createElement('span');div.innerHTML=html;var o=div.firstChild;if(o&&o.nodeName==="OBJECT"){el.parentNode.replaceChild(o,el);if(poster){o.style.backgroundImage="url('"+resolveMediaPath(poster)+"')";}}});},getPopups:function(s,p){var selector=s||this.settings.selector;return $(selector,p);},translate:function(s){var o=this.settings,labels=o.labels;if(s){s=s.replace(/\{\{(\w+?)\}\}/g,function(a,b){return labels[b]||a;});} 22return s;}
22,getStyles:function(o){var x=[];if(!o) 23return{};$.each(o.split(';'),function(i,s){s=s.replace(/(.*):(.*)/,function(a,b,c){return'"'+b+'":"'+c+'"';});x.push(s);});return $.parseJSON('{'+x.join(',')+'}');},islocal:function(s){if(/^(\w+):\/\//.test(s)){return new RegExp('^('+Env.url+')').test(s);}else{return true;}},frameWidth:function(){var w=0,s;$('.wf-mediabox-info-top, .wf-mediabox-info-bottom').each(function(){s=$(this).hasClass('wf-mediabox-info-top')?'top':'bottom';w=w+parseFloat($(this).css('padding-'+s));});return parseFloat($('.wf-mediabox-frame').width()-w);},frameHeight:function(){var h=0,el=$('.wf-mediabox-frame');$('.wf-mediabox-info-top, .wf-mediabox-info-bottom').each(function(){var s=this.id.replace('jcemediabox-popup-info-','');h=h+parseFloat($(el).css('padding-'+s));});return $(window).height()-h;},width:function(){return this.frameWidth();},height:function(){var h=0,self=this;$('.wf-mediabox-info-top, .wf-mediabox-info-bottom').each(function(){h=h+parseInt($(this).outerHeight());});return this.frameHeight()-h;},auto:function(){var self=this,key;function makeID(src){var url=document.location.href;var key=window.btoa(url+src);key=key.replace(/[^\w]/g,'');key=key.substr(0,24);return key;} 24$(this.popups).each(function(i,el){if(el.auto){if(el.auto=='single'){key=el.id||makeID(el.src);var cookie=MediaBox.Storage.get('wf_mediabox_'+key+'_'+i);if(!cookie){MediaBox.Storage.set('wf_mediabox_'+key+'_'+i,1);self.start(el);}}else if(el.auto=='multiple'){self.start(el);}}});},getData:function(n){var o={},data,re=/\w+\[[^\]]+\]/;data=$(n).attr('data-mediabox')||$(n).attr('data-json');if(!data){var rel=$(n).attr('rel');if(rel&&re.test(rel)){var args=[];rel=rel.replace(/\b((\w+)\[(.*?)\])(;?)/g,function(a,b,c){args.push(b);return'';});o=MediaBox.Parameter.parse(args)||{};$(n).attr('rel',rel||o.rel||'');return o;}}else{n.removeAttribute('data-json');n.removeAttribute('data-mediabox');o=MediaBox.Parameter.parse(data);} 25var i,attrs=n.attributes;for(i=attrs.length-1;i>=0;i--){var attrName=attrs[i].name;if(attrName&&attrName.indexOf('data-mediabox-')!==-1){var attr=attrName.replace('data-mediabox-','');o[attr]=decodeURIComponent(attrs[i].value);n.removeAttribute('data-mediabox-'+attr);}} 26return o;},process:function(el){var data,s=this.settings,o={},group='',auto=false,match;var src=el.href;src=src.replace(/b(w|h)=([0-9]+)/g,function(s,k,v){k=(k==='w')?'width':'height';return k+'='+v;});data=this.getData(el)||{};var title=el.title||data.title||'';var caption=data.caption||'';var type=el.type||data.type||'';var rel=el.rel||'';if(!/\w+\[[^\]]+\]/.test(rel)){var rx='alternate|stylesheet|start|next|prev|contents|index|glossary|copyright|chapter|section|subsection|appendix|help|bookmark|nofollow|licence|tag|friend';var lb='(lightbox(\[(.*?)\])?)';var lt='(lyte(box|frame|show)(\[(.*?)\])?)';group=$.trim(rel.replace(new RegExp('\s*('+rx+'|'+lb+'|'+lt+')\s*'),'','gi'));} 27if(el.nodeName=='AREA'){if(!data){data=MediaBox.Parameter.parse(src);} 28group=group||'AREA_ELEMENT';if(!data.type){if(match=/\b(ajax|iframe|image|flash|director|shockwave|mplayer|windowsmedia|quicktime|realaudio|real|divx|pdf)\b/.exec(el.className)){data.type=match[0];}}} 29if(/autopopup-(single|multiple)/.test(el.className)){auto=/(multiple)/.test(el.className)?'multiple':'single';} 30if($(el).hasClass('nogroup')){group="";}else{group=group||data.group||'';} 31var width=data.width||s.width;var height=data.height||s.height;$.each(['src','title','caption','group','width','height'],function(i,k){delete data[k];});if(/\d/.test(width)){width=parseInt(width);} 32if(/\d/.test(height)){height=parseInt(height);} 33$.extend(o,{src:src,title:title,caption:caption,group:group,width:width,height:height,params:data,auto:auto,type:type});el.href=el.href.replace(/&type=(ajax|text\/html|text\/xml)/,'');return o;},create:function(elements){var self=this,s=this.settings,pageload=false,auto=false;if(!elements){pageload=true;this.popups=[];if(s.legacy===1){MediaBox.Convert.legacy();} 34if(s.lightbox===1){MediaBox.Convert.lightbox();} 35if(s.shadowbox===1){MediaBox.Convert.shadowbox();}} 36this.elements=elements||this.getPopups();$(this.elements).removeClass('jcelightbox jcebox jcepopup').addClass('wfpopup').each(function(i){var o=self.process(this);self.popups.push(o);if(!pageload){i=self.popups.length-1;} 37$(this).attr('class',function(i,v){return v.replace(/icon-(top|right|bottom|left|center)(-(top|right|bottom|left|center))?/,'wf-icon-zoom-$1$2');});if(s.icons===1){var $img=$('img:first',this).wrap('<span class="wf-icon-zoom-image" />');if($img.length){var styles={};var flt=$img.css('float');if(flt&&flt!=="none"){$img.parent().css('float',flt);$img.css('float','');} 38$.each(['top','right','bottom','left'],function(i,pos){var m=$img.css('margin-'+pos),p=$img.css('padding-'+pos);if(m&&/\d/.test(m)&&parseInt(m)>0){$img.parent().css('margin-'+pos,m);} 39if(p&&/\d/.test(p)&&parseInt(p)>
390){$img.parent().css('padding-'+pos,p);} 40$.each(['width','style','color'],function(i,prop){styles['border-'+pos+'-'+prop]=$img.css('border-'+pos+'-'+prop);});});$img.css({'margin':'','padding':'','border':''});$(this).addClass('wf-zoom-image');}else{$(this).append('<i class="wf-icon-zoom-link" />');}} 41$(this).on('click',function(e){e.preventDefault();return self.start(o,i);});});},open:function(data,title,group,type,params){var i,x=0,o={};if(typeof data==="string"){$.extend(o,{'src':data,'title':title,'group':group,'type':type,'params':params});} 42if(typeof(data==='object')&&data.nodeName&&(data.nodeName==='A'||data.nodeName==='AREA')){i=$.inArray(this.elements,data);if(i>=0){o=this.popups[i];x=i;}else{var o=this.process(data);x=this.popups.push(o);x--;}} 43return this.start(o,x);},start:function(p,i){var n=0,items=[],len;if(this.build()){if(p.group){$.each(this.popups,function(x,o){if(o.group===p.group){len=items.push(o);if(i&&x===i){n=len-1;}}});if(!p.auto&&typeof i==="undefined"){items.push(p);n=items.length-1;}}else{items.push(p);} 44return this.show(items,n);}},build:function(){var self=this,s=this.settings;if($('.wf-mediabox').length===0){var $page=$('<div class="wf-mediabox" />').appendTo('body');if(!s.overlayopacity){$page.addClass('wf-mediabox-transition');} 45if(MediaBox.Env.ie6){$page.addClass('ie6');} 46if(MediaBox.Env.iOS){$page.addClass('ios');} 47if(s.overlay===1){$('<div class="wf-mediabox-overlay" />').appendTo($page).css('background-color',s.overlaycolor);} 48$page.append('<div class="wf-mediabox-frame"><div class="wf-mediabox-body" /></div>');$page.addClass('wf-mediabox-theme-'+s.theme);MediaBox.Addons.Theme.parse(s.theme,function(s){return self.translate(s);},'.wf-mediabox-body');$('.wf-mediabox-frame').children().hide();if(MediaBox.Env.iOS){$('.wf-mediabox-content').css('webkitOverflowScrolling','touch');} 49if(s.close===2){$('.wf-mediabox-frame').on('click',function(e){if(e.target&&e.target===this){self.close();}});} 50$('.wf-mediabox-close, .wf-mediabox-cancel').on('click',function(){self.close();});$('.wf-mediabox-next').on('click',function(){self.nextItem();});$('.wf-mediabox-prev').on('click',function(){self.previousItem();});$('.wf-mediabox-numbers').data('html',$('.wf-mediabox-numbers').html());if(!s.overlayopacity){$page.addClass('wf-mediabox-open');}} 51return true;},show:function(items,n){var top=0,s=this.settings;this.items=items;this.bind(true);$('.wf-mediabox-body').show();if(MediaBox.Env.ie6||s.scrolling==='scroll'){if(!/\d/.test($('.wf-mediabox-body').css('top'))){top=($(window).height()-$('.wf-mediabox-body').outerHeight())/2;} 52$('.wf-mediabox').css('position','absolute');$('.wf-mediabox-overlay').css('height',$(document).height());$('.wf-mediabox-body').css('top',$(document).scrollTop()+top);} 53if(s.overlay===1&&$('.wf-mediabox-overlay').length&&s.overlayopacity){$('.wf-mediabox-overlay').css('opacity',0).animate({'opacity':parseFloat(s.overlayopacity)},s.fadespeed);} 54return this.change(n);},bind:function(open){var self=this,s=this.settings;if(MediaBox.Env.ie6){$('select').each(function(el){if(open){el.tmpStyle=el.style.visibility||'';} 55el.style.visibility=open?'hidden':el.tmpStyle;});} 56if(s.hideobjects){$('object, embed').not('.wf-mediabox-object').each(function(el){if(open){el.tmpStyle=el.style.visibility||'';} 57el.style.visibility=open?'hidden':el.tmpStyle;});} 58var scroll=s.scrollpopup;if(open){$(document).on('keydown.wf-mediabox',function(e){self.addListener(e);});if(MediaBox.Env.ie6){$(window).on('scroll.wf-mediabox',function(e){$('.wf-mediabox-overlay').height('height',$(document).height());});$(window).on('scroll.wf-mediabox',function(e){$('.wf-mediabox-overlay').width($(document).width());});} 59var xDown,yDown;$('.wf-mediabox-body').on('touchstart',function(e){if(e.originalEvent.touches.length!==1||self.items.length===1){return;} 60xDown=e.originalEvent.touches[0].clientX;yDown=e.originalEvent.touches[0].clientY;}).on('touchmove',function(e){if(!xDown||!yDown){return;} 61if(e.originalEvent.touches.length!==1||self.items.length===1){return;} 62var xUp=e.originalEvent.touches[0].clientX;var yUp=e.originalEvent.touches[0].clientY;var xDiff=xDown-xUp;var yDiff=yDown-yUp;if(Math.abs(xDiff)>Math.abs(yDiff)){if(xDiff>0){self.nextItem();}else{self.previousItem();} 63e.preventDefault();} 64xDown=null;yDown=null;});}else{if(MediaBox.Env.ie6||!scroll){$(window).off('scroll.wf-mediabox');$(window).off('resize.wf-mediabox');} 65$(document).off('keydown.wf-mediabox');}
66var resize=MediaBox.Tools.debounce(function(){var w=Math.floor($('.wf-mediabox-content').width()*($('.wf-mediabox-frame').height()-20)/$('.wf-mediabox-body').height());w=Math.min(w,parseInt($('.wf-mediabox-content').css('max-width')));$('.wf-mediabox-body').css('max-width',w);$('.wf-mediabox-content > div').css('height',function(i,v){if(this.style.height){return $('.wf-mediabox-frame').height();} 67return"";});},100);$(window).on('resize.wf-mediabox, orientationchange.wf-mediabox',resize);},calculateWidth:function(cw,ch){var ph=$('.wf-mediabox-body').height(),wh=$('.wf-mediabox-frame').height()-20;cw=cw||$('.wf-mediabox-content').width();ch=ch||$('.wf-mediabox-content').height();var mh=ph-$('.wf-mediabox-content').height();ph=mh+ch;return Math.min(cw,Math.floor(cw*Math.min(wh/ph,1)));},addListener:function(e){switch(e.keyCode){case 27:this.close();break;case 37:this.previousItem();break;case 39:this.nextItem();break;}},queue:function(n){var self=this,s=this.settings;var changed=false;var callback=function(){if(!changed){changed=true;$('.wf-mediabox-content').removeClass('fade-in').animate({'opacity':0},s.fadespeed,function(){return self.change(n);});}};callback();},nextItem:function(){if(this.items.length===1) 68return false;var n=this.index+1;if(n<0||n>=this.items.length){return false;} 69return this.queue(n);},previousItem:function(){if(this.items.length===1) 70return false;var n=this.index-1;if(n<0||n>=this.items.length){return false;} 71return this.queue(n);},info:function(){var popup=this.items[this.index];if($('.wf-mediabox-caption').length){var title=popup.title||'',text=popup.caption||'',h='';var ex='([-!#$%&\'\*\+\\./0-9=?A-Z^_`a-z{|}~]+@[-!#$%&\'\*\+\\/0-9=?A-Z^_`a-z{|}~]+\.[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+)';var ux='((news|telnet|nttp|file|http|ftp|https)://[-!#$%&\'\*\+\\/0-9=?A-Z^_`a-z{|}~]+\.[-!#$%&\'\*\+\\./0-9=?A-Z^_`a-z{|}~]+)';function processRe(h){h=h.replace(new RegExp(ex,'g'),'<a href="mailto:$1" target="_blank" title="$1">$1</a>');h=h.replace(new RegExp(ux,'g'),'<a href="$1" target="_blank" title="$1">$1</a>');return h;} 72title=decodeURIComponent(title);text=decodeURIComponent(text);if(title.indexOf('::')!==-1){var parts=title.split('::');title=$.trim(parts[0]);text=$.trim(parts[1]);} 73if(title){h+='<h4>'+MediaBox.Entities.decode(title)+'</h4>';} 74if(text){h+='<p>'+MediaBox.Entities.decode(text)+'</p>';} 75$('.wf-mediabox-caption').html(h);if(!h){$('.wf-mediabox-caption').hide();}else{$('.wf-mediabox-caption').find(':not(a)').each(function(){var s=$(this).text();if(s&&/(@|:\/\/)/.test(s)){if(s=processRe(s)){$(this).parent().html(s);}}});$('.wf-mediabox-caption').show();}} 76var self=this,len=this.items.length;if($('.wf-mediabox-numbers').length&&len>1){var html=$('.wf-mediabox-numbers').data('html')||"{{numbers}}";if(html.indexOf('{{numbers}}')!==-1){$('.wf-mediabox-numbers').empty().append('<ul />');for(var i=0;i<len;i++){var n=i+1;if(len>5&&i>1&&i<len-1&&this.index!==i){continue;} 77var title=this.items[i].title||n;var link=$('<a href="#" title="'+title+'" />').addClass((this.index==i)?'active':'').html(n);$('<li />').append(link).appendTo($('ul','.wf-mediabox-numbers'));$(link).on('click',function(e){var x=parseInt(e.target.innerHTML)-1;if(self.index==x){return false;} 78return self.queue(x);});if(len>5&&i===1){$('.wf-mediabox-numbers').append('<span>...</span>');}}} 79if(html.indexOf('{{current}}')!==-1){$('.wf-mediabox-numbers').html(html.replace('{{current}}',this.index+1).replace('{{total}}',len));}}else{$('.wf-mediabox-numbers').empty();} 80$('.wf-mediabox-info-top, .wf-mediabox-info-bottom').show();$('.wf-mediabox-next, .wf-mediabox-prev').hide();if(len>1){if(this.index>0){$('.wf-mediabox-prev').show();}else{$('.wf-mediabox-prev').hide();} 81if(this.index<len-1){$('.wf-mediabox-next').show();}else{$('.wf-mediabox-next').hide();}}},change:function(n){var self=this,s=this.settings;var p={},popup,w,h;if(n<0||n>=this.items.length){return false;} 82this.index=n;$('.wf-mediabox-container, .wf-mediabox-cancel').show();$('.wf-mediabox-container').addClass('wf-mediabox-loading');popup=this.items[n];var type="error";var html="";var plugin=MediaBox.Addons.Plugin.getPlugin(popup);if(plugin){html=plugin.html(popup);type=plugin.type;if(!popup.width&&plugin.width){popup.width=plugin.width;} 83if(!popup.height&&plugin.height){popup.height=plugin.height;}} 84$('[class*="wf-mediabox-content-"]','.wf-mediabox-content').remove();$('<div class="wf-mediabox-content-'+type+'" />').append(html).prependTo('.wf-mediabox-content');this.items[n]=popup;self.setup();return false;},setup:function(){this.info();if(MediaBox.Env.ie){$('.wf-mediabox-content img').css('-ms-interpolation-mode','bicubic');} 85return this.animate();},showInfo:function(){var self=this;$('.wf-mediabox-info-top, .wf-mediabox-info-bottom').addClass('wf-info-show');},animate:function(){var self=this,s=this.settings,ss=s.scalespeed,fs=s.fadespeed;var popup=this.items[this.index];var cw=popup.width||$('.wf-mediabox-body').width();var ch=popup.height||'';cw=MediaBox.Tools.parseWidth(cw);ch=MediaBox.Tools.parseHeight(ch);$('.wf-mediabox-body, .wf-mediabox-content').css('max-width',cw);$('.wf-mediabox-content').removeClass('wf-mediabox-broken-image wf-mediabox-broken-media');$('.wf-mediabox-content .wf-icon-404').removeClass('wf-icon-404');$('img, iframe, video, audio, object, embed','.wf-mediabox-content').on('load loadedmetadata',function(e){if(this.nodeName==="IMG"){var img=new Image();img.onload=function(){cw=popup.width||img.width;ch=popup.height||img.height;$('.wf-mediabox-container').removeClass('wf-mediabox-loading');$('.wf-mediabox-content').css('max-width',cw);var w=self.calculateWidth(cw,ch);$('.wf-mediabox-body').animate({'max-width':w},ss,function(){$('.wf-mediabox-content').animate({'opacity':1},fs).addClass('fade-in');});};img.src=popup.src;}else{$('.wf-mediabox-container').removeClass('wf-mediabox-loading');$('.wf-mediabox-content').animate({'opacity':1},fs).addClass('fade-in');}
86if(ch){$('.wf-mediabox-content > div').css('height',ch);} 87self.showInfo();}).error(function(e){var n=this;$('.wf-mediabox-container').removeClass('wf-mediabox-loading');$('.wf-mediabox-content').addClass(function(){return $(n).is('img')?"wf-mediabox-broken-image":"wf-mediabox-broken-media";}).animate({'opacity':1},fs).addClass('fade-in');$('.wf-mediabox-content > div').addClass('wf-icon-404');});var timer=setTimeout(function(){clearTimeout(timer);$('.wf-mediabox-content-object, .wf-mediabox-content-embed').parent('.wf-mediabox-content').animate({'opacity':1},fs).addClass('fade-in').parent('.wf-mediabox-container').removeClass('wf-mediabox-loading');},1000);$('img','.wf-mediabox-content').attr('src',popup.src);},close:function(keepopen){var self=this,s=this.settings;var ss=s.scalespeed,fs=s.fadespeed;$('iframe, video','.wf-mediabox-content').attr('src','');$('.wf-mediabox-content').empty();$('.wf-mediabox-close').hide();if(!keepopen){$('.wf-mediabox-info-bottom, .wf-mediabox-info-top').hide();var popups=this.getPopups();$('.wf-mediabox-frame').remove();if(s.overlayopacity){$('.wf-mediabox-overlay').animate({'opacity':0},fs,function(){$('.wf-mediabox').remove();});}else{var duration=$('.wf-mediabox-overlay').css('transition-duration');duration=(parseFloat(duration)*1000)||500;$('.wf-mediabox').removeClass('wf-mediabox-open');var timer=setTimeout(function(){$('.wf-mediabox').remove();clearTimeout(timer);},duration);}} 88return false;}};window.MediaBox=window.WFMediaBox=window.jcepopup=MediaBox;})(jQuery);(function(){var nav=navigator,userAgent=nav.userAgent;var opera,webkit,ie,ie6,gecko,mac,iDevice,Android,video,audio;opera=window.opera&&window.opera.buildNumber;webkit=/WebKit/.test(userAgent);ie=!webkit&&!opera&&(/MSIE/gi).test(userAgent)&&(/Explorer/gi).test(nav.appName);ie=ie&&/MSIE (\w+)\./.exec(userAgent)[1];ie6=ie&&!window.XMLHttpRequest;gecko=!webkit&&/Gecko/.test(userAgent);mac=userAgent.indexOf('Mac')!=-1;iDevice=/(iPad|iPhone)/.test(userAgent);Android=/Android/.test(userAgent);video=(function(){var el=document.createElement('video'),o={};try{if(!!el.canPlayType){o.ogg=el.canPlayType('video/ogg; codecs="theora"');var h264='video/mp4; codecs="avc1.42E01E';o.mp4=el.canPlayType(h264+'"')||el.canPlayType(h264+', mp4a.40.2"');o.webm=el.canPlayType('video/webm; codecs="vp8, vorbis"');return o;}}catch(e){} 89return false;})();audio=(function(){var el=document.createElement('audio'),o={};try{if(!!el.canPlayType){o.ogg=el.canPlayType('audio/ogg; codecs="vorbis"');o.mp3=el.canPlayType('audio/mpeg;');o.wav=el.canPlayType('audio/wav; codecs="1"');o.m4a=el.canPlayType('audio/x-m4a;')||el.canPlayType('audio/aac;');o.webm=el.canPlayType('audio/webm; codecs="vp8, vorbis"');return o;}}catch(e){} 90return false;})();var Env={opera:opera,webkit:webkit,ie6:ie6,ie:ie,gecko:gecko,mac:mac,iOS:iDevice,android:Android,video:video,audio:audio};window.MediaBox.Env=Env;})();(function(){var entities={'\"':'"',"'":''','<':'<','>':'>','&':'&'};var Entities={encode:function(s){return(''+s).replace(/[<>&\"\']/g,function(c){return entities[c]||c;});},decode:function(s){var el;el=document.createElement("div");el.innerHTML=s;return el.innerHTML||s;}};window.MediaBox.Entities=Entities;})();(function($,Entities){var Parameter={parse:function(s){var a=[],x=[];if(typeof s==='string'){if(/^\{[\w\W]+\}$/.test(s)){return $.parseJSON(s);} 91if(/\w+\[[^\]]+\]/.test(s)){s=s.replace(/([\w]+)\[([^\]]+)\](;)?/g,function(a,b,c,d){return'"'+b+'":"'+Entities.encode($.trim(c))+'"'+(d?',':'');});return $.parseJSON('{'+s+'}');} 92if(s.indexOf('&')!==-1){x=s.split(/&(amp;)?/g);}else{x.push(s);}} 93if($.isArray(s)){x=s;} 94$.each(x,function(n,i){if(n){n=n.replace(/^([^\[]+)(\[|=|:)([^\]]*)(\]?)$/,function(a,b,c,d){if(d){if(!/[^0-9]/.test(d)){return'"'+b+'":'+parseInt(d);} 95return'"'+b+'":"'+Entities.encode($.trim(d))+'"';} 96return'';});if(n){a.push(n);}}});return $.parseJSON('{'+a.join(',')+'}');}};window.MediaBox.Parameter=Parameter;})(jQuery,MediaBox.Entities);(function(){if(!window.sessionStorage){window.sessionStorage={getItem:function(sKey){if(!sKey||!this.hasOwnProperty(sKey)){return null;} 97return unescape(document.cookie.replace(new RegExp("(?:^|.*;\\s*)"+escape(sKey).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*"),"$1"));},key:function(nKeyId){return unescape(document.cookie.replace(/\s*\=(?:.(?!;))*$/,"").split(/\s*\=(?:[^;](?!;))*[^;]?;\s*/)[nKeyId]);}
97,setItem:function(sKey,sValue){if(!sKey){return;} 98document.cookie=escape(sKey)+"="+escape(sValue)+"; path=/";this.length=document.cookie.match(/\=/g).length;},length:0,removeItem:function(sKey){if(!sKey||!this.hasOwnProperty(sKey)){return;} 99document.cookie=escape(sKey)+"=; path=/";this.length--;},hasOwnProperty:function(sKey){return(new RegExp("(?:^|;\\s*)"+escape(sKey).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=")).test(document.cookie);}};window.sessionStorage.length=(document.cookie.match(/\=/g)||window.sessionStorage).length;} 100var Storage={get:function(n){return sessionStorage.getItem(n);},set:function(n,v){return sessionStorage.setItem(n,v);}};window.MediaBox.Storage=Storage;})();(function(){var _keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function _utf8_encode(string){string=string.replace(/\r\n/g,"\n");var utftext="";for(var n=0;n<string.length;n++){var c=string.charCodeAt(n);if(c<128){utftext+=String.fromCharCode(c);} 101else if((c>127)&&(c<2048)){utftext+=String.fromCharCode((c>>6)|192);utftext+=String.fromCharCode((c&63)|128);} 102else{utftext+=String.fromCharCode((c>>12)|224);utftext+=String.fromCharCode(((c>>6)&63)|128);
102utftext+=String.fromCharCode((c&63)|128);}} 103return utftext;} 104function _utf8_decode(utftext){var string="";var i=0;var c=0,c1=0,c2=0;while(i<utftext.length){c=utftext.charCodeAt(i);if(c<128){string+=String.fromCharCode(c);i++;} 105else if((c>191)&&(c<224)){c1=utftext.charCodeAt(i+1);string+=String.fromCharCode(((c&31)<<6)|(c1&63));i+=2;} 106else{c1=utftext.charCodeAt(i+1);c2=utftext.charCodeAt(i+2);string+=String.fromCharCode(((c&15)<<12)|((c1&63)<<6)|(c2&63));i+=3;}} 107return string;} 108var Base64={encode:function(input){var output="";var chr1,chr2,chr3,enc1,enc2,enc3,enc4;var i=0;input=_utf8_encode(input);while(i<input.length){chr1=input.charCodeAt(i++);chr2=input.charCodeAt(i++);chr3=input.charCodeAt(i++);enc1=chr1>>2;enc2=((chr1&3)<<4)|(chr2>>4);enc3=((chr2&15)<<2)|(chr3>>6);enc4=chr3&63;if(isNaN(chr2)){enc3=enc4=64;}else if(isNaN(chr3)){enc4=64;} 109output=output+ 110_keyStr.charAt(enc1)+_keyStr.charAt(enc2)+ 111_keyStr.charAt(enc3)+_keyStr.charAt(enc4);} 112return output;},decode:function(input){var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");while(i<input.length){enc1=_keyStr.indexOf(input.charAt(i++));enc2=_keyStr.indexOf(input.charAt(i++));enc3=_keyStr.indexOf(input.charAt(i++));enc4=_keyStr.indexOf(input.charAt(i++));chr1=(enc1<<2)|(enc2>>4);chr2=((enc2&15)<<4)|(enc3>>2);chr3=((enc3&3)<<6)|enc4;output=output+String.fromCharCode(chr1);if(enc3!=64){output=output+String.fromCharCode(chr2);} 113if(enc4!=64){output=output+String.fromCharCode(chr3);}} 114output=_utf8_decode(output);return output;}};if(!window.btoa){window.btoa=Base64.encode;} 115if(!window.atob){window.atob=Base64.decode;}})();(function($,Parameter){var Convert={legacy:function(){$('a[href]').each(function(){if(/com_jce/.test(this.href)){var p,s,img;var oc=$(this).attr('onclick');if(oc){s=oc.replace(/'/g,"'").split("'");p=Parameter.parse(s[1]);var img=p.img||'';var title=p.title||'';} 116if(img){if(!/http:\/\//.test(img)){if(img.charAt(0)==='/'){img=img.substr(1);} 117img=JCEMediaBox.site.replace(/http:\/\/([^\/]+)/,'')+img;} 118$(this).attr({'href':img,'title':title.replace(/_/,' '),'onclick':''});$(this).addClass('jcepopup');}}});},lightbox:function(){$('a[rel*=lightbox]').addClass('jcepopup').each(function(){var r=this.rel.replace(/lightbox\[?([^\]]*)\]?/,function(a,b){if(b){return'group['+b+']';} 119return'';});$(this).attr('rel',r);});},shadowbox:function(){$('a[rel*=shadowbox]').addClass('jcepopup').each(function(){var r=this.rel.replace(/shadowbox\[?([^\]]*)\]?/,function(a,b){var attribs='',group='';if(b){group='group['+b+']';} 120if(/;=/.test(a)){attribs=a.replace(/=([^;"]+)/g,function(x,z){return'['+z+']';});} 121if(group&&attribs){return group+';'+attribs;} 122return group||attribs||'';});$(this).attr('rel',r);});}};window.MediaBox.Convert=Convert;})(jQuery,MediaBox.Parameter);(function($){function Addons(){var self=this;self.items=[];self.lookup={};} 123Addons.prototype={add:function(id,addOn){this.items.push(addOn);this.lookup[id]={instance:addOn};return addOn;},get:function(name){if(name&&this.lookup[name]){return this.lookup[name].instance;} 124return this.lookup;}};Addons.Plugin=new Addons();Addons.Theme=new Addons();Addons.Plugin.getPlugin=function(v,n){var o,s,r,k;s=this.get(n);$.each(s,function(k,o){var p=o.instance,c=new p(v);if(c&&c.is(v)){r=c;return false;}});return r;};Addons.Theme.parse=function(name,translate,parent){var theme=this.get(name),data;if(typeof theme!=="function"){theme=this.get("standard");} 125data=new theme();if(!data){return;} 126if(!parent){parent=document.createElement('div');} 127if(!translate){translate=function(s){return s;};} 128function createNode(o,el){$.each(o,function(k,v){if(typeof v==="string"){v=translate(v);if(k==="text"){$(el).html(v);}else{$(el).attr(k,v);}}else{if($.isArray(v)){createNode(v,el);}else if(typeof k==="string"){var node=document.createElement(k);$(el).append(node);createNode(v,node);}else{createNode(v,el);}}});} 129createNode(data,parent);return parent;};window.MediaBox.Addons=Addons;window.MediaBox.Plugin=Addons.Plugin;window.MediaBox.Theme=Addons.Theme;})(jQuery);(function($){var Tools={};function now(){return new Date().getTime();} 130Tools.debounce=function(func,wait,immediate){var timeout,args,context,timestamp,result;var later=function(){var last=now()-timestamp;if(last<wait&&last>0){timeout=setTimeout(later,wait-last);}else{timeout=null;if(!immediate){result=func.apply(context,args);if(!timeout) 131context=args=null;}}};return function(){context=this;args=arguments;timestamp=now();var callNow=immediate&&!timeout;if(!timeout) 132timeout=setTimeout(later,wait);if(callNow){result=func.apply(context,args);context=args=null;} 133return result;};};Tools.resize=function(w,h,x,y){if(w>x){h=h*(x/w);w=x;if(h>y){w=w*(y/h);h=y;}}else if(h>y){w=w*(y/h);h=y;
133if(w>x){h=h*(x/w);w=x;}} 134w=Math.round(w);h=Math.round(h);return{width:Math.round(w),height:Math.round(h)};};Tools.parseWidth=function(w){if(/%/.test(w)){w=Math.floor($(window).width()*parseInt(w)/100);} 135if(/\d/.test(w)){w=parseInt(w);} 136return w;};Tools.parseHeight=function(h){if(/%/.test(h)){h=Math.floor($(window).height()*parseInt(h)/100);} 137if(/\d/.test(h)){h=parseInt(h);} 138return h;};window.MediaBox.Tools=Tools;})(jQuery);(function($,WFMediaBox){function createObject(data,embed){delete data.group;delete data.title;delete data.caption;delete data.width;delete data.height;var attribs=['id','name','style','codebase','classid','type','data'];var html='<object ';for(var n in data){if(attribs.indexOf(n)!==-1&&typeof data[n]==="string"){html+=' '+n+'="'+decodeURIComponent(data[n])+'"';delete data[n];}} 139html+='>';for(var n in data){if(typeof data[n]==="string"){html+=' <param name="'+n+'" value="'+decodeURIComponent(data[n])+'" />';}} 140if(embed){html+='<embed';for(var n in data){if(typeof data[n]==="string"){html+=' '+n+'="'+decodeURIComponent(data[n])+'"';}} 141html+='></embed>';} 142html+='</object>';return html;} 143function createIframe(src){return'<iframe src="'+src+'" frameborder="0" scrolling="0" allowfullscreen="allowfullscreen" />';} 144WFMediaBox.Plugin.add('flash',function(){this.type="object";this.html=function(data){data.type="application/x-shockwave-flash";data.data=data.src;return $(createObject(data,true));};this.is=function(data){return/\.swf\b/.test(data.src);};});WFMediaBox.Plugin.add('flv',function(){this.type="object";this.html=function(data){var swf=WFMediaBox.settings.mediaplayer||'plugins/system/jcemediabox/mediaplayer/mediaplayer.swf';data.type="application/x-shockwave-flash";data.data=WFMediaBox.resolveMediaPath(swf);data.flashvars='src='+WFMediaBox.resolveMediaPath(data.src,true);if(typeof data.controls==="undefined"){data.controls="true";} 145data.flashvars+='&controls='+data.controls;delete data.src;delete data.controls;return $(createObject(data));};this.is=function(data){return/\.(flv|f4v)\b/.test(data.src);};});WFMediaBox.Plugin.add('dailymotion',function(){this.is=function(data){return/dai\.?ly(motion)/.test(data.src);};function processURL(s){var u='https://dailymotion.com/embed/video/';var m=s.match(/dai\.?ly(motion)?(.+)?\/(swf|video)?\/?([a-z0-9]+)_?/);if(m){u+=m[4];} 146return u;} 147this.width=480;this.type="iframe";this.html=function(data){return $(createIframe(processURL(data.src)));};});WFMediaBox.Plugin.add('quicktime',function(){var n;this.html=function(data){data.type="video/quicktime";data.classid="clsid:02bf25d5-8c17-4b23-bc80-d3488abddc6b";data.codebase="https://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0";return $(createObject(data));};this.type="object";this.width=853;this.is=function(data){return/\.(mov)\b/.test(data.src);};});WFMediaBox.Plugin.add('windowsmedia',function(){this.type="object";this.html=function(data){data.type="application/x-mplayer2";data.classid="clsid:6bf52a52-394a-11d3-b153-00c04f79faa6";data.codebase="https://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701";return $(createObject(data,true));};this.is=function(data){return/\.(wmv|avi)\b/.test(data.src);};});WFMediaBox.Plugin.add('youtube',function(){var self=this;this.is=function(data){return/youtu(\.)?be([^\/]+)?\/(.+)/.test(data.src);};function processURL(v){v=v.replace(/youtu(\.)?be([^\/]+)?\/(.+)/,function(a,b,c,d){d=d.replace(/(watch\?v=|v\/|embed\/)/,'');if(b&&!c){c='.com';} 148return'youtube'+c+'/embed/'+d;});v=v.replace(/\/\/youtube/i,'//www.youtube');v=v.replace(/^http:\/\//,'https://');v+='?html5=1';return v;} 149this.width=560;this.type="iframe";this.html=function(data){return $(createIframe(processURL(data.src)));};});WFMediaBox.Plugin.add('vimeo',function(){this.is=function(data){return/vimeo\.com\/(\w+\/)?(\w+\/)?([0-9]+)/.test(data.src);};function processURL(s){s=s.replace(/(player\/)?vimeo\.com\/(\w+\/)?(\w+\/)?([0-9]+)/,function(a,b,c,d,e){if(b){return a;} 150return'player.vimeo.com/video/'+e;});s=s.replace(/^http:\/\//,'https://');return s;} 151this.width=500;this.type="iframe";this.html=function(data){return $(createIframe(processURL(data.src)));};});WFMediaBox.Plugin.add('image',function(){this.type="image";this.html=function(data){return'<img src="" class="wf-mediabox-img" alt="'+decodeURIComponent(data.title||"")+'" />';};this.is=function(data){return data.type==="image"||/\.(jpg|jpeg|png|gif|bmp|tif)$/i.test(data.src);};});WFMediaBox.Plugin.add('video',function(){this.type="video";this.html=function(data){var attribs=['src="'+data.src+'"','class="wf-mediabox-video"'],n;var params=data.params||{};for(n in params){attribs.push(n+'="'+params[n]+'"');} 152if(!params.autoplay){attribs.push('controls');} 153if(data.width){attribs.push('width="'+data.width+'"');} 154if(data.height){attribs.push('height="'+data.height+'"');} 155return'<video '+attribs.join(' ')+'></video>';};this.is=function(data){return(/video\/(mp4|mpeg|webm|ogg)/.test(data.type)||/\.(mp4|webm|ogg)\b/.test(data.src))&&WFMediaBox.Env.video;};});WFMediaBox.Plugin.add('pdf',function(){this.type="iframe";this.html=function(data){return $('<iframe src="'+data.src+'" frameborder="0" />');};this.height='100%';this.is=function(data){return data.type==="pdf"||/\.pdf$/i.test(data.src);};});WFMediaBox.Plugin.add('content',function(){function islocal(s){if(
155/^(\w+:)?\/\//.test(s)){return new RegExp('^('+WFMediaBox.settings.site+')').test(s);}else{return true;}} 156this.type="ajax";this.html=function(data){var html="";var src=data.src;if(islocal(src)&&src.indexOf('tmpl=component')===-1){src+=/\?/.test(src)?'&tmpl=component':'?tmpl=component';} 157var iframe=$('<iframe src="'+src+'" />').load(function(){var n=this,html=this.contentWindow.document.body.innerHTML;$(this).parent().append(html);window.setTimeout(function(){$(n).remove();},10);WFMediaBox.create(WFMediaBox.getPopups('',$(this).parent()));});return iframe;};this.is=function(data){return data.type==="ajax"||data.type==="text/html";};});WFMediaBox.Plugin.add('dom',function(){this.type="dom";this.html=function(data){var node=$(data.src);if(node){return $(node).get(0).outerHTML;} 158return"";};this.is=function(data){return data.type==="dom";};});WFMediaBox.Plugin.add('iframe',function(){this.type="iframe";this.html=function(data){return $('<iframe src="'+data.src+'" frameborder="0" />');};this.is=function(data){return!data.type||data.type==="iframe";};});})(jQuery,WFMediaBox);WFMediaBox.Theme.add("bootstrap",function(){return[{"div":{"class":"wf-mediabox-container modal","content":[{"div":{"class":"wf-mediabox-loader"}},{"div":{"class":"modal-header","content":[{"button":{"type":"button","class":"close wf-mediabox-close","text":"×"},"h3":{"class":"wf-mediabox-caption"}}]}},{"div":{"class":"wf-mediabox-content modal-body carousel","content":[{"a":{"class":"left carousel-control wf-mediabox-prev","href":"#","text":"‹"}},{"a":{"class":"right carousel-control wf-mediabox-next","href":"#","text":"›"}}]}}]}}];});WFMediaBox.Theme.add("light",function(){return[{"div":{"class":"wf-mediabox-container","content":[{"div":{"class":"wf-mediabox-loader"}},{"div":{"class":"wf-mediabox-content"}},{"a":{"class":"wf-mediabox-next","href":"#","title":"{{next}}"}},{"a":{"class":"wf-mediabox-prev","href":"#","title":"{{previous}}"}}]}},{"div":{"class":"wf-mediabox-info-bottom","content":[{"a":{"class":"wf-mediabox-close","href":"#","title":"{{close}}","text":"{{close}}"}},{"div":{"class":"wf-mediabox-caption"}},{"div":{"class":"wf-mediabox-nav","content":[{"span":{"class":"wf-mediabox-numbers","text":"{{numbers_count}}"}}]}}]}}];});WFMediaBox.Theme.add("shadow",function(){return[{"div":{"class":"wf-mediabox-info-top","content":[{"div":{"class":"wf-mediabox-caption"}}]}},{"div":{"class":"wf-mediabox-container","content":[{"div":{"class":"wf-mediabox-loader","content":[{"a":{"class":"wf-mediabox-cancel","href":"#","title":"{{cancel}}","text":"{{cancel}}"}}]}},{"div":{"class":"wf-mediabox-content"}}]}},{"div":{"class":"wf-mediabox-info-bottom","content":[{"div":{"class":"wf-mediabox-nav","content":[{"span":{"class":"wf-mediabox-numbers","text":"{{numbers}}"}},{"a":{"class":"wf-mediabox-close","href":"#","title":"{{close}}"}},{"a":{"class":"wf-mediabox-next","href":"#","title":"{{next}}"}},{"a":{"class":"wf-mediabox-prev","href":"#","title":"{{previous}}"}}]}}]}}];});WFMediaBox.Theme.add("squeeze",function(){return[{"div":{"class":"wf-mediabox-container","content":[{"a":{"class":"wf-mediabox-close wf-icon-close-squeeze","href":"#","title":"{{close}}"}},{"div":{"class":"wf-mediabox-loader"}},{"div":{"class":"wf-mediabox-content"}}]}},{"div":{"class":"wf-mediabox-info-bottom","content":[{"div":{"class":"wf-mediabox-caption"}},{"div":{"class":"wf-mediabox-nav","content":[{"a":{"class":"wf-mediabox-prev wf-icon-prev-squeeze","href":"#","title":"{{previous}}"}},{"a":{"class":"wf-mediabox-next wf-icon-next-squeeze","href":"#","title":"{{next}}"}},{"span":{"class":"wf-mediabox-numbers","text":"{{numbers}}"}}]}}]}}];});WFMediaBox.Theme.add("standard",function(){return[{"div":{"class":"wf-mediabox-container","content":[{"div":{"class":"wf-mediabox-loader"}},{"div":{"class":"wf-mediabox-content","content":""}},{"div":{"class":"wf-mediabox-info-bottom","content":[{"a":{"class":"wf-mediabox-close wf-icon-close-standard","href":"#","title":"{{close}}"}},{"div":{"class":"wf-mediabox-caption"}},{"div":{"class":"wf-mediabox-nav","content":[{"a":{"class":"wf-mediabox-prev wf-icon-prev-standard","href":"#","title":"{{previous}}"}},{"a":{"class":"wf-mediabox-next wf-icon-next-standard","href":"#","title":"{{next}}"}},{"span":{"class":"wf-mediabox-numbers","text":"{{numbers}}"}}]}}]}}]}}];});WFMediaBox.Theme.add("uikit",function(){return[{"div":{"class":"wf-mediabox-container uk-modal-dialog uk-modal-dialog-lightbox uk-slidenav-position","content":[{"a":{"href":"#","class":"wf-mediabox-close uk-modal-close uk-close uk-close-alt"}},{"div":{"class":"wf-mediabox-content uk-lightbox-content","content":[{"a":{"href":"#","class":"wf-mediabox-prev uk-slidenav uk-slidenav-contrast uk-slidenav-previous uk-hidden-touch"}},{"a":{"href":"#","class":"wf-mediabox-next uk-slidenav uk-slidenav-contrast uk-slidenav-next uk-hidden-touch"}}]}},{"div":{"class":"uk-modal-spinner wf-mediabox-loader"}},{"div":{"class":"wf-mediabox-caption uk-modal-caption"}}]}}];});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.