/* * Author: Audio Player with Playlist * Website: http://digitalzoomstudio.net/ * Portfolio: http://bit.ly/nM4R6u * Version: 2.54 * */ function htmlEncode(arg){ return jQuery('
').text(arg).html(); } function htmlDecode(value){ return jQuery('
').html(arg).text(); } var dzsap_list = []; var dzsap_ytapiloaded = false; var dzsap_globalidind = 20; (function($) { $.fn.prependOnce = function(arg, argfind) { var _t = $(this) // It's your element // console.info(argfind); if(typeof(argfind) =='undefined'){ var regex = new RegExp('class="(.*?)"'); var auxarr = regex.exec(arg); if(typeof auxarr[1] !='undefined'){ argfind = '.'+auxarr[1]; } } // we compromise chaining for returning the success if(_t.children(argfind).length<1){ _t.prepend(arg); return true; }else{ return false; } }; $.fn.appendOnce = function(arg, argfind) { var _t = $(this) // It's your element if(typeof(argfind) =='undefined'){ var regex = new RegExp('class="(.*?)"'); var auxarr = regex.exec(arg); if(typeof auxarr[1] !='undefined'){ argfind = '.'+auxarr[1]; } } // we compromise chaining for returning the success if(_t.children(argfind).length<1){ _t.append(arg); return true; }else{ return false; } }; $.fn.audioplayer = function(o) { var defaults = { design_skin: 'skin-default' ,autoplay: 'off' ,cue: 'on' ,swf_location: "ap.swf"//==the location of the flash backup ,swffull_location: "apfull.swf"//==the location of the flash backup ,settings_backup_type: 'light' // == light or full ,settings_extrahtml: '' // == some extra html - can be rates, plays, likes ,settings_trigger_resize : '0' ,design_thumbh: "default"//thumbnail size ,design_thumbw: "200" ,disable_volume: 'default' ,disable_scrub: 'default' ,disable_player_navigation: 'off' ,disable_timer: 'default' ,type: 'audio' ,embed_code: '' ,skinwave_dynamicwaves: 'off' // ===dynamic scale based on volume for no spectrum wave ,soundcloud_apikey: '' ,parentgallery: undefined ,skinwave_enableSpectrum: 'off' // off or on ,skinwave_enableReflect: 'on' ,settings_useflashplayer: 'auto' // off or on or auto ,skinwave_spectrummultiplier: '1' // == number ,skinwave_comments_enable: 'off' ,settings_php_handler: 'publisher.php' ,php_retriever: 'soundcloudretriever.php' ,skinwave_mode: 'normal' // --- "normal" or "small" ,skinwave_comments_playerid: '' ,skinwave_comments_account: 'none' ,skinwave_comments_retrievefromajax: 'off'// --- retrieve the comment form ajax ,skinwave_comments_displayontime: 'on'// --- display the comment when the scrub header is over it ,skinwave_timer_static: 'off' ,skinwave_comments_avatar: 'http://www.gravatar.com/avatar/00000000000000000000000000000000?s=20'//==default image ,skinwave_spectrum_wavesbg: '4f4949' // == number ,skinwave_spectrum_wavesprog: 'ae1919' // == number ,design_menu_show_player_state_button: 'off' ,playfrom: 'off' //off or specific number of settings or set to "last" ,design_animateplaypause: 'default' ,embedded: 'off' ,sample_time_start: '0' // --- if this is a sample to a complete song, you can write here start times, if not, leave to 0. ,sample_time_end: '0' ,sample_time_total: '0' ,google_analytics_send_play_event: 'off' } o = $.extend(defaults, o); if(typeof o =='undefined'){ if(typeof $(this).attr('data-options')!='undefined' && $(this).attr('data-options')!=''){ var aux = $(this).attr('data-options'); aux = 'var aux_opts = ' + aux; eval(aux); o = aux_opts; } } this.each(function() { var cthis = $(this); var cchildren = cthis.children() ,cthisId = 'ap1' ; var currNr = -1; var busy = true; var i = 0; var ww , wh , tw , th ,cw //controls width ,ch //controls height ,sw = 0//scrubbar width ,sh ,spos = 0 //== scrubbar prog pos ; var _audioplayerInner ,_apControls = null ,_apControlsLeft = null ,_apControlsRight = null ,_conControls ,_conPlayPause ,_controlsVolume ,_scrubbar ,_theMedia ,_cmedia ,_theThumbCon ,_metaArtistCon ,_scrubBgReflect = null ,_scrubBgReflectCanvas = null ,_scrubBgReflectCtx = null ,_scrubProgReflect = null ,_scrubProgCanvasReflect = null ,_scrubProgCanvasReflectCtx = null ,_scrubBgCanvas = null ,_scrubBgCanvasCtx = null ,_scrubProgCanvas = null ,_scrubProgCanvasCtx = null ,_commentsHolder = null ,_commentsWriter = null ,_currTime = null ,_totalTime = null ; var busy = false ,playing = false ,muted = false ,loaded=false ,destroyed = false ,google_analytics_sent_play_event = false ; var time_total = 0 ,time_curr=0 ,real_time_curr=0 ,real_time_total = 0 ,sample_time_start=0 ,sample_time_end=0 ,sample_time_total=0 ,sample_perc_start=0 ,sample_perc_end=0 ; var index_extrahtml_toloads = 0; var last_vol = 1 ,last_vol_before_mute = 1 ,the_player_id = '' ; var inter_check ,inter_checkReady ,inter_audiobuffer_workaround_id = 0 ,inter_trigger_resize ; var skin_minimal_canvasplay ,skin_minimal_canvaspause ; var is_flashplayer = false ; var data_source ; var res_thumbh = false; // resize thumb height var str_ie8 = ''; //===spectrum stuff var javascriptNode = null; var audioCtx = null; var audioBuffer = null; var sourceNode = null; var analyser = null; var lastarray = null; var webaudiosource = null; var canw = 100; var canh = 100; var barh = 100 ,design_thumbh ; var type = ''; var sposarg = 0; // the % at which the comment will be placed var arr_the_comments = []; var lasttime_inseconds = 0; var controls_left_pos = 0; var controls_right_pos = 0; var ajax_view_submitted = 'auto' ,increment_views = 0 ; var starrating_index = 0 ,starrating_nrrates = 0 ,starrating_alreadyrated = -1 ; var playfrom = 'off' ,playfrom_ready = false ; var currIp = '127.0.0.1'; if(isNaN(parseInt(o.design_thumbh, 10))==false){ o.design_thumbh = parseInt(o.design_thumbh, 10); } if(String(o.design_thumbw).indexOf('%')==-1){ o.design_thumbw = parseInt(o.design_thumbw, 10); } if(Number(o.sample_time_start)>0){ sample_time_start = Number(o.sample_time_start); if(Number(o.sample_time_end)>0){ sample_time_end = Number(o.sample_time_end); if(Number(o.sample_time_total)>0){ sample_time_total = Number(o.sample_time_total); sample_perc_start = sample_time_start/ sample_time_total; sample_perc_end = sample_time_end/ sample_time_total; } } } //console.info(sample_perc_start,sample_perc_end); o.settings_trigger_resize = parseInt(o.settings_trigger_resize, 10); if(cthis.children('.extra-html').length>0 && o.settings_extrahtml==''){ o.settings_extrahtml = cthis.children('.extra-html').eq(0).html(); var re_ratesubmitted = /{{ratesubmitted=(.?)}}/g; if(re_ratesubmitted.test(String(o.settings_extrahtml))){ re_ratesubmitted.lastIndex = 0; var auxa = (re_ratesubmitted.exec(String(o.settings_extrahtml))); starrating_alreadyrated = auxa[1]; o.settings_extrahtml = String(o.settings_extrahtml).replace(re_ratesubmitted, ''); if(o.parentgallery!=undefined && $(o.parentgallery).get(0)!=undefined && $(o.parentgallery).get(0).api_player_rateSubmitted!=undefined){ $(o.parentgallery).get(0).api_player_rateSubmitted(); } } cthis.children('.extra-html').remove(); } init(); function init(){ //console.log(typeof(o.parentgallery)=='undefined'); if(o.design_skin==''){ o.design_skin = 'skin-default'; } if(cthis.attr('class').indexOf("skin-")==-1){ cthis.addClass(o.design_skin); } if(cthis.hasClass('skin-default')){ o.design_skin = 'skin-default'; } if(cthis.hasClass('skin-wave')){ o.design_skin = 'skin-wave'; } if(cthis.hasClass('skin-justthumbandbutton')){ o.design_skin = 'skin-justthumbandbutton'; } if(cthis.hasClass('skin-pro')){ o.design_skin = 'skin-pro'; } if(cthis.hasClass('skin-aria')){ o.design_skin = 'skin-aria'; } if(cthis.attr('data-viewsubmitted')=='on'){ ajax_view_submitted='on'; } if(cthis.attr('data-userstarrating')){ starrating_alreadyrated=Number(cthis.attr('data-userstarrating')); } // console.info(starrating_alreadyrated); if(cthis.hasClass('skin-minimal')){ o.design_skin = 'skin-minimal'; if(o.disable_volume=='default'){ o.disable_volume='on'; } if(o.disable_scrub=='default'){ o.disable_scrub='on'; } o.disable_timer='on'; } if(cthis.hasClass('skin-minion')){ o.design_skin = 'skin-minion'; if(o.disable_volume=='default'){ o.disable_volume='on'; } if(o.disable_scrub=='default'){ o.disable_scrub='on'; } o.disable_timer='on'; } if(o.design_skin=='skin-default'){ if(o.design_thumbh=='default'){ design_thumbh = cthis.height() - 40; res_thumbh = true; } } if(o.design_skin=='skin-wave'){ cthis.addClass('skin-wave-mode-'+ o.skinwave_mode); if(o.skinwave_mode == 'small'){ if(o.design_thumbh=='default'){ design_thumbh= 80; } } } if(o.design_skin=='skin-justthumbandbutton'){ if(o.design_thumbh=='default'){ o.design_thumbh = ''; // res_thumbh = true; } o.disable_timer='on'; o.disable_volume='on'; if(o.design_animateplaypause=='default'){ o.design_animateplaypause = 'on'; } } if(o.design_thumbh=='default'){ design_thumbh= 200; } if(o.embed_code==''){ if(cthis.find('div.feed-embed-code').length>0){ o.embed_code = cthis.find('div.feed-embed-code').eq(0).html(); } } if(o.design_animateplaypause=='default'){ o.design_animateplaypause = 'off'; } // console.info(the_player_id, o.skinwave_comments_enable, o.skinwave_comments_playerid); if(o.skinwave_comments_playerid==''){ if(typeof(cthis.attr('id'))!='undefined'){ the_player_id = cthis.attr('id'); } }else{ the_player_id = o.skinwave_comments_playerid; } if(the_player_id==''){ o.skinwave_comments_enable='off'; } playfrom = o.playfrom; if(isValid(cthis.attr('data-playfrom'))){ playfrom = cthis.attr('data-playfrom'); } if(isNaN(parseInt(playfrom,10))==false){ playfrom = parseInt(playfrom,10); } // console.info(the_player_id, o.skinwave_comments_enable); if(cthis.attr('data-type')=='youtube'){ o.type='youtube'; type='youtube'; } if(cthis.attr('data-type')=='soundcloud'){ o.type='soundcloud'; type = 'soundcloud'; } if(cthis.attr('data-type')=='shoutcast'){ o.type='shoutcast'; type = 'audio'; o.disable_timer='on'; //===might still use it for skin-wave if(o.design_skin=='skin-default'){ o.disable_scrub='on'; } // o.disable_scrub = 'on'; } if(type==''){ type='audio'; } //====we disable the function if audioplayer inited if(cthis.hasClass('audioplayer')){ return; } if(cthis.attr('id')!=undefined){ cthisId = cthis.attr('id'); }else{ cthisId = 'ap' + dzsap_globalidind++; } if(is_ie8()){ if(o.cue=='off'){ o.cue='on'; } } cthis.removeClass('audioplayer-tobe'); cthis.addClass('audioplayer'); if(cthis.find('.the-comments').length>0 && cthis.find('.the-comments').eq(0).children().length>0){ arr_the_comments = cthis.find('.the-comments').eq(0).children(); }else{ if(o.skinwave_comments_retrievefromajax=='on'){ var data = { action: 'dzsap_get_comments', postdata: '1', playerid: the_player_id }; // console.info(data); $.ajax({ type: "POST", url: o.settings_php_handler, data: data, success: function(response) { if(typeof window.console != "undefined" ){ console.log('Ajax - get - comments - ' + response); } cthis.prependOnce('
', '.the-comments'); if(response.indexOf('a-comment')>-1){ response = response.replace(/a-comment/g, 'a-comment dzstooltip-con'); response = response.replace(/dzstooltip arrow-bottom/g, 'dzstooltip arrow-from-start transition-slidein arrow-bottom'); } cthis.find('.the-comments').eq(0).html(response); arr_the_comments = cthis.find('.the-comments').eq(0).children(); setup_controls_commentsHolder(); }, error:function(arg){ if(typeof window.console != "undefined" ){ console.log('Got this from the server: ' + arg, arg); }; } }); } } //===ios does not support volume controls so just let it die //====== .. or autoplay FORCE STAFF if(is_ios()){ o.disable_volume='on'; o.autoplay = 'off'; } if(is_android()){ o.autoplay = 'off'; } if(type=='youtube'){ if(dzsap_ytapiloaded==false){ var tag = document.createElement('script'); tag.src = "https://www.youtube.com/iframe_api"; var firstScriptTag = document.getElementsByTagName('script')[0]; firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); dzsap_ytapiloaded = true; } } data_source = cthis.attr('data-source'); //====sound cloud INTEGRATION // if(cthis.attr('data-source')!=undefined && String(cthis.attr('data-source')).indexOf('https://soundcloud.com/')>-1){ type='soundcloud'; } //console.info(o.type); if(type=='soundcloud'){ if(o.soundcloud_apikey==''){ alert('soundcloud api key not defined, read docs!'); } var aux = 'http://api.' + 'soundcloud.com' + '/resolve?url='+data_source+'&format=json&consumer_key=' + o.soundcloud_apikey; //console.info(aux); if( (o.design_skin=='skin-wave' && !cthis.attr('data-scrubbg')) || is_ie8()){ o.skinwave_enableReflect='off'; } aux = encodeURIComponent(aux); $.getJSON((o.php_retriever+'?scurl='+aux), function(data) { //console.log(data, data.waveform_url); type='audio'; if(o.design_skin=='skin-wave' && cthis.attr('data-scrubbg')==undefined){ cthis.attr('data-scrubbg', data.waveform_url); cthis.attr('data-scrubprog', data.waveform_url); _scrubbar.find('.scrub-bg').eq(0).append('
'); _scrubbar.find('.scrub-bg').eq(0).append(''); _scrubbar.children('.scrub-prog').eq(0).append('
'); _scrubbar.find('.scrub-bg').css({ //'height' : '100%' 'top' : 0 }) } // if(window.console) { console.info(data); }; cthis.attr('data-source', data.stream_url + '?consumer_key='+ o.soundcloud_apikey+'&origin=localhost'); if(o.cue=='on'){ setup_media(); } }); // type='audio'; } //====END soundcloud INTEGRATION// if((can_play_mp3()==false && cthis.attr('data-sourceogg')==undefined) || is_ie8() || o.settings_useflashplayer=='on'){ is_flashplayer=true; } setup_structure(); //console.info(cthis, is_ios(), o.type); //trying to access the youtube api with ios did not work //console.log(is_flashplayer) // console.info(o.design_skin, type, o.skinwave_comments_enable, o.design_skin=='skin-wave' && (type=='audio'||type=='soundcloud') && o.skinwave_comments_enable=='on'); if(o.design_skin=='skin-wave' && (type=='audio'||type=='soundcloud') && o.skinwave_comments_enable=='on'){ cthis.appendOnce('
'); _commentsHolder = cthis.find('.comments-holder').eq(0); _commentsWriter = cthis.find('.comments-writer').eq(0); setup_controls_commentsHolder(); _commentsHolder.find('.the-bg').bind('click', click_comments_bg); _commentsWriter.find('.cancel-ap-comment').bind('click', click_cancel_comment); _commentsWriter.find('.submit-ap-comment').bind('click', click_submit_comment); } if(o.settings_extrahtml!=''){ if(cthis.hasClass('alternate-layout')){ _apControls.append('
'+o.settings_extrahtml+'
'); }else{ cthis.append('
'+o.settings_extrahtml+'
'); } } if(type=='youtube'){ dzsap_list.push(cthis); _theMedia.append('
'); cthis.get(0).fn_yt_ready = check_yt_ready; } //console.info(); if(type=='audio'){ // img = document.createElement('img'); // img.onerror = function(){ // return; // if(cthis.children('.meta-artist').length>0){ // _audioplayerInner.children('.meta-artist').html('audio not found...'); // }else{ // _audioplayerInner.append('
audio not found...
'); // _audioplayerInner.children('.meta-artist').eq(0).wrap('
'); // } // }; // img.src= cthis.attr('data-source'); } if(o.autoplay=='on' && o.cue=='on'){ increment_views=1; } if(type=='youtube' && is_ios()){ if(cthis.height()<200){ cthis.height(200); } aux = ''; cthis.html(aux); return; }else{ //soundcloud will setupmedia when api done if(o.cue=='on' && type!='soundcloud'){ setup_media(); }else{ cthis.bind('click', click_cthis); handleResize(); } } cthis.get(0).api_destroy = destroy_it; cthis.get(0).api_play = play_media; cthis.get(0).api_set_playback_speed = set_playback_speed; cthis.get(0).api_change_media = change_media; //console.log(cthis.get(0)); cthis.find('.prev-btn').eq(0).bind('click',click_prev_btn); cthis.find('.next-btn').eq(0).bind('click',click_next_btn); cthis.find('.btn-menu-state').eq(0).bind('click',click_menu_state); } function select_all(el) { if (typeof window.getSelection != "undefined" && typeof document.createRange != "undefined") { var range = document.createRange(); range.selectNodeContents(el); var sel = window.getSelection(); sel.removeAllRanges(); sel.addRange(range); } else if (typeof document.selection != "undefined" && typeof document.body.createTextRange != "undefined") { var textRange = document.body.createTextRange(); textRange.moveToElementText(el); textRange.select(); } } function change_media(arg){ //console.info(arg); destroy_media(); var _arg = arg; cthis.attr('data-source', arg.attr('data-source')); loaded=false; if(o.design_skin=='skin-wave' && o.skinwave_mode=='small'){ cthis.addClass('transitioning-change-media'); if(_arg.find('.meta-artist').length>0){ var aux_l = _metaArtistCon.offset().left - cthis.offset().left-13; //console.log(aux_l); _metaArtistCon.css({ 'position' : 'absolute' ,'top': '16px' ,'left' : aux_l+'px' }); _metaArtistCon.animate({ 'top': '-50px' ,'opacity': '0' }, { duration: 300 }) _apControlsLeft.append('
'+_arg.find('.meta-artist').eq(0).html()+'
'); cthis.find('.meta-artist-con').eq(1).animate({ 'top': '16px' }, { duration: 300 }) if(cthis.find('.the-thumb-con').length>0){ var aux_mec = ';'; cthis.find('.the-thumb-con').css({ 'position' : 'absolute' ,'top': '0px' ,'left' : 0+'px' }); console.log(_theThumbCon); cthis.find('.the-thumb-con').animate({ 'top': '-80px' }, { duration: 500 }) var aux_thumb_con_str = ''; var str_thumbh = 'width: 80px;'; if(_arg.attr('data-thumb_link')){ aux_thumb_con_str += '
'; if(_arg.attr('data-thumb_link')){ aux_thumb_con_str += ''; }else{ aux_thumb_con_str += '
'; } _apControlsLeft.prepend(aux_thumb_con_str); cthis.find('.the-thumb-con').eq(0).animate({ 'top': '0' }, { duration: 700 }) } } setTimeout(function(){ if(cthis.find('.meta-artist-con').length>1){ cthis.find('.meta-artist-con').eq(0).remove(); _metaArtistCon = cthis.find('.meta-artist-con').eq(0); } if(cthis.find('.the-thumb-con').length>1){ cthis.find('.the-thumb-con').eq(1).remove(); _theThumbCon = cthis.find('.the-thumb-con').eq(0); } }, 900); } setup_media(); play_media(); } function setup_controls_commentsHolder(){ for(i=0;i
'); //cthis.unbind('focusout', blur_ap); //cthis.bind('blur', blur_ap); } function click_cancel_comment(e){ hide_comments_writer(); } function click_submit_comment(e){ var comm_author = ''; if(cthis.find('input[name=comment-email]').length>0){ var regex_mail = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; if(regex_mail.test(cthis.find('input[name=comment-email]').eq(0).val())==false){ alert('please insert email, your email is just used for gravatar. it will not be sent or stored anywhere'); return false; } comm_author = String(cthis.find('input[name=comment-email]').eq(0).val()).split('@')[0]; o.skinwave_comments_account = comm_author; //console.info(comm_author); o.skinwave_comments_avatar = 'https://secure.gravatar.com/avatar/'+MD5(String(cthis.find('input[name=comment-email]').eq(0).val()).toLowerCase())+'?s=20'; }else{ } comm_author = o.skinwave_comments_account; var aux = '@'+comm_author+' says:
'; aux+=htmlEncode(cthis.find('input[name=comment-text]').eq(0).val()); aux+='
'; cthis.find('input[name=comment-text]').eq(0).val(''); skinwave_comment_publish(aux) hide_comments_writer(); if(o.parentgallery!=undefined && $(o.parentgallery).get(0)!=undefined && $(o.parentgallery).get(0).api_player_commentSubmitted!=undefined){ $(o.parentgallery).get(0).api_player_commentSubmitted(); } return false; } function hide_comments_writer(){ //console.log(_commentsWriter); _commentsHolder.find('.a-comment.placeholder').remove(); _commentsWriter.removeClass('active'); _commentsWriter.css({ 'height' : 0 }) if(o.parentgallery!=undefined && $(o.parentgallery).get(0)!=undefined && $(o.parentgallery).get(0).api_handleResize!=undefined){ $(o.parentgallery).get(0).api_handleResize(); } //cthis.unbind('focusout', blur_ap); } function check_yt_ready(){ if(loaded==true){ return; } //console.log('ceva'); //var player; _cmedia = new YT.Player('ytplayer_'+cthisId+'', { height: '200', width: '200', videoId: cthis.attr('data-source'), playerVars: { origin: ''}, events: { 'onReady': check_yt_ready_phase_two, 'onStateChange': change_yt_state } }); //init_loaded(); } function check_yt_ready_phase_two(arg){ //console.log(arg); init_loaded(); } function change_yt_state(arg){ //console.log(arg); } function check_ready(){ //console.log(_cmedia); //=== do a little ready checking //console.log(_cmedia.readyState); if(type=='youtube'){ }else{ if(typeof(_cmedia)!='undefined'){//|| o.type=='soundcloud' // console.info(_cmedia.readyState, o.type); // return false; if(_cmedia.nodeName!="AUDIO" || o.type=='shoutcast' ){ init_loaded(); }else{ //console.info(_cmedia.readyState); if(_cmedia.readyState>=2){ init_loaded(); } } } } } function setup_structure(){ //alert('ceva'); cthis.append('
'); _audioplayerInner = cthis.children('.audioplayer-inner'); _audioplayerInner.append('
'); _audioplayerInner.append('
'); _theMedia = _audioplayerInner.children('.the-media').eq(0); _apControls = _audioplayerInner.children('.ap-controls').eq(0); var aux_str_scrubbar = '
'; var aux_str_con_controls = ''; var aux_str_con_controls_part2 = ''; aux_str_scrubbar+='
'; if(o.design_skin == 'skin-wave' && o.skinwave_enableReflect=='on'){ aux_str_scrubbar+='
'; aux_str_scrubbar+='
'; } if(o.design_skin=='skin-wave' && o.disable_timer!='on'){ aux_str_scrubbar+='
00:00
00:00
'; } if(sample_perc_start){ aux_str_scrubbar+='
' } if(sample_perc_end){ aux_str_scrubbar+='
' } aux_str_scrubbar+='
';//==end scrubbar aux_str_con_controls+='
'; if(o.design_skin!='skin-wave' && o.disable_timer!='on'){ aux_str_con_controls+='
00:00
00:00
'; } if(o.design_skin=='skin-default'){ if(o.disable_volume!='on'){ aux_str_con_controls+='
'; } } aux_str_con_controls+='
';//===end con-controls if(o.design_skin == 'skin-wave' && o.skinwave_mode=='small'){ aux_str_con_controls = '
'; _apControls.append(aux_str_con_controls+aux_str_scrubbar); }else{ if(o.design_skin == 'skin-aria'){ aux_str_con_controls = '
'+aux_str_scrubbar+''; if(o.disable_timer!='on'){ aux_str_con_controls+='
00:00
'; } aux_str_con_controls+='
'; _apControls.append(aux_str_con_controls); }else{ if(cthis.hasClass('alternate-layout')){ _apControls.append(aux_str_con_controls+aux_str_scrubbar); }else{ _apControls.append(aux_str_scrubbar+aux_str_con_controls); } } } if(_apControls.children('.ap-controls-left').length>0){ _apControlsLeft = _apControls.children('.ap-controls-left'); } if(_apControls.children('.ap-controls-right').length>0){ _apControlsRight = _apControls.children('.ap-controls-right'); } if(o.disable_timer!='on'){ _currTime = cthis.find('.curr-time').eq(0); _totalTime = cthis.find('.total-time').eq(0); } _scrubbar = _apControls.find('.scrubbar').eq(0); _conControls = _apControls.children('.con-controls'); _conPlayPause = cthis.find('.con-playpause').eq(0); _controlsVolume = _conControls.children('.controls-volume'); if(!_metaArtistCon){ if(cthis.children('.meta-artist').length>0){ //console.info(cthis.hasClass('alternate-layout')); if(cthis.hasClass('alternate-layout')){ _conControls.append(cthis.children('.meta-artist')); }else{ _audioplayerInner.append(cthis.children('.meta-artist')); } } _audioplayerInner.find('.meta-artist').eq(0).wrap('
'); _metaArtistCon = _audioplayerInner.children('.meta-artist-con').eq(0); if(o.design_skin == 'skin-wave' && o.skinwave_mode=='small'){ _conPlayPause.after(_metaArtistCon); } if(o.design_skin == 'skin-aria'){ _apControlsRight.prepend(_metaArtistCon); } } var str_thumbh = ""; if(design_thumbh!=''){ str_thumbh = ' height:'+o.design_thumbh+'px;'; } if(cthis.attr('data-thumb')!=undefined && cthis.attr('data-thumb')!=''){ var aux_thumb_con_str = ''; if(cthis.attr('data-thumb_link')){ aux_thumb_con_str += ''; if(cthis.attr('data-thumb_link')){ aux_thumb_con_str += ''; }else{ aux_thumb_con_str += ''; } if(o.design_skin == 'skin-wave' && o.skinwave_mode=='small'){ _apControlsLeft.prepend(aux_thumb_con_str); }else{ _audioplayerInner.prepend(aux_thumb_con_str); } _theThumbCon = _audioplayerInner.children('.the-thumb-con').eq(0); } //console.info(cthis, o.disable_volume); if(o.disable_volume=='on'){ _controlsVolume.hide(); } if(o.disable_volume=='off'){ _controlsVolume.show(); } if(o.disable_scrub=='on'){ _scrubbar.hide(); } if(o.design_skin=='skin-wave' && typeof(o.parentgallery)!='undefined' && o.design_menu_show_player_state_button=='on'){ _audioplayerInner.appendOnce('
'); } // console.info(o.embed_code); if(o.design_skin=='skin-wave' && o.embed_code!=''){ if(o.design_skin == 'skin-wave' && o.skinwave_mode=='small'){ _apControlsRight.prependOnce('
'+o.embed_code+'
'); }else{ _audioplayerInner.appendOnce('
'+o.embed_code+'
'); } cthis.find('.btn-embed-code-con').bind('click', function(){ var _t = $(this); select_all(_t.find('.dzstooltip').get(0)); }) } if(o.design_skin=='skin-wave'){ //console.info((o.design_thumbw + 20)); //console.info('url('+cthis.attr('data-scrubbg')+')'); if(o.skinwave_enableSpectrum!='on'){ if(cthis.attr('data-scrubbg')!=undefined){ _scrubbar.children('.scrub-bg').eq(0).append(''); } if(cthis.attr('data-scrubprog')!=undefined){ _scrubbar.children('.scrub-prog').eq(0).append(''); } _scrubbar.find('.scrub-bg-img').eq(0).css({ 'width' : _scrubbar.children('.scrub-bg').width() }); _scrubbar.find('.scrub-prog-img').eq(0).css({ 'width' : _scrubbar.children('.scrub-bg').width() }); //console.info(o.skinwave_enableReflect); if(o.skinwave_enableReflect=='on'){ _scrubbar.children('.scrub-bg-reflect').eq(0).append(''); if(cthis.attr('data-scrubprog')!=undefined){ _scrubbar.children('.scrub-prog-reflect').eq(0).append(''); } _scrubbar.find('.scrub-bg-img').eq(0).css({ 'transform-origin' : '100% 100%' }) _scrubbar.find('.scrub-prog-img').eq(0).css({ 'transform-origin' : '100% 100%' }) } }else{ _scrubbar.children('.scrub-bg').eq(0).append('
'); _scrubBgCanvas = cthis.find('.scrub-bg-canvas').eq(0); _scrubBgCanvasCtx = _scrubBgCanvas.get(0).getContext("2d"); if(type=='audio'){ _scrubbar.children('.scrub-prog').eq(0).append(''); _scrubProgCanvas = cthis.find('.scrub-prog-canvas').eq(0); _scrubProgCanvasCtx = _scrubProgCanvas.get(0).getContext("2d"); } if(o.skinwave_enableReflect=='on'){ _scrubbar.children('.scrub-bg-reflect').eq(0).append(''); _scrubBgReflectCanvas = _scrubbar.find('.scrub-bg-canvas-reflect').eq(0); _scrubBgReflectCtx = _scrubBgReflectCanvas.get(0).getContext("2d"); if(type=='audio'){ _scrubbar.children('.scrub-prog-reflect').eq(0).append(''); _scrubProgCanvasReflect = _scrubbar.find('.scrub-prog-canvas-reflect').eq(0); _scrubProgCanvasReflectCtx = _scrubProgCanvasReflect.get(0).getContext("2d"); } } } if(o.skinwave_timer_static=='on'){ if(_currTime){ _currTime.addClass('static'); } if(_totalTime){ _totalTime.addClass('static'); } } _apControls.css({ //'height': design_thumbh }) } // --- END skin-wave if(cthis.hasClass('skin-minimal')){ _conPlayPause.children('.playbtn').append(''); skin_minimal_canvasplay = _conPlayPause.find('.playbtn-canvas').eq(0).get(0); _conPlayPause.children('.pausebtn').append(''); skin_minimal_canvaspause = _conPlayPause.find('.pausebtn-canvas').eq(0).get(0); } //console.info(o.parentgallery, o.disable_player_navigation); if(typeof(o.parentgallery)!='undefined' && o.disable_player_navigation!='on'){ // _conControls.appendOnce('
','.prev-btn'); } if(cthis.hasClass('skin-minion')){ if(cthis.find('.menu-description').length>0){ //console.log('ceva'); _conPlayPause.addClass('with-tooltip'); _conPlayPause.prepend(''+cthis.find('.menu-description').html()+''); //console.info(_conPlayPause.children('span').eq(0), _conPlayPause.children('span').eq(0).textWidth()); _conPlayPause.children('span').eq(0).css('width', _conPlayPause.children('span').eq(0).textWidth() + 10); } } // === setup_structore for both flash and html5 if(typeof(o.parentgallery)!='undefined' && o.disable_player_navigation!='on'){ //console.info('ceva', is_flashplayer , o.settings_backup_type); var auxs = '
'; if(o.design_skin == 'skin-wave' && o.skinwave_mode=='small') { _apControlsLeft.appendOnce(auxs,'.prev-btn'); }else{ _audioplayerInner.appendOnce(auxs,'.prev-btn'); } } } function ajax_get_likes(argp){ //only handles ajax call + result var mainarg = argp; var data = { action: 'dzsap_get_likes', postdata: mainarg, playerid: the_player_id }; $.ajax({ type: "POST", url: o.settings_php_handler, data: data, success: function(response) { if(typeof window.console != "undefined" ){ console.log('Got this from the server: ' + response); } var auxls = false; if(response.indexOf('likesubmitted')>-1){ response = response.replace('likesubmitted', ''); auxls = true; } if(response==''){ response=0; } var auxhtml = cthis.find('.extra-html').eq(0).html(); auxhtml = auxhtml.replace('{{get_likes}}', response); cthis.find('.extra-html').eq(0).html(auxhtml); index_extrahtml_toloads--; if(auxls){ cthis.find('.extra-html').find('.btn-like').addClass('active'); } if(index_extrahtml_toloads==0){ cthis.find('.extra-html').addClass('active'); } }, error:function(arg){ if(typeof window.console != "undefined" ){ console.log('Got this from the server: ' + arg, arg); }; index_extrahtml_toloads--; if(index_extrahtml_toloads==0){ cthis.find('.extra-html').addClass('active'); } } }); } function ajax_get_rates(argp){ //only handles ajax call + result var mainarg = argp; var data = { action: 'dzsap_get_rate', postdata: mainarg, playerid: the_player_id }; $.ajax({ type: "POST", url: o.settings_php_handler, data: data, success: function(response) { if(typeof window.console != "undefined" ){ console.log('Got this from the server: ' + response); } var auxls = false; if(response.indexOf('likesubmitted')>-1){ response = response.replace('likesubmitted', ''); auxls = true; } if(response==''){ response='0|0'; } var auxresponse = response.split('|'); starrating_nrrates = auxresponse[1]; cthis.find('.extra-html .counter-rates .the-number').eq(0).html(starrating_nrrates); index_extrahtml_toloads--; cthis.find('.star-rating-set-clip').width(auxresponse[0]*(parseInt(cthis.find('.star-rating-bg').width(), 10)/5)); //===ratesubmitted if(typeof(auxresponse[2])!='undefined'){ starrating_alreadyrated = auxresponse[2]; if(o.parentgallery!=undefined && $(o.parentgallery).get(0)!=undefined && $(o.parentgallery).get(0).api_player_rateSubmitted!=undefined){ $(o.parentgallery).get(0).api_player_rateSubmitted(); } } if(index_extrahtml_toloads<=0){ cthis.find('.extra-html').addClass('active'); } }, error:function(arg){ if(typeof window.console != "undefined" ){ console.log('Got this from the server: ' + arg, arg); }; index_extrahtml_toloads--; if(index_extrahtml_toloads<=0){ cthis.find('.extra-html').addClass('active'); } } }); } function ajax_get_views(argp){ //only handles ajax call + result var mainarg = argp; var data = { action: 'dzsap_get_views', postdata: mainarg, playerid: the_player_id }; $.ajax({ type: "POST", url: o.settings_php_handler, data: data, success: function(response) { if(typeof window.console != "undefined" ){ console.log('Got this from the server: ' + response); } // console.info(response); if(response.indexOf('viewsubmitted')>-1){ response = response.replace('viewsubmitted', ''); ajax_view_submitted = 'on'; increment_views = 0; } if(response==''){ response=0; } if(String(response).indexOf('{{theip')>-1){ var auxa = /{{theip-(.*?)}}/g.exec(response); if(auxa[1]){ currIp = auxa[1]; } response = response.replace(/{{theip-(.*?)}}/g, ''); } // console.info('increment_views', increment_views); if(increment_views==1){ ajax_submit_views(); //console.info('response iz '+response); response = Number(response)+increment_views;; //console.info(response); increment_views=2; } var auxhtml = cthis.find('.extra-html').eq(0).html(); auxhtml = auxhtml.replace('{{get_plays}}', response); cthis.find('.extra-html').eq(0).html(auxhtml); index_extrahtml_toloads--; if(index_extrahtml_toloads==0){ cthis.find('.extra-html').addClass('active'); } }, error:function(arg){ if(typeof window.console != "undefined" ){ console.log('Got this from the server: ' + arg, arg); }; index_extrahtml_toloads--; if(index_extrahtml_toloads==0){ cthis.find('.extra-html').addClass('active'); } } }); } function ajax_submit_rating(argp){ //only handles ajax call + result var mainarg = argp; var data = { action: 'dzsap_submit_rate', postdata: mainarg, playerid: the_player_id }; if(starrating_alreadyrated>-1){ return; } $.ajax({ type: "POST", url: o.settings_php_handler, data: data, success: function(response) { if(typeof window.console != "undefined" ){ console.log('Got this from the server: ' + response); }; var aux = cthis.find('.star-rating-set-clip').outerWidth() / cthis.find('.star-rating-bg').outerWidth(); var nrrates = parseInt(cthis.find('.counter-rates .the-number').html(), 10); nrrates++; var aux2 = ( (nrrates-1) * (aux*5) + starrating_index) / (nrrates) // console.info(aux, aux2, nrrates); cthis.find('.star-rating-set-clip').width(aux2*(parseInt(cthis.find('.star-rating-bg').width(), 10)/5)); cthis.find('.counter-rates .the-number').html(nrrates); if(o.parentgallery!=undefined && $(o.parentgallery).get(0)!=undefined && $(o.parentgallery).get(0).api_player_rateSubmitted!=undefined){ $(o.parentgallery).get(0).api_player_rateSubmitted(); } }, error:function(arg){ if(typeof window.console != "undefined" ){ console.log('Got this from the server: ' + arg, arg); }; var aux = cthis.find('.star-rating-set-clip').outerWidth() / cthis.find('.star-rating-bg').outerWidth(); var nrrates = parseInt(cthis.find('.counter-rates .the-number').html(), 10); nrrates++; var aux2 = ( (nrrates-1) * (aux*5) + starrating_index) / (nrrates) // console.info(aux, aux2, nrrates); cthis.find('.star-rating-set-clip').width(aux2*(parseInt(cthis.find('.star-rating-bg').width(), 10)/5)); cthis.find('.counter-rates .the-number').html(nrrates); if(o.parentgallery!=undefined && $(o.parentgallery).get(0)!=undefined && $(o.parentgallery).get(0).api_player_rateSubmitted!=undefined){ $(o.parentgallery).get(0).api_player_rateSubmitted(); } } }); }; function ajax_submit_download(argp){ //only handles ajax call + result var mainarg = argp; var data = { action: 'dzsap_submit_download', postdata: mainarg, playerid: the_player_id }; if(starrating_alreadyrated>-1){ return; } $.ajax({ type: "POST", url: o.settings_php_handler, data: data, success: function(response) { if(typeof window.console != "undefined" ){ console.log('Got this from the server: ' + response); }; }, error:function(arg){ if(typeof window.console != "undefined" ){ console.log('Got this from the server: ' + arg, arg); }; } }); }; function ajax_submit_views(argp){ var data = { action: 'dzsap_submit_views', postdata: 1, playerid: the_player_id, currip : currIp }; // console.info(ajax_view_submitted); $.ajax({ type: "POST", url: o.settings_php_handler, data: data, success: function(response) { if(typeof window.console != "undefined" ){ console.log('Got this from the server: ' + response); } var auxnr = cthis.find('.counter-hits .the-number').html(); auxnr = parseInt(auxnr,10); if(increment_views!=2){ auxnr++; } cthis.find('.counter-hits .the-number').html(auxnr); ajax_view_submitted = 'on'; }, error:function(arg){ if(typeof window.console != "undefined" ){ console.log('Got this from the server: ' + arg, arg); }; var auxlikes = cthis.find('.counter-hits .the-number').html(); auxlikes = parseInt(auxlikes,10); auxlikes++; cthis.find('.counter-hits .the-number').html(auxlikes); ajax_view_submitted = 'on'; } }); } function ajax_submit_like(argp){ //only handles ajax call + result var mainarg = argp; var data = { action: 'dzsap_submit_like', postdata: mainarg, playerid: the_player_id }; $.ajax({ type: "POST", url: o.settings_php_handler, data: data, success: function(response) { if(typeof window.console != "undefined" ){ console.log('Got this from the server: ' + response); } cthis.find('.btn-like').addClass('active'); var auxlikes = cthis.find('.counter-likes .the-number').html(); auxlikes = parseInt(auxlikes,10); auxlikes++; cthis.find('.counter-likes .the-number').html(auxlikes); }, error:function(arg){ if(typeof window.console != "undefined" ){ console.log('Got this from the server: ' + arg, arg); }; cthis.find('.btn-like').addClass('active'); var auxlikes = cthis.find('.counter-likes .the-number').html(); auxlikes = parseInt(auxlikes,10); auxlikes++; cthis.find('.counter-likes .the-number').html(auxlikes); } }); } function ajax_retract_like(argp){ //only handles ajax call + result var mainarg = argp; var data = { action: 'dzsap_retract_like', postdata: mainarg, playerid: the_player_id }; $.ajax({ type: "POST", url: o.settings_php_handler, data: data, success: function(response) { if(typeof window.console != "undefined" ){ console.log('Got this from the server: ' + response); } cthis.find('.btn-like').removeClass('active'); var auxlikes = cthis.find('.counter-likes .the-number').html(); auxlikes = parseInt(auxlikes,10); auxlikes--; cthis.find('.counter-likes .the-number').html(auxlikes); }, error:function(arg){ if(typeof window.console != "undefined" ){ console.log('Got this from the server: ' + arg, arg); }; cthis.find('.btn-like').removeClass('active'); var auxlikes = cthis.find('.counter-likes .the-number').html(); auxlikes = parseInt(auxlikes,10); auxlikes--; cthis.find('.counter-likes .the-number').html(auxlikes); } }); } function skinwave_comment_publish(argp){ //only handles ajax call + result var mainarg = argp; var data = { action: 'dzsap_front_submitcomment', postdata: mainarg, playerid: the_player_id }; $.ajax({ type: "POST", url: o.settings_php_handler, data: data, success: function(response) { if(response.charAt(response.length-1) == '0'){ response = response.slice(0,response.length-1); } if(typeof window.console != "undefined" ){ console.log('Got this from the server: ' + response); } //console.info(data.postdata); _commentsHolder.append(data.postdata); //jQuery('#save-ajax-loading').css('visibility', 'hidden'); }, error:function(arg){ if(typeof window.console != "undefined" ){ console.log('Got this from the server: ' + arg, arg); }; _commentsHolder.append(data.postdata); } }); } function setup_media(){ //== order = init, setup_media, init_loaded //console.info('setup_media()', o.cue,ajax_view_submitted); // return; if(o.cue=='off'){ if(ajax_view_submitted=='auto'){ increment_views = 1; ajax_view_submitted = 'on'; } } if(loaded==true){ return; } if(type=='youtube'){ if(is_ie()){ _theMedia.css({ 'left' : '-478em' }) } return; } var aux = ''; aux+= ''; //alert(is_ie8()); if(is_ie8() && dzsap_list.length>0){ str_ie8 = '&isie8=on'; } if(is_flashplayer){ if(o.settings_backup_type=='light'){ aux=''; cthis.addClass('lightflashbackup'); }else{ // console.info(cthis.attr('data-source')); var str_vol = ''; var str_skip_buttons = ''; var str_design_menu_show_player_state_button = ''; if(typeof(o.parentgallery)!='undefined' && o.disable_player_navigation!='on'){ str_skip_buttons='&design_skip_buttons=on'; } if(typeof(o.parentgallery)!='undefined' && o.design_menu_show_player_state_button!='on'){ str_design_menu_show_player_state_button='&design_menu_show_player_state_button=on'; } if(o.disable_volume=='on'){ str_vol+='&settings_enablevolume=off'; } aux=' //console.log(aux, _theMedia); _theMedia.append(aux); //return; //_theMedia.children('audio').get(0).autoplay = false; _cmedia = (_theMedia.children('audio').get(0)); if(is_flashplayer && o.settings_backup_type=='light'){ setTimeout(function(){ _cmedia = (_theMedia.find('object').eq(0).get(0)); }, 500) } //alert(_cmedia); if(is_ios() || is_ie8() || is_flashplayer==true){ if(o.settings_backup_type=='full'){ init_loaded(); }else{ setTimeout(init_loaded, 1000); } }else{ inter_checkReady = setInterval(check_ready, 50); } } function destroy_media(){ pause_media(); _theMedia.children().remove(); _cmedia.remove(); } function setup_listeners(){ //console.info('setup_listeners()'); _scrubbar.bind('mousemove', mouse_scrubbar); _scrubbar.bind('mouseleave', mouse_scrubbar); _scrubbar.bind('click', mouse_scrubbar); _controlsVolume.children('.volumeicon').bind('click', click_mute); _controlsVolume.children('.volume_active').bind('click', mouse_volumebar); _controlsVolume.children('.volume_static').bind('click', mouse_volumebar); _conPlayPause.bind('click', click_playpause); var scrubbar_moving = false; var scrubbar_moving_x =0 ; var aux3 = 0; _scrubbar.bind('touchstart', function(e){ scrubbar_moving = true; }) $(document).bind('touchmove', function(e){ if(scrubbar_moving){ scrubbar_moving_x = e.originalEvent.touches[0].pageX; aux3 = scrubbar_moving_x - _scrubbar.offset().left; if(aux3<0){ aux3 = 0; } if(aux3>_scrubbar.width()){ aux3 = _scrubbar.width(); } seek_to_perc(aux3/_scrubbar.width()); //console.info(aux3); } }) $(document).bind('touchend', function(e){ scrubbar_moving = false; }) $(document).delegate('.btn-like','click', click_like); $(document).delegate('.star-rating-con', 'mousemove', mouse_starrating); $(document).delegate('.star-rating-con', 'mouseleave', mouse_starrating); $(document).delegate('.star-rating-con', 'click', mouse_starrating); // console.log('setup_listeners()'); $(window).bind('resize', handleResize); handleResize(); setTimeout(handleResize,1000); setTimeout(handleResize,2000); if(o.settings_trigger_resize > 0){ inter_trigger_resize = setInterval(handleResize, o.settings_trigger_resize); } cthis.get(0).fn_pause_media = pause_media; cthis.get(0).fn_play_media = play_media; return false; // console.info('ceva'); } function click_like(){ var _t = $(this); if(cthis.has(_t).length==0){ return; } if(_t.hasClass('active')){ ajax_retract_like(); }else{ ajax_submit_like(); } } function init_loaded(){ //console.info('init_loaded()'); if(cthis.hasClass('loaded')){ return; } // console.info(cthis.hasClass('loaded')) if(is_flashplayer==false){ totalDuration = _cmedia.duration; }else{ if(o.settings_backup_type=='light'){ if(typeof(_cmedia)!="undefined" && _cmedia.fn_getSoundDuration){ eval("totalDuration = parseFloat(_cmedia.fn_getsoundduration"+cthisId+"())"); } } } if(typeof(_cmedia)!="undefined"){ if(_cmedia.nodeName=='AUDIO'){ //console.info(_cmedia); _cmedia.addEventListener('ended', handle_end); } } clearTimeout(inter_checkReady); setup_listeners(); if(is_ie8()){ cthis.addClass('lte-ie8') } //===ie7 and ie8 does not have the indexOf property so let us add it if(is_ie8()){ if (!Array.prototype.indexOf) { Array.prototype.indexOf = function(elt) { var len = this.length >>> 0; var from = Number(arguments[1]) || 0; from = (from < 0) ? Math.ceil(from) : Math.floor(from); if (from < 0) from += len; for (; from < len; from++) { if (from in this && this[from] === elt) return from; } return -1; }; } } if(dzsap_list.indexOf(cthis)==-1){ dzsap_list.push(cthis); } if(o.design_skin=='skin-wave'){ if(o.skinwave_enableSpectrum=='on'){ //console.info(typeof AudioContext); if (typeof AudioContext !== 'undefined') { audioCtx = new AudioContext(); } else if (typeof webkitAudioContext !== 'undefined') { audioCtx = new webkitAudioContext(); } else { audioCtx = null; } //console.info(audioCtx); if(audioCtx){ function loadSound(url) { var request = new XMLHttpRequest(); request.open('GET', url, true); request.responseType = 'arraybuffer'; // . . . step 3 code above this line, step 4 code below request.onload = function() { //if(window.console){ console.info('sound load'); }; audioCtx.decodeAudioData(request.response, function(buffer) { //alert("sound decode"); //test //console.log(buffer); webaudiosource = audioCtx.createBufferSource() webaudiosource.buffer = buffer; audioBuffer = buffer; webaudiosource.connect(analyser) analyser.connect(audioCtx.destination); // Start playing the buffer. inter_audiobuffer_workaround_id = setInterval(function(){ if(playing){ time_curr+=0.1; } },100); // console.info(audioBuffer); webaudiosource.connect(audioCtx.destination); //webaudiosource.start(0); }, onError); _conControls.css({ 'opacity':1 }); } request.send(); } //if(!) if(typeof audioCtx.createJavaScriptNode!='undefined'){ javascriptNode = audioCtx.createJavaScriptNode(2048, 1, 1); } if(typeof audioCtx.createScriptProcessor!='undefined'){ javascriptNode = audioCtx.createScriptProcessor(4096, 1, 1); //console.log(javascriptNode); } function generateFakeArray(){ var maxlen = 256; var arr = []; for (var it1 = 0 ;it1-1 && is_ie8()==false){ index_extrahtml_toloads++; ajax_get_likes(); } if(String(o.settings_extrahtml).indexOf('{{get_plays}}')>-1 && is_ie8()==false){ index_extrahtml_toloads++; ajax_get_views(); }else{ if(increment_views===1){ ajax_submit_views(); increment_views=2; } } if(String(o.settings_extrahtml).indexOf('{{get_rates}}')>-1){ index_extrahtml_toloads++; ajax_get_rates(); } if(index_extrahtml_toloads==0){ cthis.find('.extra-html').addClass('active'); } } //console.info(ajax_view_submitted); if(ajax_view_submitted=='auto'){ setTimeout(function(){ if(ajax_view_submitted=='auto'){ ajax_view_submitted = 'off'; } }, 1000); } loaded=true; cthis.addClass('loaded'); // console.info(playfrom); if(isInt(playfrom)){ seek_to(playfrom); } if(playfrom=='last'){ if(typeof Storage!='undefined'){ setTimeout(function(){ playfrom_ready = true; }) if(typeof localStorage['dzsap_'+the_player_id+'_lastpos']!='undefined'){ seek_to(localStorage['dzsap_'+the_player_id+'_lastpos']); } } } // console.info(cthis, o.autoplay); if(is_ie8()==false && o.autoplay=='on'){ play_media(); }; setTimeout(function(){ //console.info(cthis.find('.wave-download')); cthis.find('.wave-download').bind('click',handle_mouse); },500) } function isInt(n) { return typeof n == 'number' && Math.round(n) % 1 == 0; } function isValid(n) { return typeof n != 'undefined' && n!=''; } function handle_mouse(e){ var _t = $(this); if(e.type=='click'){ if(_t.hasClass('wave-download')){ ajax_submit_download(); } } } function mouse_starrating(e){ var _t = $(this); if(cthis.has(_t).length==0){ return; } if(e.type=='mouseout' || e.type=='mouseleave'){ cthis.find('.star-rating-prog-clip').css({ 'width': 0 }) cthis.find('.star-rating-set-clip').css({ 'opacity': 1 }) } if(e.type=='mousemove'){ //console.log(_t); var mx = e.pageX - _t.offset().left; var my = e.pageX - _t.offset().left; //console.info(Math.round(mx/ (_t.outerWidth()/5)) ); if(starrating_alreadyrated>-1){ starrating_index = starrating_alreadyrated; }else{ starrating_index = mx/ (_t.outerWidth()/5); } if(starrating_index> 4){ starrating_index = 5; }else{ starrating_index = Math.round(starrating_index); } // console.info(starrating_index, cthis.find('.star-rating-prog-clip')); cthis.find('.star-rating-prog-clip').css({ 'width': _t.outerWidth()/5 * starrating_index }) cthis.find('.star-rating-set-clip').css({ 'opacity': 0 }) } if(e.type=='click'){ if(starrating_alreadyrated>-1){ return; } ajax_submit_rating(starrating_index); } } function onError(){ } function drawSpectrum(array) { //console.info(array); //console.info() //console.log($('.scrub-bg-canvas').eq(0).get(0).width, canw); //console.log(_scrubBgCanvas.get(0).width, _scrubBgCanvas.width()) _scrubBgCanvas.get(0).width = _scrubBgCanvas.width(); _scrubBgCanvas.get(0).height = _scrubBgCanvas.height(); if(_scrubProgCanvas){ _scrubProgCanvas.get(0).width = _scrubBgCanvas.width(); _scrubProgCanvas.get(0).height = _scrubBgCanvas.height(); } if(o.skinwave_enableReflect=='on'){ _scrubBgReflectCanvas.get(0).width = _scrubBgCanvas.width(); _scrubBgReflectCanvas.get(0).height = _scrubBgCanvas.height(); if(_scrubProgCanvasReflect){ _scrubProgCanvasReflect.get(0).width = _scrubBgCanvas.width(); _scrubProgCanvasReflect.get(0).height = _scrubBgCanvas.height(); } }; var gradient = _scrubBgCanvasCtx.createLinearGradient(0,0,canw,canh); /* gradient.addColorStop(1,'#000000'); gradient.addColorStop(0.75,'#ff0000'); gradient.addColorStop(0.25,'#ffff00'); gradient.addColorStop(0,'#ffffff'); */ _scrubBgCanvasCtx.clearRect(0, 0, canw, canh); _scrubBgCanvasCtx.fillStyle='#'+ o.skinwave_spectrum_wavesbg; if(_scrubProgCanvasCtx){ _scrubProgCanvasCtx.clearRect(0, 0, canw, canh); _scrubProgCanvasCtx.fillStyle='#'+ o.skinwave_spectrum_wavesprog; } for ( var i = 0; i < (array.length); i++ ){ var value = array[i]; //console.log(i, value, canh - (canh-value/256)); _scrubBgCanvasCtx.fillRect(i/256 * canw,canh-((value/256)*canh),canw/array.length,canh); // console.log([i,value]) if(_scrubProgCanvasCtx){ _scrubProgCanvasCtx.fillRect(i/256 * canw,canh-((value/256)*canh),canw/array.length,canh); } } if(o.skinwave_enableReflect=='on'){ //console.info(_scrubBgReflectCtx); _scrubBgReflectCtx.clearRect(0, 0, canw, canh); _scrubBgReflectCtx.drawImage(_scrubBgCanvas.get(0), 0, 0); if(_scrubProgCanvasReflect){ _scrubProgCanvasReflectCtx.clearRect(0, 0, canw, canh); _scrubProgCanvasReflectCtx.drawImage(_scrubProgCanvas.get(0), 0, 0); } } }; // log if an error occurs function onError(e) { console.log(e); } function click_prev_btn(){ if(typeof(o.parentgallery.get(0))!="undefined"){ o.parentgallery.get(0).api_goto_prev(); } } function click_next_btn(){ if(typeof(o.parentgallery.get(0))!="undefined"){ o.parentgallery.get(0).api_goto_next(); } } function check_time(){ // console.log('check'); if(destroyed) { return false; } if(type=='youtube'){ if(_cmedia && _cmedia.getDuration){ real_time_total = _cmedia.getDuration(); real_time_curr = _cmedia.getCurrentTime(); } if(playfrom=='last' && playfrom_ready){ if(typeof Storage!='undefined'){ localStorage['dzsap_'+the_player_id+'_lastpos'] = time_curr; } } } if(type=='audio'){ if(is_flashplayer==true){ if(o.settings_backup_type=='light'){ if(str_ie8=='' && typeof(_cmedia)!="undefined"){ eval("if(typeof _cmedia.fn_getsoundduration"+cthisId+" != 'undefined'){time_total = parseFloat(_cmedia.fn_getsoundduration"+cthisId+"())};"); eval("if(typeof _cmedia.fn_getsoundcurrtime"+cthisId+" != 'undefined'){time_curr = parseFloat(_cmedia.fn_getsoundcurrtime"+cthisId+"())};"); } } //console.log(_cmedia.fn_getSoundCurrTime()); }else{ if(o.type!='shoutcast'){ if(_cmedia){ real_time_total = _cmedia.duration; if(inter_audiobuffer_workaround_id==0){ real_time_curr = _cmedia.currentTime; } } // console.info(time_curr, time_total, inter_audiobuffer_workaround_id); // console.info(audioBuffer, audioCtx, webaudiosource); if(audioBuffer && audioBuffer!='placeholder'){ // console.info(time_curr); // time_total = audioBuffer.duration; // time_curr = audioCtx.currentTime; // console.log(audioBuffer, audioBuffer.currentTime, audioBuffer.duration); } if(audioCtx && is_firefox()){ // time_curr = audioCtx.currentTime; } if(playfrom=='last' && playfrom_ready){ if(typeof Storage!='undefined'){ localStorage['dzsap_'+the_player_id+'_lastpos'] = time_curr; // console.info(localStorage['dzsap_'+the_player_id+'_lastpos']); } } if(o.design_skin=='skin-wave'){ if(o.skinwave_comments_displayontime=='on'){ var timer_curr_perc = Math.round((real_time_curr / real_time_total) * 100) / 100 // console.info(timer_curr_perc); if(_commentsHolder){ _commentsHolder.children().each(function(){ var _t = $(this); if(_t.hasClass('a-comment')){ var aux = Math.round((parseFloat(_t.css('left')) / _commentsHolder.outerWidth()) * 100) / 100; if(aux){ if(Math.abs(aux - timer_curr_perc) < 0.02 ){ _commentsHolder.find('.dzstooltip').removeClass('active'); _t.find('.dzstooltip').addClass('active'); }else{ _t.find('.dzstooltip').removeClass('active'); } } } }) } } } } } } //if(cthis.hasClass("skin-minimal")){ console.log(time_curr, time_total) }; // console.info(time_curr, time_total, sw); time_curr = real_time_curr; time_total = real_time_total; if(sample_time_start>0){ time_curr = sample_time_start + real_time_curr; } if(sample_time_total>0){ time_total = sample_time_total; } //--- incase of new skin - watch sw it will be 0 spos = (time_curr / time_total) * sw; if(isNaN(spos)){ spos = 0; } if(spos>sw){ spos = sw; } //console.log(_scrubbar, _scrubbar.children('.scrub-prog'), spos, time_total, '-timecurr ', time_curr, sw); // console.info(audioBuffer); if(audioBuffer==null){ //console.info(spos, _scrubbar.width()); _scrubbar.children('.scrub-prog').css({ 'width' : spos }) if(o.skinwave_enableReflect=='on'){ _scrubbar.children('.scrub-prog-reflect').css({ 'width' : spos }) } } if(o.design_skin=='skin-pro'){ // console.info(spos,sw,spos/sw,Math.easeOutQuart(spos/sw, 0, sw,1)); var spos_eased = parseInt(Math.easeOutQuad(spos/sw, 0, sw,1), 10); _scrubbar.children('.scrub-prog').css({ 'width' : spos_eased }) } if(cthis.hasClass('skin-minimal')){ //console.log(skin_minimal_canvasplay); //alert(can_canvas()); if(is_ie8() || !can_canvas() || is_opera()){ _conPlayPause.addClass('canvas-fallback'); }else{ var ctx = skin_minimal_canvasplay.getContext('2d'); //console.log(ctx); var ctx_w = $(skin_minimal_canvasplay).width(); var ctx_h = $(skin_minimal_canvasplay).height(); var pw = ctx_w/100; var ph = ctx_h/100; spos = Math.PI*2 * (time_curr / time_total); if(isNaN(spos)){ spos = 0; } if(spos>Math.PI*2){ spos = Math.PI*2; } ctx.clearRect(0,0,ctx_w, ctx_h); //console.log(ctx_w, ctx_h); var gradient = gradient = ctx.createLinearGradient(0, 0, 0, ctx_h); gradient.addColorStop("0", "#ea8c52"); gradient.addColorStop("1.0", "#cb7641"); ctx.beginPath(); ctx.arc((50*pw),(50*ph),(40*pw),0,Math.PI*2,false); ctx.fillStyle = "rgba(0,0,0,0.1)"; ctx.fill(); ctx.beginPath(); ctx.arc((50*pw),(50*ph),(30*pw),0,Math.PI*2,false); //ctx.moveTo(110,75); ctx.fillStyle = gradient; ctx.fill(); //console.log(spos); ctx.beginPath(); ctx.arc((50*pw),(50*ph),(34*pw),0,spos,false); //ctx.fillStyle = "rgba(0,0,0,0.3)"; ctx.lineWidth=(10*pw); ctx.strokeStyle = 'rgba(0,0,0,0.3)'; ctx.stroke(); ctx.beginPath(); ctx.strokeStyle = "red"; //==draw the triangle ctx.moveTo((44*pw),(40*pw)); ctx.lineTo((57*pw),(50*pw)); ctx.lineTo((44*pw),(60*pw)); ctx.lineTo((44*pw),(40*pw)); ctx.fillStyle="#ddd"; ctx.fill(); ctx = skin_minimal_canvaspause.getContext('2d'); //console.log(ctx); ctx_w = $(skin_minimal_canvaspause).width(); ctx_h = $(skin_minimal_canvaspause).height(); pw = ctx_w/100; ph = ctx_h/100; ctx.clearRect(0,0,ctx_w, ctx_h); //console.log(ctx_w, ctx_h); //console.log((time_curr / time_total)); ctx.beginPath(); ctx.arc((50*pw),(50*ph),(40*pw),0,Math.PI*2,false); ctx.fillStyle = "rgba(0,0,0,0.1)"; ctx.fill(); ctx.beginPath(); ctx.arc((50*pw),(50*ph),(30*pw),0,Math.PI*2,false); //ctx.moveTo(110,75); ctx.fillStyle = gradient; ctx.fill(); //console.log(spos); ctx.beginPath(); ctx.arc((50*pw),(50*ph),(34*pw),0,spos,false); //ctx.fillStyle = "rgba(0,0,0,0.3)"; ctx.lineWidth=(10*pw); ctx.strokeStyle = 'rgba(0,0,0,0.35)'; ctx.stroke(); ctx.fillStyle="#ddd"; ctx.fillRect((43*pw),(40*pw),(6*pw),(20*pw)); ctx.fillRect((53*pw),(40*pw),(6*pw),(20*pw)); } //console.log('ceva'); } // console.info(o.design_skin); if(o.design_skin=='skin-wave'){ if(o.skinwave_enableSpectrum=='on'){ //console.info(_scrubBgCanvas.width()); if(lastarray){ drawSpectrum(lastarray); } } if(_currTime){ // console.info(_currTime, time_curr, time_total, formatTime(time_curr)) if(o.skinwave_timer_static!='on'){ _currTime.css({ 'left':spos }); if(spos>sw-_currTime.outerWidth()){ _currTime.css({ 'left':sw - _currTime.outerWidth() }) } if(spos>sw-30){ _totalTime.css({ 'opacity':1-( ((spos-(sw-30)) / 30) ) }); }else{ if(_totalTime.css('opacity')!='1'){ _totalTime.css({ 'opacity':1 }); } }; }; } } if(_currTime){ //console.info(_currTime, time_curr, formatTime(time_curr)) _currTime.html(formatTime(time_curr)); _totalTime.html(formatTime(time_total)); } // console.log(time_curr, time_total); if(time_total>0 && time_curr >= time_total - 0.07){ handle_end(); } if(is_flashplayer==true || type=='youtube'){ inter_check = setTimeout(check_time, 500); }else{ requestAnimFrame(check_time); } } function click_playpause(e){ //console.log('click_playpause'); var _t = $(this); //console.log(_t); if(o.design_skin == 'skin-minimal'){ var center_x = _t.offset().left + 50; var center_y = _t.offset().top + 50; var mouse_x = e.pageX; var mouse_y = e.pageY; var pzero_x = center_x + 50; var pzero_y = center_y; //var angle = Math.acos(mouse_x - center_x); //console.log(pzero_x, pzero_y, mouse_x, mouse_y, center_x, center_y, mouse_x - center_x, angle); //A = center, B = mousex, C=pointzero var AB = Math.sqrt(Math.pow((mouse_x - center_x),2) + Math.pow((mouse_y - center_y),2)); var AC = Math.sqrt(Math.pow((pzero_x - center_x),2) + Math.pow((pzero_y - center_y),2)); var BC = Math.sqrt(Math.pow((pzero_x - mouse_x),2) + Math.pow((pzero_y - mouse_y),2)); var angle = Math.acos((AB + AC + BC)/(2*AC*AB)); var angle2 = Math.acos((mouse_x - center_x)/50); //console.info(AB, AC, BC, angle, (mouse_x - center_x), angle2, Math.PI); var perc = -(mouse_x - center_x - 50) * 0.005;//angle2 / Math.PI / 2; if(mouse_y < center_y){ perc = 0.5 + (0.5 - perc) } if( !(is_flashplayer==true && is_firefox()) && AB > 20){ seek_to_perc(perc); return; } } //unghi = acos (x - centruX) = asin(centruY - y) if(playing==false){ play_media(); }else{ pause_media(); } } function handle_end(){ //console.log('end'); seek_to(0); pause_media(); if(typeof(o.parentgallery)!='undefined'){ //console.log(o.parentgallery); o.parentgallery.get(0).api_handle_end(); } } Math.easeOutQuart = function (t, b, c, d) { t /= d; t--; return -c * (t*t*t*t - 1) + b; }; Math.easeOutQuad = function (t, b, c, d) { t /= d; return -c * t*(t-2) + b; }; function handleResize() { ww = $(window).width(); tw = cthis.width(); th = cthis.height(); if(_scrubBgCanvas){ canw = _scrubBgCanvas.width(); canh = _scrubBgCanvas.height(); } // console.info('handleResize', _commentsHolder) sw = tw; if(o.design_skin=='skin-default'){ sw = tw; } if(o.design_skin=='skin-pro'){ sw = tw; } if(o.design_skin=='skin-justthumbandbutton'){ tw = cthis.children('.audioplayer-inner').outerWidth(); sw = tw; } if(o.design_skin=='skin-wave'){ sw = _scrubbar.outerWidth(false); if(_commentsHolder){ _commentsHolder.css({ 'width' : sw, 'left' : _scrubbar.offset().left - cthis.offset().left }) _commentsHolder.addClass('active'); _commentsHolder.find('.a-comment').each(function(){ var _t = $(this); // console.info(_t, _t.offset(), _t.find('.dzstooltip').eq(0).width(), _t.offset().left + _t.find('.dzstooltip').eq(0).width(), _t.offset().left + _t.find('.dzstooltip').eq(0).width() > ww - 50) if(_t.offset().left + _t.find('.dzstooltip').eq(0).width() > ww - 50){ _t.find('.dzstooltip').eq(0).addClass('align-right'); }else{ _t.find('.dzstooltip').eq(0).removeClass('align-right'); } }) } if(cthis.hasClass('fullflashbackup')){ if(_commentsHolder){ _commentsHolder.css({ 'width' : tw-212, 'left' : 212 }) if(tw<=480){ _commentsHolder.css({ 'width' : tw-112, 'left' : 112 }) } _commentsHolder.addClass('active'); } } } //console.info(o.design_skin, tw, sw); check_time(); if(res_thumbh==true){ // console.info(cthis.get(0).style.height); if(o.design_skin=='skin-default'){ if(cthis.get(0)!=undefined){ // if the height is auto then if(cthis.get(0).style.height=='auto'){ cthis.height(200); } } var cthis_height = _audioplayerInner.height(); if(typeof cthis.attr('data-initheight') == 'undefined' && cthis.attr('data-initheight')!=''){ cthis.attr('data-initheight', _audioplayerInner.height()); }else{ cthis_height = Number(cthis.attr('data-initheight')); } if(o.design_thumbh=='default'){ design_thumbh = cthis_height - 44; } } _audioplayerInner.find('.the-thumb').eq(0).css({ 'height': design_thumbh }) } //===display none + overflow hidden hack does not work .. yeah //console.log(cthis, _scrubbar.children('.scrub-bg').width()); if(cthis.css('display')!='none'){ _scrubbar.find('.scrub-bg-img').eq(0).css({ 'width' : _scrubbar.children('.scrub-bg').width() }); _scrubbar.find('.scrub-prog-img').eq(0).css({ 'width' : _scrubbar.children('.scrub-bg').width() }); _scrubbar.find('.scrub-prog-canvas').eq(0).css({ 'width' : _scrubbar.children('.scrub-bg').width() }); _scrubbar.find('.scrub-prog-img-reflect').eq(0).css({ 'width' : _scrubbar.children('.scrub-bg').width() }); _scrubbar.find('.scrub-prog-canvas-reflect').eq(0).css({ 'width' : _scrubbar.children('.scrub-bg').width() }); } cthis.removeClass('under-240 under-400'); if(tw<=240){ cthis.addClass('under-240'); } if(tw<=400){ cthis.addClass('under-400'); if(_controlsVolume){ if(o.disable_volume=='on'){ _controlsVolume.hide(); }else{ _controlsVolume.hide(); } } }else{ if(o.disable_volume=='on'){ _controlsVolume.hide(); }else{ _controlsVolume.show(); } } //console.info(_conPlayPause.outerWidth(), o.design_skin); var aux2 = 50; if(o.design_skin=='skin-wave'){ //console.info((o.design_thumbw + 20)); controls_left_pos = 0; if(cthis.find('.the-thumb').length>0){ controls_left_pos += cthis.find('.the-thumb').width() + 20; } controls_left_pos += 70; var sh = _scrubbar.eq(0).height(); if(is_flashplayer && o.settings_backup_type=='full'){ sh = 140; controls_left_pos = 280; if(tw<=480){ controls_left_pos = 180; } } if(o.skinwave_mode=='small'){ controls_left_pos-=80; sh = 5; controls_left_pos+=13; _conPlayPause.css({ //'left' : controls_left_pos }) controls_left_pos+=_conPlayPause.outerWidth() + 10; } if(o.skinwave_mode=='small' && is_flashplayer && o.settings_backup_type=='full'){ controls_left_pos = 140; cthis.find('.meta-artist-con').hide(); } //== adding the prev and next buttons if(typeof(o.parentgallery)!='undefined' && o.disable_player_navigation!='on'){ if(o.skinwave_mode!='small') { if (cthis.find('.prev-btn').eq(0).css('display') != 'none') { cthis.find('.prev-btn').eq(0).css({ 'top': sh + 19 , 'left': controls_left_pos }) controls_left_pos += 33; cthis.find('.next-btn').eq(0).css({ 'top': sh + 19 , 'left': controls_left_pos }) controls_left_pos += 40; } } } if(_metaArtistCon && _metaArtistCon.css('display')!='none'){ if(o.skinwave_mode=='small'){ controls_left_pos+=10; } if(!(o.design_skin=='skin-wave' && o.skinwave_mode=='small')) { _metaArtistCon.css({ 'left': controls_left_pos }); } controls_left_pos+=_metaArtistCon.outerWidth(); } controls_right_pos = 0; if(_controlsVolume && _controlsVolume.css('display')!='none'){ controls_right_pos+=55; } cthis.find('.btn-menu-state').eq(0).css({ 'right': controls_right_pos }) if(cthis.find('.btn-menu-state').eq(0).css('display')!='none'){ controls_right_pos += cthis.find('.btn-menu-state').eq(0).outerWidth(); } if(!o.skinwave_mode=='small') { cthis.find('.btn-embed-code-con').eq(0).css({ 'right': controls_right_pos }) } if(cthis.find('.btn-menu-state').eq(0).css('display')!='none'){ controls_right_pos += cthis.find('.btn-menu-state').eq(0).outerWidth(); } // ---------- calculate dims small if(o.skinwave_mode=='small'){ controls_left_pos+=10; _scrubbar.css({ //'left' : controls_left_pos }) cthis.find('.btn-menu-state').eq(0).css({ 'bottom': 'auto' ,'top' : 25 }); sw = ( tw - controls_left_pos - controls_right_pos ); controls_right_pos+=10; _scrubbar.css({ //'width' : sw }); _scrubbar.find('.scrub-bg-img').eq(0).css({ 'width' : _scrubbar.width() }) _scrubbar.find('.scrub-prog-img').eq(0).css({ 'width' : _scrubbar.width() }) cthis.find('.comments-holder').eq(0).css({ 'width' : _scrubbar.width() ,'left' : controls_left_pos }); } } if(o.design_skin=='skin-pro'){ controls_right_pos = 10; if(_controlsVolume && _controlsVolume.css('display')!='none'){ controls_right_pos+=60; } _totalTime.css({ 'left':'auto', 'right':controls_right_pos }) controls_right_pos+=50; _currTime.css({ 'left':'auto', 'right':controls_right_pos }) } if(o.design_skin=='skin-default'){ if(_currTime){ //console.info(o.design_skin, parseInt(_metaArtistCon.css('left'),10) + _metaArtistCon.outerWidth() + 10); _metaArtistCon_l = parseInt(_metaArtistCon.css('left'),10); _metaArtistCon_w = _metaArtistCon.outerWidth(); if(_metaArtistCon.css('display')=='none'){ _metaArtistCon_w = 0; } if(isNaN(_metaArtistCon_l)){ _metaArtistCon_l = 20; } // console.info(o.design_skin, _currTime, _metaArtistCon, _metaArtistCon.css('left'), parseInt(_metaArtistCon.css('left'),10), parseInt(_metaArtistCon.css('left'),10) + _metaArtistCon_w + 10); _currTime.css({ //'left': _metaArtistCon_l + _metaArtistCon_w + 10 }) _totalTime.css({ //'left': _metaArtistCon_l + _metaArtistCon_w + 55 }) /* */ } } if(o.design_skin=='skin-minion'){ //console.info(); aux2 = parseInt(_conControls.find('.con-playpause').eq(0).offset().left,10) - parseInt(_conControls.eq(0).offset().left,10) - 18; _conControls.find('.prev-btn').eq(0).css({ 'top':0 ,'left':aux2 }) aux2+=36; _conControls.find('.next-btn').eq(0).css({ 'top':0 ,'left':aux2 }) } } function mouse_volumebar(e){ var _t = $(this); if(e.type=='mousemove'){ } if(e.type=='mouseleave'){ } if(e.type=='click'){ //console.log(_t, _t.offset().left) aux = (e.pageX - (_controlsVolume.children('.volume_static').offset().left)) / (_controlsVolume.children('.volume_static').width()); set_volume(aux); muted=false; } } function mouse_scrubbar(e){ var mousex = e.pageX; if($(e.target).hasClass('sample-block-start') || $(e.target).hasClass('sample-block-end')){ return false; } if(e.type=='mousemove'){ _scrubbar.children('.scrubBox-hover').css({ 'left' : (mousex - _scrubbar.offset().left) }) } if(e.type=='mouseleave'){ } if(e.type=='click'){ if(audioBuffer){ time_total = audioBuffer.duration; } var aux = ((e.pageX - (_scrubbar.offset().left)) / (sw) * time_total); if(is_flashplayer==true){ aux = (e.pageX - (_scrubbar.offset().left)) / (sw); } //console.info(e.target,e.pageX, (_scrubbar.offset().left), (sw), time_total, aux); if(sample_time_start>0){ aux-=sample_time_start; } seek_to(aux); if(playing==false){ play_media(); } } } function seek_to_perc(argperc){ seek_to((argperc * time_total)); } function seek_to(arg){ //arg = nr seconds if(type=='youtube'){ _cmedia.seekTo(arg); } if(type=='audio'){ if(audioBuffer!=null){ lasttime_inseconds = arg; audioCtx.currentTime = lasttime_inseconds; if(inter_audiobuffer_workaround_id!=0){ time_curr=arg; } pause_media({'audioapi_setlasttime':false}); play_media(); }else{ if(is_flashplayer==true){ if(o.settings_backup_type=='light'){ if(str_ie8==''){ eval("_cmedia.fn_seek_to"+cthisId+"("+arg+")"); } } play_media(); }else{ _cmedia.currentTime = arg; } } } } function set_playback_speed(arg) { //=== outputs a playback speed from 0.1 to 10 if(type=='youtube') { _cmedia.setPlaybackRate(arg); } if(type=='audio') { if (is_flashplayer == false) { _cmedia.playbackRate=arg; } } } function set_volume(arg){ //=== outputs a volume from 0 to 1 if(type=='youtube'){ _cmedia.setVolume(arg*100); } if(type=='audio'){ if(is_flashplayer==true){ if(o.settings_backup_type=='light'){ if(str_ie8==''){ eval("_cmedia.fn_volumeset"+cthisId+"(arg)"); } } //play_cmedia(); }else{ _cmedia.volume = arg; } } //console.log(_controlsVolume.children('.volume_active')); _controlsVolume.children('.volume_active').css({ 'width':(_controlsVolume.children('.volume_static').width() * arg) }); if(o.design_skin=='skin-wave' && o.skinwave_dynamicwaves=='on'){ //console.log(arg); _scrubbar.find('.scrub-bg-img').eq(0).css({ 'transform' : 'scaleY('+arg+')' }) _scrubbar.find('.scrub-prog-img').eq(0).css({ 'transform' : 'scaleY('+arg+')' }) if(o.skinwave_enableReflect=='on'){ if(arg==0){ cthis.find('.scrub-bg-img-reflect').fadeOut('slow'); }else{ cthis.find('.scrub-bg-img-reflect').fadeIn('slow'); } } } last_vol = arg; } function click_mute(){ if(muted==false){ last_vol_before_mute = last_vol; set_volume(0); muted=true; }else{ set_volume(last_vol_before_mute); muted=false; } } function pause_media(pargs){ var margs = { 'audioapi_setlasttime' : true }; if(destroyed){ return false; } if(pargs){ margs = $.extend(margs,pargs); } if(o.design_animateplaypause!='on'){ _conPlayPause.children('.playbtn').css({ 'display' : 'block' }); _conPlayPause.children('.pausebtn').css({ 'display' : 'none' }); }else{ _conPlayPause.children('.playbtn').stop().fadeIn('fast'); _conPlayPause.children('.pausebtn').stop().fadeOut('fast'); } if(type=='youtube'){ _cmedia.pauseVideo(); } if(type=='audio'){ if(audioBuffer!=null){ //console.log(audioCtx.currentTime, audioBuffer.duration); //console.log(lasttime_inseconds); ///==== on safari we need to wait a little for the sound to load if(audioBuffer!='placeholder'){ if(margs.audioapi_setlasttime==true){ lasttime_inseconds = audioCtx.currentTime; } //console.log('trebuie doar la pauza', lasttime_inseconds); webaudiosource.stop(0); } }else{ if(is_flashplayer==true && o.settings_backup_type=='light' && cthis.css('display')!='none'){ if(o.settings_backup_type=='light'){ eval("_cmedia.fn_pausemedia"+cthisId+"()"); } }else{ if(_cmedia){ if(_cmedia.pause!=undefined){ _cmedia.pause(); } } } } } playing=false; cthis.removeClass('is-playing'); } function play_media(){ //console.log('play_media()'); // console.log(dzsap_list); for(i=0;i 0) { while (s > 59) { m++; s -= 60; } return String((m < 10 ? "0" : "") + m + ":" + (s < 10 ? "0" : "") + s); } else { return "00:00"; } } return this; }) } window.dzsap_init = function(selector, settings) { if(typeof(settings)!="undefined" && typeof(settings.init_each)!="undefined" && settings.init_each==true ){ var element_count = 0; for (e in settings) { element_count++; } if(element_count==1){ settings = undefined; } $(selector).each(function(){ var _t = $(this); _t.audioplayer(settings) }); }else{ $(selector).audioplayer(settings); } }; //////======= // AUDIO GALLERY /////======== $.fn.audiogallery = function(o) { var defaults = { design_skin: 'skin-default' ,cueFirstMedia : 'on' ,autoplay: 'off' ,autoplayNext: 'on' ,design_menu_position: 'bottom' ,design_menu_state: 'open' ,design_menu_show_player_state_button: 'off' ,design_menu_width: 'default' ,design_menu_height: '200' ,design_menu_space: 'default' ,design_menuitem_width: 'default' ,design_menuitem_height: 'default' ,design_menuitem_space: 'default' ,disable_menu_navigation: 'off' ,enable_easing: 'off'// -- enable easing for menu animation ,settings_ap: {} ,transition: 'direct' //fade or direct ,embedded: 'off' } if(typeof o =='undefined'){ if(typeof $(this).attr('data-options')!='undefined' && $(this).attr('data-options')!=''){ var aux = $(this).attr('data-options'); aux = 'var aux_opts = ' + aux; eval(aux); o = aux_opts; } } Math.easeIn = function(t, b, c, d) { return -c *(t/=d)*(t-2) + b; }; o = $.extend(defaults, o); this.each(function() { var cthis = $(this); var cchildren = cthis.children() ,cthisId = 'ag1' ; var currNr = -1 //===the current player that is playing ,lastCurrNr = 0 ,tempNr = 0 ; var busy = true; var i = 0; var ww , wh , tw , th ,n_maindim // the navmain main dimension for scrolling ,nc_maindim ,sw = 0//scrubbar width ,sh ,spos = 0 //== scrubbar prog pos ; var _sliderMain ,_sliderClipper ,_navMain ,_navClipper ,_cache ; var busy = false ,playing = false ,muted = false ,loaded=false ,first=true ; var time_total = 0 ,time_curr=0 ; var last_vol = 1 ,last_vol_before_mute = 1 ; var inter_check ,inter_checkReady ; var skin_minimal_canvasplay ,skin_minimal_canvaspause ; var is_flashplayer = false ; var data_source ; var aux_error = 20;//==erroring for the menu scroll var res_thumbh = false; var str_ie8 = ''; var arr_menuitems = []; var str_alertBeforeRate = 'You need to comment or rate before downloading.'; var duration_viy = 20 ; var target_viy = 0 ; var begin_viy = 0 ; var finish_viy = 0 ; var change_viy = 0 ; if(window.dzsap_settings && typeof( window.dzsap_settings.str_alertBeforeRate)!='undefined'){ str_alertBeforeRate = window.dzsap_settings.str_alertBeforeRate; } init(); function init(){ if(o.design_menu_width=='default'){ o.design_menu_width = '100%'; } if(o.design_menu_height=='default'){ o.design_menu_height = '200'; } cthis.append('
'); cthis.addClass('menu-position-'+ o.design_menu_position); _sliderMain = cthis.find('.slider-main').eq(0); var auxlen = cthis.find('.items').children().length; // --- if there is a single audio player in the gallery - theres no point of a menu if(auxlen==0 || auxlen==1){ o.design_menu_position = 'none'; o.settings_ap.disable_player_navigation = 'on'; } if(o.design_menu_position=='top'){ _sliderMain.before(''); } if(o.design_menu_position=='bottom'){ _sliderMain.after(''); } _sliderClipper = cthis.find('.slider-clipper').eq(0); _navMain = cthis.find('.nav-main').eq(0); _navClipper = cthis.find('.nav-clipper').eq(0); for(i=0;i') } if(o.disable_menu_navigation=='on'){ _navMain.hide(); } // console.info(o.design_menu_height, o.design_menu_state); _navMain.css({ 'height' : o.design_menu_height }) if(is_ios() || is_android()){ _navMain.css({ 'overflow':'auto' }) } if(o.design_menu_state=='closed'){ _navMain.css({ 'height' : 0 }) } if(cthis.css('opacity')==0){ cthis.animate({ 'opacity' : 1 }, 1000); } $(window).bind('resize', handleResize); handleResize(); setTimeout(handleResize, 1000); goto_item(tempNr); _navClipper.children().bind('click', click_menuitem); cthis.find('.download-after-rate').bind('click', click_downloadAfterRate); cthis.get(0).api_goto_next = goto_next; cthis.get(0).api_goto_prev = goto_prev; cthis.get(0).api_handle_end = handle_end; cthis.get(0).api_toggle_menu_state = toggle_menu_state; cthis.get(0).api_handleResize = handleResize; cthis.get(0).api_player_commentSubmitted = player_commentSubmitted; cthis.get(0).api_player_rateSubmitted = player_rateSubmitted; setTimeout(init_loaded, 700); if(o.enable_easing=='on'){ handle_frame(); } //console.info(cthis); cthis.addClass('dzsag-inited'); } function init_loaded(){ cthis.addClass('dzsag-loaded'); } function click_downloadAfterRate(){ var _t = $(this); if(_t.hasClass('active')==false){ alert(str_alertBeforeRate) return false; } } function handle_frame(){ if(isNaN(target_viy)){ target_viy=0; } if(duration_viy===0){ requestAnimFrame(handle_frame); return false; } begin_viy = target_viy; change_viy = finish_viy - begin_viy; //console.info('handle_frame', finish_viy, duration_viy, target_viy); //console.log(duration_viy); target_viy = Number(Math.easeIn(1, begin_viy, change_viy, duration_viy).toFixed(4));; _navClipper.css({ 'transform': 'translateY('+target_viy+'px)' }); //console.info(_blackOverlay,target_bo);; requestAnimFrame(handle_frame); } function toggle_menu_state(){ if(_navMain.height()==0){ _navMain.css({ 'height' : o.design_menu_height }) }else{ _navMain.css({ 'height' : 0 }) } setTimeout(function(){ handleResize(); }, 400); // -- animation delay } function handle_end(){ goto_next(); } function player_commentSubmitted(){ _navClipper.children('.menu-item').eq(currNr).find('.download-after-rate').addClass('active'); } function player_rateSubmitted(){ _navClipper.children('.menu-item').eq(currNr).find('.download-after-rate').addClass('active'); } function calculateDims(){ // console.info('calculateDims'); _sliderClipper.css('height', _sliderClipper.children().eq(currNr).height()); // _navMain.show(); n_maindim = _navMain.height(); nc_maindim = _navClipper.outerHeight(); // return; // console.info(nc_maindim, n_maindim) if(nc_maindim > n_maindim && n_maindim>0){ _navMain.unbind('mousemove', navMain_mousemove); _navMain.bind('mousemove', navMain_mousemove); }else{ _navMain.unbind('mousemove', navMain_mousemove); } if(o.embedded=='on'){ // console.info(window.frameElement) if(window.frameElement){ window.frameElement.height = cthis.height(); // console.info(window.frameElement.height, cthis.outerHeight()) } } } function navMain_mousemove(e){ var _t = $(this); var mx = e.pageX - _t.offset().left; var my = e.pageY - _t.offset().top; // console.info(nc_maindim, n_maindim, nc_maindim <= n_maindim); if(nc_maindim <= n_maindim){ return; } n_maindim = _navMain.outerHeight(); //console.log(mx); var vix = 0; var viy = 0; viy = (my / n_maindim) * -(nc_maindim - n_maindim+10 + aux_error*2) + aux_error; //console.log(viy); if(viy>0){ viy = 0; } if(viy < -(nc_maindim - n_maindim+10)){ viy = -(nc_maindim - n_maindim+10); } finish_viy = viy; //console.log(viy, nc_maindim, n_maindim, (my / n_maindim)) if(o.enable_easing!='on'){ _navClipper.css({ 'transform': 'translateY('+finish_viy+'px)' }); } } function click_menuitem(e){ var _t = $(this); var ind = _t.parent().children().index(_t); goto_item(ind); } function handleResize(){ setTimeout(function(){ //console.info(_sliderClipper.children().eq(currNr), _sliderClipper.children().eq(currNr).height()) _sliderClipper.css('height', _sliderClipper.children().eq(currNr).height()); },500); calculateDims(); } function transition_end(){ _sliderClipper.children().eq(lastCurrNr).hide(); lastCurrNr = currNr; busy= false; } function transition_bg_end(){ cthis.parent().children('.the-bg').eq(0).remove(); busy= false; } function goto_prev(){ tempNr = currNr; tempNr--; if(tempNr<0){ tempNr = _sliderClipper.children().length-1; } goto_item(tempNr); } function goto_next(){ tempNr = currNr; tempNr++; if(tempNr>=_sliderClipper.children().length){ tempNr = 0; } goto_item(tempNr); } function goto_item(arg){ if(busy==true){ return; } if(currNr==arg){ return; } _cache = _sliderClipper.children().eq(arg); if(currNr>-1){ if(typeof(_sliderClipper.children().eq(currNr).get(0))!='undefined'){ if(typeof(_sliderClipper.children().eq(currNr).get(0).fn_pause_media)!='undefined'){ _sliderClipper.children().eq(currNr).get(0).fn_pause_media(); } } if(o.transition=='fade'){ _sliderClipper.children().eq(currNr).removeClass('active'); _navClipper.children().eq(currNr).removeClass('active'); _sliderClipper.children().eq(currNr).css({ 'position':'absolute' ,'left' : 0 ,'top' : 0 }) _sliderClipper.children().eq(currNr).animate({ },{queue:false }); setTimeout(transition_end, 300); } if(o.transition=='direct'){ transition_end(); } } //============ setting settings if(o.settings_ap.design_skin == 'sameasgallery'){ o.settings_ap.design_skin = o.design_skin; } //===if this is the first audio if(currNr == -1 && o.autoplay=='on'){ o.settings_ap.autoplay = 'on'; } //===if this is not the first audio if(currNr > -1 && o.autoplayNext=='on'){ o.settings_ap.autoplay = 'on'; } o.settings_ap.parentgallery = cthis; o.settings_ap.design_menu_show_player_state_button = o.design_menu_show_player_state_button; o.settings_ap.cue = 'on'; if(first==true){ if(o.cueFirstMedia=='off'){ o.settings_ap.cue = 'off'; } first = false; } //============ setting settings END if(_cache.hasClass('audioplayer-tobe')){ _cache.audioplayer(o.settings_ap); } if(o.autoplayNext=='on'){ if(currNr>-1 && _cache.get(0) && _cache.get(0).api_play){ _cache.get(0).api_play(); } } if(o.transition=='fade'){ _cache.css({ 'position':'absolute' ,display:'block' ,'left' : 0 ,'top' : 0 }) _cache.animate({ },{queue:false}) } if(o.transition=='direct'){ } _cache.addClass('active'); _navClipper.children().eq(arg).addClass('active'); if(_cache.attr("data-bgimage")!=undefined && cthis.parent().hasClass('ap-wrapper') && cthis.parent().children('.the-bg').length>0){ cthis.parent().children('.the-bg').eq(0).after('
') cthis.parent().children('.the-bg').eq(0).css({ 'opacity':1 }) cthis.parent().children('.the-bg').eq(1).css({ 'opacity':0 }) cthis.parent().children('.the-bg').eq(1).animate({ 'opacity':1 },{queue:false, duration:1000, complete:transition_bg_end, step:function(){ busy=true; } }) busy=true; } currNr = arg; calculateDims(); } }); } window.dzsag_init = function(selector, settings) { if(typeof(settings)!="undefined" && typeof(settings.init_each)!="undefined" && settings.init_each==true ){ var element_count = 0; for (e in settings) { element_count++; } if(element_count==1){ settings = undefined; } $(selector).each(function(){ var _t = $(this); _t.audiogallery(settings) }); }else{ $(selector).audiogallery(settings); } }; })(jQuery); jQuery(document).ready(function($){ //console.info($('.zoomvideogallery.auto-init')); dzsap_init('.audioplayer-tobe.auto-init', {init_each: true}); dzsag_init('.audiogallery.auto-init', {init_each: true}); $('.audioplayer-song-changer').bind('click', function(){ var _t = $(this); //console.info() var _c = $(_t.attr('data-target')).eq(0); //console.info(_t, _t.attr('data-target'), _c, _c.get(0)); if(_c && _c.get(0) && _c.get(0).api_change_media){ _c.get(0).api_change_media(_t); } return false; }) }); function is_ios() { return ((navigator.platform.indexOf("iPhone") != -1) || (navigator.platform.indexOf("iPod") != -1) || (navigator.platform.indexOf("iPad") != -1) ); } function is_android() { //return false; //return true; var ua = navigator.userAgent.toLowerCase(); return (ua.indexOf("android") > -1); } function is_ie() { if (navigator.appVersion.indexOf("MSIE") != -1) { return true; } ; return false; } ; function is_firefox() { if (navigator.userAgent.indexOf("Firefox") != -1) { return true; } ; return false; } ; function is_opera() { if (navigator.userAgent.indexOf("Opera") != -1) { return true; } ; return false; } ; function is_chrome() { return navigator.userAgent.toLowerCase().indexOf('chrome') > -1; } ; function is_safari() { return Object.prototype.toString.call(window.HTMLElement).indexOf('Constructor') > 0; } function version_ie() { return parseFloat(navigator.appVersion.split("MSIE")[1]); } ; function version_firefox() { if (/Firefox[\/\s](\d+\.\d+)/.test(navigator.userAgent)) { var aversion = new Number(RegExp.$1); return(aversion); } ; } ; function version_opera() { if (/Opera[\/\s](\d+\.\d+)/.test(navigator.userAgent)) { var aversion = new Number(RegExp.$1); return(aversion); } ; } ; function is_ie8() { if (is_ie() && version_ie() < 9) { return true; } return false; } function is_ie9() { if (is_ie() && version_ie() == 9) { return true; } return false; } function can_play_mp3(){ var a = document.createElement('audio'); return !!(a.canPlayType && a.canPlayType('audio/mpeg;').replace(/no/, '')); } function can_canvas(){ // check if we have canvas support var oCanvas = document.createElement("canvas"); if (oCanvas.getContext("2d")) { return true; } return false; } function onYouTubeIframeAPIReady() { for(i=0;i'; jQuery('body').append(html_calcS); var _lastspan = jQuery('span.forcalc').last(); //console.log(_lastspan, html_calc); _lastspan.css({ 'font-size' : _t.css('font-size') ,'font-family' : _t.css('font-family') }) var width =_lastspan.width() ; //_t.html(html_org); _lastspan.remove(); return width; }; window.requestAnimFrame = (function() { //console.log(callback); return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || function(/* function */callback, /* DOMElement */element) { window.setTimeout(callback, 1000 / 60); }; })(); var MD5 = function (string) { //==== snippet from http://css-tricks.com/ - author unknown function RotateLeft(lValue, iShiftBits) { return (lValue<>>(32-iShiftBits)); } function AddUnsigned(lX,lY) { var lX4,lY4,lX8,lY8,lResult; lX8 = (lX & 0x80000000); lY8 = (lY & 0x80000000); lX4 = (lX & 0x40000000); lY4 = (lY & 0x40000000); lResult = (lX & 0x3FFFFFFF)+(lY & 0x3FFFFFFF); if (lX4 & lY4) { return (lResult ^ 0x80000000 ^ lX8 ^ lY8); } if (lX4 | lY4) { if (lResult & 0x40000000) { return (lResult ^ 0xC0000000 ^ lX8 ^ lY8); } else { return (lResult ^ 0x40000000 ^ lX8 ^ lY8); } } else { return (lResult ^ lX8 ^ lY8); } } function F(x,y,z) { return (x & y) | ((~x) & z); } function G(x,y,z) { return (x & z) | (y & (~z)); } function H(x,y,z) { return (x ^ y ^ z); } function I(x,y,z) { return (y ^ (x | (~z))); } function FF(a,b,c,d,x,s,ac) { a = AddUnsigned(a, AddUnsigned(AddUnsigned(F(b, c, d), x), ac)); return AddUnsigned(RotateLeft(a, s), b); }; function GG(a,b,c,d,x,s,ac) { a = AddUnsigned(a, AddUnsigned(AddUnsigned(G(b, c, d), x), ac)); return AddUnsigned(RotateLeft(a, s), b); }; function HH(a,b,c,d,x,s,ac) { a = AddUnsigned(a, AddUnsigned(AddUnsigned(H(b, c, d), x), ac)); return AddUnsigned(RotateLeft(a, s), b); }; function II(a,b,c,d,x,s,ac) { a = AddUnsigned(a, AddUnsigned(AddUnsigned(I(b, c, d), x), ac)); return AddUnsigned(RotateLeft(a, s), b); }; function ConvertToWordArray(string) { var lWordCount; var lMessageLength = string.length; var lNumberOfWords_temp1=lMessageLength + 8; var lNumberOfWords_temp2=(lNumberOfWords_temp1-(lNumberOfWords_temp1 % 64))/64; var lNumberOfWords = (lNumberOfWords_temp2+1)*16; var lWordArray=Array(lNumberOfWords-1); var lBytePosition = 0; var lByteCount = 0; while ( lByteCount < lMessageLength ) { lWordCount = (lByteCount-(lByteCount % 4))/4; lBytePosition = (lByteCount % 4)*8; lWordArray[lWordCount] = (lWordArray[lWordCount] | (string.charCodeAt(lByteCount)<>>29; return lWordArray; }; function WordToHex(lValue) { var WordToHexValue="",WordToHexValue_temp="",lByte,lCount; for (lCount = 0;lCount<=3;lCount++) { lByte = (lValue>>>(lCount*8)) & 255; WordToHexValue_temp = "0" + lByte.toString(16); WordToHexValue = WordToHexValue + WordToHexValue_temp.substr(WordToHexValue_temp.length-2,2); } return WordToHexValue; }; function Utf8Encode(string) { string = string.replace(/\r\n/g,"\n"); var utftext = ""; for (var n = 0; n < string.length; n++) { var c = string.charCodeAt(n); if (c < 128) { utftext += String.fromCharCode(c); } else if((c > 127) && (c < 2048)) { utftext += String.fromCharCode((c >> 6) | 192); utftext += String.fromCharCode((c & 63) | 128); } else { utftext += String.fromCharCode((c >> 12) | 224); utftext += String.fromCharCode(((c >> 6) & 63) | 128); utftext += String.fromCharCode((c & 63) | 128); } } return utftext; }; var x=Array(); var k,AA,BB,CC,DD,a,b,c,d; var S11=7, S12=12, S13=17, S14=22; var S21=5, S22=9 , S23=14, S24=20; var S31=4, S32=11, S33=16, S34=23; var S41=6, S42=10, S43=15, S44=21; string = Utf8Encode(string); x = ConvertToWordArray(string); a = 0x67452301; b = 0xEFCDAB89; c = 0x98BADCFE; d = 0x10325476; for (k=0;k 0) { while (s > 59) { m++; s -= 60; } return String((m < 10 ? "0" : "") + m + ":" + (s < 10 ? "0" : "") + s); } else { return "00:00"; } } dzsag_init