// source --> https://www.tomstoewer.de/wp-content/plugins/apmap/source/js/new.js?ver=5.6 (function(d){d.fn.apmap=function(b){function e(a){(function(a,f,d){var c=a.getElementsByTagName(f)[0];a.getElementById(d)||(a=a.createElement(f),a.id=d,a.src="//connect.facebook.net/en_US/sdk.js",c.parentNode.insertBefore(a,c))})(document,"script","facebook-jssdk");window.fbAsyncInit=function(){FB.init({appId:a,xfbml:!0,version:"v2.9"})}}function L(a,c){if(c&&"file:"!=window.location.protocol){var f="map_all_count"==a?[{name:"action",value:a},{name:"media_id",value:c.mediaId}]:"map_play_count"==a? [{name:"action",value:a},{name:"media_id",value:c.mediaId},{name:"title",value:c.title||""},{name:"artist",value:c.artist||""},{name:"currentTime",value:k.currentTime},{name:"duration",value:k.duration}]:[{name:"action",value:a},{name:"media_id",value:c.mediaId},{name:"title",value:c.title||""},{name:"artist",value:c.artist||""}];window.map_data&&(b.ajax_url=window.map_data.ajax_url);d.ajax({url:b.ajax_url,type:"post",data:f,dataType:"json"}).done(function(a){a&&a.media_id==p.mediaId&&(void 0!=a.play_count? tb.find("span").html(MAPUtils.nFormatter(parseInt(a.play_count,10),1)):tb.find("span").html("0"),void 0!=a.like_count?Ya.find("span").html(MAPUtils.nFormatter(parseInt(a.like_count,10),1)):Ya.find("span").html("0"),void 0!=a.download_count?Ca.find("span").html(MAPUtils.nFormatter(parseInt(a.download_count,10),1)):Ca.find("span").html("0"))}).fail(function(a,c,f){console.log("Error getStats: "+a,c,f)})}}function x(a){if(m){if(!Na){if("touchstart"==a.type){if(a=a.originalEvent.touches,!(a&&0a?a=0:a>ca&&(a=ca),a=Math.max(0,Math.min(1,a/ca)));if(k&&Ea)try{k.currentTime=a*k.duration}catch(c){console.log(c)}}function t(a){if(Oa)c=ub.trackTooltip(a),f=n[0].getBoundingClientRect(),d=da[0].getBoundingClientRect(),a=parseInt(d.top-f.top-A.outerHeight()-10),N=parseInt(d.left- f.left-A.outerWidth()/2+da.outerWidth()/2);else{c=a.pageX-Za.offset().left;if(!MAPUtils.isNumber(c))return!1;0>c?c=0:c>ca&&(c=ca);var c=Math.max(0,Math.min(1,c/ca)),f=n[0].getBoundingClientRect(),d=da[0].getBoundingClientRect(),N=parseInt(a.pageX-Fa.scrollLeft()-f.left-A.outerWidth()/2);a=parseInt(d.top-f.top-5-A.outerHeight(),10)}A.css({left:N+"px",top:a+"px"}).show();if(!MAPUtils.isNumber(c))return!1;k&&(f=k.duration,a=c*f,MAPUtils.isNumber(a)&&MAPUtils.isNumber(f)&&A.find("p").html(MAPUtils.formatCurrentTime(a)+ " / "+MAPUtils.formatDuration(f)))}function K(a){if(m){if(!Pa){if("touchstart"==a.type){if(a=a.originalEvent.touches,!(a&&0w?Qa.find(".map-btn-volume-down").show():.5<=w&&1>=w&&Qa.find(".map-btn-volume-up").show();a=parseInt(Math.round(w*ea))-Tb.outerWidth(!0)/2;Tb.css(pa?"bottom":"left",a+"px")}function M(a){var c=pa?a.pageY-qa.offset().top: a.pageX-qa.offset().left;0>c?c=0:c>ea&&(c=ea);c=Math.max(0,Math.min(1,c/ea));if(!MAPUtils.isNumber(c))return!1;pa&&(c=1-c);c=parseInt(100*c,10);A.find("p").text(c+" %");var f=n[0].getBoundingClientRect(),d=fa[0].getBoundingClientRect();pa?(c=parseInt(d.left-f.left-A.outerWidth()/2+fa.outerWidth()/2),a=parseInt(a.pageY-Fa.scrollTop()-f.top-A.outerHeight()-10)):(c=parseInt(a.pageX-Fa.scrollLeft()-f.left-A.outerWidth()/2),a=parseInt(d.top-f.top-A.outerHeight()));A.css({left:c+"px",top:a+"px"}).show()} function ha(a){a.preventDefault();if(!m)return!1;a=d(a.currentTarget).attr("data-id");if(a==r.getCounter())return!1;wb=!0;ya&&L("map_play_count",p,!1);r.processPlaylistRequest(a);d(q).trigger("clickPlaylistItem",{instance:q,instanceName:G,playerInstance:O,counter:a})}function H(a){a.preventDefault();if(!m)return!1;a=d(a.currentTarget);if(a.attr("data-id")==r.getCounter())return!1;a.removeClass("map-playlist-non-selected").addClass("map-playlist-selected");d(q).trigger("overPlaylistItem",{instance:q, instanceName:G,item:a})}function B(a){a.preventDefault();if(!m)return!1;a=d(a.currentTarget);if(a.attr("data-id")==r.getCounter())return!1;a.removeClass("map-playlist-selected").addClass("map-playlist-non-selected");d(q).trigger("outPlaylistItem",{instance:q,instanceName:G,item:a})}function U(a){if(!m)return!1;a=d(a.currentTarget);if(a.hasClass("map-prev-toggle"))q.previousMedia();else if(a.hasClass("map-playback-toggle"))q.togglePlayback();else if(a.hasClass("map-next-toggle"))q.nextMedia();else if(a.hasClass("map-loop-toggle"))V= !V,r.setLooping(V),V?Ga.removeClass("map-icon-color").addClass("map-icon-rollover-color"):Ga.removeClass("map-icon-rollover-color").addClass("map-icon-color");else if(a.hasClass("map-random-toggle"))W=!W,r.setRandom(W),W?Ha.removeClass("map-icon-color").addClass("map-icon-rollover-color"):Ha.removeClass("map-icon-rollover-color").addClass("map-icon-color");else if(a.hasClass("map-sort-alpha"))q.sort("title",$a),($a=!$a)?(ra.find(".map-btn-sort-alpha-up").hide(),ra.find(".map-btn-sort-alpha-down").show()): (ra.find(".map-btn-sort-alpha-up").show(),ra.find(".map-btn-sort-alpha-down").hide());else if(a.hasClass("map-popup-toggle"))mapOpenPopup(q,b);else if(a.hasClass("map-share-toggle"))"none"==n.find(".map-share-holder").css("display")?(n.find(".map-share-holder").css("display","block"),console.log(n.find(".map-share-holder").css("display"))):n.find(".map-share-holder").css("display","none");else if(a.hasClass("map-share-item")){a=a.attr("data-share").toLowerCase();var c="https:"==window.location.protocol? "https:":"http:",f=(window.screen.width-600)/2,S=(window.screen.height-300)/2,N=q.getTitle(r.getCounter()," - "),g=p.description||"",e=p.thumb||"",h=p.share||window.location.href;MAPUtils.relativePath(e)||(e=MAPUtils.qualifyURL(e));if("facebook"==a)window.FB&&FB.ui({method:"share_open_graph",action_type:"og.shares",action_properties:JSON.stringify({object:{"og:url":h,"og:title":N,"og:description":g,"og:image":e}})});else if("twitter"==a){var k=c+"//twitter.com/intent/tweet?url="+encodeURIComponent(h); MAPUtils.isEmpty(N)||(k+="&text="+encodeURIComponent(N))}else"googleplus"==a?k=c+"//plus.google.com/share?url="+encodeURIComponent(h):"tumblr"==a&&(k=c+"//www.tumblr.com/share/link?url="+encodeURIComponent(h),MAPUtils.isEmpty(N)||(k+="&name="+encodeURIComponent(N)),MAPUtils.isEmpty(g)||(k+="&description="+encodeURIComponent(g)));k&&window.open(k,"","menubar=no,toolbar=no,resizable=yes,scrollbars=yes,width=600,height=300,left="+f+",top="+S)}}function sa(a){if(!m||Pa||Na)return!1;a=d(a.currentTarget); a.hasClass("map-icon-color")&&a.removeClass("map-icon-color").addClass("map-icon-rollover-color")}function vc(a){if(!m)return!1;a=d(a.currentTarget);a.hasClass("map-random-toggle")&&W||a.hasClass("map-loop-toggle")&&V||a.hasClass("map-icon-rollover-color")&&a.removeClass("map-icon-rollover-color").addClass("map-icon-color")}function ab(){Ra.length&&(Ra.attr("data-id"),Ra.removeClass("map-playlist-selected").addClass("map-playlist-non-selected"),d(q).trigger("playlistItemEnabled",{instance:q,instanceName:G, playerInstance:O,item:Ra}))}function bb(a){X=!0;cb.show();Q&&xb();a=Ub.find("."+a);if(0==a.length){if(Sa){localStorage.removeItem(Ta);ta=null;MAPUtils.isEmpty(b.activePlaylist)||bb(b.activePlaylist);return}alert("Failed to select playlist!");cb.hide();return X=!1}n.css("opacity",1);d(q).trigger("playlistStartLoad",{instance:q,instanceName:G,playerInstance:O});Ia=null;var c=a.find(".map-playlist-options");void 0==c.attr("data-thumb-global")||MAPUtils.isEmpty(c.attr("data-thumb-global"))||(Ia=c.attr("data-thumb-global")); Ua=null;void 0!=c.attr("data-file-path-as-download")&&(Ua=!0);var f,S;a.find(".map-playlist-item").each(function(){S=d(this);f=yb(S);E.push(f)});u=E.length;v()}function yb(a){var c={};c.origclasses=a.attr("class");c.type=a.attr("data-type");void 0==a.attr("data-media-id")||MAPUtils.isEmpty(a.attr("data-media-id"))||(c.mediaId=parseInt(a.attr("data-media-id"),10));a.attr("data-hls")&&!MAPUtils.isEmpty(a.attr("data-hls"))&&(c.hls=a.attr("data-hls"));a.attr("data-mp3")&&!MAPUtils.isEmpty(a.attr("data-mp3"))&& (c.mp3=a.attr("data-mp3"));a.attr("data-wav")&&!MAPUtils.isEmpty(a.attr("data-wav"))&&(c.wav=a.attr("data-wav"));if("audio"==c.type){if(void 0!=a.attr("data-path")&&!MAPUtils.isEmpty(a.attr("data-path"))){var f=a.attr("data-path"),d=f.substr(f.lastIndexOf(".")+1);"mp3"==d.toLowerCase()||"wav"==d.toLowerCase()?c[d.toLowerCase()]=f:c.mp3=f}}else void 0==a.attr("data-path")||MAPUtils.isEmpty(a.attr("data-path"))||(c.path=c.id=a.attr("data-path"));a.is(":empty")||(c.content=a.html());void 0!=a.attr("data-limit")&& !MAPUtils.isEmpty(a.attr("data-limit"))&&MAPUtils.isNumber(a.attr("data-limit"))&&0!=Math.abs(parseInt(a.attr("data-limit"),10))&&(c.limit=Math.abs(parseInt(a.attr("data-limit"),10)));void 0==a.attr("data-artwork")||MAPUtils.isEmpty(a.attr("data-artwork"))||(c.artwork=a.data("artwork"));Ia?c.thumb=Ia:void 0==a.attr("data-thumb")||MAPUtils.isEmpty(a.attr("data-thumb"))?void 0==a.attr("data-thumb-default")||MAPUtils.isEmpty(a.attr("data-thumb-default"))||(c.thumbDefault=a.attr("data-thumb-default")): c.thumb=a.attr("data-thumb");void 0==a.attr("data-thumb-quality")||MAPUtils.isEmpty(a.attr("data-thumb-quality"))||(c.thumbQuality=a.attr("data-thumb-quality"));void 0==a.attr("data-title")||MAPUtils.isEmpty(a.attr("data-title"))||(c.title=a.attr("data-title"));void 0==a.attr("data-description")||MAPUtils.isEmpty(a.attr("data-description"))||(c.description=a.attr("data-description"));void 0==a.attr("data-artist")||MAPUtils.isEmpty(a.attr("data-artist"))||(c.artist=a.attr("data-artist"));void 0==a.attr("data-album")|| MAPUtils.isEmpty(a.attr("data-album"))||(c.album=a.attr("data-album"));void 0==a.attr("data-download")||MAPUtils.isEmpty(a.attr("data-download"))||(c.download=a.attr("data-download"));void 0!=a.attr("data-id3")&&(c.id3=!0);void 0==a.attr("data-start")||MAPUtils.isEmpty(a.attr("data-start"))||(c.start=Math.abs(a.attr("data-start")));void 0==a.attr("data-end")||MAPUtils.isEmpty(a.attr("data-end"))||(c.end=Math.abs(a.attr("data-end")));void 0==a.attr("data-duration")||MAPUtils.isEmpty(a.attr("data-duration"))|| (c.duration=Math.abs(a.attr("data-duration")));void 0!=a.attr("data-playback-rate")&&(c.playbackRate=1,MAPUtils.isEmpty(a.attr("data-playback-rate"))||(c.playbackRate=Math.abs(a.attr("data-playback-rate"))));void 0==a.attr("data-link")||MAPUtils.isEmpty(a.attr("data-link"))||(c.link=a.attr("data-link"),c.target="_blank",void 0==a.attr("data-target")||MAPUtils.isEmpty(a.attr("data-target"))||(c.target=a.attr("data-target")));void 0==a.attr("data-share")||MAPUtils.isEmpty(a.attr("data-share"))||(c.share= a.attr("data-share"));void 0==a.attr("data-table")||MAPUtils.isEmpty(a.attr("data-table"))||(c.table=a.attr("data-table"));void 0==a.attr("data-range")||MAPUtils.isEmpty(a.attr("data-range"))||(a=a.attr("data-range").split(","),c.range=[Math.abs(parseInt(a[0],10)),Math.abs(parseInt(a[1]))]);return c}function v(){I++;if(I>u-1)wc();else{var a=E[I],c=E[I].type;/^audio$/.test(c)||/^hls$/.test(c)?(P.push(a),v()):/^soundcloud$/.test(c)?(za=a.limit||200,T=[],Vb?db(a.path):xc(a.path)):/^podcast$/.test(c)? yc():/^itunes_podcast_music$/.test(c)?zc():/^folder$/.test(c)?Ac(c):/^gdrive-folder$/.test(c)?Bc():/^database$/.test(c)?Cc(c):/^radio$/.test(c)?(P.push(a),v()):/^xml$/.test(c)?Dc():(console.log("Wrong data-type in playlist! Type = "+c),v())}}function Ac(){if("file:"==window.location.protocol)return alert("Reading files from folders locally is not possible! This requires online server connection."),v(),!1;var a=E[I],c=a.path.replace(/\/\//g,"/"),f=zb+"includes/folder_parser.php";c={dir:c};a.id3&&(Ab= Aa=P.length-1);d.ajax({type:"GET",url:f,data:c,dataType:"json"}).done(function(c){var f,g=c.length;MAPUtils.keysrt(c,"filename");for(f=0;fAb?Bb():v()},onError:function(a){console.log("ID3 error: ",a.type,a.info);Aa--;Aa>Ab?Bb():v()}})}function Dc(){var a=E[I],c=0,f=I;E.splice(f,1);d.ajax({type:"GET", url:a.path,dataType:"html"}).done(function(a){var b,g;d(a).children(".map-playlist-item").each(function(){b=d(this);g=yb(b);E.splice(f,0,g);f++;c++});u+=c-1;--I;v()}).fail(function(a,c,f){console.log("Error processXml: "+a,c,f);v()})}function yc(){if("file:"==window.location.protocol)alert("Using Podcast locally is not possible! This requires online server connection!"),v();else{var a=E[I],c=Ec+"?url="+encodeURIComponent(a.path);d.ajax({url:c,dataType:"json",cache:!1}).done(function(c){var f=MAPUtils.parseXML(c.contents), b,g,e,h=0,k=a.limit||1E3;d(f).find("image").length&&d(f).find("image").attr("href")?e=d(f).find("image").attr("href"):d(c.contents).find("itunes\\:image").length&&d(c.contents).find("itunes\\:image").attr("href")&&(e=d(c.contents).find("itunes\\:image").attr("href"));d(f).find("item").each(function(){if(h>=k)return!1;b=d(this);g=d.extend(!0,{},E[I]);g.type="audio";g.path=b.find("enclosure").attr("url");"undefined"===typeof g.download&&(g.download=g.path);!g.title&&b.find("title").length&&(g.title= b.find("title").text());!g.artist&&b.find("author").length&&(g.artist=b.find("author").text());!g.description&&b.find("description").length&&(g.description=b.find("description").text());!g.duration&&b.find("duration").length&&(g.duration=b.find("duration").text());g.thumb||(b.find("image").length&&b.find("image").attr("href")?g.thumb=b.find("image").attr("href"):e&&(g.thumb=e));"undefined"===typeof g.share&&b.find("link").length&&(g.share=b.find("link").text());P.push(g);h++});v()}).fail(function(a, c,d){console.log("Error processPodcast: "+a,c,d);v()})}}function zc(){if("file:"==window.location.protocol)alert("Using Podcast locally is not possible! This requires online server connection!"),v();else{var a=E[I];encodeURIComponent(a.path);d.ajax({url:a.path}).done(function(c){c=d("
").html(c);var f,b,e,g=0,h=a.limit||500;if(c.find(".lockup.product.podcast").length){var k=c.find(".lockup.product.podcast").find("img");k.length&&(k.attr("src-swap-high-dpi").length?e=k.attr("src-swap-high-dpi"): k.attr("src-swap").length&&(e=k.attr("src-swap")))}c.find("tr.podcast-episode").each(function(){if(g>=h)return!1;f=d(this);b=d.extend(!0,{},E[I]);b.type="audio";b.path=f.attr("audio-preview-url");!b.title&&f.attr("preview-title").length&&(b.title=f.attr("preview-title"));!b.artist&&f.attr("preview-artist").length&&(b.artist=f.attr("preview-artist"));!b.description&&f.find(".episode-info").length&&(b.description=f.find(".episode-info").next().text());!b.thumb&&e&&(b.thumb=e);"undefined"===typeof b.share&& (b.share=a.path);P.push(b);g++});v()}).fail(function(a,f,d){console.log("Error processPodcast: "+a,f,d);v()})}}function xc(a){if("file:"==window.location.protocol)alert("Using SoundCloud locally is not possible! This requires online server connection!"),v();else{if(MAPUtils.isEmpty(eb))return alert("soundCloudAppId has not been set! Skipping Soundcloud url: "+a),v(),!1;var c=document.createElement("script");c.src="https://connect.soundcloud.com/sdk.js";var f=document.getElementsByTagName("script")[0]; f.parentNode.insertBefore(c,f);var d=setInterval(function(){window.SC&&(d&&clearInterval(d),SC.initialize({client_id:eb}),Vb=!0,db(!0,a))},100)}}function db(a,c){SC.get(a?"https://api.soundcloud.com/resolve.json?url="+c+"&client_id="+eb:c,{limit:200,linked_partitioning:1},function(a,b){if(b){for(console.log("Error getSoundCloudPage: "+b);T.length;)P.push(T.splice(0,1)[0]);v()}else{if("track"==a.kind)fb(a);else if("playlist"==a.kind){var f,g=a.tracks.length;if(T.length+g>=za){g=za-T.length;var e=!0}for(f= 0;f=za&&(g=za-T.length,e=!0),f=0;f=za&&(g=za-T.length,e=!0),f=0;f');var g=b.thumb;if(g){var h=new Image;h.className="map-hidden";h.onload=function(){this.className="map-visible"};h.src=g;0==c&&(Db=g);d('').append(h).appendTo(e)}g=d('').appendTo(e);d(''+b.title+"").appendTo(g);d(''+b.artist+"").appendTo(g);e.appendTo(Cb)}Xb|| (Xb=!0,Yb(Gc));Va||(Va=!0,n.find(".map-rd-text").hide(),n.find(".map-lp-text").show(),n.find(".map-player-content").css("opacity",1))}function wc(){var a,c=ua?F:z.length,f=P.length,b=0;for(a=0;a').attr({"data-type":h});g.mediaId&&k.attr("data-media-id",g.mediaId);delete g.origclasses;if(ua){n?n.after(k):Z?k.appendTo(C):C.children("div").eq(F).before(k); var n=k}else k.appendTo(C);var m=d('').appendTo(k);if(-1!=d.inArray("thumb",Zb)){var p=g.thumb||g.thumbDefault;if(p){var l=new Image;l.className="map-hidden";l.onload=function(){this.className="map-visible"};l.src=p;d('').append(l).appendTo(m)}}-1!=d.inArray("title",Zb)&&d('').appendTo(m);Hc&&g.link&&(p=d(''), m.after(p));if(Ic&&Jc&&g.download){p=d(''); if(ya)p.on("click",function(){var a=d(this).closest(".map-playlist-item");void 0!=a.attr("data-media-id")&&L("map_download_count",z[parseInt(a.attr("data-id"),10)].data)});m.after(p)}g.content&&(k.append(g.content),delete g.content);"audio"==h&&(k=$b&&g.mp3?g.mp3:ac&&g.wav?g.wav:g.path,k=MAPUtils.qualifyURL(k),"undefined"===typeof g.share&&(g.share=k),Ua&&"undefined"===typeof g.download&&(g.download=k))}g.thumb&&!g.artwork&&(g.artwork=[{src:g.thumb}]);z.splice(e,0,{id:e,type:h,data:g})}Ja&&bc();Q= C;Ka();console.log("playlistDataArr = ",z);ua||Eb?(e=r.getCounter(),r.setPlaylistItems(u,!1),F<=e&&(Z||r.reSetCounter(e+b)),ia?(ia=!1,ja&&!R&&(aa=!0),r.setCounter(F,!1)):ja&&r.setCounter(F,!1),-1!=r.getCounter()&&(ka=r.getCounter())):r.setPlaylistItems(u);gb();Wa=!0;d(q).trigger("playlistEndLoad",{instance:q,instanceName:G,playerInstance:O})}function bc(){C.children(".map-playlist-item").each(function(){var a=d(this).find(".map-playlist-non-selected, .map-playlist-selected").on("click",ha);if(!R)a.on("mouseenter", H).on("mouseleave",B)});cc&&!Fb&&(C.sortable({update:function(a,c){var f=jQuery(c.item).index();q.trackDropSort(null,null,f)}}),Fb=!0)}function Ka(){u=z.length;if(Ja){var a=0,c,f,b,e;hb=[];C.find(".map-playlist-item").each(function(){f=d(this).attr("data-id",a);b=f.find(".map-playlist-non-selected, .map-playlist-selected").attr("data-id",a);e=b.find(".map-playlist-title");e.length&&(c=q.getTitle(a),hb.push(c),z[a].data.title_full=c,Kc?e.html(MAPUtils.formatNumber(a)+Lc+c):e.html(c));z[a].id=a;a++}); ib&&jb&&0u-1&&(a=u-1);-1");a.shift();var d;Ib=a.length;for(d=0;d]+(>|$)/g,"");var e=a[d].split(" - ");b=e[0].trim();e=e[1]?e[1].trim():"";0==d&&(e=e.substr(0,e.length-12));la.push({title:e,artist:b})}lb=!1;Hb()};c.onerror=function(){console.log("Radio history Error: ",c.status+" "+c.statusText);ma&&clearInterval(ma);ma=setInterval(function(){Jb()},fc)};/^POST/i.test("GET")&&c.setRequestHeader("Content-Type","application/x-www-form-urlencoded");c.send()}function Mc(){var a=la.shift();if(na.find("img").attr("src")!= a.thumb){var c=new Image;c.className="map-hidden";c.onload=function(){this.className="map-visible"};na.empty();na[0].appendChild(c);c.src=a.thumb}Lb.html(a.title);Mb.html(a.artist);b.generateHistory?Db!=la[0].thumb&&Fc(la):Va||(Va=!0,d(q).trigger("historyEndLoad"));ma&&clearInterval(ma);ma=setInterval(function(){Jb()},fc)}function gc(){hc||(Xa=d(document.createElement("audio")).attr("preload",Nc),k=Xa[0],hc=!0);var a;Kb=a=(mb||k.canPlayType("application/vnd.apple.mpegurl"))&&p.hls?p.hls:$b&&p.mp3? p.mp3:ac&&p.wav?p.wav:p.path;k.src=a;Xa.on("ended",function(){ic()}).on("canplay",function(a){}).on("canplaythrough",function(a){}).on("loadedmetadata",function(){p.playbackRate&&(k.playbackRate=Number(p.playbackRate));p.resumeTime?(k.currentTime=p.resumeTime,delete p.resumeTime):p.start&&(k.currentTime=p.start)}).on("play",function(){Ea||(Ea=!0,Ma&&cancelAnimationFrame(Ma),Ma=requestAnimationFrame(jc),d(q).trigger("soundStart",{instance:q,instanceName:G,playerInstance:O,counter:r.getCounter()})); va.find(".map-btn-play").hide();va.find(".map-btn-pause").show();if(Oc&&apmap_mediaArr.length&&1=p.end&&ic()}}Ma=requestAnimationFrame(jc)}function ic(){d(q).trigger("soundEnd", {instance:q,instanceName:G,playerInstance:O,counter:r.getCounter()});var a=p.start||0;"next"==nb?q.nextMedia():"loop"==nb?(k.currentTime=a,k.play()):"rewind"==nb?(k.currentTime=a,k.pause()):"stop"==nb&&k.pause()}function ob(){Ma&&cancelAnimationFrame(Ma);ma&&clearInterval(ma);ma=null;mb&&"hls"==D&&xa.detachMedia();k&&(k.pause(),k.src="");Xa&&Xa.off("ended pause play canplay canplaythrough loadedmetadata error");Ob.html(Pb);kc.html("0:00");lc.html("0:00");Ia||na.empty();Lb.html("");Mb.html("");mc.width(0); nc.width(0);va.find(".map-btn-play").show();va.find(".map-btn-pause").hide();D=null;ja=Ea=wa=!1;p=ta=null;tb.find("span").html("");Ya.find("span").html("");Ca.find("span").html("")}function xb(){D&&(ob(),ab());Ja&&(cc&&(C.sortable("destroy"),Fb=!1),Q.find(".map-playlist-item").remove());Cb.empty();Db=null;Va=!1;lb=!0;oa=Q=null;Wa=ia=ua=!1;ka=-1;Gb=!1;u=0;I=-1;z=[];P=[];E=[];r&&r.reSetCounter();na.empty();oc.val(Qb);$a=!1;ra.find(".map-btn-sort-alpha-up").show();ra.find(".map-btn-sort-alpha-down").hide(); Ob.html(Pb)}function dc(){ca=Za.width()}function pc(){p.title&&Lb.html(p.title);p.artist&&Mb.html(p.artist);if((!na.children().length||!Ia)&&na.length){var a=new Image;a.className="hap-hidden";a.onload=function(){this.className="hap-visible"};na.empty();na[0].appendChild(a);a.src=p.thumb||p.thumbDefault}}var n=d(this),Ub=n.find(".map-playlist-list").hide(),Pc=n.find(".map-playlist-holder"),La=n.find(".map-playlist-inner"),C=n.find(".map-playlist-content"),Rb=n.find(".map-playlist-filter-msg"),ra= n.find(".map-sort-alpha"),cb=n.find(".map-preloader"),Qc=n.find(".map-popup-toggle");n.find(".map-player-holder");var na=n.find(".map-player-thumb"),Lb=n.find(".map-player-title"),Mb=n.find(".map-player-artist"),kc=n.find(".map-media-time-current"),lc=n.find(".map-media-time-total"),Ob=n.find(".map-media-title"),va=n.find(".map-playback-toggle"),Ga=n.find(".map-loop-toggle"),Ha=n.find(".map-random-toggle"),Tb=n.find(".map-volume-drag"),Ca=n.find(".map-download-count"),tb=n.find(".map-play-count"), Ya=n.find(".map-like-count"),Ja=Pc.length,R=MAPUtils.isMobile(),qc=MAPUtils.hasLocalStorage(),zb=b.sourcePath||"",G=b.instanceName||"",O=b.playerInstance,oa=b.activePlaylist,Nc=b.preload||"auto",aa=b.autoPlay,V=b.loopingOn,W=b.randomPlay,Kc=b.useNumbersInPlaylist,Lc=b.numberTitleSeparator||". ",Rc=b.artistTitleSeparator||" - ",ib=b.usePlaylistScroll,kb=b.playlistScrollOrientation,cc=R?!1:b.sortableTracks,rc=b.facebookAppId||"",eb=b.soundCloudAppId||"",Wb=b.gDriveAppId||"",w=b.volume,Sc=b.useKeyboardNavigationForPlayback, nb=b.mediaEndAction||"next",Zb=b.playlistItemContent?b.playlistItemContent.split(","):["title"],Sa=b.useContinousPlayback&&qc,Ta=b.continousKey,sc=b.useMediaSession&&"mediaSession"in navigator,ya=b.useStatistics,Jc=b.createDownloadIconsInPlaylist,Hc=b.createLinkIconsInPlaylist,Oc=b.togglePlaybackOnMultipleInstances,q=this,m,X;d("body");var Fa=d(window),ba=d(document),Sb,Ic=MAPUtils.hasDownloadSupport(),Tc=MAPUtils.isIOS();MAPUtils.isAndroid();var $b=MAPUtils.canPlayMp3(),ac=MAPUtils.canPlayWav(), mb=window.Hls&&Hls.isSupported(),Ec=zb+"includes/ba-simple-proxy.php",Aa,Ab,hc,Xa,k,Vb,za,T=[],Nb,ec,Gc=n.find(".map-history-inner"),Cb=n.find(".map-history-content"),Xb,Va,lb=!0,Db,la=[],Ba,Ib,ma,fc=b.lastPlayedInterval,Fb,jb,wb,Z,F,ua,ja,ia,Eb,I=-1,z=[],P=[],E=[],u=0,Gb,Wa,Q,Ra,ka=-1,Ea,D,Kb,wa,p,Ma,ta,Ia,Ua,$a,hb=[],Pb=Ob.html();"undefined"===typeof window.apmap_mediaArr&&(window.apmap_mediaArr=[]);window.apmap_mediaArr.push({inst:q,id:G,playerInstance:O});R&&(b.autoPlay=!1);V&&Ga.removeClass("map-icon-color").addClass("map-icon-rollover-color"); W&&Ha.removeClass("map-icon-color").addClass("map-icon-rollover-color");ra.find(".map-btn-sort-alpha-up").show();n.find(".map-select").change(function(){if(!m)return!1;var a=d(this).val();if(oa==a)return!1;bb(a)});va.find(".map-btn-play").show();var oc=n.find(".map-search-filter").on("focus",function(a){d(this).val()==Qb&&d(this).val("")}).on("blur",function(){MAPUtils.isEmpty(d(this).val())&&d(this).val(Qb)}).on("keyup.apfilter",function(){if(0==hb.length)return!1;var a=z.length,c=d(this).val(); c=hb.filter(/./.test.bind(new RegExp(c,"i")));var b,e=0;for(b=0;bc?c=0:c+A.outerWidth()>n.width()&&(c=n.width()-A.outerWidth());0>e+a.top&& (e=parseInt(b.top-a.top+A.outerHeight()+15));A.css({left:c+"px",top:e+"px"}).show()}).on("mouseleave",function(a){A.hide()});var Oa=n.find(".map-circle-player").length;if(Oa&&MAPUtils.hasCanvas())var ub=new VBCirclePlayer({settings:b,parent:n});var Na,Za=n.find(".map-progress-bg"),nc=n.find(".map-load-level"),mc=n.find(".map-progress-level"),ca=Za.width();if("ontouchstart"in window){var pb="touchstart.ap mousedown.ap";var Y="touchmove.ap mousemove.ap";var Da="touchend.ap mouseup.ap"}else window.PointerEvent? (pb="pointerdown.ap",Y="pointermove.ap",Da="pointerup.ap"):(pb="mousedown.ap",Y="mousemove.ap",Da="mouseup.ap");var da=Oa?n.find(".map-progress-canvas"):n.find(".map-seekbar");da.on(pb,function(a){x(a);return!1});if(!R){var qb=function(){Ea&&(da.off(Y,t).off("mouseout",qb),ba.off("mouseout",qb),A.hide())};da.on("mouseover",function(){Ea&&(da.on(Y,t).on("mouseout",qb),ba.on("mouseout",qb))})}var vb=.5,Pa,Qa=n.find(".map-volume-toggle"),fa=n.find(".map-volume-seekbar"),qa=n.find(".map-volume-bg"),uc= n.find(".map-volume-level"),pa=fa.hasClass("map-vertical")?!0:!1,ea=pa?qa.height():qa.width();if(!R)Qa.on("click",function(){y()});0>w?w=0:1a||a>u-1)return alert('Invalid track number. Track number "'+a+'" doesnt exist. LoadMedia failed.'),!1}else return alert("loadMedia method requires either a track number or a track title to load. LoadMedia failed."),!1;ya&&L("map_play_count",p);r.processPlaylistRequest(a)};this.loadPlaylist=function(a){if(!m|| X)return!1;if("undefined"===typeof a||MAPUtils.isEmpty(a))return alert("loadPlaylist method requires id parameter. loadPlaylist failed."),!1;if(oa==a)return!1;bb(a)};this.addTrack=function(a,c,b,e){if(!m||X)return!1;if("undefined"===typeof a)return alert("addTrack method requires format parameter. AddTrack failed."),!1;if("undefined"===typeof c)return alert("addTrack method requires track parameter. AddTrack failed."),!1;ja=!1;"undefined"!==typeof b&&(ja=b);b=1;var f=!1;if("string"!==typeof c&&"[object Object]"!== Object.prototype.toString.call(c))if("[object Array]"===Object.prototype.toString.call(c))b=c.length,f=!0;else return alert("addTrack method requires track as string, object or array parameter. AddTrack failed."),!1;F=e;Z=!1;ua=!0;if(Q)if("undefined"!==typeof F&&MAPUtils.isNumber(F)){if(0>F||F>u)return alert('Invalid position to insert track to. Position number "'+e+'" doesnt exist. AddTrack failed.'),!1;F==u&&(Z=!0)}else Z=!0,F=u;else{if("undefined"!==typeof F&&MAPUtils.isNumber(F)){if(0!=F)return alert('Invalid position to insert track to. Position number "'+ e+'" doesnt exist. AddTrack failed.'),!1}else F=0;Z=!0}X=!0;cb.show();Wa=!1;Eb=!0;I=-1;P=[];E=[];for(e=0;e").append(g.clone()).html();g=document.createElement("div");g.innerHTML=h;g=d(g.firstChild);g=yb(g)}E.push(g)}u=E.length;ia=!1;Q||(ia=!0);Q=C;v()};this.trackDropSort=function(a,c,b,e){if(!m||X)return!1;F=b;Z=!1;F==u&&(Z=!0);if(c){ja=!1;"undefined"!==typeof e&&(ja=e);ia=!1;Q||(ia=!0);Q=C;z.length?z.splice(b,0,c):(z.push(c),Z=!0);Ka();a= item.find(".map-playlist-non-selected, .map-playlist-selected").on("click",ha);if(!R)a.on("mouseenter",H).on("mouseleave",B);a=r.getCounter();r.setPlaylistItems(u,!1);F<=a&&(Z||r.reSetCounter(a+1));ia?(ia=!1,ja&&!R&&(aa=!0),r.setCounter(F,!1)):ja&&r.setCounter(F,!1);a=r.getCounter();-1!=a&&(ka=a)}else{a=r.getCounter();if(-1!=a){a=C.children("div[data-id='"+a+"']").index();b=[];e=C.children("div");for(c=0;ca||a>u-1)return alert('Invalid id number. Track number "'+a+'" doesnt exist. RemoveTrack failed.'),!1}else return alert("removeTrack method requires either a id number or a track title to remove. removeTrack failed."),!1;z[a]?(C.children(".map-playlist-item").eq(a).remove(),z.splice(a,1),Ka(),0e)return!1;if("title"==h)for(MAPUtils.keysrt2(z,"data","title_full",c||!1),e=[],h=0;ha?a=0:1J?1:0)})};b.keysrt2=function(b,d,x,l){var e=1;l&&(e=-1);return b.sort(function(b,l){var t=b[d][x], h=l[d][x];return e*(th?1:0)})};b.parseXML=function(b){if(d.ActiveXObject&&d.GetObject){var e=new ActiveXObject("Microsoft.XMLDOM");e.loadXML(b);return e}if(d.DOMParser)return(new DOMParser).parseFromString(b,"text/xml");throw Error("No XML parser available");};b.formatCurrentTime=function(b){b=Math.round(b);var d=Math.floor(b/60);b=Math.floor(b%60);return(10<=d?d:""+d)+":"+(10<=b?b:"0"+b)};b.formatDuration=function(b){b=Math.round(b);var d=Math.floor(b/60);b=Math.floor(b%60);return(10<=d? d:""+d)+":"+(10<=b?b:"0"+b)};b.formatNumber=function(b){return 9>b?"0"+(b+1):b+1};b.nFormatter=function(b,d){var e=[{value:1E18,symbol:"E"},{value:1E15,symbol:"P"},{value:1E12,symbol:"T"},{value:1E9,symbol:"G"},{value:1E6,symbol:"M"},{value:1E3,symbol:"k"}],l=/\.0+$|(\.[0-9]*[1-9])0+$/,t;for(t=0;t=e[t].value)return(b/e[t].value).toFixed(d).replace(l,"$1")+e[t].symbol;return b.toFixed(d).replace(l,"$1")};b.canPlayMp3=function(){var b=document.createElement("audio");return!(!b.canPlayType|| !b.canPlayType("audio/mpeg;").replace(/no/,""))};b.canPlayWav=function(){var b=document.createElement("audio");return!(!b.canPlayType||!b.canPlayType("audio/wav;").replace(/no/,""))};b.canPlayOgg=function(){var b=document.createElement("audio");return!(!b.canPlayType||!b.canPlayType('audio/ogg; codecs="vorbis"').replace(/no/,""))};b.hasCanvas=function(){return!!document.createElement("canvas")};d.MAPUtils=b})(window); (function(d,b){d.MAPPlaylistManager=function(d){function e(d){H=!1;ha+d>y-1?(h=y-1,b(l).trigger("MAPPlaylistManager.COUNTER_READY")):0>ha+d?(h=0,b(l).trigger("MAPPlaylistManager.COUNTER_READY")):this.setCounter(ha+d,!1)}function x(){B=MAPUtils.randomiseArray(y)}var l=this,t=d.loopingOn,K=d.randomPlay,y,J=!1,h=-1,M,ha,H=!1,B=[],U=!1;this.setCounter=function(d,e){"undefined"===typeof e&&(e=!0);h=e?h+parseInt(d,10):parseInt(d,10);if(isNaN(h))alert("MAPPlaylistManager message: No active media, counter = "+ h);else if(J=!1,t){if(K)if(h>y-1){h=B[y-1];x();if(B[0]==h){var sa=B.splice(0,1);B.push(sa)}h=0;b(l).trigger("MAPPlaylistManager.PLAYLIST_END_ALERT")}else 0>h&&(h=B[0],x(),B[y-1]==h&&(sa=B.splice(y-1,1),B.unshift(sa)),h=y-1);else h>y-1?(h=0,b(l).trigger("MAPPlaylistManager.PLAYLIST_END_ALERT")):0>h&&(h=y-1);b(l).trigger("MAPPlaylistManager.COUNTER_READY")}else h>y-1?(h=y-1,J=!0):0>h&&(h=0),J?b(l).trigger("MAPPlaylistManager.PLAYLIST_END"):b(l).trigger("MAPPlaylistManager.COUNTER_READY")};this.getCounter= function(){return K?U?h:B[h]:h};this.advanceHandler=function(b){U=!1;H?e(b):l.setCounter(b)};this.processPlaylistRequest=function(b){U=!1;K&&(U=!0,M=b,H||(ha=h,H=!0));l.setCounter(b,!1)};this.setPlaylistItems=function(b,d){"undefined"===typeof d&&(d=!0);d&&(h=-1);y=b;K&&x()};this.reSetCounter=function(b){"undefined"===typeof b?h=-1:(b=parseInt(b,10),y?(b>y-1?b=y-1:0>b&&(b=0),h=b):h=-1)};this.setRandom=function(b){(K=b)&&x();if(K){var d=B.length;for(b=0;b-1*Math.PI&&l<-.5*Math.PI&&(l=2*Math.PI+l);l= Math.max(0,Math.min((l+Math.PI/2)/2*Math.PI*10))/100;t.length&&(H.clearRect(0,0,h,M),d(l));return l};this.trackTooltip=function(b){var d=b.pageX-e.offset().left;b=b.pageY-e.offset().top;d=Math.atan2(b-M/2,d-h/2);d>-1*Math.PI&&d<-.5*Math.PI&&(d=2*Math.PI+d);return Math.max(0,Math.min((d+Math.PI/2)/2*Math.PI*10))/100}}})(window,jQuery); function mapSetupDone(d,b){if("circle"==b){var e=function(b){"close"==b?(x.stop().animate({left:-x.width()+"px"},{duration:t,easing:l,complete:function(){d.forcePlayback&&(d.playMedia(),d.forcePlayback=!1)}}),L.stop().animate({left:"0px"},{duration:t,easing:l})):(d.forcePlayback=d.getMediaPlaying(),d.forcePlayback&&d.pauseMedia(),x.css({left:-x.width()+"px",display:"block"}).stop().animate({left:"0px"},{duration:t,easing:l}),L.stop().animate({left:L.width()+"px"},{duration:t,easing:l}))};d.on("playlistItemDisabled overPlaylistItem", function(b,d){d.item.closest(".map-playlist-item").addClass("map-active")}).on("playlistItemEnabled outPlaylistItem",function(b,d){d.item.closest(".map-playlist-item").removeClass("map-active")}).on("clickPlaylistItem",function(){e("close")});d.find(".map-playlist-toggle").on("click",function(){e("open")});d.find(".map-playlist-close").on("click",function(){e("close")});var L=d.find(".map-player-holder"),x=d.find(".map-playlist-holder"),l="easeInOutCubic",t=500}else if("modern3"==b)d.on("playlistItemDisabled overPlaylistItem", function(b,d){d.item.closest(".map-playlist-item").addClass("map-active")}).on("playlistItemEnabled outPlaylistItem",function(b,d){d.item.closest(".map-playlist-item").removeClass("map-active")});else if("modern"==b){var K=function(b){"close"==b?(x.stop().animate({left:-x.width()+"px"},{duration:t,easing:l,complete:function(){d.forcePlayback&&(d.playMedia(),d.forcePlayback=!1)}}),L.stop().animate({left:"0px"},{duration:t,easing:l})):(d.forcePlayback=d.getMediaPlaying(),d.forcePlayback&&d.pauseMedia(), x.css({left:-x.width()+"px",display:"block"}).stop().animate({left:"0px"},{duration:t,easing:l}),L.stop().animate({left:L.width()+"px"},{duration:t,easing:l}))};d.on("playlistItemDisabled overPlaylistItem",function(b,d){d.item.closest(".map-playlist-item").addClass("map-active")}).on("playlistItemEnabled outPlaylistItem",function(b,d){d.item.closest(".map-playlist-item").removeClass("map-active")}).on("clickPlaylistItem",function(){K("close")});d.find(".map-playlist-toggle").on("click",function(){K("open")}); d.find(".map-playlist-close").on("click",function(){K("close")});L=d.find(".map-player-holder");x=d.find(".map-playlist-holder");l="easeInOutCubic";t=500}else if("metalic"==b)d.on("soundRequest",function(b,e){var h=e.instance.getCurrMediaData().thumb;d.find(".map-player-image").css("backgroundImage").replace("url(","").replace(")","").replace(/"/gi,"")!=h&&d.find(".map-player-image").fadeOut(300,function(){jQuery(this).css("backgroundImage","url("+h+")").fadeIn(300)})});else if("artwork5"==b){var y= d.find(".map-playlist-toggle").on("click",function(){var b=d.find(".map-player-holder"),e=d.width()-50;d.playlistOpened?b.css("left",b.css("left")).removeClass("map-player-holder-opened").stop().animate({left:"0px"},{duration:500,easing:"easeInOutCubic"}):b.stop().animate({left:e+"px"},{duration:500,easing:"easeInOutCubic",complete:function(){b.addClass("map-player-holder-opened")}});d.playlistOpened=!d.playlistOpened});d.on("clickPlaylistItem",function(){y.click()})}else"artwork9"==b&&(y=d.find(".map-playlist-toggle").on("click", function(){var b=d.find(".map-player-holder"),e=d.find(".map-playlist-holder");d.playlistOpened?(e.stop().animate({top:"-250px"},{duration:350,easing:"easeInOutCubic"}),b.stop().animate({top:"0px"},{duration:350,easing:"easeInOutCubic"})):(e.stop().animate({top:"0px"},{duration:350,easing:"easeInOutCubic"}),b.stop().animate({top:"250px"},{duration:350,easing:"easeInOutCubic"}));d.playlistOpened=!d.playlistOpened}),d.on("clickPlaylistItem",function(){y.click()}))}; // source --> https://www.tomstoewer.de/wp-content/plugins/apmap/source/js/popup.js?ver=5.6 //############################################// /* popup */ //############################################// var popup_window, player_instance, hasLocalStorage = MAPUtils.hasLocalStorage(); function mapOpenPopup(inst, settings){ if(hasLocalStorage && localStorage.getItem('map_popup'))return; player_instance = inst; var popupUrl = settings.sourcePath + 'popup.html', pw = settings.popupWidth || player_instance.width(), ph = settings.popupHeight || player_instance.height(), left = (window.screen.width - pw) / 2, top = (window.screen.height - ph) / 2; if(!popup_window || popup_window.closed){ popup_window = window.open(popupUrl,'Modern Audio Player','menubar=no,toolbar=no,location=no,scrollbars=1,resizable,width='+pw+',height='+ph+',left='+left+',top='+top+''); if(!popup_window) { alert("Player can not be opened in a popup window because your browser is blocking Pop-Ups. You need to allow Pop-Ups in browser for this site to use the Player."); return false; } } } function mapNotifyParent(){//called from popup window when popup window has opened! if(player_instance && popup_window && popup_window.initPopup != undefined){ //copy current playlist to popup var settings = player_instance.getSettings(); current_playlist = player_instance.getPlaylistContent().clone(true, true).wrap('

').parent().children().html(); settings.activeItem = player_instance.getCounter(); settings.playlist_data = player_instance.getPlaylistData(); settings.current_playlist = current_playlist; settings.volume = player_instance.getVolume(); settings.playlist_data[settings.activeItem].data.resumeTime = player_instance.getCurrentTime(); //clean current player_instance player_instance.destroyInstance(); player_instance.destroyPlaylist(); if(settings.usePlaylistScroll)player_instance.destroyPlaylistScroll(); if(MAPUtils.isMobile())settings.autoPlay = false;//reset //transfer elements to popup var wrapper = player_instance.getWrapper(), wrapper_id = wrapper.attr('id'), playlist = player_instance.getPlaylistList(); player_instance = null; var css = jQuery('#map-inline-style-inline-css').clone(true, true).wrap('

').parent().html(); //if(MAPUtils.isIE()){//HIERARCHY_REQUEST_ERROR wrapper = wrapper.remove().clone(true, true).wrap('

').parent().html(); playlist = playlist.remove().clone(true, true).wrap('

').parent().html(); //} try { player = popup_window.initPopup(wrapper, wrapper_id, playlist, settings, css); }catch(e){ alert('initPopup error: ' + e.message); return false; } } };