1var SF_DEBUG = true; 2 3;(function (window) { 4 var transitions = { 5 'transition': 'transitionend', 6 'WebkitTransition': 'webkitTransitionEnd', 7 'MozTransition': 'transitionend', 8 'OTransition': 'otransitionend' 9 }, 10 elem = document.createElement('div'); 11 12 for (var t in transitions) { 13 if (typeof elem.style[t] !== 'undefined') { 14 window.transitionEnd = transitions[t]; 15 break; 16 } 17 } 18 if (!window.transitionEnd) window.transitionEnd = false; 19})(window); 20 21/*! jquery.finger - v0.1.4 - 2015-12-02 22 * https://github.com/ngryman/jquery.finger 23 * Copyright (c) 2015 Nicolas Gryman; Licensed MIT */ 24!function (a) { 25 "function" == typeof define && define.amd ? define(["jquery"], a) : a("object" == typeof exports ? require("jquery") : jQuery) 26}(function (a) { 27 function b(c) { 28 c.preventDefault(), a.event.remove(v, "click", b) 29 } 30 31 function c(a, b) { 32 return (q ? b.originalEvent.touches[0] : b)["page" + a.toUpperCase()] 33 } 34 35 function d(c, d, e) { 36 var h = a.Event(d, x); 37 a.event.trigger(h, {originalEvent: c}, c.target), h.isDefaultPrevented() && (~d.indexOf("tap") && !q ? a.event.add(v, "click", b) : c.preventDefault()), e && (a.event.remove(v, t + "." + u, f), a.event.remove(v, s + "." + u, g)) 38 } 39 40 function e(e) { 41 var l = e.timeStamp || +new Date; 42 j != l && (j = l, w.x = x.x = c("x", e), w.y = x.y = c("y", e), w.time = l, w.target = e.target, x.orientation = null, x.end = !1, h = !1, i = !1, k = setTimeout(function () { 43 i = !0, d(e, "press") 44 }, y.pressDuration), a.event.add(v, t + "." + u, f), a.event.add(v, s + "." + u, g), y.preventDefault && (e.preventDefault(), a.event.add(v, "click", b))) 45 } 46 47 function f(b) { 48 if (x.x = c("x", b), x.y = c("y", b), x.dx = x.x - w.x, x.dy = x.y - w.y, x.adx = Math.abs(x.dx), x.ady = Math.abs(x.dy), h = x.adx > y.motionThreshold || x.ady > y.motionThreshold) { 49 for (clearTimeout(k), x.orientation || (x.adx > x.ady ? (x.orientation = "horizontal", x.direction = x.dx > 0 ? 1 : -1) : (x.orientation = "vertical", x.direction = x.dy > 0 ? 1 : -1)); b.target && b.target !== w.target;)b.target = b.target.parentNode; 50 return b.target !== w.target ? (b.target = w.target, void g.call(this, a.Event(s + "." + u, b))) : void d(b, "drag") 51 } 52 } 53 54 function g(a) { 55 var b, c = a.timeStamp || +new Date, e = c - w.time; 56 if (clearTimeout(k), h || i || a.target !== w.target)a.target = w.target, e < y.flickDuration && d(a, "flick"), x.end = !0, b = "drag"; else { 57 var f = l === a.target && c - m < y.doubleTapInterval; 58 b = f ? "doubletap" : "tap", l = f ? null : w.target, m = c 59 } 60 d(a, b, !0) 61 } 62 63 var h, i, j, k, l, m, n = navigator.userAgent, o = /chrome/i.exec(n), p = /android/i.exec(n), q = "ontouchstart" in window && !(o && !p), r = q ? "touchstart" : "mousedown", s = q ? "touchend touchcancel" : "mouseup mouseleave", t = q ? "touchmove" : "mousemove", u = "finger", v = a("html")[0], w = {}, x = {}, y = a.Finger = { 64 pressDuration: 300, 65 doubleTapInterval: 300, 66 flickDuration: 150, 67 motionThreshold: 20 68 }; 69 return a.event.add(v, r + "." + u, e), a.each("tap doubletap press drag flick".split(" "), function (b, c) { 70 a.fn[c] = function (a) { 71 return a ? this.on(c, a) : this.trigger(c) 72 } 73 }), y 74}); 75 76/*jquery.mb.YTPlayer 29-01-2019 77 _ jquery.mb.components 78 _ email: [email protected] 79 _ Copyright (c) 2001-2019. Matteo Bicocchi (Pupunzi); 80 _ blog: http://pupunzi.open-lab.com 81 _ Open Lab s.r.l., Florence - Italy 82 */ 83 84var ytp=ytp||{};function onYouTubeIframeAPIReady(){ytp.YTAPIReady||(ytp.YTAPIReady=!0,jQuery(document).trigger("YTAPIReady"))}var getYTPVideoID=function(e){var r,t;return 0<e.indexOf("youtu.be")||0<e.indexOf("youtube.com/embed")?r=(t=0<(r=e.substr(e.lastIndexOf("/")+1,e.length)).indexOf("?list=")?r.substr(r.lastIndexOf("="),r.length):null)?r.substr(0,r.lastIndexOf("?")):r:t=-1<e.indexOf("http")?(r=e.match(/[\\?&]v=([^&#]*)/)[1],0<e.indexOf("list=")?e.match(/[\\?&]list=([^&#]*)/)[1]:null):(r=15<e.length?null:e)?null:e,{videoID:r,playlistID:t}};function iOSversion(){if(/iP(hone|od|ad)/.test(navigator.platform)){var e=navigator.appVersion.match(/OS (\d+)_(\d+)_?(\d+)?/);return[parseInt(e[1],10),parseInt(e[2],10),parseInt(e[3]||0,10)]}}!function(jQuery,ytp){jQuery.mbYTPlayer={name:"jquery.mb.YTPlayer",version:"3.2.9",build:"7414",author:"Matteo Bicocchi (pupunzi)",apiKey:"",defaults:{videoURL:null,containment:"body",ratio:"auto",fadeOnStartTime:1500,startAt:0,stopAt:0,autoPlay:!0,coverImage:!1,loop:!0,addRaster:!1,mask:!1,opacity:1,qual
84ity:"default",vol:50,mute:!1,showControls:!0,anchor:"center,center",showAnnotations:!1,cc_load_policy:!1,showYTLogo:!0,useOnMobile:!0,mobileFallbackImage:null,playOnlyIfVisible:!1,onScreenPercentage:30,stopMovieOnBlur:!0,realfullscreen:!0,optimizeDisplay:!0,abundance:.3,gaTrack:!0,remember_last_time:!1,addFilters:!1,onReady:function(e){},onError:function(e,r){}},controls:{play:"P",pause:"p",mute:"M",unmute:"A",onlyYT:"O",showSite:"R",ytLogo:"Y"},controlBar:null,locationProtocol:"https:",defaultFilters:{grayscale:{value:0,unit:"%"},hue_rotate:{value:0,unit:"deg"},invert:{value:0,unit:"%"},opacity:{value:0,unit:"%"},saturate:{value:0,unit:"%"},sepia:{value:0,unit:"%"},brightness:{value:0,unit:"%"},contrast:{value:0,unit:"%"},blur:{value:0,unit:"px"}},buildPlayer:function(options){if(ytp.YTAPIReady||void 0!==window.YT)setTimeout(function(){jQuery(document).trigger("YTAPIReady"),ytp.YTAPIReady=!0},100);else{jQuery("#YTAPI").remove();var tag=jQuery("<script><\/script>").attr({src:jQuery.mbYTPlayer.locationProtocol+"//www.youtube.com/iframe_api?v="+jQuery.mbYTPlayer.version,id:"YTAPI"});jQuery("head").prepend(tag)}function isIframe(){var r=!1;try{self.location.href!=top.location.href&&(r=!0)}catch(e){r=!0}return r}return this.each(function(){var YTPlayer=this,$YTPlayer=jQuery(YTPlayer);$YTPlayer.hide(),YTPlayer.loop=0,YTPlayer.state=0,YTPlayer.filters=jQuery.extend(!0,{},jQuery.mbYTPlayer.defaultFilters),YTPlayer.filtersEnabled=!0,YTPlayer.id=YTPlayer.id||"YTP_"+(new Date).getTime(),$YTPlayer.addClass("mb_YTPlayer");var property=$YTPlayer.data("property")&&"string"==typeof $YTPlayer.data("property")?eval("("+$YTPlayer.data("property")+")"):$YTPlayer.data("property");"object"!=typeof property&&(property={}),YTPlayer.opt=jQuery.extend(!0,{},jQuery.mbYTPlayer.defaults,YTPlayer.opt,options,property),YTPlayer.opt.elementId=YTPlayer.id,0===YTPlayer.opt.vol&&(YTPlayer.opt.vol=1,YTPlayer.opt.mute=!0),YTPlayer.opt.autoPlay&&0==YTPlayer.opt.mute&&jQuery.mbBrowser.chrome&&(jQuery(document).one("mousedown.YTPstart",function(){$YTPlayer.YTPPlay()}),console.info("YTPlayer info: On Webkit browsers you can not autoplay the video if the audio is on.")),YTPlayer.opt.loop&&"boolean"==typeof YTPlayer.opt.loop&&(YTPlayer.opt.loop=9999);var fullScreenAvailable=document.fullscreenEnabled||document.webkitFullscreenEnabled||document.mozFullScreenEnabled||document.msFullscreenEnabled;YTPlayer.opt.realfullscreen=!(isIframe()||!fullScreenAvailable)&&YTPlayer.opt.realfullscreen,YTPlayer.opt.showAnnotations=YTPlayer.opt.showAnnotations?"1":"3",YTPlayer.opt.cc_load_policy=YTPlayer.opt.cc_load_policy?"1":"0",YTPlayer.opt.coverImage=YTPlayer.opt.coverImage||YTPlayer.opt.backgroundImage,jQuery.mbBrowser.msie&&jQuery.mbBrowser.version<9&&(YTPlayer.opt.opacity=1),YTPlayer.opt.containment="self"===YTPlayer.opt.containment?$YTPlayer:jQuery(YTPlayer.opt.containment),YTPlayer.isRetina=window.retina||1<window.devicePixelRatio,YTPlayer.opt.ratio="auto"===YTPlayer.opt.ratio?16/9:YTPlayer.opt.ratio,YTPlayer.opt.ratio=eval(YTPlayer.opt.ratio),YTPlayer.orig_containment_background=YTPlayer.opt.containment.css("background-image"),$YTPlayer.attr("id")||$YTPlayer.attr("id","ytp_"+(new Date).getTime()),YTPlayer.playerID="iframe_"+YTPlayer.id,YTPlayer.isAlone=!1,YTPlayer.hasFocus=!0,YTPlayer.videoID=YTPlayer.opt.videoURL?getYTPVideoID(YTPlayer.opt.videoURL).videoID:!!$YTPlayer.attr("href")&&getYTPVideoID($YTPlayer.attr("href")).videoID,YTPlayer.playlistID=YTPlayer.opt.videoURL?getYTPVideoID(YTPlayer.opt.videoURL).playlistID:!!$YTPlayer.attr("href")&&getYTPVideoID($YTPlayer.attr("href")).playlistID;var start_from_last=0;if(jQuery.mbCookie.get("YTPlayer_start_from"+YTPlayer.videoID)&&(start_from_last=parseFloat(jQuery.mbCookie.get("YTPlayer_start_from"+YTPlayer.videoID))),YTPlayer.opt.remember_last_time&&start_from_last&&(YTPlayer.start_from_last=start_from_last,jQuery.mbCookie.remove("YTPlayer_start_from"+YTPlayer.videoID)),YTPlayer.isPlayer=$YTPlayer.is(YTPlayer.opt.containment),YTPlayer.isBackground=YTPlayer.opt.containment.is("body"),!YTPlayer.isBackground||!ytp.backgroundIsInited){if(YTPlayer.isPlayer&&$YTPlayer.show(),YTPlayer.overlay=jQuery("<div/>").css({position:"absolute",top:0,left:0,width:"100%",height:"100%"}).addClass("YTPOverlay"),YTPlayer.opt.coverImage||"none"!=YTPlayer.orig_containment_background){var bgndURL=YTPlayer.opt.coverImage?"url("+YTPlayer.opt.coverImage+") center center"
84:YTPlayer.orig_containment_background;YTPlayer.opt.containment.css({background:bgndURL,backgroundColor:"#000",backgroundSize:"cover",backgroundRepeat:"no-repeat"})}YTPlayer.wrapper=jQuery("<div/>").attr("id","wrapper_"+YTPlayer.id).css({position:"absolute",zIndex:0,minWidth:"100%",minHeight:"100%",left:0,top:0,overflow:"hidden",opacity:0}).addClass("mbYTP_wrapper"),YTPlayer.isPlayer&&(YTPlayer.inlinePlayButton=jQuery("<div/>").addClass("inlinePlayButton").html(jQuery.mbYTPlayer.controls.play),$YTPlayer.append(YTPlayer.inlinePlayButton),YTPlayer.inlinePlayButton.on("click",function(e){$YTPlayer.YTPPlay(),e.stopPropagation()}),YTPlayer.opt.autoPlay&&YTPlayer.inlinePlayButton.hide(),YTPlayer.overlay.on("click",function(){$YTPlayer.YTPTogglePlay()}).css({cursor:"pointer"}));var playerBox=jQuery("<div/>").attr("id",YTPlayer.playerID).addClass("playerBox");if(playerBox.css({position:"absolute",zIndex:0,width:"100%",height:"100%",top:0,left:0,overflow:"hidden",opacity:1}),YTPlayer.wrapper.append(playerBox),playerBox.after(YTPlayer.overlay),YTPlayer.isPlayer&&(YTPlayer.inlineWrapper=jQuery("<div/>").addClass("inline-YTPlayer"),YTPlayer.inlineWrapper.css({position:"relative",maxWidth:YTPlayer.opt.containment.css("width")}),YTPlayer.opt.containment.css({position:"relative",paddingBottom:"56.25%",overflow:"hidden",height:0}),YTPlayer.opt.containment.wrap(YTPlayer.inlineWrapper)),YTPlayer.opt.containment.children().not("script, style").each(function(){"static"==jQuery(this).css("position")&&jQuery(this).css("position","relative")}),YTPlayer.isBackground?(jQuery("body").css({boxSizing:"border-box"}),YTPlayer.wrapper.css({position:"fixed",top:0,left:0,zIndex:0})):"static"==YTPlayer.opt.containment.css("position")&&(YTPlayer.opt.containment.css({position:"relative"}),$YTPlayer.show()),YTPlayer.opt.containment.prepend(YTPlayer.wrapper),YTPlayer.isBackground||YTPlayer.overlay.on("mouseenter",function(){YTPlayer.controlBar&&YTPlayer.controlBar.length&&YTPlayer.controlBar.addClass("visible")}).on("mouseleave",function(){YTPlayer.controlBar&&YTPlayer.controlBar.length&&YTPlayer.controlBar.removeClass("visible")}),jQuery.mbBrowser.mobile&&!YTPlayer.opt.useOnMobile)return YTPlayer.opt.mobileFallbackImage&&(YTPlayer.wrapper.css({backgroundImage:"url("+YTPlayer.opt.mobileFallbackImage+")",backgroundPosition:"center center",backgroundSize:"cover",backgroundRepeat:"no-repeat",opacity:1}),YTPlayer.wrapper.css({opacity:1})),$YTPlayer;jQuery.mbBrowser.mobile&&YTPlayer.opt.autoPlay&&YTPlayer.opt.useOnMobile&&jQuery("body").one("touchstart",function(){YTPlayer.player.playVideo()}),jQuery(document).one("YTAPIReady",function(){$YTPlayer.trigger("YTAPIReady_"+YTPlayer.id),ytp.YTAPIReady=!0}),YTPlayer.isOnScreen=jQuery.mbYTPlayer.isOnScreen(YTPlayer,YTPlayer.opt.onScreenPercentage),$YTPlayer.one("YTAPIReady_"+YTPlayer.id,function(){var o=this,t=jQuery(o);o.isBackground&&ytp.backgroundIsInited||o.isInit||(o.isBackground&&(ytp.backgroundIsInited=!0),o.opt.autoPlay=void 0===o.opt.autoPlay?!!o.isBackground:o.opt.autoPlay,o.opt.vol=o.opt.vol?o.opt.vol:100,jQuery.mbYTPlayer.getDataFromAPI(o),jQuery(o).on("YTPChanged",function(e){if(!o.isInit){o.isInit=!0;var r={host:'https://www.youtube-nocookie.com',modestbranding:1,autoplay:0,controls:0,showinfo:0,rel:0,enablejsapi:1,version:3,playerapiid:o.playerID,origin:"*",allowfullscreen:!0,wmode:"transparent",iv_load_policy:o.opt.showAnnotations,cc_load_policy:o.opt.cc_load_policy,playsinline:jQuery.mbBrowser.mobile?1:0,html5:document.createElement("video").canPlayType?1:0};new YT.Player(o.playerID,{playerVars:r,host:'https://www.youtube-nocookie.com',events:{onReady:function(e){o.player=e.target,o.player.loadVideoById({videoId:o.videoID.toString(),suggestedQuality:o.opt.quality}),t.trigger("YTPlayerIsReady_"+o.id)},onStateChange:function(e){if("function"==typeof e.target.getPlayerState){var r=e.target.getPlayerState();if(o.preventTrigger||o.isStarting)o.preventTrigger=!1;else{var t;switch(o.state=r,e.data==YT.PlayerState.PLAYING&&e.target.setPlaybackQuality(o.opt.quality),r){case-1:t="YTPUnstarted";break;case 0:t="YTPRealEnd";break;case 1:t="YTPPlay",o.controlBar.length&&o.controlBar.find(".mb_YTPPlayPause").html(jQuery.mbYTPlayer.controls.pause),o.isPlayer&&o.inlinePlayButton.hide(),jQuery(document).off("mousedown.YTPstart");break;case 2:t="YTPPause",o.controlBar.length&&o.controlBar.find(".mb_YTPPlayPause").html(jQuery.mbYTPlayer.controls.play),o.isPlayer&&o.inlinePlayButton.show();break;
84case 3:o.player.setPlaybackQuality(o.opt.quality),t="YTPBuffering",o.controlBar.length&&o.controlBar.find(".mb_YTPPlayPause").html(jQuery.mbYTPlayer.controls.play);break;case 5:t="YTPCued"}var a=jQuery.Event(t);a.time=o.currentTime,jQuery(o).trigger(a)}}},onPlaybackQualityChange:function(e){var r=e.target.getPlaybackQuality(),t=jQuery.Event("YTPQualityChange");t.quality=r,jQuery(o).trigger(t)},onError:function(e){switch("function"==typeof o.opt.onError&&o.opt.onError(t,e),e.data){case 2:console.error("video ID:: "+o.videoID+": The request contains an invalid parameter value. For example, this error occurs if you specify a video ID that does not have 11 characters, or if the video ID contains invalid characters, such as exclamation points or asterisks.");break;case 5:console.error("video ID:: "+o.videoID+": The requested content cannot be played in an HTML5 player or another error related to the HTML5 player has occurred.");break;case 100:console.error("video ID:: "+o.videoID+": The video requested was not found. This error occurs when a video has been removed (for any reason) or has been marked as private.");break;case 101:case 150:console.error("video ID:: "+o.videoID+": The owner of the requested video does not allow it to be played in embedded players.")}o.isList&&jQuery(o).YTPPlayNext()}}}),t.on("YTPlayerIsReady_"+o.id,function(){if(o.isReady)return this;o.playerEl=o.player.getIframe(),jQuery(o.playerEl).unselectable(),t.optimizeDisplay(),jQuery(window).off("resize.YTP_"+o.id).on("resize.YTP_"+o.id,function(){t.optimizeDisplay()}),o.opt.remember_last_time&&jQuery(window).on("unload.YTP_"+o.id,function(){var e=o.player.getCurrentTime();jQuery.mbCookie.set("YTPlayer_start_from"+o.videoID,e,0)}),t.YTPCheckForState()})}}))}),$YTPlayer.off("YTPTime.mask"),jQuery.mbYTPlayer.applyMask(YTPlayer)}})},isOnScreen:function(e,r){r=r||10;var t=e.wrapper,a=jQuery(window).scrollTop(),o=a+jQuery(window).height(),n=t.height()*r/100,i=t.offset().top+n;return t.offset().top+(t.height()-n)<=o&&a<=i},getDataFromAPI:function(n){n.videoData=jQuery.mbStorage.get("YTPlayer_data_"+n.videoID),n.videoData?(setTimeout(function(){n.dataReceived=!0;var e=jQuery.Event("YTPChanged");e.time=n.currentTime,e.videoId=n.videoID,e.opt=n.opt,jQuery(n).trigger(e);var r=jQuery.Event("YTPData");for(var t in r.prop={},n.videoData)r.prop[t]=n.videoData[t];jQuery(n).trigger(r)},n.opt.fadeOnStartTime),n.hasData=!0):jQuery.mbYTPlayer.apiKey?jQuery.getJSON(jQuery.mbYTPlayer.locationProtocol+"//www.googleapis.com/youtube/v3/videos?id="+n.videoID+"&key="+jQuery.mbYTPlayer.apiKey+"&part=snippet",function(e){n.dataReceived=!0;var r,t=jQuery.Event("YTPChanged");t.time=n.currentTime,t.videoId=n.videoID,jQuery(n).trigger(t),e.items[0]?(r=e.items[0].snippet,n.videoData={},n.videoData.id=n.videoID,n.videoData.channelTitle=r.channelTitle,n.videoData.title=r.title,n.videoData.description=r.description.length<400?r.description:r.description.substring(0,400)+" ...",n.videoData.thumb_max=r.thumbnails.maxres?r.thumbnails.maxres.url:null,n.videoData.thumb_high=r.thumbnails.high?r.thumbnails.high.url:null,n.videoData.thumb_medium=r.thumbnails.medium?r.thumbnails.medium.url:null,jQuery.mbStorage.set("YTPlayer_data_"+n.videoID,n.videoData),n.hasData=!0):(n.videoData={},n.hasData=!1);var a=jQuery.Event("YTPData");for(var o in a.prop={},n.videoData)a.prop[o]=n.videoData[o];jQuery(n).trigger(a)}):(setTimeout(function(){var e=jQuery.Event("YTPChanged");e.time=n.currentTime,e.videoId=n.videoID,jQuery(n).trigger(e)},10),n.videoData=null),n.opt.ratio="auto"==n.opt.ratio?16/9:n.opt.ratio,n.isPlayer&&!n.opt.autoPlay&&(n.loading=jQuery("<div/>").addClass("loading").html("Loading").hide(),jQuery(n).append(n.loading),n.loading.fadeIn())},removeStoredData:function(){jQuery.mbStorage.remove()},getVideoData:function(){return this.get(0).videoData},getVideoID:function(){return this.get(0).videoID||!1},getPlaylistID:function(){return this.get(0).playlistID||!1},setVideoQuality:function(e){var r=this.get(0);return jQuery(r).YTPPause(),r.opt.quality=e,r.player.setPlaybackQuality(e),jQuery(r).YTPPlay(),this},getVideoQuality:function(){return this.get(0).player.getPlaybackQuality()},playlist:function(e,r,t){var a=this.get(0);return a.isList=!0,r&&(e=jQuery.shuffle(e)),a.videoID||(a.videos=e,a.videoCounter=1,a.videoLength=e.length,jQuery(a).data("property",e[0]),jQuery(a).YTPlayer()),"function"==typeof t&&jQuery(a).one("YTPChanged",function(){t(a)}),jQuery(a).on("YTPEnd",function(){jQuery(a).YTPPlayNext()}),this},playNext:function(){var e=this.get(0);return e.videoCounter++,e.videoCounter>
84e.videoLength&&(e.videoCounter=1),jQuery(e).YTPPlayIndex(e.videoCounter),this},playPrev:function(){var e=this.get(0);return e.videoCounter--,e.videoCounter<=0&&(e.videoCounter=e.videoLength),jQuery(e).YTPPlayIndex(e.videoCounter),this},playIndex:function(e){var r=this.get(0);r.checkForStartAt&&(clearInterval(r.checkForStartAt),clearInterval(r.getState)),r.videoCounter=e,r.videoCounter>=r.videoLength&&(r.videoCounter=r.videoLength);var t=r.videos[r.videoCounter-1];return jQuery(r).YTPChangeVideo(t),this},changeVideo:function(e){var r=this,t=r.get(0);t.opt.startAt=0,t.opt.stopAt=0,t.opt.mask=!1,t.opt.mute=!0,t.opt.autoPlay=!0,t.opt.addFilters=!1,t.opt.coverImage=!1,t.hasData=!1,t.hasChanged=!0,t.player.loopTime=void 0,e&&jQuery.extend(t.opt,e),t.videoID=getYTPVideoID(t.opt.videoURL).videoID,t.opt.loop&&"boolean"==typeof t.opt.loop&&(t.opt.loop=9999),t.wrapper.css({background:"none"}),jQuery(t.playerEl).CSSAnimate({opacity:0},t.opt.fadeOnStartTime,function(){jQuery.mbYTPlayer.getDataFromAPI(t),r.YTPGetPlayer().loadVideoById({videoId:t.videoID,suggestedQuality:t.opt.quality}),r.YTPPause(),r.optimizeDisplay(),r.YTPCheckForState()});var a=jQuery.Event("YTPChangeVideo");return a.time=t.currentTime,jQuery(t).trigger(a),jQuery.mbYTPlayer.applyMask(t),this},getPlayer:function(){var e=this.get(0);return e.isReady&&e.player||null},playerDestroy:function(){var e=this.get(0);return e.isReady&&(ytp.YTAPIReady=!0,ytp.backgroundIsInited=!1,e.isInit=!1,e.videoID=null,e.isReady=!1,e.wrapper.remove(),jQuery("#controlBar_"+e.id).remove(),clearInterval(e.checkForStartAt),clearInterval(e.getState)),this},fullscreen:function(real){var YTPlayer=this.get(0);void 0===real&&(real=eval(YTPlayer.opt.realfullscreen));var controls=jQuery("#controlBar_"+YTPlayer.id),fullScreenBtn=controls.find(".mb_OnlyYT"),videoWrapper=YTPlayer.isPlayer?YTPlayer.opt.containment:YTPlayer.wrapper;if(real){var fullscreenchange=jQuery.mbBrowser.mozilla?"mozfullscreenchange":jQuery.mbBrowser.webkit?"webkitfullscreenchange":"fullscreenchange";jQuery(document).off(fullscreenchange).on(fullscreenchange,function(){RunPrefixMethod(document,"IsFullScreen")||RunPrefixMethod(document,"FullScreen")?(jQuery(YTPlayer).YTPSetVideoQuality("default"),jQuery(YTPlayer).trigger("YTPFullScreenStart")):(YTPlayer.isAlone=!1,fullScreenBtn.html(jQuery.mbYTPlayer.controls.onlyYT),jQuery(YTPlayer).YTPSetVideoQuality(YTPlayer.opt.quality),videoWrapper.removeClass("YTPFullscreen"),videoWrapper.CSSAnimate({opacity:YTPlayer.opt.opacity},YTPlayer.opt.fadeOnStartTime),videoWrapper.css({zIndex:0}),YTPlayer.isBackground?jQuery("body").after(controls):YTPlayer.wrapper.before(controls),jQuery(window).resize(),jQuery(YTPlayer).trigger("YTPFullScreenEnd"))})}if(YTPlayer.isAlone)jQuery(document).off("mousemove.YTPlayer"),clearTimeout(YTPlayer.hideCursor),YTPlayer.overlay.css({cursor:"auto"}),real?cancelFullscreen():(videoWrapper.CSSAnimate({opacity:YTPlayer.opt.opacity},YTPlayer.opt.fadeOnStartTime),videoWrapper.css({zIndex:0})),fullScreenBtn.html(jQuery.mbYTPlayer.controls.onlyYT),YTPlayer.isAlone=!1;else{function hideMouse(){YTPlayer.overlay.css({cursor:"none"})}jQuery(document).on("mousemove.YTPlayer",function(e){YTPlayer.overlay.css({cursor:"auto"}),clearTimeout(YTPlayer.hideCursor),jQuery(e.target).parents().is(".mb_YTPBar")||(YTPlayer.hideCursor=setTimeout(hideMouse,3e3))}),hideMouse(),real?(videoWrapper.css({opacity:0}),videoWrapper.addClass("YTPFullscreen"),launchFullscreen(videoWrapper.get(0)),setTimeout(function(){videoWrapper.CSSAnimate({opacity:1},2*YTPlayer.opt.fadeOnStartTime),videoWrapper.append(controls),jQuery(YTPlayer).optimizeDisplay(),YTPlayer.player.seekTo(YTPlayer.player.getCurrentTime()+.1,!0)},YTPlayer.opt.fadeOnStartTime)):videoWrapper.css({zIndex:1e4}).CSSAnimate({opacity:1},2*YTPlayer.opt.fadeOnStartTime),fullScreenBtn.html(jQuery.mbYTPlayer.controls.showSite),YTPlayer.isAlone=!0}function RunPrefixMethod(e,r){for(var t,a,o=["webkit","moz","ms","o",""],n=0;n<o.length&&!e[t];){if(t=r,""==o[n]&&(t=t.substr(0,1).toLowerCase()+t.substr(1)),"undefined"!=(a=typeof e[t=o[n]+t]))return o=[o[n]],"function"==a?e[t]():e[t];n++}}function launchFullscreen(e){RunPrefixMethod(e,"RequestFullScreen")}function cancelFullscreen(){(RunPrefixMethod(document,"FullScreen")||RunPrefixMethod(document,"IsFullScreen"))&&RunPrefixMethod(document,"CancelFullScreen")}return this},toggleLoops:function(){var e=this.get(0),r=e.opt;return 1==r.loop?r.loop=0:(r.startAt?e.player.seekTo(r.startAt):e.player.playVideo(),r.loop=1),this},play:function(){var e=this.get(0),r=jQuery(e);return e.isReady&&(setTimeout(function(){r.YTPSetAbundance(e.opt.abundance)},300),e.player.playVideo(),jQuery(e.playerEl).css({opacity:1}),e.wrapper.css({backgroundImage:"none"}),e.wrapper.CSSAnimate({opacity:e.isAlone?1:e.opt.opacity}
84,e.opt.fadeOnStartTime),jQuery("#controlBar_"+e.id).find(".mb_YTPPlayPause").html(jQuery.mbYTPlayer.controls.pause),e.state=1),this},togglePlay:function(e){var r=this.get(0);return r.isReady&&(1==r.state?this.YTPPause():this.YTPPlay(),"function"==typeof e&&e(r.state)),this},stop:function(){var e=this.get(0);return e.isReady&&(jQuery("#controlBar_"+e.id).find(".mb_YTPPlayPause").html(jQuery.mbYTPlayer.controls.play),e.player.stopVideo()),this},pause:function(){var e=this.get(0);return e.isReady&&(e.opt.abundance<.2&&this.YTPSetAbundance(.2),e.player.pauseVideo(),e.state=2),this},seekTo:function(e){var r=this.get(0);return r.isReady&&r.player.seekTo(e,!0),this},setVolume:function(e){var r=this.get(0);return r.isReady&&(r.opt.vol=e,this.YTPUnmute(),r.player.setVolume(r.opt.vol),r.volumeBar&&r.volumeBar.length&&r.volumeBar.updateSliderVal(e)),this},getVolume:function(){var e=this.get(0);return e.isReady?e.player.getVolume():this},toggleVolume:function(){var e=this.get(0);return e.isReady&&(e.isMute?(jQuery.mbBrowser.mobile||this.YTPSetVolume(e.opt.vol),this.YTPUnmute()):this.YTPMute()),this},mute:function(){var e=this.get(0);if(!e.isReady)return this;if(e.isMute)return this;e.player.mute(),e.isMute=!0,e.player.setVolume(0),e.volumeBar&&e.volumeBar.length&&10<e.volumeBar.width()&&e.volumeBar.updateSliderVal(0),jQuery("#controlBar_"+e.id).find(".mb_YTPMuteUnmute").html(jQuery.mbYTPlayer.controls.unmute),jQuery(e).addClass("isMuted"),e.volumeBar&&e.volumeBar.length&&e.volumeBar.addClass("muted");var r=jQuery.Event("YTPMuted");return r.time=e.currentTime,e.preventTrigger||jQuery(e).trigger(r),this},unmute:function(){var e=this.get(0);if(!e.isReady)return this;if(!e.isMute)return this;e.player.unMute(),e.isMute=!1,jQuery(e).YTPSetVolume(e.opt.vol),e.volumeBar&&e.volumeBar.length&&e.volumeBar.updateSliderVal(10<e.opt.vol?e.opt.vol:10),jQuery("#controlBar_"+e.id).find(".mb_YTPMuteUnmute").html(jQuery.mbYTPlayer.controls.mute),jQuery(e).removeClass("isMuted"),e.volumeBar&&e.volumeBar.length&&e.volumeBar.removeClass("muted");var r=jQuery.Event("YTPUnmuted");return r.time=e.currentTime,e.preventTrigger||jQuery(e).trigger(r),this},applyFilter:function(e,r){var t=this.get(0);if(!t.isReady)return this;t.filters[e].value=r,t.filtersEnabled&&this.YTPEnableFilters()},applyFilters:function(e){var r=this,t=r.get(0);if(!t.isReady)return this;if(!t.isReady)return jQuery(t).on("YTPReady",function(){r.YTPApplyFilters(e)}),this;for(var a in e)r.YTPApplyFilter(a,e[a]);r.trigger("YTPFiltersApplied")},toggleFilter:function(e,r){var t=this.get(0);return t.isReady&&(t.filters[e].value?t.filters[e].value=0:t.filters[e].value=r,t.filtersEnabled&&jQuery(t).YTPEnableFilters()),this},toggleFilters:function(e){var r=this.get(0);return r.isReady&&(r.filtersEnabled?(jQuery(r).trigger("YTPDisableFilters"),jQuery(r).YTPDisableFilters()):(jQuery(r).YTPEnableFilters(),jQuery(r).trigger("YTPEnableFilters")),"function"==typeof e&&e(r.filtersEnabled)),this},disableFilters:function(){var e=this.get(0);if(!e.isReady)return this;var r=jQuery(e.playerEl);return r.css("-webkit-filter",""),r.css("filter",""),e.filtersEnabled=!1,this},enableFilters:function(){var e=this.get(0);if(!e.isReady)return this;var r=jQuery(e.playerEl),t="";for(var a in e.filters)e.filters[a].value&&(t+=a.replace("_","-")+"("+e.filters[a].value+e.filters[a].unit+") ");return r.css("-webkit-filter",t),r.css("filter",t),e.filtersEnabled=!0,this},removeFilter:function(e,r){var t=this.get(0);if(!t.isReady)return this;if("function"==typeof e&&(r=e,e=null),e)this.YTPApplyFilter(e,0),"function"==typeof r&&r(e);else{for(var a in t.filters)this.YTPApplyFilter(a,0);"function"==typeof r&&r(a),t.filters=jQuery.extend(!0,{},jQuery.mbYTPlayer.defaultFilters)}var o=jQuery.Event("YTPFiltersApplied");return this.trigger(o),this},getFilters:function(){var e=this.get(0);return e.isReady?e.filters:this},addMask:function(e){var r=this.get(0);if(!r.isReady)return this;e||(e=r.actualMask);var t=jQuery("<img/>").attr("src",e).on("load",function(){r.overlay.CSSAnimate({opacity:0}
84,r.opt.fadeOnStartTime,function(){r.hasMask=!0,t.remove(),r.overlay.css({backgroundImage:"url("+e+")",backgroundRepeat:"no-repeat",backgroundPosition:"center center",backgroundSize:"cover"}),r.overlay.CSSAnimate({opacity:1},r.opt.fadeOnStartTime)})});return this},removeMask:function(){var e=this.get(0);return e.isReady&&e.overlay.CSSAnimate({opacity:0},e.opt.fadeOnStartTime,function(){e.hasMask=!1,e.overlay.css({backgroundImage:"",backgroundRepeat:"",backgroundPosition:"",backgroundSize:""}),e.overlay.CSSAnimate({opacity:1},e.opt.fadeOnStartTime)}),this},applyMask:function(t){var a=jQuery(t);if(!t.isReady)return this;if(a.off("YTPTime.mask"),t.opt.mask)if("string"==typeof t.opt.mask)a.YTPAddMask(t.opt.mask),t.actualMask=t.opt.mask;else if("object"==typeof t.opt.mask){for(var e in t.opt.mask)if(t.opt.mask[e])jQuery("<img/>").attr("src",t.opt.mask[e]);t.opt.mask[0]&&a.YTPAddMask(t.opt.mask[0]),a.on("YTPTime.mask",function(e){for(var r in t.opt.mask)e.time==r&&(t.opt.mask[r]?(a.YTPAddMask(t.opt.mask[r]),t.actualMask=t.opt.mask[r]):a.YTPRemoveMask())})}},toggleMask:function(){var e=this.get(0);if(!e.isReady)return this;var r=jQuery(e);return e.hasMask?r.YTPRemoveMask():r.YTPAddMask(),this},manageProgress:function(){var e=this.get(0),r=jQuery("#controlBar_"+e.id),t=r.find(".mb_YTPProgress"),a=r.find(".mb_YTPLoaded"),o=r.find(".mb_YTPseekbar"),n=t.outerWidth(),i=Math.floor(e.player.getCurrentTime()),l=Math.floor(e.player.getDuration()),s=i*n/l,u=100*e.player.getVideoLoadedFraction();return a.css({left:0,width:u+"%"}),o.css({left:0,width:s}),{totalTime:l,currentTime:i}},buildControls:function(YTPlayer){if(jQuery("#controlBar_"+YTPlayer.id).remove(),YTPlayer.opt.showControls){if(YTPlayer.opt.showYTLogo=YTPlayer.opt.showYTLogo||YTPlayer.opt.printUrl,!jQuery("#controlBar_"+YTPlayer.id).length){YTPlayer.controlBar=jQuery("<div/>").attr("id","controlBar_"+YTPlayer.id).addClass("mb_YTPBar").css({whiteSpace:"noWrap",position:YTPlayer.isBackground?"fixed":"absolute",zIndex:YTPlayer.isBackground?1e4:1e3}).hide().on("click",function(e){e.stopPropagation()});var buttonBar=jQuery("<div/>").addClass("buttonBar"),playpause=jQuery("<span>"+jQuery.mbYTPlayer.controls.play+"</span>").addClass("mb_YTPPlayPause ytpicon").on("click",function(e){e.stopPropagation(),jQuery(YTPlayer).YTPTogglePlay()}),MuteUnmute=jQuery("<span>"+jQuery.mbYTPlayer.controls.mute+"</span>").addClass("mb_YTPMuteUnmute ytpicon").on("click",function(e){e.stopPropagation(),jQuery(YTPlayer).YTPToggleVolume()}),volumeBar=jQuery("<div/>").addClass("mb_YTPVolumeBar").css({display:"inline-block"});YTPlayer.volumeBar=volumeBar;var idx=jQuery("<span/>").addClass("mb_YTPTime"),vURL=YTPlayer.opt.videoURL?YTPlayer.opt.videoURL:"";vURL.indexOf("http")<0&&(vURL=jQuery.mbYTPlayer.locationProtocol+"//www.youtube.com/watch?v="+YTPlayer.opt.videoURL);var movieUrl=jQuery("<span/>").html(jQuery.mbYTPlayer.controls.ytLogo).addClass("mb_YTPUrl ytpicon").attr("title","view on YouTube").on("click",function(){window.open(vURL,"viewOnYT")}),onlyVideo=jQuery("<span/>").html(jQuery.mbYTPlayer.controls.onlyYT).addClass("mb_OnlyYT ytpicon").on("click",function(e){e.stopPropagation(),jQuery(YTPlayer).YTPFullscreen(YTPlayer.opt.realfullscreen)}),progressBar=jQuery("<div/>").addClass("mb_YTPProgress").css("position","absolute").on("click",function(e){e.stopPropagation(),timeBar.css({width:e.clientX-timeBar.offset().left}),YTPlayer.timeW=e.clientX-timeBar.offset().left,YTPlayer.controlBar.find(".mb_YTPLoaded").css({width:0});var r=Math.floor(YTPlayer.player.getDuration());YTPlayer.goto=timeBar.outerWidth()*r/progressBar.outerWidth(),YTPlayer.player.seekTo(parseFloat(YTPlayer.goto),!0),YTPlayer.controlBar.find(".mb_YTPLoaded").css({width:0})}),loadedBar=jQuery("<div/>").addClass("mb_YTPLoaded").css("position","absolute"),timeBar=jQuery("<div/>").addClass("mb_YTPseekbar").css("position","absolute");progressBar.append(loadedBar).append(timeBar),buttonBar.append(playpause).append(MuteUnmute).append(volumeBar).append(idx),YTPlayer.opt.showYTLogo&&buttonBar.append(movieUrl),(YTPlayer.isBackground||eval(YTPlayer.opt.realfullscreen)&&!YTPlayer.isBackgroun
84d)&&buttonBar.append(onlyVideo),YTPlayer.controlBar.append(buttonBar).append(progressBar),YTPlayer.isBackground?jQuery("body").after(YTPlayer.controlBar):(YTPlayer.controlBar.addClass("inlinePlayer"),YTPlayer.wrapper.before(YTPlayer.controlBar)),volumeBar.simpleSlider({initialval:YTPlayer.opt.vol,scale:100,orientation:"h",callback:function(e){0==e.value?jQuery(YTPlayer).YTPMute():jQuery(YTPlayer).YTPUnmute(),YTPlayer.player.setVolume(e.value),YTPlayer.isMute||(YTPlayer.opt.vol=e.value)}})}}else YTPlayer.controlBar=!1},checkForState:function(){var YTPlayer=this.get(0),$YTPlayer=jQuery(YTPlayer);clearInterval(YTPlayer.getState);var interval=100;if(!jQuery.contains(document,YTPlayer))return $YTPlayer.YTPPlayerDestroy(),clearInterval(YTPlayer.getState),void clearInterval(YTPlayer.checkForStartAt);jQuery.mbYTPlayer.checkForStart(YTPlayer),YTPlayer.getState=setInterval(function(){var $YTPlayer=jQuery(YTPlayer);if(YTPlayer.isReady){var prog=jQuery(YTPlayer).YTPManageProgress(),stopAt=YTPlayer.opt.stopAt>YTPlayer.opt.startAt?YTPlayer.opt.stopAt:0;if(stopAt=stopAt<YTPlayer.player.getDuration()?stopAt:0,YTPlayer.currentTime!=prog.currentTime){var YTPEvent=jQuery.Event("YTPTime");YTPEvent.time=YTPlayer.currentTime,jQuery(YTPlayer).trigger(YTPEvent)}if(YTPlayer.currentTime=prog.currentTime,YTPlayer.totalTime=YTPlayer.player.getDuration(),0==YTPlayer.player.getVolume()?$YTPlayer.addClass("isMuted"):$YTPlayer.removeClass("isMuted"),YTPlayer.opt.showControls&&(prog.totalTime?YTPlayer.controlBar.find(".mb_YTPTime").html(jQuery.mbYTPlayer.formatTime(prog.currentTime)+" / "+jQuery.mbYTPlayer.formatTime(prog.totalTime)):YTPlayer.controlBar.find(".mb_YTPTime").html("-- : -- / -- : --")),eval(YTPlayer.opt.stopMovieOnBlur)&&(document.hasFocus()?document.hasFocus()&&!YTPlayer.hasFocus&&-1!=YTPlayer.state&&0!=YTPlayer.state&&(YTPlayer.hasFocus=!0,YTPlayer.preventTrigger=!0,$YTPlayer.YTPPlay()):1==YTPlayer.state&&(YTPlayer.hasFocus=!1,YTPlayer.preventTrigger=!0,$YTPlayer.YTPPause())),YTPlayer.opt.playOnlyIfVisible){var isOnScreen=jQuery.mbYTPlayer.isOnScreen(YTPlayer,YTPlayer.opt.onScreenPercentage);isOnScreen||1!=YTPlayer.state?isOnScreen&&!YTPlayer.isOnScreen&&(YTPlayer.isOnScreen=!0,YTPlayer.player.playVideo()):(YTPlayer.isOnScreen=!1,$YTPlayer.YTPPause())}if(YTPlayer.controlBar.length&&YTPlayer.controlBar.outerWidth()<=400&&!YTPlayer.isCompact?(YTPlayer.controlBar.addClass("compact"),YTPlayer.isCompact=!0,!YTPlayer.isMute&&YTPlayer.volumeBar&&YTPlayer.volumeBar.updateSliderVal(YTPlayer.opt.vol)):YTPlayer.controlBar.length&&400<YTPlayer.controlBar.outerWidth()&&YTPlayer.isCompact&&(YTPlayer.controlBar.removeClass("compact"),YTPlayer.isCompact=!1,!YTPlayer.isMute&&YTPlayer.volumeBar&&YTPlayer.volumeBar.updateSliderVal(YTPlayer.opt.vol)),0<YTPlayer.player.getPlayerState()&&(parseFloat(YTPlayer.player.getDuration()-.5)<YTPlayer.player.getCurrentTime()||0<stopAt&&parseFloat(YTPlayer.player.getCurrentTime())>stopAt)){if(YTPlayer.isEnded)return;if(YTPlayer.isEnded=!0,setTimeout(function(){YTPlayer.isEnded=!1},1e3),YTPlayer.isList){if(!YTPlayer.opt.loop||0<YTPlayer.opt.loop&&YTPlayer.player.loopTime===YTPlayer.opt.loop-1){YTPlayer.player.loopTime=void 0,clearInterval(YTPlayer.getState);var YTPEnd=jQuery.Event("YTPEnd");return YTPEnd.time=YTPlayer.currentTime,void jQuery(YTPlayer).trigger(YTPEnd)}}else if(!YTPlayer.opt.loop||0<YTPlayer.opt.loop&&YTPlayer.player.loopTime===YTPlayer.opt.loop-1){YTPlayer.player.loopTime=void 0,YTPlayer.state=2;var bgndURL=YTPlayer.opt.coverImage?"url("+YTPlayer.opt.coverImage+") center center":YTPlayer.orig_containment_background;return YTPlayer.opt.containment.css({background:bgndURL,backgroundSize:"cover"}),jQuery(YTPlayer).YTPPause(),void YTPlayer.wrapper.CSSAnimate({opacity:0}
84,YTPlayer.opt.fadeOnStartTime,function(){YTPlayer.controlBar.length&&YTPlayer.controlBar.find(".mb_YTPPlayPause").html(jQuery.mbYTPlayer.controls.play);var e=jQuery.Event("YTPEnd");e.time=YTPlayer.currentTime,jQuery(YTPlayer).trigger(e),YTPlayer.player.seekTo(YTPlayer.opt.startAt,!0);var r=YTPlayer.opt.coverImage?"url("+YTPlayer.opt.coverImage+") center center":YTPlayer.orig_containment_background;YTPlayer.opt.containment.css({background:r,backgroundSize:"cover"})})}YTPlayer.player.loopTime=YTPlayer.player.loopTime?++YTPlayer.player.loopTime:1,YTPlayer.opt.startAt=YTPlayer.opt.startAt||1,YTPlayer.preventTrigger=!0,YTPlayer.state=2,YTPlayer.player.seekTo(YTPlayer.opt.startAt,!0)}}},interval)},checkForStart:function(YTPlayer){var $YTPlayer=jQuery(YTPlayer);if(jQuery.contains(document,YTPlayer)){if(jQuery.mbYTPlayer.buildControls(YTPlayer),YTPlayer.overlay)if(YTPlayer.opt.addRaster){var classN="dot"==YTPlayer.opt.addRaster?"raster-dot":"raster";YTPlayer.overlay.addClass(YTPlayer.isRetina?classN+" retina":classN)}else YTPlayer.overlay.removeClass(function(e,r){var t=r.split(" "),a=[];return jQuery.each(t,function(e,r){/raster.*/.test(r)&&a.push(r)}),a.push("retina"),a.join(" ")});YTPlayer.preventTrigger=!0,YTPlayer.state=2,YTPlayer.preventTrigger=!0,YTPlayer.player.mute(),YTPlayer.player.playVideo(),YTPlayer.isStarting=!0;var startAt=YTPlayer.start_from_last?YTPlayer.start_from_last:YTPlayer.opt.startAt?YTPlayer.opt.startAt:1;return YTPlayer.preventTrigger=!0,YTPlayer.checkForStartAt=setInterval(function(){YTPlayer.player.mute(),YTPlayer.player.seekTo(startAt,!0);var canPlayVideo=YTPlayer.player.getVideoLoadedFraction()>=startAt/YTPlayer.player.getDuration();if(0<YTPlayer.player.getDuration()&&YTPlayer.player.getCurrentTime()>=startAt&&canPlayVideo){YTPlayer.start_from_last=null,YTPlayer.preventTrigger=!0,$YTPlayer.YTPPause(),clearInterval(YTPlayer.checkForStartAt),"function"==typeof YTPlayer.opt.onReady&&YTPlayer.opt.onReady(YTPlayer),YTPlayer.isReady=!0,$YTPlayer.YTPRemoveFilter(),YTPlayer.opt.addFilters?$YTPlayer.YTPApplyFilters(YTPlayer.opt.addFilters):$YTPlayer.YTPApplyFilters(),$YTPlayer.YTPEnableFilters();var YTPready=jQuery.Event("YTPReady");if(YTPready.time=YTPlayer.currentTime,$YTPlayer.trigger(YTPready),YTPlayer.state=2,YTPlayer.opt.mute?$YTPlayer.YTPMute():(YTPlayer.player.unMute(),YTPlayer.opt.autoPlay&&console.debug("To make the video 'auto-play' you must mute the audio according with the new vendor policy")),"undefined"!=typeof _gaq&&eval(YTPlayer.opt.gaTrack)?_gaq.push(["_trackEvent","YTPlayer","Play",YTPlayer.hasData?YTPlayer.videoData.title:YTPlayer.videoID.toString()]):"undefined"!=typeof ga&&eval(YTPlayer.opt.gaTrack)&&ga("send","event","YTPlayer","play",YTPlayer.hasData?YTPlayer.videoData.title:YTPlayer.videoID.toString()),YTPlayer.opt.autoPlay){var YTPStart=jQuery.Event("YTPStart");YTPStart.time=YTPlayer.currentTime,jQuery(YTPlayer).trigger(YTPStart),YTPlayer.isStarting=!1,"mac"==jQuery.mbBrowser.os.name&&jQuery.mbBrowser.safari&&jQuery("body").one("mousedown.YTPstart",function(){$YTPlayer.YTPPlay()}),$YTPlayer.YTPPlay()}else YTPlayer.preventTrigger=!0,$YTPlayer.YTPPause(),YTPlayer.start_from_last&&YTPlayer.player.seekTo(startAt,!0),setTimeout(function(){YTPlayer.preventTrigger=!0,$YTPlayer.YTPPause(),YTPlayer.isPlayer||(YTPlayer.opt.coverImage?(YTPlayer.wrapper.css({opacity:0}),setTimeout(function(){var e=YTPlayer.opt.coverImage?"url("+YTPlayer.opt.coverImage+") center center":YTPlayer.orig_containment_background;YTPlayer.wrapper.css({background:e,backgroundSize:"cover",backgroundRepeat:"no-repeat"})},YTPlayer.opt.fadeOnStartTime)):(jQuery(YTPlayer.playerEl).CSSAnimate({opacity:1},YTPlayer.opt.fadeOnStartTime),YTPlayer.wrapper.CSSAnimate({opacity:YTPlayer.isAlone?1:YTPlayer.opt.opacity},YTPlayer.opt.fadeOnStartTime))),YTPlayer.isStarting=!1},500),YTPlayer.controlBar.length&&YTPlayer.controlBar.find(".mb_YTPPlayPause").html(jQuery.mbYTPlayer.controls.play);YTPlayer.isPlayer&&!YTPlayer.opt.autoPlay&&YTPlayer.loading&&YTPlayer.loading.length&&(YTPlayer.loading.html("Ready"),setTimeout(function(){YTPlayer.loading.fadeOut()},100)),YTPlayer.controlBar&&YTPlayer.controlBar.length&&YTPlayer.controlBar.slideDown(1e3)}"mac"==jQuery.mbBrowser.os.name&&jQuery.mbBrowser.safari&&(YTPlayer.player.playVideo(),0<=startAt&&YTPlayer.player.seekTo(startAt,!0))},100),$YTPlayer}$YTPlayer.YTPPlayerDestroy()},getTime:function(){var e=this.get(0);return jQuery.mbYTPlayer.formatTime(e.currentTime)},getTotalTime:function(e){var r=this.get(0);return jQuery.mbYTPlayer.formatTime(r.totalTime)},formatTime:function(e){var r=Math.floor(e/60),t=Math.floor(e-60*r);return(r<=9?"0"+r:r)+" : "+(t<=9?"0"+t:t)},setAnchor:function(e){this.optimizeDisplay(e)},getAnchor:function(){return this.get(0).opt.anchor},setAbundance:function(e,r){var t=this.get(0);return r&&(t.opt.abundance=e),this.optimizeDisplay(t.opt.anchor,e),this},getAbundance:function(){return this.get(0).opt.abundance},setOption:function(e,r){var t=this.get(0);return t.opt[e]=r,this}},jQuery.fn.optimizeDisplay=function(anchor,abundanceX){var YTPlayer=this.get(0),vid={},el=YTPlayer.wrapper,iframe=jQuery(YTPlayer.playerEl);YTPlayer.opt.anchor=anchor||YTPlayer.opt.anchor,YTPlayer.opt.anchor="undefined "!=typeof YTPlayer.opt.anchor?YTPlayer.opt.anchor:"center,center";var YTPAlign=YTPlayer.opt.anchor.split(","),ab=abundanceX||YTPlayer.opt.abundance;if(YTPlayer.opt.optimizeDisplay){var abundance=el.height()*ab,win={};win.width=el.outerWidth(),win.height=el.outerHeight()+abundance,YTPlayer.opt.ratio="auto"===YTPlayer.opt.ratio?16/9:YTPlayer.opt.ratio,YTPlayer.opt.ratio=eval(YTPlayer.opt.ratio),vid.width=win.width+abundance,vid.height=Math.ceil(vid.width/YTPlayer.opt.ratio),vid.marginTop=Math.ceil(-(vid.height-win.height+abundance)/2),vid.marginLeft=-abundance/2;var lowest=vid.height<win.height;for(var a in lowest&&(vid.height=win.height+abundance,vid.width=Math.ceil(vid.height*YTPlayer.opt.ratio),vid.marginTop=-abundance/2,vid.marginLeft=Math.ceil(-(vid.width-win.width)/2)),YTPAlign)if(YTPAlign.hasOwnProperty(a)){var al=YTPAlign[a].replace(/ /g,"");switch(al){case"top":vid.marginTop=-abundance;break;case"bottom":vid.marginTop=Math.ceil(-(vid.height-win.height)-abundance/2);break;case"left":vid.marginLeft=-abundance;break;case"right":vid.marginLeft=Math.ceil(-(vid.width-win.width)+abundance/2)}}}else vid.width="100%",vid.height="100%",vid.marginTop=0,vid.marginLeft=0;iframe.css({width:vid.width,height:vid.height,marginTop:vid.marginTop,marginLeft:vid.marginLeft,maxWidth:"initial"})},jQuery.shuffle=function(e){for(var r=e.slice(),t=r.length,a=t;a--;){var o=parseInt(Math.random()*t),n=r[a];r[a]=r[o],r[o]=n}return r},jQuery.fn.unselectable=function(){return this.each(function(){jQuery(this).css({"-moz-user-select":"none","-webkit-user-select":"none","user-select":"none"}).attr("unselectable","on")})},jQuery.fn.YTPlayer=jQuery.mbYTPlayer.buildPlayer,jQuery.fn.mb_YTPlayer=jQuery.mbYTPlayer.buildPlayer,jQuery.fn.YTPCheckForState=jQuery.mbYTPlayer.checkForState,jQuery.fn.YTPGetPlayer=jQuery.mbYTPlayer.getPlayer,jQuery.fn.YTPGetVideoID=jQuery.mbYTPlayer.getVideoID,jQuery.fn.YTPGetPlaylistID=jQuery.mbYTPlayer.getPlaylistID,jQuery.fn.YTPChangeVideo=jQuery.fn.YTPChangeMovie=jQuery.mbYTPlayer.changeVideo,jQuery.fn.YTPPlayerDestroy=jQuery.mbYTPlayer.playerDe
84stroy,jQuery.fn.YTPPlay=jQuery.mbYTPlayer.play,jQuery.fn.YTPTogglePlay=jQuery.mbYTPlayer.togglePlay,jQuery.fn.YTPStop=jQuery.mbYTPlayer.stop,jQuery.fn.YTPPause=jQuery.mbYTPlayer.pause,jQuery.fn.YTPSeekTo=jQuery.mbYTPlayer.seekTo,jQuery.fn.YTPlaylist=jQuery.mbYTPlayer.playlist,jQuery.fn.YTPPlayNext=jQuery.mbYTPlayer.playNext,jQuery.fn.YTPPlayPrev=jQuery.mbYTPlayer.playPrev,jQuery.fn.YTPPlayIndex=jQuery.mbYTPlayer.playIndex,jQuery.fn.YTPMute=jQuery.mbYTPlayer.mute,jQuery.fn.YTPUnmute=jQuery.mbYTPlayer.unmute,jQuery.fn.YTPToggleVolume=jQuery.mbYTPlayer.toggleVolume,jQuery.fn.YTPSetVolume=jQuery.mbYTPlayer.setVolume,jQuery.fn.YTPGetVolume=jQuery.mbYTPlayer.getVolume,jQuery.fn.YTPGetVideoData=jQuery.mbYTPlayer.getVideoData,jQuery.fn.YTPFullscreen=jQuery.mbYTPlayer.fullscreen,jQuery.fn.YTPToggleLoops=jQuery.mbYTPlayer.toggleLoops,jQuery.fn.YTPManageProgress=jQuery.mbYTPlayer.manageProgress,jQuery.fn.YTPSetVideoQuality=jQuery.mbYTPlayer.setVideoQuality,jQuery.fn.YTPGetVideoQuality=jQuery.mbYTPlayer.getVideoQuality,jQuery.fn.YTPApplyFilter=jQuery.mbYTPlayer.applyFilter,jQuery.fn.YTPApplyFilters=jQuery.mbYTPlayer.applyFilters,jQuery.fn.YTPToggleFilter=jQuery.mbYTPlayer.toggleFilter,jQuery.fn.YTPToggleFilters=jQuery.mbYTPlayer.toggleFilters,jQuery.fn.YTPRemoveFilter=jQuery.mbYTPlayer.removeFilter,jQuery.fn.YTPDisableFilters=jQuery.mbYTPlayer.disableFilters,jQuery.fn.YTPEnableFilters=jQuery.mbYTPlayer.enableFilters,jQuery.fn.YTPGetFilters=jQuery.mbYTPlayer.getFilters,jQuery.fn.YTPGetTime=jQuery.mbYTPlayer.getTime,jQuery.fn.YTPGetTotalTime=jQuery.mbYTPlayer.getTotalTime,jQuery.fn.YTPAddMask=jQuery.mbYTPlayer.addMask,jQuery.fn.YTPRemoveMask=jQuery.mbYTPlayer.removeMask,jQuery.fn.YTPToggleMask=jQuery.mbYTPlayer.toggleMask,jQuery.fn.YTPGetAbundance=jQuery.mbYTPlayer.getAbundance,jQuery.fn.YTPSetAbundance=jQuery.mbYTPlayer.setAbundance,jQuery.fn.YTPSetAnchor=jQuery.mbYTPlayer.setAnchor,jQuery.fn.YTPGetAnchor=jQuery.mbYTPlayer.getAnchor,jQuery.fn.YTPSetOption=jQuery.mbYTPlayer.setOption}(jQuery,ytp);var nAgt=navigator.userAgent;function isTouchSupported(){var e=nAgt.msMaxTouchPoints,r="ontouchstart"in document.createElement("div");return!(!e&&!r)}jQuery.browser=jQuery.browser||{},jQuery.browser.mozilla=!1,jQuery.browser.webkit=!1,jQuery.browser.opera=!1,jQuery.browser.safari=!1,jQuery.browser.chrome=!1,jQuery.browser.androidStock=!1,jQuery.browser.msie=!1,jQuery.browser.edge=!1,jQuery.browser.ua=nAgt;var getOS=function(){var e={version:"Unknown version",name:"Unknown OS"};return-1!=navigator.appVersion.indexOf("Win")&&(e.name="Windows"),-1!=navigator.appVersion.indexOf("Mac")&&0>navigator.appVersion.indexOf("Mobile")&&(e.name="Mac"),-1!=navigator.appVersion.indexOf("Linux")&&(e.name="Linux"),/Mac OS X/.test(nAgt)&&!/Mobile/.test(nAgt)&&(e.version=/Mac OS X ([\._\d]+)/.exec(nAgt)[1],e.version=e.version.replace(/_/g,".").substring(0,5)),/Windows/.test(nAgt)&&(e.version="Unknown.Unknown"),/Windows NT 5.1/.test(nAgt)&&(e.version="5.1"),/Windows NT 6.0/.test(nAgt)&&(e.version="6.0"),/Windows NT 6.1/.test(nAgt)&&(e.version="6.1"),/Windows NT 6.2/.test(nAgt)&&(e.version="6.2"),/Windows NT 10.0/.test(nAgt)&&(e.version="10.0"),/Linux/.test(nAgt)&&/Linux/.test(nAgt)&&(e.version="Unknown.Unknown"),e.name=e.name.toLowerCase(),e.major_version="Unknown",e.minor_version="Unknown","Unknown.Unknown"!=e.version&&(e.major_version=parseFloat(e.version.split(".")[0]),e.minor_version=parseFloat(e.version.split(".")[1])),e},nameOffset,verOffset,ix;if(jQuery.browser.os=getOS(),jQuery.browser.hasTouch=isTouchSupported(),jQuery.browser.name=navigator.appName,jQuery.browser.fullVersion=""+parseFloat(navigator.appVersion),jQuery.browser.majorVersion=parseInt(navigator.appVersion,10),-1!=(verOffset=nAgt.indexOf("Opera")))jQuery.browser.opera=!0,jQuery.browser.name="Opera",jQuery.browser.fullVersion=nAgt.substring(verOffset+6),-1!=(verOffset=nAgt.indexOf("Version"))&&(jQuery.browser.fullVersion=nAgt.substring(verOffset+8));else if(-1!=(verOffset=nAgt.indexOf("OPR")))jQuery.browser.opera=!0,jQuery.browser.name="Opera",jQuery.browser.fullVersion=nAgt.substring(verOffset+4);else if(-1!=(verOffset=nAgt.indexOf("MSIE")))jQuery.browser.msie=!0,jQuery.browser.name="Microsoft Internet Explorer",jQuery.browser.fullVersion=nAgt.substring(verOffset+5);else if(-1!=nAgt.indexOf("Trident")){jQuery.browser.msie=!0,jQuery.browser.name="Microsoft Internet Explorer";var start=nAgt.indexOf("rv:")+3,end=start+4;jQuery.browser.fullVersion=nAgt.substring(start,end)}else-1!=(verOffset=nAgt.indexOf("Edge"))?(jQuery.browser.edge=!0,jQuery.browser.name="Microsoft Edge",jQuery.browser.fullVersion=nAgt.substring(verOffset+5)):-1!=(verOffset=nAgt.indexOf("Chrome"))?(jQuery.browser.webkit=!0,jQuery.browser.chrome=!0,jQuery.browser.name="Chrome",jQuery.browser.fullVersion=nAgt.substring(verOffset+7)):-1<nAgt.indexOf("mozilla/5.0")&&-1<nAgt.indexOf("android ")&&-1<nAgt.indexOf("applewebkit")&&!(-1<nAgt.indexOf("chrome"))?(verOffset=nAgt.indexOf("Chrome"),jQuery.browser.webkit=!0,jQuery.browser.androidStock=!0,jQuery.browser.name="androidStock",jQuery.browser.fullVersion=nAgt.substring(verOffset+7)):-1!=(verOffset=nAgt.indexOf("Safari"))?(jQuery.browser.webkit=!0,jQuery.browser.safari=!0,jQuery.browser.name="Safari",jQuery.browser.fullVersion=nAgt.substring(verOffset+7),-1!=(verOffset=nAgt.indexOf("Version"))&&(jQuery.browser.fullVersion=nAgt.substring(verOffset+8))):-1!=(verOffset=nAgt.indexOf("AppleWebkit"))?(jQuery.browser.webkit=!0,jQuery.browser.safari=!0,jQuery.browser.name="Safari",jQuery.browser.fullVersion=nAgt.substring(verOffset+7),-1!=(verOffset=nAgt.indexOf("Version"))&&(jQuery.browser.fullVersion=nAgt.substring(verOffset+8))):-1!=(verOffset=nAgt.indexOf("Firefox"))?(jQuery.browser.mozilla=!0,jQuery.browser.name="Firefox",jQuery.browser.fullVersion=nAgt.substring(verOffset+8)):(nameOff
84set=nAgt.lastIndexOf(" ")+1)<(verOffset=nAgt.lastIndexOf("/"))&&(jQuery.browser.name=nAgt.substring(nameOffset,verOffset),jQuery.browser.fullVersion=nAgt.substring(verOffset+1),jQuery.browser.name.toLowerCase()==jQuery.browser.name.toUpperCase()&&(jQuery.browser.name=navigator.appName));function uncamel(e){return e.replace(/([A-Z])/g,function(e){return"-"+e.toLowerCase()})}function setUnit(e,r){return"string"!=typeof e||e.match(/^[\-0-9\.]+jQuery/)?""+e+r:e}function setFilter(e,r,t){var a=uncamel(r),o=jQuery.browser.mozilla?"":jQuery.CSS.sfx;e[o+"filter"]=e[o+"filter"]||"",t=setUnit(t>jQuery.CSS.filters[r].max?jQuery.CSS.filters[r].max:t,jQuery.CSS.filters[r].unit),e[o+"filter"]+=a+"("+t+") ",delete e[r]}-1!=(ix=jQuery.browser.fullVersion.indexOf(";"))&&(jQuery.browser.fullVersion=jQuery.browser.fullVersion.substring(0,ix)),-1!=(ix=jQuery.browser.fullVersion.indexOf(" "))&&(jQuery.browser.fullVersion=jQuery.browser.fullVersion.substring(0,ix)),jQuery.browser.majorVersion=parseInt(""+jQuery.browser.fullVersion,10),isNaN(jQuery.browser.majorVersion)&&(jQuery.browser.fullVersion=""+parseFloat(navigator.appVersion),jQuery.browser.majorVersion=parseInt(navigator.appVersion,10)),jQuery.browser.version=jQuery.browser.majorVersion,jQuery.browser.android=/Android/i.test(nAgt),jQuery.browser.blackberry=/BlackBerry|BB|PlayBook/i.test(nAgt),jQuery.browser.ios=/iPhone|iPad|iPod|webOS/i.test(nAgt),jQuery.browser.operaMobile=/Opera Mini/i.test(nAgt),jQuery.browser.windowsMobile=/IEMobile|Windows Phone/i.test(nAgt),jQuery.browser.kindle=/Kindle|Silk/i.test(nAgt),jQuery.browser.mobile=jQuery.browser.android||jQuery.browser.blackberry||jQuery.browser.ios||jQuery.browser.windowsMobile||jQuery.browser.operaMobile||jQuery.browser.kindle,jQuery.isMobile=jQuery.browser.mobile,jQuery.isTablet=jQuery.browser.mobile&&765<jQuery(window).width(),jQuery.isAndroidDefault=jQuery.browser.android&&!/chrome/i.test(nAgt),jQuery.mbBrowser=jQuery.browser,jQuery.browser.versionCompare=function(e,r){if("stringstring"!=typeof e+typeof r)return!1;for(var t=e.split("."),a=r.split("."),o=0,n=Math.max(t.length,a.length);o<n;o++){if(t[o]&&!a[o]&&0<parseInt(t[o])||parseInt(t[o])>parseInt(a[o]))return 1;if(a[o]&&!t[o]&&0<parseInt(a[o])||parseInt(t[o])<parseInt(a[o]))return-1}return 0},jQuery.support.CSStransition=function(){var e=(document.body||document.documentElement).style;return void 0!==e.transition||void 0!==e.WebkitTransition||void 0!==e.MozTransition||void 0!==e.MsTransition||void 0!==e.OTransition}(),jQuery.CSS={name:"mb.CSSAnimate",author:"Matteo Bicocchi",version:"2.0.0",transitionEnd:"transitionEnd",sfx:"",filters:{blur:{min:0,max:100,unit:"px"},brightness:{min:0,max:400,unit:"%"},contrast:{min:0,max:400,unit:"%"},grayscale:{min:0,max:100,unit:"%"},hueRotate:{min:0,max:360,unit:"deg"},invert:{min:0,max:100,unit:"%"},saturate:{min:0,max:400,unit:"%"},sepia:{min:0,max:100,unit:"%"}},normalizeCss:function(e){var r=jQuery.extend(!0,{},e);for(var t in jQuery.browser.webkit||jQuery.browser.opera?jQuery.CSS.sfx="-webkit-":jQuery.browser.mozilla?jQuery.CSS.sfx="-moz-":jQuery.browser.msie&&(jQuery.CSS.sfx="-ms-"),jQuery.CSS.sfx="",r){if("transform"===t&&(r[jQuery.CSS.sfx+"transform"]=r[t],delete r[t]),"transform-origin"===t&&(r[jQuery.CSS.sfx+"transform-origin"]=e[t],delete r[t]),"filter"!==t||jQuery.browser.mozilla||(r[jQuery.CSS.sfx+"filter"]=e[t],delete r[t]),"blur"===t&&setFilter(r,"blur",e[t]),"brightness"===t&&setFilter(r,"brightness",e[t]),"contrast"===t&&setFilter(r,"contrast",e[t]),"grayscale"===t&&setFilter(r,"grayscale",e[t]),"hueRotate"===t&&setFilter(r,"hueRotate",e[t]),"invert"===t&&setFilter(r,"invert",e[t]),"saturate"===t&&setFilter(r,"saturate",e[t]),"sepia"===t&&setFilter(r,"sepia",e[t]),"x"===t){var a=jQuery.CSS.sfx+"transform";r[a]=r[a]||"",r[a]+=" translateX("+setUnit(e[t],"px")+")",delete r[t]}"y"===t&&(r[a=jQuery.CSS.sfx+"transform"]=r[a]||"",r[a]+=" translateY("+setUnit(e[t],"px")+")",delete r[t]),"z"===t&&(r[a=jQuery.CSS.sfx+"transform"]=r[a]||"",r[a]+=" translateZ("+setUnit(e[t],"px")+")",delete r[t]),"rotate"===t&&(r[a=jQuery.CSS.sfx+"transform"]=r[a]||"",r[a]+=" rotate("+setUnit(e[t],"deg")+")",delete r[t]),"rotateX"===t&&(r[a=jQuery.CSS.sfx+"transform"]=r[a]||"",r[a]+=" rotateX("+setUnit(e[t],"deg")+")",delete r[t]),"rotateY"===t&&(r[a=jQuery.CSS.sfx+"transform"]=r[a]||"",r[a]+=" rotateY("+setUnit(e[t],"deg")+")",delete r[t]),"rotateZ"===t&&(r[a=jQuery.CSS.sfx+"transform"]=r[a]||"",r[a]+=" rotateZ("+setUnit(e[t],"deg")+")",delete r[t]),"scale"===t&&(r[a=jQuery.CSS.sfx+"transform"]=r[a]||"",r[a]+=" scale("+setUnit(e[t],"")+")",delete r[t]),"scaleX"===t&&(r[a=jQuery.CSS.sfx+"transform"]=r[a]||"",r[a]+=" scaleX("+setUnit(e[t],"")+")",delete r[t]),"scaleY"===t&&(r[a=jQuery.CSS.sfx+"transform"]=r[a]||"",r[a]+=" scaleY("+setUnit(e[t],"")+")",delete r[t]),"scaleZ"===t&&(r[a=jQuery.CSS.sfx+"transform"]=r[a]||"",r[a]+=" scaleZ("+setUnit(e[t],"")+")",delete r[t]),"skew"===t&&(r[a=jQuery.CSS.sfx+"transform"]=r[a]||"",r[a]+=" skew("+setUnit(e[t],"deg")+")",delete r[t]),"skewX"===t&&(r[a=jQuery.CSS.sfx+"transform"]=r[a]||"",r[a]+=" skewX("+setUnit(e[t],"deg")+")",delete r[t]),"skewY"===t&&(r[a=jQuery.CSS.sfx+"transform"]=r[a]||"",r[a]+=" skewY("+setUnit(e[t],"deg")+")",delete r[t]),"perspective"===t&&(r[a=jQuery.CSS.sfx+"transform"]=r[a]||"",r[a]+=" perspective("+setUnit(e[t],"px")+")",delete r[t])}return r},getProp:function(e){var r,t=[];for(r in e)t.indexOf(r)<0&&t.push(uncamel(r));return t.join(",")},animate:function(l,s,u,y,d){return this.each(function(){function e(){r.called=!0,r.CSSAIsRunning=!1,t.off(jQuery.CSS.transitionEnd+"."+r.id),clearTimeout(r.timeout),t.css(jQuery.CSS.sfx+"transition",""),"function"==typeof d&&d.apply(r),"function"==typeof r.CSSqueue&&(r.CSSqueue(),r.CSSqueue=null)}var r=this,t=jQuery(this);r.id=r.id||"CSSA_"+(new Date).getTime();var a=a||{type:"noEvent"};if(r.CSSAIsRunning&&r.eventType==a.type&&!jQuery.browser.msie&&jQuery.browser.version<=9)r.CSSqueue=function(){t.CSSAnimate(l,s,u,y,d)};else if(r.CSSqueue=null,r.eventType=a.type,0!==t.length&&l){if(l=jQuery.normalizeCss(l),r.CSSAIsRunning=!0,"function"==typeof s&&(d=s,s=jQuery.fx.speeds._default),"function"==typeof u&&(y=u,u=0),"string"==typeof u&&(d=u,u=0),"function"==typeof y&&(d=y,y="cubic-bezier(0.65,0.03,0.36,0.72)"),"string"==typeof s)for(var o in jQuery.fx.speeds){if(s==o){s=jQuery.fx.speeds[o];break}s=jQuery.fx.speeds._default}if(s||(s=jQuery.fx.speeds._default),"string"==typeof d&&(y=d,d=null),jQuery.support.CSStransition){var n={default:"ease",in:"ease-in",out:"ease-out","in-out":"ease-in-out",snap:"cubic-bezier(0,1,.5,1)",easeOutCubic:"cubic-bezier(.215,.61,.355,1)",easeInOutCubic:"cubic-bezier(.645,.045,.355,1)",easeInCirc:"cubic-bezier(.6,.04,.98,.335)",easeOutCirc:"cubic-bezier(.075,.82,.165,1)",easeInOutCirc:"cubic-bezier(.785,.135,.15,.86)",easeInExpo:"cubic-bezier(.95,.05,.795,.035)",easeOutExpo:"cubic-bezier(.19,1,.22,1)",easeInOutExpo:"cubic-bezier(1,0,0,1)",easeInQuad:"cubic-bezier(.55,.085,.68,.53)",easeOutQuad:"cubic-bezier(.25,.46,.45,.94)",easeInOutQuad:"cubic-bezier(.455,.03,.515,.955)",easeInQuart:"cubic-bezier(.895,.03,.685,.22)",easeOutQuart:"cubic-bezier(.165,.84,.44,1)",easeInOutQuart:"cubic-bezier(.77,0,.175,1
84)",easeInQuint:"cubic-bezier(.755,.05,.855,.06)",easeOutQuint:"cubic-bezier(.23,1,.32,1)",easeInOutQuint:"cubic-bezier(.86,0,.07,1)",easeInSine:"cubic-bezier(.47,0,.745,.715)",easeOutSine:"cubic-bezier(.39,.575,.565,1)",easeInOutSine:"cubic-bezier(.445,.05,.55,.95)",easeInBack:"cubic-bezier(.6,-.28,.735,.045)",easeOutBack:"cubic-bezier(.175, .885,.32,1.275)",easeInOutBack:"cubic-bezier(.68,-.55,.265,1.55)"};n[y]&&(y=n[y]),t.off(jQuery.CSS.transitionEnd+"."+r.id),n=jQuery.CSS.getProp(l);var i={};jQuery.extend(i,l),i[jQuery.CSS.sfx+"transition-property"]=n,i[jQuery.CSS.sfx+"transition-duration"]=s+"ms",i[jQuery.CSS.sfx+"transition-delay"]=u+"ms",i[jQuery.CSS.sfx+"transition-timing-function"]=y,setTimeout(function(){t.one(jQuery.CSS.transitionEnd+"."+r.id,e),t.css(i)},1),r.timeout=setTimeout(function(){r.called||!d?(r.called=!1,r.CSSAIsRunning=!1):(t.css(jQuery.CSS.sfx+"transition",""),d.apply(r),r.CSSAIsRunning=!1,"function"==typeof r.CSSqueue&&(r.CSSqueue(),r.CSSqueue=null))},s+u+10)}else{for(n in l)"transform"===n&&delete l[n],"filter"===n&&delete l[n],"transform-origin"===n&&delete l[n],"auto"===l[n]&&delete l[n],"x"===n&&(a=l[n],l[o="left"]=a,delete l[n]),"y"===n&&(a=l[n],l[o="top"]=a,delete l[n]),"-ms-transform"!==n&&"-ms-filter"!==n||delete l[n];t.delay(u).animate(l,s,d)}}})}},jQuery.fn.CSSAnimate=jQuery.CSS.animate,jQuery.normalizeCss=jQuery.CSS.normalizeCss,jQuery.fn.css3=function(t){return this.each(function(){var e=jQuery(this),r=jQuery.normalizeCss(t);e.css(r)})};var nAgt=navigator.userAgent;function isTouchSupported(){var e=nAgt.msMaxTouchPoints,r="ontouchstart"in document.createElement("div");return!(!e&&!r)}jQuery.browser=jQuery.browser||{},jQuery.browser.mozilla=!1,jQuery.browser.webkit=!1,jQuery.browser.opera=!1,jQuery.browser.safari=!1,jQuery.browser.chrome=!1,jQuery.browser.androidStock=!1,jQuery.browser.msie=!1,jQuery.browser.edge=!1,jQuery.browser.ua=nAgt;var getOS=function(){var e={version:"Unknown version",name:"Unknown OS"};return-1!=navigator.appVersion.indexOf("Win")&&(e.name="Windows"),-1!=navigator.appVersion.indexOf("Mac")&&navigator.appVersion.indexOf("Mobile")<0&&(e.name="Mac"),-1!=navigator.appVersion.indexOf("Linux")&&(e.name="Linux"),/Mac OS X/.test(nAgt)&&!/Mobile/.test(nAgt)&&(e.version=/Mac OS X (10|11[\.\_\d]+)/.exec(nAgt)[1],e.version=e.version.replace(/_/g,".").substring(0,5)),/Windows/.test(nAgt)&&(e.version="Unknown.Unknown"),/Windows NT 5.1/.test(nAgt)&&(e.version="5.1"),/Windows NT 6.0/.test(nAgt)&&(e.version="6.0"),/Windows NT 6.1/.test(nAgt)&&(e.version="6.1"),/Windows NT 6.2/.test(nAgt)&&(e.version="6.2"),/Windows NT 10.0/.test(nAgt)&&(e.version="10.0"),/Linux/.test(nAgt)&&/Linux/.test(nAgt)&&(e.version="Unknown.Unknown"),e.name=e.name.toLowerCase(),e.major_version="Unknown",e.minor_version="Unknown","Unknown.Unknown"!=e.version&&(e.major_version=parseFloat(e.version.split(".")[0]),e.minor_version=parseFloat(e.version.split(".")[1])),e},nameOffset,verOffset,ix;if(jQuery.browser.os=getOS(),jQuery.browser.hasTouch=isTouchSupported(),jQuery.browser.name=navigator.appName,jQuery.browser.fullVersion=""+parseFloat(navigator.appVersion),jQuery.browser.majorVersion=parseInt(navigator.appVersion,10),-1!=(verOffset=nAgt.indexOf("Opera")))jQuery.browser.opera=!0,jQuery.browser.name="Opera",jQuery.browser.fullVersion=nAgt.substring(verOffset+6),-1!=(verOffset=nAgt.indexOf("Version"))&&(jQuery.browser.fullVersion=nAgt.substring(verOffset+8));else if(-1!=(verOffset=nAgt.indexOf("OPR")))jQuery.browser.opera=!0,jQuery.browser.name="Opera",jQuery.browser.fullVersion=nAgt.substring(verOffset+4);else if(-1!=(verOffset=nAgt.indexOf("MSIE")))jQuery.browser.msie=!0,jQuery.browser.name="Microsoft Internet Explorer",jQuery.browser.fullVersion=nAgt.substring(verOffset+5);else if(-1!=nAgt.indexOf("Trident")){jQuery.browser.msie=!0,jQuery.browser.name="Microsoft Internet Explorer";var start=nAgt.indexOf("rv:")+3,end=start+4;jQuery.browser.fullVersion=nAgt.substring(start,end)}else-1!=(verOffset=nAgt.indexOf("Edge"))?(jQuery.browser.edge=!0,jQuery.browser.name="Microsoft Edge",jQuery.browser.fullVersion=nAgt.substring(verOffset+5)):-1!=(verOffset=nAgt.indexOf("Chrome"))?(jQuery.browser.webkit=!0,jQuery.browser.chrome=!0,jQuery.browser.name="Chrome",jQuery.browser.fullVersion=nAgt.substring(verOffset+7)):-1<nAgt.indexOf("mozilla/5.0")&&-1<nAgt.indexOf("android ")&&-1<nAgt.indexOf("applewebkit")&&!(-1<nAgt.indexOf("chrome"))?(verOffset=nAgt.indexOf("Chrome"),jQuery.browser.webkit=!0,jQuery.browser.androidStock=!0,jQuery.browser.name="androidStock",jQuery.browser.fullVersion=nAgt.substring(verOffset+7)):-1!=(verOffset=nAgt.indexOf("Safari"))?(jQuery.browser.webkit=!0,jQuery.browser.safari=!0,jQuery.browser.name="Safari",jQuery.browser.fullVersion=nAgt.substring(verOffset+7),-1!=(verOffset=nAgt.indexOf("Version"))&&(jQuery.browser.fullVersion=nAgt.substring(verOffset+8))):-1!=(verOffset=nAgt.indexOf("AppleWebkit"))?(jQuery.browser.webkit=!0,jQuery.browser.safari=!0,jQuery.browser.name="Safari",jQuery.browser.fullVersion=nAgt.substring(verOffset+7),-1!=(verOffset=nAgt.indexOf("Version"))&&(jQuery.browser.fullVersion=nAgt.substring(verOffset+8))):-1!=(verOffset=nAgt.indexOf("Firefox"))?(jQuery.browser.mozilla=!0,jQuery.browser.name="Firefox",jQuery.browser.fullVersion=nAgt.substring(verOffset+8)):(nameOff
84set=nAgt.lastIndexOf(" ")+1)<(verOffset=nAgt.lastIndexOf("/"))&&(jQuery.browser.name=nAgt.substring(nameOffset,verOffset),jQuery.browser.fullVersion=nAgt.substring(verOffset+1),jQuery.browser.name.toLowerCase()==jQuery.browser.name.toUpperCase()&&(jQuery.browser.name=navigator.appName));-1!=(ix=jQuery.browser.fullVersion.indexOf(";"))&&(jQuery.browser.fullVersion=jQuery.browser.fullVersion.substring(0,ix)),-1!=(ix=jQuery.browser.fullVersion.indexOf(" "))&&(jQuery.browser.fullVersion=jQuery.browser.fullVersion.substring(0,ix)),jQuery.browser.majorVersion=parseInt(""+jQuery.browser.fullVersion,10),isNaN(jQuery.browser.majorVersion)&&(jQuery.browser.fullVersion=""+parseFloat(navigator.appVersion),jQuery.browser.majorVersion=parseInt(navigator.appVersion,10)),jQuery.browser.version=jQuery.browser.majorVersion,jQuery.browser.android=/Android/i.test(nAgt),jQuery.browser.blackberry=/BlackBerry|BB|PlayBook/i.test(nAgt),jQuery.browser.ios=/iPhone|iPad|iPod|webOS/i.test(nAgt),jQuery.browser.operaMobile=/Opera Mini/i.test(nAgt),jQuery.browser.windowsMobile=/IEMobile|Windows Phone/i.test(nAgt),jQuery.browser.kindle=/Kindle|Silk/i.test(nAgt),jQuery.browser.mobile=jQuery.browser.android||jQuery.browser.blackberry||jQuery.browser.ios||jQuery.browser.windowsMobile||jQuery.browser.operaMobile||jQuery.browser.kindle,jQuery.isMobile=jQuery.browser.mobile,jQuery.isTablet=jQuery.browser.mobile&&765<jQuery(window).width(),jQuery.isAndroidDefault=jQuery.browser.android&&!/chrome/i.test(nAgt),jQuery.mbBrowser=jQuery.browser,jQuery.browser.versionCompare=function(e,r){if("stringstring"!=typeof e+typeof r)return!1;for(var t=e.split("."),a=r.split("."),o=0,n=Math.max(t.length,a.length);o<n;o++){if(t[o]&&!a[o]&&0<parseInt(t[o])||parseInt(t[o])>parseInt(a[o]))return 1;if(a[o]&&!t[o]&&0<parseInt(a[o])||parseInt(t[o])<parseInt(a[o]))return-1}return 0},function(o){o.simpleSlider={defaults:{initialval:0,scale:100,orientation:"h",readonly:!1,callback:!1},events:{start:o.browser.mobile?"touchstart":"mousedown",end:o.browser.mobile?"touchend":"mouseup",move:o.browser.mobile?"touchmove":"mousemove"},init:function(a){return this.each(function(){var r=this,t=o(r);t.addClass("simpleSlider"),r.opt={},o.extend(r.opt,o.simpleSlider.defaults,a),o.extend(r.opt,t.data());var e="h"==r.opt.orientation?"horizontal":"vertical";e=o("<div/>").addClass("level").addClass(e),t.prepend(e),r.level=e,t.css({cursor:"default"}),"auto"==r.opt.scale&&(r.opt.scale=o(r).outerWidth()),t.updateSliderVal(),r.opt.readonly||(t.on(o.simpleSlider.events.start,function(e){o.browser.mobile&&(e=e.changedTouches[0]),r.canSlide=!0,t.updateSliderVal(e),"h"==r.opt.orientation?t.css({cursor:"col-resize"}):t.css({cursor:"row-resize"}),o.browser.mobile||(e.preventDefault(),e.stopPropagation())}),o(document).on(o.simpleSlider.events.move,function(e){o.browser.mobile&&(e=e.changedTouches[0]),r.canSlide&&(o(document).css({cursor:"default"}),t.updateSliderVal(e),o.browser.mobile||(e.preventDefault(),e.stopPropagation()))}).on(o.simpleSlider.events.end,function(){o(document).css({cursor:"auto"}),r.canSlide=!1,t.css({cursor:"auto"})}))})},updateSliderVal:function(e){var r=this.get(0);if(r.opt){r.opt.initialval="number"==typeof r.opt.initialval?r.opt.initialval:r.opt.initialval(r);var t=o(r).outerWidth(),a=o(r).outerHeight();r.x="object"==typeof e?e.clientX+document.body.scrollLeft-this.offset().left:"number"==typeof e?e*t/r.opt.scale:r.opt.initialval*t/r.opt.scale,r.y="object"==typeof e?e.clientY+document.body.scrollTop-this.offset().top:"number"==typeof e?(r.opt.scale-r.opt.initialval-e)*a/r.opt.scale:r.opt.initialval*a/r.opt.scale,r.y=this.outerHeight()-r.y,r.scaleX=r.x*r.opt.scale/t,r.scaleY=r.y*r.opt.scale/a,r.outOfRangeX=r.scaleX>r.opt.scale?r.scaleX-r.opt.scale:r.scaleX<0?r.scaleX:0,r.outOfRangeY=r.scaleY>r.opt.scale?r.scaleY-r.opt.scale:r.scaleY<0?r.scaleY:0,r.outOfRange="h"==r.opt.orientation?r.outOfRangeX:r.outOfRangeY,r.value=void 0!==e?"h"==r.opt.orientation?r.x>=this.outerWidth()?r.opt.scale:r.x<=0?0:r.scaleX:r.y>=this.outerHeight()?r.opt.scale:r.y<=0?0:r.scaleY:"h"==r.opt.orientation?r.scaleX:r.scaleY,"h"==r.opt.orientation?r.level.width(Math.floor(100*r.x/t)+"%"):r.level.height(Math.floor(100*r.y/a)),"function"==typeof r.opt.callback&&r.opt.callback(r)}}},o.fn.simpleSlider=o.simpleSlider.init,o.fn.updateSliderVal=o.simpleSlider.updateSliderVal}(jQuery),function(r){r.mbCookie={set:function(e,r,t,a){"object"==typeof r&&(r=JSON.stringify(r)),a=a?"; domain="+a:"";var o=new Date,n="";0<t&&(o.setTime(o.getTime()+864e5*t),n="; expires="+o.toGMTString()),document.cookie=e+"="+r+n+"; path=/"+a},get:function(r){r+="=";for(var e=document.cookie.split(";"),t=0;t<e.length;t++){for(var a=e[t];" "==a.charAt(0);)a=a.substring(1,a.length);if(0==a.indexOf(r))try{return JSON.parse(a.substring(r.length,a.length))}catch(e){return a.substring(r.length,a.length)}}return null},remove:function(e){r.mbCookie.set(e,"",-1)}},r.mbStorage={set:function(e,r){"object"==typeof r&&(r=JSON.stringify(r)),localStorage.setItem(e,r)},get:function(r){if(!localStorage[r])return null;try{return JSON.parse(localStorage[r])}catch(e){return localStorage[r]}},remove:function(e){e?localStorage.removeItem(e):localStorage.clear()}}}(jQuery); 85 86;(function ($) { 87 "use strict"; 88 89 var console = window.console && window.SF_DEBUG ? window.console : { 90 log: function () { 91 } 92 } 93 var lh = location.href.replace(/\#.+/, ''); 94 95 var triggered = false; 96 97 var set = function (obj, prop, val) { 98 Object.defineProperty(obj, prop, { 99 value: val 100 }) 101 return val; 102 }; 103 104 $.fn.hasClasses = function (e) { 105 var classes = e.replace(/\s/g, "").split(","), 106 t = this; 107 for (var i in classes) {
108 if ($(t).hasClass(classes[i])) return true; 109 } 110 return false 111 } 112 113 $.fn.addClasses = function (e) { 114 var classes = e.replace(/\s/g, "").split(","), 115 t = this; 116 for (var i in classes) $(t).addClass(classes[i]); 117 return this; 118 }; 119 120 121 $( document ).one('sfm_doc_body_arrived ready', function () { 122 if ( triggered ) return; 123 else triggered = true; 124 125 renderMenu(); 126 }); 127 128 // on ready 129 $(function () { 130 131 if ( triggered ) return; 132 else triggered = true; 133 134 renderMenu(); 135 }); 136 137 // WP customizer preview 138 $( document ).on( 'sfm_preview_full_refresh', function ( event, menuSavedState, savedScrollTop, $defmenu ) { 139 140 var opts = window.SF_Opts; 141 142 renderMenu( $defmenu ); 143 144 if ( menuSavedState && menuSavedState === 'open' ) { 145 146 window.LM.showSidebar(); 147 148 // scroll to saved state 149 if ( savedScrollTop ) $('.sfm-scroll-main .sfm-scroll').scrollTop( savedScrollTop ); 150 151 if ( opts.sidebar_behaviour !== 'always' && opts.sidebar_style !== 'full' ) { 152 $('#sfm-sidebar').trigger( window.transitionEnd ); // to re-attach itemEventHandler for side panels 153 } 154 } 155 156 }); 157 158 function renderMenu ( $defmenu ) { 159 160 var $win = $( window ); 161 var $html = $( 'html' ); 162 var $body = $( 'body' ); 163 var originalWrite = document.write; 164 var opts = window.SF_Opts; 165 if ( !$defmenu ) { 166 $defmenu = opts.alt_menu ? $( opts.alt_menu) : $('#sfm-nav'); 167 } 168 169 /*document.write = function () { 170 console.log('Superfly plugin debug: using document.write is bad practice and not supported') 171 };*/ 172 173 $body.prepend( window.SFM_template ); 174 // customizer 175 // $('#sfm-nav').removeAttr('data-customize-partial-id data-customize-partial-type data-customize-partial-placement-context') 176 177 // document.write = originalWrite; 178 179 var execFunc = opts.alt_menu ? $ : setTimeout; 180 181 execFunc( function () { 182 183 var LM = ( function () { 184 185 var isMobile = window.SFM_is_mobile || navigator.maxTouchPoints > 0; 186 var clickTapEvent = ( isMobile ? ( $.mobile ? 'vclick' : 'tap') : 'click' ); 187 188 var eventCancelTimeout, TIMEOUT_CONST = opts.eventsInterval || 350; 189 190 function clickLocked() { 191 if (eventCancelTimeout) return true; 192 eventCancelTimeout = setTimeout(function () { 193 eventCancelTimeout = null; 194 }, TIMEOUT_CONST); 195 return false; 196 } 197 198 var $rollback = $('.sfm-rollback'); 199 var $sidebar = $('#sfm-sidebar');
200 var $overlay = $('#sfm-overlay-wrapper'); 201 var $socialbar = $('.sfm-social', $sidebar); 202 var $custom = $('.sfm-view-level-custom'), customOpened = false; 203 var $cont; 204 var $head = $('.sfm-logo'); 205 var sums = []; 206 sums.push(parseInt(opts.width_panel_1)); 207 sums.push(sums[0] + parseInt(opts.width_panel_2)); 208 sums.push(sums[1] + parseInt(opts.width_panel_3)); 209 sums.push(sums[2] + parseInt(opts.width_panel_4)); 210 211 if (opts.alt_menu && $defmenu.length) { 212 $('#sfm-nav').detach(); 213 } else { 214 $defmenu = $('#sfm-nav'); 215 } 216 217 opts.$defmenu = $defmenu; 218 219 // 220 if (SF_DEBUG) { 221 //$defmenu.find('a').attr('target', '_blank') 222 } 223 224 var direction = opts.sidebar_pos; 225 var opposite = direction === 'left' ? 'right' : 'left'; 226 var pre = 'sfm'; 227 228 var isIE = /msie|trident.*rv\:11\./.test(navigator.userAgent.toLowerCase()); 229 var isFF = /firefox/.test(navigator.userAgent.toLowerCase()); 230 var transProp = getVendorPropertyName('transform'); 231 // var translation = _T.translate((direction === 'left' ? opts.width_panel_1 : -opts.width_panel_1), 0); 232 // var defTranslationStr = _T.toString(_T.translate(0, 0)); 233 var htmlMargins = { 234 top: parseInt($html.css('marginTop')), 235 bottom: parseInt($html.css('marginBottom')) 236 } 237 238 var subOpeningEvent = 'mouseenter'; 239 240 var bbg = $body.css('backgroundImage'); 241 var bodyCss; 242 var $bodybg; 243 var $children; 244 245 if ( opts.sidebar_behaviour === 'push' ) { 246 247 // todo check if this part is still needed 248 if ( bbg !== 'none' ) { 249 250 $body.prepend('<div id="sfm-body-bg"></div>'); 251 $bodybg = $('#sfm-body-bg'); 252 253 bodyCss = { 254 'backgroundColor': $body.css('backgroundColor'), 255 'backgroundImage': $body.css('backgroundImage'), 256 'backgroundAttachment': $body.css('backgroundAttachment'), 257 'backgroundSize': $body.css('backgroundSize'), 258 'backgroundPosition': $body.css('backgroundPosition'), 259 'backgroundRepeat': $body.css('backgroundRepeat'), 260 'backgroundOrigin': $body.css('backgroundOrigin'), 261 'backgroundClip': $body.css('backgroundClip') 262 }; 263 264 if (bodyCss.backgroundColor.indexOf('(0, 0, 0, 0') + 1 || bodyCss.backgroundColor.indexOf('transparent') + 1) { 265 bodyCss.backgroundColor = '#fff'; 266 } 267 268 $children = $body.children().not('#sfm-body-bg, #sfm-fixed-container, script, style'); 269 270 if ( parseInt($children.first().css('marginTop')) || parseInt($children.last().css('marginBottom') )) { 271 $body.addClass('sfm-body-float'); 272 } 273 274 if (bodyCss.backgroundAttachment === 'fixed') { 275 bodyCss.position = 'fixed'; 276 bodyCss.backgroundAttachment = 'scroll'; 277 } 278 279 $bodybg.css( bodyCss ); 280 attachStyles('body > * {position: relative} body {overflow-x:hidden!important}'); 281 } 282 } 283 284 var menuOpts = { 285 search: opts.search, 286 addHomeLink: opts.addHomeLink === 'yes', 287 addHomeText: opts.addHomeText || 'Home',
288 subMenuSupport: opts.subMenuSupport === 'yes' /*&& opts.sidebar_style !== 'full'*/, 289 subMenuSelector: opts.subMenuSelector, 290 activeClassSelector: opts.activeClassSelector || '', 291 allowedTags: 'DIV, NAV, UL, OL, LI, A, P, H1, H2, H3, H4, SPAN, STRONG', 292 transitionDuration: 300, 293 extra: opts.menuData 294 } 295 //console.log(menuOpts) 296 297 var Menu = { 298 unique: 1, 299 build: function ( $defmenu ) { 300 301 var $newMenu; 302 303 $newMenu = $defmenu.clone().removeAttr( "id class" ); 304 $newMenu = this.processDefMenu( $newMenu ); 305 $defmenu.detach(); 306 307 if ( menuOpts.addHomeLink ) { 308 $newMenu.prepend( '<li><a href="http://' + window.location.hostname + '">' + menuOpts.addHomeText + "</a></li>"); 309 } 310 311 if ( $newMenu.prop("tagName") === 'UL' ) { 312 $newMenu.addClass( pre + "-menu-level-0" ); 313 } else { 314 $newMenu.find( "ul" ).first().addClass( pre + "-menu-level-0" ).siblings( "ul" ).addClass( pre + "-menu-level-0" ); 315 } 316 317 menuOpts.subMenuSelector && menuOpts.subMenuSupport ? this.buildSubMenus($newMenu) : this.removeSubMenus($newMenu); 318 319 $newMenu.find( 'a' ).each( function () { 320 var $t = $( this ); 321 var $li = $t.parent(); 322 if ( !$t.children( 'span' ).length ) $t.wrapInner( $('<span data-index="' + ( $li.index() + 1 ) + '"></span>') ); 323 if ( !menuOpts.subMenuSupport ) return; 324 325 if ( $li.is('.sfm-has-child-menu') ) { 326 $t.append( '<ins class="sfm-sm-indicator"><i></i></ins>' ) 327 } 328 }); 329 330 if ( menuOpts.extra ) this.attachExtraTo( $newMenu.find("[class*=menu-item]") ); 331 332 $newMenu.prependTo('.sfm-nav .sfm-va-middle').show(); 333 334 if (menuOpts.search === 'yes') { 335 $('.sfm-va-middle').prepend('<form role="search" method="get" class="sfm-search-form" action="' + opts.siteBase + '"><input type="text" class="search-field" placeholder="" value="" name="s"><span></span><input type="submit" class="search-submit" value="Search"></form>'); 336 } 337 $cont = $("." + pre + "-nav"); 338 339 $newMenu.removeClass(pre + "-has-child-menu").addClass('sfm-menu'); 340 }, 341 342 processDefMenu: function ($menu) { 343 344 var activeClassSelector = menuOpts.activeClassSelector ? menuOpts.activeClassSelector : ""; 345 var classes = menuOpts.subMenuSelector ? menuOpts.subMenuSelector : ""; 346 var tags = menuOpts.allowedTags.replace(/\s/g, "").split(","); 347 var $items = $menu.find("[class*=menu-item]"); 348 349 $menu.find('.skip-link, .menu-toggle, a[title*="Skip to content"]').remove(); 350 351 $items.each(function () { 352 var id = this.id ? this.id.replace('menu-item-', '') : (this.className.match(/menu-item-(\d+):?\b/) ? this.className.match(/menu-item-(\d+):?\b/)[1] : ''); 353 $(this).data('sfm-id', id); 354 }) 355 356 $menu.find("*").each(function () { 357 var $t = $(this); 358 var tag = $t.prop('tagName'); 359 var cls = $t.prop('className'); 360 361 if (tags.indexOf(tag) === -1 || $.trim($t.text()) === "" || $t.is('.uber-close')) { 362 return $t.remove(); 363 } 364 365 if ($t.hasClasses(classes)) { 366 $t.removeAttr("class id").addClass(classe
366s.split(",").join(' ')); 367 368 } else { 369 if ($t.hasClasses(activeClassSelector)) { 370 $t.removeAttr("class id").addClass(pre + "-active-class"); 371 } else { 372 $t.removeAttr("class id"); 373 } 374 } 375 376 $t.removeAttr("style"); 377 378 if (tag === 'LI') { 379 $t.addClass('sfm-menu-item-' + $t.data('sfm-id')).attr('tabindex', '-1'); 380 } 381 382 }); 383 return $menu; 384 }, 385 386 buildSubMenus: function ($menu) { 387 var children = menuOpts.subMenuSelector.replace(/\s/g, "").split(","); 388 389 for (var i = 0, len = children.length; i < len; i++) { 390 $menu.find("." + children[i]).each(function () { 391 var $t = $(this); 392 $t.removeAttr("id class") 393 .addClass(pre + "-child-menu ") 394 .parent() 395 .addClass(pre + "-has-child-menu") 396 }); 397 } 398 399 this.detectLevel($menu) 400 }, 401 402 attachExtraTo: function ($items) { 403 var data; 404 var https = location.protocol === 'https:'; 405 406 $items.each(function () { 407 var $t = $(this); 408 var id = $t.data('sfm-id'); 409 var data; 410 411 if ( menuOpts.extra[id] ) { 412 413 data = deparam(menuOpts.extra[id]); 414 415 if ( data.hidemob && isMobile ) { 416 $t.remove(); 417 return; 418 } 419 420 if ( data.img ) { 421 if ( direction == 'right' && opts.sidebar_style == 'skew' ) { 422 $t.find('> a').append('<img src="' + ( https ? data.img.replace('http:', 'https:') : data.img ) + '"/>') 423 } else { 424 $t.find('> a').prepend('<img src="' + ( https ? data.img.replace('http:', 'https:') : data.img ) + '"/>') 425 } 426 } else if ( data.icon ) { 427 var style = data.icon_color ? 'color: ' + data.icon_color + ';' : ''; 428 var icon = data.icon 429 var set = LAIconManagerUtil.getSet(icon) ? LAIconManagerUtil.getSet(icon) : 'Font Awesome'; 430 if (set === '####') { 431 icon = LAIconManagerUtil.getIcon(icon) 432 if (direction == 'right' && opts.sidebar_style == 'skew') { 433 $t.find('> a').append('<i style="background-image:url(' + icon + ')" class="la_icon la_icon_manager_custom">'); 434 } else { 435 $t.find('> a').prepend('<i style="background-image:url(' + icon + ')" class="la_icon la_icon_manager_custom">'); 436 } 437 } else { 438 icon = icon.indexOf('fa-') !== -1 ? 'la' + md5('Font Awesome') + '-' + icon.substr(3) : LAIconManagerUtil.getIconClass(icon); 439 if (direction == 'right' && opts.sidebar_style == 'skew') { 440 $t.find('> a').append('<i style="' + style + '" class="la_icon ' + icon + '">'); 441 } else { 442 $t.find('> a').prepend('<i style="' + style + '" class="la_icon ' + icon + '">'); 443 } 444 } 445 }; 446 447 if ( data.sline ) { 448 $t.find('> a span').append('<br><i class="sfm-sl">
448' + data.sline.replace(/\+/g, ' ') + '</i>'); 449 }; 450 451 if ( data.chapter ) { 452 $t.before('<li class="sfm-chapter"><div>' + data.chapter.replace(/\+/g, ' ') + '</div></li>') 453 }; 454 455 if ( data.tabindex ) { 456 $t.attr( 'tabindex', data.tabindex ); 457 }; 458 459 if ( data.content ) { 460 if ( !$t.find(".sfm-sm-indicator").length && menuOpts.subMenuSupport ) { 461 $t.addClass( pre + '-has-child-menu' ); 462 $t.find(' > a').append('<ins class="sfm-sm-indicator"><i></i></ins>'); 463 } 464 }; 465 466 $t.data('sfm-extra', data); 467 468 if ( data.width ) { 469 $t.attr('data-extra-width', data.width); 470 } 471 472 if ( data.bg ) { 473 $t.attr('data-bg', data.bg); 474 } 475 476 $t.attr('data-sfm-id', id); 477 478 } else { 479 return 480 } 481 482 }) 483 484 }, 485 486 detectLevel: function ($menu) { 487 $menu.find("." + pre + "-child-menu").each(function () { 488 var $t = $(this); 489 var t = $t.parents("." + pre + "-child-menu").length + 1; 490 $t.addClass(pre + "-menu-level-" + t); 491 492 if (!$sidebar.find('.' + pre + '-view-level-' + t).length) $sidebar.append($('<div class="sfm-view ' + pre + '-view-level-' + t + '"></div>')) 493 }) 494 }, 495 496 removeSubMenus: function ($menu) { 497 if (!menuOpts.subMenuSupport) { 498 499 return $menu.children().each(function () { 500 $(this).find("ul").remove(); 501 }); 502 } else { 503 var o = menuOpts.subMenuSelector.replace(/\s/g, "").split(","); 504 for (var l in o) $menu.find("." + o[l]).each(function () { 505 $(this).remove() 506 }) 507 } 508 }, 509 510 toggleActiveClasses: function ($menu) { 511 $menu.find("." + pre + "-has-child-menu").each(function () { 512 var $t = $(this); 513 if ($t.find("*").children("." + pre + "-active-class").length > 0) { 514 $t.toggleClass(pre + "-child-menu-open"); 515 setTimeout(function () { 516 $t.addClass(pre + "-child-menu-open"); 517 $t.find("." + pre + "-child-menu").first().show() 518 }, menuOpts.transitionDuration); 519 } 520 }) 521 } 522 }; 523 524 var currLevel = 0; 525 var cursor; 526 var animTimer; 527 var state = 'hidden'; 528 var collapsing = false; 529 var events = 'off'; 530 var ww; 531 var wh; 532 var MAX_WIDTH = 0; 533 var dragging = false; 534 var sfmPlayer; 535 536 function init( $defmenu ) { 537 538 Menu.build( $defmenu ); 539 540 if ( !$sidebar.parent().is('body') ) { 541 $body.prepend($('#sfm-body-bg, .sfm-rollback, #sfm-sidebar, #sfm-mob-navbar, #sfm-overlay-wrapper')) 542 } 543 544 var viewsL = Math.min(1 + $sidebar.find('.sfm-view').length, 4); 545 546 if ( opts.sub_type === 'flyout' ) { 547 for (var i = 1; i <= viewsL; i++) { 548 MAX_WIDTH += parseInt(opts['width_panel_' + i]); 549 } 550 } else { 551 MAX_WIDTH += parseInt(opts['width_panel_1']); 552 } 553 554 if ( opts.sidebar_behaviour === 'always' ) { 555 $sidebar.on('mouseenter ' + clickTapEvent, '.sfm-menu li:not(.sfm-chapter)', itemEventHandler); 556 } 557 else if ( opts.sidebar_style === 'full' ) { 558 // full click 559 $sidebar.on(clickTapEvent, '.sfm-menu li:not(.sfm-chapter)', itemEventHandler); 560 } 561 else { 562 $sidebar.addClass( 'sfm-fully-hidden'); 563 564 // Backup timer ID for transitionEnd fallback 565 var transitionBackupTimer = null; 566 var TRANSITION_DURATION = 350; // transition duration + buffer 567 568 // Handler function for sidebar transition completion 569 function handleSidebarTransition() { 570 // Clear backup timer if running 571 if (transitionBackupTimer) { 572 clearTimeout(transitionBackupTimer); 573 transitionBackupTimer = null; 574 } 575 576 if ( $sidebar.is('.sfm-sidebar-exposed') && events === 'off') { 577 578 $sidebar.on('mouseenter ' + clickTapEvent, '.sfm-menu li:not(.sfm-chapter)', itemEventHandler); 579 580 events = 'on'; 581 582 } else if ( !$sidebar.is('.sfm-sidebar-exposed') ) { 583 584 $sidebar.off( 'mouseenter ' + clickTapEvent, '.sfm-menu-level-0 > li, .sfm-view ul > li' ).addClass( 'sfm-fully-hidden' ); 585 events = 'off'; 586 $overlay.css( 'visibility', 'hidden' ); 587 588 if ( opts.sidebar_behaviour === 'push' ) { 589 590 //setTimeout(function(){ 591 var $fixed = $('.sfm-inner-fixed') 592 if (!isIE) $fixed.each(unshiftFixed); 593 $fixed.removeClass('sfm-inner-fixed'); 594 //}, 0) 595 } 596 } 597 } 598 599 $sidebar.on( window.transitionEnd, function (e) { 600 601 if (!$(e.target).is($sidebar)) return; 602 603 handleSidebarTransition(); 604 }); 605 606 // Backup timer system - triggers if transitionEnd doesn't fire 607 // Observe class changes and start backup timer 608 var sidebarObserver = new MutationObserver(function(mutations) { 609 mutations.forEach(function(mutation) { 610 if (mutation.attributeName === 'class') { 611 // Start backup timer whenever class changes (transition starts) 612 if (transitionBackupTimer) { 613 clearTimeout(transitionBackupTimer); 614 } 615 transitionBackupTimer = setTimeout(function() { 616 handleSidebarTransition(); 617 }, TRANSITION_DURATION); 618 } 619 }); 620 }); 621 622 sidebarObserver.observe($sidebar[0], { attributes: true, attributeFilter: ['class'] }); 623 } 624 625 // accessibility events 626 $sidebar.on( 'keyup', 'a', function ( e ) { 627 if ( e.keyCode == 13 ) { 628 // Do something 629 itemEventHandler( e ); 630 } 631 } ); 632 633 $body.on( 'keyup', function ( e ) { 634 if ( state === 'open' && e.keyCode == 27 ) { 635 // Do something 636 hideSidebar(); 637 } 638 } ); 639 640 641 // back to previous level 642 // if ( opts.sub_type === 'swipe' ) { 643 $sidebar.on( clickTapEvent, '.sfm-back-parent', backToParentView ); 644 // } 645 646 $('.sfm-view').mouseenter(function () { 647 clearTimeout( animTimer ); 648 }); 649 650 // state management 651 $custom.on( (opts.sub_opening_type === 'hover' /*&& !isMobile*/ && opts.sub_type !== 'dropdown') ? 'mouseenter' : clickTapEvent, function () { 652 cursor = this; 653 }); 654 655 if ( opts.opening_type === 'hover' /*&& !isMobile*/ /*&& opts.sidebar_behaviour !== 'always'*/ ) { 656 657 if (opts.sidebar_behaviour !== 'always') { 658 $rollback.mouseenter(function (e) { 659 if (!$(e.relatedTarget).is('.sfm-sidebar-close')) { 660 showSidebar() 661 } 662 }); 663 } 664 665 $sidebar.mouseleave(function (e) { 666 setTimeout(function () { 667 hideSidebar() 668 }, 14) 669 }); 670 671 } else if ( opts.opening_type === 'click' /*|| isMobile */|| opts.sub_type === 'dropdown' ) { 672 673 if ( opts.sub_opening_type === 'hover' ) { 674 $sidebar.mouseleave( function (e) { 675 setTimeout(function () { 676 $body.removeClass('sfm-view-pushed-custom sfm-view-pushed-1 sfm-view-pushed-2 sfm-view-pushed-3'); 677 hideCustom(true); 678 $sidebar.find('.sfm-active-item').removeClass('sfm-active-item'); 679 if (opts.sidebar_behaviour === 'always') { 680 setTimeout(function () { 681 $overlay.css('visibility', 'hidden') 682 }, 400); 683 } 684 }, 250) 685 }); 686 } 687 } 688 689 $('#sfm-overlay').on( clickTapEvent, hideSidebar ); 690 691 692 // these events should be attached only once 693 if ( opts.togglers && !LM.run ) { 694 /* 695 var $togglers = $body.find(opts.togglers); 696 if ($togglers) { 697 698 } 699 */ 700 $body.on( clickTapEvent , opts.togglers, function (e) { 701 702 // preventing immediate double tap events occurring in some themes 703 if (clickLocked()) return; 704 705 e.preventDefault(); 706 e.stopImmediatePropagation(); 707 state === 'hidden' ? showSidebar() : hideSidebar(); 708 return false; 709 }); 710 } 711 712 $sidebar.on('click', '.sfm-menu a', function (e) { 713 // console.log('preventing'); 714 e.preventDefault(); 715 }); 716 717 // these events should be attached only once 718 if ( !LM.run ) $win.on('resize orientationchange', setSize); 719 720 $sidebar.on("touchmove", function () { 721 dragging = true; 722 }); 723 724 $sidebar.on("touchend", function () { 725 dragging = false; 726 }); 727 728 $rollback.find('.sfm-navicon-button').add('#sfm-mob-navbar .sfm-navicon-button, .sfm-sidebar-close').on( clickTapEvent + ' keypress', function (e) { 729 //e.stopImmediatePropagation(); 730 731 // preventing immediate double tap events occurring in some themes 732 if (clickLocked()) return; 733 734 if ( e.type !== clickTapEvent ) { 735 if ( e.which != 13 ) { // enter 736 return 737 } 738 } 739 740 if ( state === 'hidden' ) { 741 showSidebar(); 742 $( this ).addClass("sfm-open"); 743 } else { 744 hideSidebar(); 745 $( this ).removeClass("sfm-open"); 746 } 747 748 return false; 749 }); 750 751 // propagate 752 $('#sfm-sidebar .sfm-search-form span').on( clickTapEvent, function () { 753 $( this ).closest('form').trigger('submit') 754 }) 755 756 if ( isMobile ) { 757 // todo check if still needed 758 if (/iPad|iPhone/.test(navigator.userAgent)) { 759 $sidebar.on('focus', 'input', function (e) { 760 $body.css('overflowX', 'visible'); 761 $sidebar.css({'position': 'absolute', top: '-62px'}) 762 $(document).scrollTop(0); 763 764 }).on('blur', 'input', function () { 765 $sidebar.css('position', ''); 766 $body.css('overflowX', 'hidden'); 767 }); 768 } 769 attachSwipesHandler(); 770 } 771 772 populateSocialBarWith( opts.social ); 773 774 // 5.0, wrap for boxes 775 if ( opts.sidebar_style === 'full' ) { 776 $sidebar.find('.sfm-social, .sfm-copy').wrapAll( "<div class='sfm-fs-bottom-box'></div>" ); 777 } 778 779 var behaviour = opts.sidebar_style == 'full' ? 'full' : opts.sidebar_behaviour; 780 781 var bodyClasses = 'superfly-on sfm-style-' + opts.sidebar_style + ' sfm-sidebar-' + behaviour + ' sfm-toggle-' + opts.opening_type + (opts.blur === 'yes' ? ' sfm-blur' : ''); 782 if ( opts.sidebar_style == 'side' ) bodyClasses += ' sfm-sub-' + opts.sub_type + ' sfm-sub-mob-' + opts.sub_mob_type 783 $body.addClass( bodyClasses ); 784 785 if ( !LM.run ) { 786 $( document ).ajaxComplete(function() { 787 setTimeout(function(){ 788 if(!$body.is('.superfly-on')) { 789 $body.addClass( bodyClasses) ; 790 } 791 }, 0); 792 }); 793 } 794 795 setTimeout(function () { 796 797 if ( opts.sidebar_behaviour === 'always' ) { 798 setTimeout( function () { 799
799 setSize(); 800 $sidebar.css('opacity', '1'); 801 }, 300); 802 } else { 803 $sidebar.css('opacity', '1'); 804 805 setTimeout( function () { 806 $sidebar.addClass('sfm-transitions-enabled'); 807 }, 300); 808 } 809 }, 0); 810 811 if ( opts.test_mode === 'yes' ) { 812 $sidebar.addClass( 'sfm-test-mode' ); 813 } 814 815 $('.sfm-close').on( clickTapEvent, function () { 816 $custom.removeClass('sfm-modal'); 817 var css = {'opacity': '', 'visibility': ''}; 818 $custom.css(css); 819 $custom.find('.sfm-active').removeClass('sfm-active'); 820 }) 821 822 // fix for CF7 823 $( function(){ 824 825 setTimeout(function(){ 826 827 var $cf7form = $('#sfm-sidebar .wpcf7 form'); 828 if ( !$cf7form.length ) return; 829 $cf7form.each( function() { 830 var $form = $( this ); 831 if ( window.wpcf7 ) window.wpcf7.initForm( $form ); 832 833 if ( window.wpcf7 && window.wpcf7.cached ) { 834 window.wpcf7.refill( $form ); 835 } 836 } ); 837 838 },0) 839 }); 840 841 // fix for comments in customizer 842 843 844 // video init 845 846 if ( !LM.run ) { 847 848 $( document ).on( 'sfm-video-player-ready', function () { 849 // stop loading animation 850 console.log(' SF video ready ') 851 852 }) 853 854 $( document ).on( 'sfm-video-player-error', function () { 855 856 }) 857 } 858 859 if ( opts.video_bg && ( opts.video_preload === 'yes' || opts.sidebar_behaviour === 'always') ) { 860 861 if ( isMobile && opts.video_mob === 'yes' ) { 862 863 // disabled on mobiles 864 865 } else { 866 867 sfmPlayer = $(".sfm-video").YTPlayer(); 868 869 if ( opts.sidebar_behaviour === 'always' ) { 870 871 sfmPlayer.YTPPlay(); 872 873 } 874 } 875 876 } 877 878 // LM.init = function () {}; 879 LM.run = true; 880 881 return this; 882 } 883 884 function hideCustom ( reset ) { 885 if ( customOpened ) { 886 var css = { 'opacity': '', 'visibility': '', transProp: '' }; 887 if ( reset ) { 888 // css[ transProp ] = defTranslationStr; 889 css[ 'width' ] = ''; 890 } 891 else { 892 // css[ transProp ] = $custom.data( 'startPos' ) || defTranslationStr; 893 } 894 $custom.css( css )//.data('startPos', '') 895 .removeClass( function( index, cls ) { 896 var match = cls.match( /sfm-custom-active-\d+/ ); 897 return match ? match[0] : false; 898 }); 899 $custom.find('.sfm-active').removeClass('sfm-active'); 900 } 901 } 902 903 function setupFont() { 904 var wh = window.innerHeight || document.documentElement.offsetHeight || document.documentElement.clientHeight; 905 var th = wh - $('.sfm-logo').outerHeight() - $('.sfm-social').outerHeight() - 60; 906 var th = wh - ($('.sfm-logo img').length ? 80 : 0 ) - ($('.sfm-social').children().length ? 85 : 0 ) - 30; 907 var $links = $sidebar.find('.sfm-nav .sfm-menu li > a'); 908 var num = $links.length; 909 var space = th / num; 910 var line = Math.min(space - opts.item_padding * 2, isMobile ? 45 : 65); 911 $links.css({'fontSize': line, 'lineHeight': space - opts.item_padding + 'px'}) 912 //$links.css('lineHeight', space + 'px') 913 //console.log('line', th, space, space - opts.item_padding * 2, line) 914 } 915 916 function showSidebar() { 917 var $children; 918 var scrollTop, scrollLeft; 919 if (state !== 'hidden') return; 920 921 clearTimeout(animTimer); 922 setSize(); 923 924 $sidebar.addClass('sfm-sidebar-exposed'); 925 $rollback.find('.sfm-navicon-button').add('#sfm-mob-navbar .sfm-navicon-button').addClass('sfm-open'); 926 $overlay.css('visibility', 'visible'); 927 928 $body.addClass('sfm-body-pushed'); 929 930 if ( opts.sidebar_style !== 'full' && opts.sidebar_behaviour !== 'always' ){ 931 $sidebar.removeClass('sfm-fully-hidden'); 932 } 933 934 if ( opts.sidebar_behaviour === 'push' && opts.sidebar_style != 'full' ) { 935 936 $children = $body.children().not('[id*=sfm-], script, style'); 937 938 scrollTop = $win.scrollTop(); 939 scrollLeft = $win.scrollLeft(); 940 941 $children.find('*').each(function (i, el) { 942 findAndShiftFixed(i, el, scrollTop, scrollLeft) 943 }); 944 945 } else if ( opts.sidebar_style === 'full' ) { 946 947 setTimeout( function () { 948 949 $body.addClass( 'sfm-ui-shown' ); 950 951 }, 350); 952 953 } 954 955 // video 956 957 if ( isMobile && opts.video_mob === 'yes' ) { 958 959 // disabled on mobiles 960 961 } else { 962 963 if ( opts.video_bg && opts.video_preload !== 'yes' ) { 964 if ( sfmPlayer && sfmPlayer.YTPGetPlayer() ) { 965 sfmPlayer.YTPPlay(); 966 } else { 967 sfmPlayer = $(".sfm-video").YTPlayer(); 968 window.sfmPlayer = sfmPlayer; 969 } 970 971 } else { 972 if ( sfmPlayer ) sfmPlayer.YTPPlay(); 973 } 974 975 } 976 977 $sidebar.removeAttr( 'aria-hidden' ); 978 979 state = 'open'; 980 981 return false; 982 } 983 984 function hideSidebar() { 985 986 var classes = 'sfm-body-pushed sfm-view-pushed-custom'; 987 clearTimeout( animTimer ); 988 collapsing = true; 989 990 /*if ( isIE && (opts.sidebar_behaviour === 'push') ) { 991 $('.sfm-inner-fixed').each(unshiftFixed); 992 }*/ 993 994 if ( opts.sidebar_behaviour === 'always' || opts.sidebar_style === 'full' ) { 995 setTimeout(function () { 996 $overlay.css('visibility', 'hidden') 997 }, 800); 998 } 999 1000 $sidebar.find('.sfm-active-item').removeClass('sfm-active-item'); 1001 1002 hideCustom(true); 1003 1004 if ( opts.sub_type !== 'swipe' ) { 1005 classes += ' sfm-view-pushed-1 sfm-view-pushed-2 sfm-view-pushed-3 sfm-view-pushed-4 '; 1006 } 1007 1008 $body.removeClass( classes ); 1009 $sidebar.removeClass( 'sfm-sidebar-exposed' ) 1010 $rollback.find('.sfm-navicon-button').add('#sfm-mob-navbar .sfm-navicon-button').removeClass('sfm-open'); 1011 1012 $sidebar.attr( 'aria-hidden', 'true'); 1013 1014 state = 'hidden'; 1015 1016 currLevel = 0; 1017 1018 if ( sfmPlayer ) sfmPlayer.YTPPause(); 1019 1020 setTimeout( function () { 1021 collapsing = false; 1022 1023 if ( opts.sub_type === 'swipe' ) { 1024 $body.removeClass( 'sfm-view-pushed-1 sfm-view-pushed-2 sfm-view-pushed-3 sfm-view-pushed-4' ); 1025 } 1026 1027 }, 250) 1028 1029 setTimeout( function () { 1030 1031 if ( opts.sidebar_style === 'full' ) { 1032 $body.removeClass( 'sfm-ui-shown' ); 1033 } 1034 1035 }, 400) 1036 } 1037 1038 function itemEventHandler (e) { 1039 1040 // preventing immediate double tap events occurring in some themes 1041 if (clickLocked()) return; 1042 e.stopImmediatePropagation(); 1043 1044 var $t = $(this); 1045 var $tar; 1046 var _cursor, timer; 1047 1048 function goToLink() { 1049
1050 var $a = $t.find('a'); 1051 var hr = $a.prop('href'); 1052 var blank = $a.attr('target') === '_blank'; 1053 var hash = $a.prop('hash'); 1054 var smooth = hash && hash.length > 0 && hr == lh + hash, scrollTop, $el; 1055 if (smooth) { 1056 hideSidebar(); 1057 /*if (opts.sidebar_style === 'static') { 1058 $sidebar.find('.sfm-active-smooth').removeClass('sfm-active-smooth'); 1059 $t.addClass('sfm-active-smooth'); 1060 }*/ 1061 if (hash !== '#') { 1062 $el = $(hash); 1063 if (!$el.length) { 1064 $el = $('[name="' + hash.replace('#', '') + '"]'); 1065 } 1066 } 1067 scrollTop = $el && $el.length ? $el.offset().top : 0; 1068 $('html, body').stop().animate({ 1069 scrollTop: scrollTop 1070 }, 600); 1071 } 1072 else if (blank) { 1073 window.open(hr, '_blank'); 1074 } else { 1075 //hideSidebar(); 1076 if (opts.fade === 'yes') { 1077 if (hr.indexOf('#') !== -1 && hash === '') { 1078 return 1079 } 1080 $body.fadeOut(200, function () { 1081 hideSidebar(); 1082 location.href = hr 1083 }); 1084 } else { 1085 hideSidebar(); 1086 location.href = hr 1087 } 1088 } 1089 } 1090 1091 if ( e.type === clickTapEvent ) { // click event 1092 1093 $tar = $(e.target); 1094 if ( ( opts.parent_ignore === 'yes' && $t.is('.sfm-has-child-menu ') ) || $tar.closest( '.sfm-sm-indicator').length ) { 1095 e.preventDefault(); 1096 eventFor($t, e); 1097 } else { 1098 goToLink(); 1099 } 1100 1101 } 1102 else { // mouseenter 1103 _cursor = this; 1104 1105 if ( subOpeningEvent === 'mouseenter') { 1106 timer = setTimeout(function () { 1107 if (_cursor === cursor) { 1108 eventFor($t, e); 1109 } 1110 }, 52); 1111 } else { 1112 // ignore hover if submenus set to be opened on click 1113 } 1114 1115 cursor = this; 1116 } 1117 1118 1119 //e.stopImmediatePropagation(); 1120 //return false 1121 } 1122 1123 function eventFor ( $t, e ) { 1124 1125 if ( dragging || collapsing ) { 1126 return; 1127 } 1128 // console.log('event for') 1129 1130 clearTimeout(animTimer); 1131 1132 var openingLevel = parseInt(( $t.closest('ul').attr('class') || '0' ).match(/\d/)[0]) + 1; 1133 var $sub, $et; 1134 var $sibs = $t.siblings('.sfm-active-item'), css; 1135 var $a = $t.find('a'); 1136 var hr, blank, hash, smooth, scrollTop; 1137 var _ww = ww; 1138 var _wh = wh; 1139 var backHTML = '', $link; 1140 var startPos, customWidth, calcWidth, customBg, $currCont, classes; 1141 1142 var customID, allowedWidth; 1143 1144 hideCustom(openingLevel <= currLevel); 1145 1146 $sibs.removeClass('sfm-active-item'); 1147 1148 if ( $t.is('.sfm-has-child-menu') ) { 1149 //console.log('child menu item'); 1150 $sub = $t.children('.sfm-child-menu').first(); 1151 1152 // if ( opts.sub_type === 'swipe' ) { 1153 $link = $a.eq(0).find('span').clone(); 1154 $link.find('i').remove(); 1155 backHTML += '<a href="#" class="sfm-back-parent"><ins class="sfm-sm-indicator"><i></i></ins><span>' + $link.text() + '</span></a>'; 1156 // } 1157 1158 if ( $sub.length ) { 1159 1160 if ( MAX_WIDTH < _ww && /*!isMobile &&*/ opts.sub_type !== 'dropdown' && opts.sidebar_style !== 'full' ) { 1161 1162 // hiding only next levels relative to clicked 1163 $body.removeClass( 'sfm-view-pushed-custom sfm-nav-back sfm-view-pushed-' + openingLevel + ' sfm-view-pushed-' + (openingLevel + 1) + ' sfm-view-pushed-' + (openingLevel + 2) ); 1164 1165 if ( !$sidebar.is('.sfm-sidebar-exposed' ) && opts.sidebar_behaviour !== 'always' ) return; 1166 1167 $( '.sfm-view-level-' + openingLevel ).attr('class', 1168 function (i, c) { 1169 return c.replace(/(^|\s)sfm-current-\S+/g, ''); 1170 }).html( '<div class="sfm-scroll-wrapper"><div class="sfm-scroll">' + backHTML + '<ul class="sfm-menu-level-' + openingLevel + ' sfm-menu">' + $sub.html() + '</ul></div></div>' ).addClass('sfm-current-' + $t.data('sfmId')); 1171 1172 animTimer = setTimeout(function () { 1173 $body.addClass('sfm-view-pushed-' + openingLevel + ( openingLevel <= currLevel ? ' sfm-nav-back' : '') ); 1174 if (opts.sidebar_behaviour === 'always') $overlay.css('visibility', 'visible'); 1175 currLevel = openingLevel; 1176 }, 25); 1177 1178 $t.addClass('sfm-active-item'); 1179 1180 } else { 1181 1182 // fallback to dropdown for flyouts 1183 1184 $et = $( e.target ); 1185 hr = $a.attr('href'); 1186 var hash = $a.prop( 'hash' ); 1187 if ( opts.parent_ignore === 'yes' || $et.closest('.sfm-sm-indicator').length || hash === '#' || hr === '#' || hr === '/' ) { 1188 1189 if ( !$t.is( '.sfm-submenu-visible' ) ) { 1190 console.log('sub', $sub) 1191 $t.siblings().filter('.sfm-submenu-visible').removeClass('sfm-submenu-visible').find('> ul').slideUp(); 1192 $t.addClass('sfm-submenu-visible'); 1193 $sub.slideDown( 1194 { start: function () { 1195 setSize( e, 'contentChanged', $sub); 1196 } 1197 }); 1198 } else { 1199 if ( $a.length && e.type === clickTapEvent ) { 1200 $t.removeClass( 'sfm-submenu-visible' ); 1201 $sub.slideUp( 1202 { complete: function () { 1203 setTimeout( function () { 1204 setSize(e, 'contentChanged', $sub, 'up'); 1205 }, 0); 1206 1207 // reset focus 1208 if ( document.activeElement ) document.activeElement.blur(); 1209 } 1210 }); 1211 } 1212 } 1213 } 1214 } 1215 } else { 1216 1217 // Custom content 1218 1219 customWidth = $t.attr('data-extra-width') ; 1220 customBg = $t.attr('data-bg') || ''; 1221 // apply custom width (if any) only for flyout panels, otherwise assign width of sidebar 1222 calcWidth = opts.sub_type === 'flyout' ? parseInt( customWidth || opts[ 'width_panel_' + ( openingLevel + 1 ) ] ) : opts['width_panel_1']; 1223 1224 customID = $t.attr('data-sfm-id'); 1225 allowedWidth = opts.sub_type === 'flyout' ? sums[ openingLevel - 1 ] + calcWidth : opts['width_panel_1']; 1226 1227 // if enough space for flyout and not fullscreen, otherwise popup 1228 // swipe custom content for dropdown layout 1229 if ( allowedWidth < _ww && opts.sidebar_style !== 'full' ) { 1230 1231 // flyout panels 1232 $currCont = $custom.find('#sfm-cc-' + $t.attr('data-sfm-id')); 1233 1234 $sibs.removeClass( 'sfm-active-item' ); 1235 $body.removeClass( 'sfm-view-pushed-custom sfm-nav-back sfm-view-pushed-' + openingLevel + ' sfm-view-pushed-' + (openingLevel + 1) + ' sfm-view-pushed-' + (openingLevel + 2) ) 1236 .addClass('sfm-view-pushed-custom' + ( openingLevel <= currLevel ? ' sfm-nav-back' : '')); 1237 1238 if ( !$sidebar.is('.sfm-sidebar-exposed') && opts.sidebar_behaviour !== 'always' ) { 1239 return; 1240 } 1241 1242 if ( opts.sidebar_behaviour === 'always' ) { 1243 $overlay.css('visibility', 'visible'); 1244 } 1245 1246 $t.addClass( 'sfm-active-item' ); 1247 1248 css = { 1249 'backgroundColor': customBg, 1250 'width': calcWidth 1251 }; 1252 1253 $custom.css( css ).addClass( 'sfm-custom-active-' + customID ); 1254 1255 // remove back links 1256 $custom.find( '.sfm-back-parent' ).remove(); 1257 $custom.prepend( $( backHTML ) ); 1258 1259 $custom.find( '.sfm-active' ).removeClass( 'sfm-active' ); 1260 1261 $currCont.width( calcWidth ); 1262 1263 if ( _wh > $currCont.outerHeight() ) { 1264 1265 $currCont.addClass('sfm-vert-align sfm-active'); 1266 1267 } else { 1268 1269 $currCont.removeClass('sfm-vert-align').addClass('sfm-active'); 1270 1271 } 1272 1273 setTimeout(function(){ 1274 // debugger 1275 console.log('custom content') 1276 }, 600) 1277 customOpened = true; 1278 1279 } else { 1280 // open modal for custom content 1281 $et = $(e.target); 1282 1283 if ( opts.parent_ignore === 'yes' || $et.closest('.sfm-sm-indicator').length /*|| isMobile*/ || opts.sub_type === 'dropdown' ) { 1284 if ( !$t.is( '.sfm-submenu-visible' ) ) { 1285 customBg = $t.attr( 'data-bg' ); 1286 $t.siblings().filter( '.sfm-submenu-visible' ).removeClass( 'sfm-submenu-visible' ).find( '>
1286 ul' ).slideUp() 1287 1288 $custom.addClass( 'sfm-modal' ); 1289 css = { 1290 'opacity': 1, 1291 'visibility': 'visible', 1292 'backgroundColor': customBg/*, 1293 'width': _ww*/ 1294 }; 1295 $custom.find( '.sfm-active' ).removeClass( 'sfm-active' ); 1296 $custom.find( '#sfm-cc-' + $t.attr( 'data-sfm-id' ) ).addClass( 'sfm-active' ); 1297 $custom.css( css ); 1298 } 1299 } 1300 } 1301 } 1302 1303 } else { 1304 1305 if (MAX_WIDTH < _ww + 200) { 1306 //console.log('siblings', $t.siblings('.sfm-active-item').length) 1307 $t.siblings('.sfm-active-item').removeClass('sfm-active-item'); 1308 1309 animTimer = setTimeout(function () { 1310 $body.removeClass( 'sfm-view-pushed-custom sfm-view-pushed-' + openingLevel + ' sfm-view-pushed-' + (openingLevel + 1) + ' sfm-view-pushed-' + (openingLevel + 2) ); 1311 }, 50); 1312 } 1313 1314 } 1315 1316 } 1317 1318 function backToParentView ( e ) { 1319 // preventing immediate double tap events occurring in some themes 1320 if (clickLocked()) return; 1321 e.stopImmediatePropagation(); 1322 e.preventDefault(); 1323 1324 var $t = $(this); 1325 var level = parseInt(( $t.siblings('ul').attr('class') || '0' ).match(/\d/)[0]); 1326 1327 // back level up 1328 $body.removeClass('sfm-view-pushed-' + level + ' sfm-view-pushed-custom'); 1329 1330 $sidebar.find( '.sfm-active-item' ).removeClass( 'sfm-active-item' ); 1331 currLevel = level - 1; 1332 } 1333 1334 function setSize( e, contentChanged, $changed, isUp ) { 1335 1336 // update globals 1337 wh = document.documentElement && document.documentElement.clientHeight ? document.documentElement.clientHeight : ( window.innerHeight ? window.innerHeight : $win.height() ); 1338 ww = document.documentElement && document.documentElement.clientWidth ? document.documentElement.clientWidth : ( window.innerWidth ? window.innerWidth : $win.width() ); 1339 1340 var margin = parseInt( opts.item_padding ) * 2; 1341 var $sform = $cont.find('.sfm-search-form'); 1342 var $copy = $sidebar.find('.sfm-copy'); 1343 1344 // caching 1345 1346 setSize.cache = setSize.cache || { 1347 headerHeight: $head.is(':empty') ? 0 : $head.outerHeight() + 70 + margin, 1348 footerHeight: ( $socialbar.is(':empty') ? 0 : $socialbar.outerHeight() ) + ( $copy.length ? $copy.outerHeight() : 0 ), 1349 contentHeight: $cont.find('.sfm-menu').outerHeight() + ( $sform.length ? $sform.outerHeight() : 0 ) + $cont.find('.sfm-widget-area').outerHeight() 1350 }; 1351 1352 if ( contentChanged ) setSize.cache.contentHeight = ( $changed && !isUp ? $changed.outerHeight() : '' ) + $cont.find('.sfm-menu').outerHeight() + ( $sform.length ? $sform.outerHeight() : 0 ); 1353 1354 var contentHeight = setSize.cache.contentHeight; 1355 var headerHeight = setSize.cache.headerHeight; 1356 var footerHeight = setSize.cache.footerHeight; 1357 var availableSpace = ( wh - contentHeight ); 1358 var classesToAdd = ''; 1359 var classesToRemove = ''; 1360 // console.log('availableSpace', wh, contentHeight , availableSpace) 1361 1362 if ( availableSpace < ( headerHeight + footerHeight + margin ) /*|| isMobile*/ || opts.sub_type === 'dropdown' ) { 1363 1364 if ( opts.sidebar_style !== 'full' ) { 1365 1366 classesToAdd = 'sfm-compact'; 1367 1368 // available space is two halfs, top half for header and bottom half for footer 1369 1370 if ( availableSpace < headerHeight + footerHeight ) { 1371 1372 classesToAdd += ' sfm-compact-header sfm-compact-footer'; 1373 1374 } else { 1375 1376 classesToRemove += ' sfm-compact-header sfm-compact-footer'; 1377 1378 } 1379 1380 } 1381 } else { 1382 1383 classesToRemove = 'sfm-compact sfm-compact-header sfm-compact-footer'; 1384 1385 } 1386 1387 if ( MAX_WIDTH > ww /*|| isMobile*/ || opts.sub_type === 'dropdown' || opts.sidebar_style === 'full' ) { 1388 1389 classesToAdd += ' sfm-vertical-nav'; 1390 subOpeningEvent = clickTapEvent; 1391 1392 } else { 1393 1394 classesToRemove += ' sfm-vertical-nav'; 1395 1396 if (opts.sub_opening_type === 'hover') { 1397 1398 subOpeningEvent = 'mouseenter'; 1399 1400 } else { 1401 1402 subOpeningEvent = clickTapEvent; 1403 1404 } 1405 } 1406 1407 if ( classesToRemove ) $sidebar.removeClass( classesToRemove ); 1408 if ( classesToAdd ) $sidebar.addClass( classesToAdd ); 1409 1410 // deprecated 1411 // opts.sidebar_style === 'full' && opts.dynamic == 'yes' && setupFont( wh ); 1412 } 1413 1414 function findAndShiftFixed( i, el, scrollTop, scrollLeft, bh, wh ) { 1415 1416 var $t = $(el); 1417 var $offsetP; 1418 var t; 1419 var nu; 1420 var offset; 1421 var oLeft; 1422 var oTop; 1423 var coords; 1424 var newCSS; 1425 var _b; 1426 var transf; 1427 1428 if ( $t.css('position') === 'fixed' ) { 1429 1430 $t.addClass('sfm-inner-fixed'); 1431 1432 /*if (isIE) { 1433 1434 t = $t.css(transProp); 1435 1436 if (t !== 'none') { 1437 $t.data('sfm-old-matrix', t); 1438 t = _T.fromString(t); 1439 nu = t.x(translation); // add translation 1440 $t.css(transProp, _T.toString( nu )).data('sfm-transformed', 1); 1441 } else { 1442 $t.css(transProp, _T.toString( translation )/!*, transition: trans + 'transform 0.5s cubic-bezier(0.645, 0.045, 0.355, 1)', transitionDelay: '90ms'*!/).data('sfm-transformed', 1); 1443 } 1444 1445 } else { */ 1446 1447 $offsetP = $t; 1448 1449 while ($offsetP = $offsetP.parent()) { 1450 transf = $offsetP.css('webkitTransform'); 1451 if ((transf && transf !== 'none') || $offsetP.is('body')) { 1452 break 1453 } 1454 } 1455 1456 //console.log('offset parent' , $offsetP[0]) 1457 1458 offset = $offsetP.offset(); 1459 oLeft = offset.left; 1460 oTop = offset.top; 1461 //if (oTop === htmlMargins.top) oTop = 0; 1462 1463 if (isFF && $t.is(':visible')) { 1464 $t.hide().data('sfm-ff-hidden', 1); 1465 } 1466 1467 coords = { 1468 left: $t.css('left'), 1469 right: $t.css('right'), 1470 top: $t.css('top'), 1471 bottom: $t.css('bottom') 1472 } 1473 1474 if (isFF && $t.data('sfm-ff-hidden')) $t.show(); 1475 1476 newCSS = {}; 1477 _b = parseInt(coords.bottom); 1478 _b = isNaN(_b) ? 0 : _b; 1479 1480 if (coords.left !== 'auto') { 1481 coords.toChangeHor = 'left'; 1482 newCSS[coords.toChangeHor] = '-=' + (oLeft - scrollLeft); 1483 } else if (coords.right !== 'auto') { 1484 coords.toChangeHor = 'right'; 1485 newCSS[coords.toChangeHor] = '-=' + (oLeft - scrollLeft); 1486 } else { 1487 coords.toChangeHor = 'left' 1488 } 1489 1490 if (coords.top !== 'auto') { 1491 coords.toChangeVert = 'top'; 1492 newCSS[coords.toChangeVert] = oTop - scrollTop > 0 ? parseInt(coords.top) - (oTop - scrollTop) : parseInt(coords.top) + (scrollTop - oTop); 1493 } else if (coords.bottom !== 'auto') { 1494 coords.toChangeVert = 'bottom'; 1495 newCSS[coords.toChangeVert] = $body.height() + htmlMargins.top + htmlMargins.bottom + _b - $win.height() - scrollTop + 'px'; 1496 } else { 1497 coords.toChangeVert = 'top'; 1498 newCSS[coords.toChangeVert] = scrollTop; 1499 } 1500 1501 // console.log('transf', transProp); 1502 // console.log('el', el); 1503 // console.log('parent', $offsetP[0]); 1504 // console.log('coords', coords);
1505 // console.log('newCSS', newCSS); 1506 // console.log('offsetTop', oTop); 1507 // console.log(scrollTop, scrollLeft); 1508 1509 $t.css(newCSS).data('sfm-old-pos', coords) 1510 /*}*/ 1511 } 1512 } 1513 1514 function unshiftFixed(i, el) { 1515 var $el = $(el); 1516 var coords; 1517 var newCss; 1518 /*if (isIE) { 1519 if ($el.data('sfm-old-matrix')) { 1520 $el.css(transProp, $el.data('sfm-old-matrix')).data('sfm-old-matrix', ''); 1521 } else { 1522 $el.css(transProp, defTranslationStr).data('sfm-transformed', ''); 1523 } 1524 } else {*/ 1525 coords = $el.data('sfm-old-pos'); 1526 //console.log('coords', coords); 1527 newCss = {}; 1528 if (coords) { 1529 newCss[coords.toChangeHor] = coords[coords.toChangeHor]; 1530 newCss[coords.toChangeVert] = coords[coords.toChangeVert]; 1531 if (coords.toChangeVert === 'bottom') newCss['top'] = ''; 1532 $el.css(newCss); 1533 $el.data('sfm-old-pos', ''); 1534 } else { 1535 $el.css({left: '', top: '', bottom: '', right: ''}) 1536 } 1537 /*}*/ 1538 } 1539 1540 function populateSocialBarWith( social ) { 1541 var name, abbr; 1542 for ( name in social ) { 1543 if ( social.hasOwnProperty( name )) { 1544 if ( name === 'skype' ) { 1545 $('<li class="sfm-icon-' + name + '"><a href="skype:' + social[name] + '?call"><span>Sk.</span></a></li>').appendTo( $socialbar ); 1546 } else if (name === 'email') { 1547 $('<li class="sfm-icon-' + name + '"><a href="mailto:' + social[name] + '"><span>Em.</span></a></li>').appendTo( $socialbar ); 1548 } else { 1549 switch ( name ) { 1550 case 'facebook': 1551 abbr = 'Fb'; 1552 break; 1553 case 'twitter': 1554 abbr = 'X'; 1555 break; 1556 case 'dribbble': 1557 abbr = 'Dr'; 1558 break; 1559 case 'youtube': 1560 abbr = 'Yt'; 1561 break; 1562 case 'linkedin': 1563 abbr = 'Li'; 1564 break; 1565 case 'instagram': 1566 abbr = 'Ig'; 1567 break; 1568 case 'vimeo': 1569 abbr = 'Vi'; 1570 break; 1571 case 'gplus': 1572 abbr = 'Gp'; 1573 break; 1574 case 'soundcloud': 1575 abbr = 'Sc'; 1576 break; 1577 case 'pinterest': 1578 abbr = 'Pt'; 1579 break; 1580 case 'flickr': 1581 abbr = 'Fl'; 1582 break; 1583 case 'rss': 1584 abbr = 'Rss'; 1585 break; 1586 }; 1587 1588 $('<li class="sfm-icon-' + name + '"><a href="' + social[ name ] + '" target="_blank"><span>' + abbr + '.</span></a></li>').appendTo( $socialbar ); 1589 } 1590 } 1591 } 1592 } 1593 1594 function attachSwipesHandler() { 1595 var startX, startY, startTime, moveX, moveY; 1596 $sidebar.add($overlay).on('touchstart', function (e) { 1597 if (state === 'open') { 1598 startTime = (new Date).getTime(); 1599 startX = e.originalEvent.touches[0].pageX; 1600 startY = e.originalEvent.touches[0].clientY; 1601 } 1602 }) 1603 .on('touchmove', function (e) { 1604 if (state === 'open') { 1605 moveX = e.originalEvent.touches[0].pageX; 1606 moveY = e.originalEvent.touches[0].clientY 1607 } 1608 }) 1609 .on('touchend', function () { 1610 if (state === 'open') { 1611 var swipeDirection = moveX > startX ? "right" : "left"; 1612 var finalY = moveY - startY > 30 || -30 > moveY - startY; 1613 var finalX = moveX - startX > 60 || -60 > moveX - startX; 1614 var now = (new Date).getTime(); 1615 if (!(now - startTime > 200 || finalY) && finalX) { 1616 switch (swipeDirection) {
1617 case "left": 1618 "left" === direction ? hideSidebar() : showSidebar(); 1619 break; 1620 case "right": 1621 "left" === direction ? showSidebar() : hideSidebar() 1622 } 1623 } 1624 } 1625 }); 1626 } 1627 1628 function freezeBodyScroll(e) { 1629 var scrollTo = null; 1630 1631 if (e.type == 'mousewheel') { 1632 scrollTo = (e.originalEvent.wheelDelta * -1); 1633 } 1634 else if (e.type == 'DOMMouseScroll') { 1635 scrollTo = 40 * e.originalEvent.detail; 1636 } 1637 1638 if (scrollTo) { 1639 e.preventDefault(); 1640 $(this).scrollTop(scrollTo + $(this).scrollTop()); 1641 } 1642 } 1643 1644 function freezeBody(e) { 1645 if (e.type == 'mousewheel' || e.type == 'DOMMouseScroll') { 1646 e.preventDefault() 1647 } 1648 } 1649 1650 function checkOrientation() { 1651 var o = window.orientation; 1652 if (o) { 1653 if (o != 90 && o != -90) { 1654 return 'portrait'; 1655 } else { 1656 return 'landscape'; 1657 } 1658 } else { 1659 if ($win.height() > $win.width()) { 1660 return 'portrait'; 1661 } else { 1662 return 'landscape'; 1663 } 1664 } 1665 } 1666 1667 return { 1668 init: init, 1669 showSidebar: showSidebar, 1670 hideSidebar: hideSidebar, 1671 sfmPlayer: sfmPlayer, 1672 Menu: Menu, 1673 setSize: setSize, 1674 getState: function () { 1675 return state 1676 } 1677 } 1678 }()); 1679 1680 // main initialization 1681 window.LM = LM.init( $defmenu ); 1682 1683 }, 0); 1684 1685 } 1686 1687 function attachStyles(t) { 1688 if (document.body) { 1689 var s = document.createElement('style'); 1690 s.type = 'text/css'; 1691 if (/WebKit|MSIE/i.test(navigator.userAgent)) { 1692 if (s.styleSheet) { 1693 s.styleSheet.cssText = t; 1694 } else { 1695 s.innerText = t; 1696 } 1697 } else { 1698 s.innerHTML = t; 1699 } 1700 document.getElementsByTagName('head')[0].appendChild(s); 1701 } else {
1702 document.write('<style type="text/css">' + t + '</style>'); 1703 } 1704 } 1705 1706 function getVendorPropertyName(prop) { 1707 1708 var prefixes = ['Moz', 'Webkit', 'O', 'ms'], 1709 vendorProp, i, 1710 div = document.createElement('div'), 1711 prop_ = prop.charAt(0).toUpperCase() + prop.substr(1); 1712 1713 if (prop in div.style) { 1714 return prop; 1715 } 1716 1717 for (i = 0; i < prefixes.length; ++i) { 1718 1719 vendorProp = prefixes[i] + prop_; 1720 1721 if (vendorProp in div.style) { 1722 return vendorProp; 1723 } 1724 1725 } 1726 1727 // Avoid memory leak in IE. 1728 this.div = null; 1729 }; 1730 1731 function deparam(query) { 1732 var pairs, i, keyValuePair, key, value, map = {}; 1733 // remove leading question mark if its there 1734 if (query.slice(0, 1) === '?') { 1735 query = query.slice(1); 1736 } 1737 if (query !== '') { 1738 pairs = query.split('&'); 1739 for (i = 0; i < pairs.length; i += 1) { 1740 keyValuePair = pairs[i].split('='); 1741 key = decodeURIComponent(keyValuePair[0]); 1742 value = (keyValuePair.length > 1) ? decodeURIComponent(keyValuePair[1]) : undefined; 1743 map[key] = value; 1744 } 1745 } 1746 return map; 1747 } 1748 1749 1750})(window.jQuery);
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.