1swapp.app={};swapp.utils.poll=function(interval,callback,callOnFocus,pollInBackground,callOnLoad){if(callOnFocus===undefined)callOnFocus=true;if(pollInBackground===undefined)pollInBackground=false;if(callOnLoad===undefined)callOnLoad=true;new swapp.utils.addPollingState(interval,callback,callOnFocus,pollInBackground,callOnLoad);};swapp.utils.addPollingState=function(interval,callback,focus_call,poll_in_background,call_on_load){var pollingLoop=null;var pollingInterval=0;var pollCallback=callback;var pollingLocked=true;var callOnFocus=focus_call;var pollInBackground=poll_in_background;var callOnLoad=call_on_load;var initPolling=function(){pollCallback();};var setPageFocus=function(){$(window).focus(function(){clearLoop();});$(window).blur(function(){if(!pollingLocked){if(callOnFocus)initPolling();pollingLoop=setInterval(initPolling,pollingInterval);pollingLocked=false;}});};var clearLoop=function(){clearInterval(pollingLoop);pollingLocked=false;};pollingInterval=(interval*1000);if(callOnLoad)initPolling();pollingLoop=setInterval(initPolling,pollingInterval);if(pollInBackground===false){setPageFocus();}};swapp.app.playlists={live:function(opts){this.editTime=0;this.refreshInterval=10000;this.endTrackId=0;if(opts.playlistId)this.playlistId=parseInt(opts.playlistId);if(opts.edit_time)this.editTime=parseInt(opts.edit_time);if(opts.refresh)this.refresh=opts.refresh;if(opts.object_name)this.objectName=opts.object_name;if(opts.refresh_interval)this.refreshInterval=opts.refresh_interval;if(opts.end_track_id)this.endTrackId=opts.end_track_id;if(opts.htmlElementId)this.htmlElementId=opts.htmlElementId;if(opts.playlist_owner)this.playlistOwner=opts.playlist_owner;if(opts.edit_time===0&&this.playlistOwner)editPlaylistInfo("playlist_info");if(this.refresh&&this.objectName)setTimeout(this.objectName+'.loadTracks()',this.refreshInterval);this.loadTracks=function(){$(".loading_tracks").fadeIn();var me=this;var vars={};vars.session_id=this.playlistId;vars.type='view_tracklist';vars.show_unplayed=0;vars.show_wl_link=1;$.post("/parts/playlists/ajaxdata",vars,function(responseText){var Result=eval(responseText);if(Result[0]!=="success"){alert("Error: "+Result[0]);return;} 2if(me.htmlElementId){$(".loading_tracks").fadeOut();if(Result[1]){$("#"+me.htmlElementId).html(Result[1]);if(Result[3]&&me.endTrackId!==Result[3]){var html_ele_id="#track_"+Result[3];$(html_ele_id).addClass("highlight").slideDown();}}} 3if(Result[3])me.endTrackId=Result[3];me.refresh=parseInt(Result[2])===1;if(me.refresh&&me.objectName)setTimeout(me.objectName+'.loadTracks()',me.refreshInterval);});};},tracks_added:0,tracks_deleted:[],environmentChange:function(){var environment_name=$('#environment_select').find('option:selected').text();$('#environment_label').text(environment_name+' Name');if(environment_name==='Home/Studio')$('#environment_name').hide();else $('#environment_name').show();},getFormObjectForEditSection:function(section){switch(section){case"playlist_tracklist":return PlaylistTrackEditForm;case"playlist_info":return PlaylistEditForm;}},setTrackPlayed:function(track_id,played){var parent=$("#trackplay_"+track_id);var elmt=parent.find(".track_played");if(parseInt(played)===1){parent.closest('.playlist-track').removeClass('disabled');parent.find('.track_show').hide();parent.find('.track_hide').show();elmt.val(played);}else{parent.closest('.playlist-track').addClass('disabled');parent.find('.track_hide').hide();parent.find('.track_show').show();elmt.val(played);}},insertTrack:function(obj){var obj_selected_track=$(obj).closest('.playlist_track');obj_new_track=$("#new_track").clone().removeClass('hide');var track_time=obj_selected_track.find('.playlist-tracktime').text().trim();if(track_time.length<=0){track_time=obj_selected_track.find('.playlist-tracktime-edit').val().trim()} 4const next_track_time=helpers.getTimeDiffBySeconds(track_time,1);obj_new_track.find('.playlist-tracktime-edit').attr('value',next_track_time);obj_selected_track.after(obj_new_track.html().replace(/\[\]/g,"[new_"+this.tracks_added+"]").replace(/new_track_placeholder/,"track_new_"+this.tracks_added));this.tracks_added++;},deleteTrack:function(obj){obj=$(obj).closest('.playlist_track');var targetObj=obj.attr('id');
4if(targetObj===undefined){$(obj).closest('.playlist_track').remove();return false;} 5var obj_attrs=targetObj.split('_');var track_id=obj_attrs[1];this.tracks_deleted.push(track_id);$(obj).hide();$(obj).find('input').each(function(){$(this).removeAttr('required');});$('#delete_tracks').val(this.tracks_deleted.join());},submit_button:{},saveChanges:function(submit_button,form_ele){this.submit_button=$(submit_button);this.updateButton('Saving...');var $form=$('#'+form_ele);var vars=$form.serialize();var action=$form.attr('action');const rtn=helpers.validate('#'+form_ele);if(!rtn)return rtn;$.post(action,vars,function(responseText){var Result=eval(responseText);if(!Result.success) 6alert(Result.message);else{if(Result.redirect) 7window.location=Result.redirect;} 8swapp.app.playlists.updateButton('Saved');});},updateButton:function(text){this.submit_button.val(text);},openImageUploadDialog:function(playlist_session_id){if(playlist_session_id){var vars={image_type_def:'Playlist',title:'Choose a Playlist Image',image_type_label:'Playlist image',aspect_ratio:1,form_data:{session_id:playlist_session_id},on_new_image_complete:swapp.app.playlists.onImageUpdate};swapp.utils.imageUpload.openDialog(vars);}},openImageDeleteDialog:function(playlist_session_id){if(swapp.vars.user.id){var vars={image_type_def:'Playlist',title:'Delete your Playlist Image',image_type_label:'Playlist image',aspect_ratio:1,form_data:{session_id:playlist_session_id},on_image_delete:swapp.app.playlists.onImageDelete};swapp.utils.imageUpload.openDialog(vars);swapp.utils.imageUpload.displayStep('delete-image')}},onImageUpdate:function(vars){$('#playlist_image').attr('src',vars[3].mid);$('.bg-blurred').css('background-image','url('+vars[3].large+')');$('.delete-playlist-default-image-button').show();swapp.hideV3Modal('#upload-modal');},onImageDelete:function(vars){$('#playlist_image').attr('src',vars[2].mid);$('.bg-blurred').css('background-image','url('+vars[2].large+')');$('.delete-playlist-default-image-button').hide();swapp.hideV3Modal('#upload-modal');}};swapp.app.tagging={tagArray:[],buildTagArray:function(tag_type){var tag_str=$('#'+tag_type+'s').val();if(tag_str!==''&&tag_str!=='|'){this.tagArray=tag_str.split('|');}},displayFormattedTags:function(tag_type){var $tag=$('#'+tag_type+'_edit .display');$tag.html('');var tag_str=$('#'+tag_type+'s').val();if(tag_str!==''&&tag_str!=='|'){this.tagArray=tag_str.split('|');for(var i=0;i<this.tagArray.length;i++){this.tagArray[i]=this.tagArray[i].replace("<","<");this.tagArray[i]=this.tagArray[i].replace(">",">");$tag.append('<a href="#" class="tag tag-l selected" title="Click to remove" class="item item_'+i+'" onclick="swapp.app.tagging.removeTag('+i+", '"+tag_type+"'); return false;\">"+this.tagArray[i]+"</a> ");}}else $tag.append('<div>Click '+tag_type+'s to tag your playlist</div>');$tag.append('<div class="clearer"></div>');},addTag:function(str,tag_type){str=str.trim();str=str.toLowerCase();str=str.replace("||",' ');str=str.replace("|",' ');str=str.replace(/ +/g,' ');if(str==='hip hop'||str==='hiphop')str='hip-hop';if(str==='r & b'||str==='r and b')str='r&b';var $tag=$('#'+tag_type+'s');var tag_str=$tag.val();if(tag_str.indexOf("|"+str+"|")===-1)tag_str+="|"+str+"|";$tag.val(tag_str);$('#'+tag_type+'_edit #new_'+tag_type).val('');this.displayFormattedTags(tag_type);},removeTag:function(i,tag_type){if(this.tagArray.length===0)this.buildTagArray(tag_type) 9this.tagArray.splice(i,1) 10$('#'+tag_type+'s').val(this.tagArray.join('|')) 11this.displayFormattedTags(tag_type)}};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.