"),_player.playlist.push(d);return $(".playlist").sortable({axis:"y",cursor:"move"}),c===0&&!_player.hasTrack()&&_player.setTrack($(".playlist li").first().attr("id").split("i")[1]),!1},a.prototype.getDataFromLi=function(a){var b,c,d;return b=$(a).attr("data-id"),d=$(a).find(".trackname").html(),c=$(a).find(".length").html(),{id:b,name:d,length:c}},a.prototype.setTrack=function(a){var b,c,d;return b=$("#i"+a),d=_player.getTrackInfo(b.attr("data-id")),c=d.artist+" — "+d.name,$(".player .loaded, .player .played").width(0),$(".player .now-playing").html(c),$(".playlist li").removeClass("now"),b.addClass("now"),_vk_music.search(d.artist,d.name,d.duration,function(a){return _player.playSource(a)}),this.updateNowListening(d),!1},a.prototype.getTrackInfo=function(a){var b,c,d,e;e=_player.playlist;for(c=0,d=e.length;c0?$("#jplayer audio").attr("src")!=null&&$("#jplayer audio").attr("src")!=="":($("#jplayer object").length>0&&($("#jplayer").jPlayer("play"),!0),!1)},a.prototype.playSource=function(a){return this.scrobbled=!1,$("#jplayer").jPlayer("setMedia",{mp3:a}),$("#jplayer").jPlayer("play"),!1},a.prototype.nextTrack=function(a){var b,c,d;a=a!=null,c=$(".playlist li").length;if(!this.onShuffle()){if($(".playlist .now").next().length!==0)return $(".playlist .now").next().attr("id").split("i")[1];if(_player.onRepeat()||a)return $(".playlist li").first().attr("id").split("i")[1];!1}else{if(c===1)return $(".playlist li").first().attr("id").split("i")[1];for(;;){d=Math.floor(Math.random()*(c+.999)),b=$(".playlist li").eq(d);if(b.length>0&&!b.hasClass("now"))return b.attr("id").split("i")[1]}}return!1},a.prototype.prevTrack=function(){var a,b,c;b=$(".playlist li").length;if(!_player.onShuffle())return $(".playlist .now").prev().length===0?$(".playlist li").last().attr("id").split("i")[1]:$(".playlist .now").prev().attr("id").split("i")[1];if(b===1)return $(".playlist li").first().attr("id").split("i")[1];for(;;){c=Math.floor(Math.random()*(b+.999)),a=$(".playlist li").eq(c);if(a.length>0&&!a.hasClass("now"))return a.attr("id").split("i")[1]}return!1},a.prototype.onShuffle=function(){return $(".shuffle").hasClass("on")},a.prototype.onRepeat=function(){return $(".repeat").hasClass("on")},a.prototype.updateNowListening=function(a){return _session.getUser().lastfm_username&&_session.query("/lastfm/listening?r="+Math.random(),a),!1},a.prototype.scrobble=function(a){return _session.getUser().lastfm_username&&_session.query("/lastfm/scrobble?r="+Math.random(),a),!1},a}(),$(".player .prev").live("click",function(){return _player.setTrack(_player.prevTrack()),!1}),$(".player .next").live("click",function(){return _player.setTrack(_player.nextTrack(!0)),!1}),$(".player .play").live("click",function(){return $(".playlist li").length>0&&!_player.hasTrack()&&_player.setTrack($(".playlist li").first().attr("id").split("i")[1]),!1}),$(".player .progress").live("click",function(a){return $("#jplayer").jPlayer("playHead",Math.round(a.offsetX/_player.bar_width*100)),!1}),$(".repeat, .shuffle").live("click",function(){return $(this).toggleClass("on"),!1}),$(".do_empty").live("click",function(){return confirm("Are you sure?")&&($(".playlist li").remove(),$("#jplayer").jPlayer("clearMedia"),$(".player .now-playing").text("Add some music to playlist"),$(".player .loaded, .player .played").width(0)),!1}),$(".playlist li .artist-name, .playlist li .song-title, .playlist li .song-duration, .playlist li .remove").live("mousemove mouseover mouseout",function(a){var b;return((b=a.type)==="mouseover"||b==="mousemove")&&$(".playlist").offset().left+$(".playlist").outerWidth()-a.clientX<60?($(this).parent().find(".song-duration").hide(),$(this).parent().find(".remove").show()):($(this).parent().find(".remove").hide(),$(this).parent().find(".song-duration").show()),!1}),$(".playlist li .remove").live("click",function(a){var b;return b=$(this).parent(),b.hasClass("now")&&($("#jplayer").jPlayer("clearMedia"),$(".player .now-playing").text("..."),$(".player .loaded, .player .played").width(0)),b.remove(),a.preventDefault(),!1}),$(".playlist li").live("click",function(){return _player.setTrack($(this).attr("id").split("i")[1]),!1}),$(".add-album").live("click",function(){var a,b,c,d,e,f;b=$(".artist-info h2").text(),a=_player.albums[$(this).attr("data-album-id")],f=a.tracks;for(d=0,e=f.length;d'+b.name+" "+(b.desc!=null?" "+b.desc+"":"")+" ");return $(".suggestions").show(),!1},a.prototype.hideSuggestions=function(){return $(".suggestions ul li").remove(),$(".suggestions").hide(),!1},a}(),$("#search-form").live("submit",function(){return $("#autocomplete-container").remove(),_search.loadArtistData($("#search").val()),!1}),$(".data.artist").live("click",function(){return _search.loadArtistData($(this).html()),!1})}.call(this),function(){window.Page=function(){function a(){}return a.prototype.print=function(a){return $("#content").html(a),!1},a.prototype.renderArtist=function(a){return $("#content").html(a),yaCounter7596904.hit(_ajax.getAnchor(),a.artist.name,_ajax.referer),_ajax.setTitle(a.artist.name),!1},a.prototype.renderSearch=function(a){return $(".pulldown").html(a),setTimeout(function(){return $(".search_field").first().bh_autocomplete({serviceUrl:"/artist/autocomplete",minChars:2,delimiter:/(,|;)\s*/,maxHeight:400,width:415,zIndex:9999,deferRequestBy:500,onSelect:function(){return _ajax.loadArtistData($(".search_field").first().val())}}),$(".search_field").first().focus()},1),!1},a}(),$(function(){return $("#logo").live("click",function(){return _ajax.go("/"),!1}),$(".about").live("click",function(){return _ajax.go("/about/"),!1}),$("body").live("click",function(){return $(".dropdown-toggle, .menu").parent("li").removeClass("open"),!1}),$(".dropdown-toggle, .menu").live("click",function(){return $(this).parent("li").toggleClass("open"),!1}),$(".dropdown-menu li a").live("click",function(){return $(this).parent().parent().parent().toggleClass("open"),!1}),$(".foreign-link").live("click",function(a){return a.preventDefault(),!1})})}.call(this),function(){window.Settings=function(){function a(){}return a.prototype.loadSettingsPage=function(){return _session.getUser().id==null&&(_ajax.go("/"),!1),_session.secureLoad("/settings/",function(a){return!1}),_ajax.setTitle("Settings"),!1},a.prototype.getAccountInfo=function(a){return _session.query("/user/update/",{},a),!1},a.prototype.saveAccountInfo=function(a,b){return _session.query("/user/update",a,b),!1},a.prototype.updateLastfmLogin=function(){return window.lastfm_popup.closed?_session.query("/user/auth",{},function(a){return _session.setUser(a.user),$("#lastfm_username").val(a.user.lastfm_username),$(".lastfm-connect").hide()}):setTimeout(_settings.updateLastfmLogin,100),!1},a}(),$("#preferences").live("click",function(){return _ajax.go("/settings/"),!1}),$("#settings-tabs li").live("click"
-,function(){return $(this).hasClass("active")||($("#settings-tabs li").removeClass("active"),$(this).addClass("active"),$("#settings-forms > div").hide(),$("#settings-forms > ."+$(this).find("a").attr("data-tab")).show()),!1}),$(".lastfm-connect").live("click",function(){return window.lastfm_popup=window.open(_session.getUser().lastfm_login_url,"lastfm_popup","status=1,width=960,height=585"),setTimeout(_settings.updateLastfmLogin,100),!1}),$("#settings-forms form").live("submit",function(){var a;return a={},$(this).find("input, select").each(function(){if($(this).attr("name"))return $(this).attr("type")==="checkbox"?a[$(this).attr("name")]=$(this).attr("checked")==="checked":a[$(this).attr("name")]=$(this).val()}),_session.query("/user/update/",{params:a}),!1}),$('#settings-forms input[type$="submit"]').live("mouseup",function(){return $(this).parent().parent().parent().submit(),!1}),$('#settings-forms input[type$="checkbox"]').live("click",function(a){return sorry,!1})}.call(this),function(){window._beathaven=null,window._session=null,window._vkontakte=null,window._vk_music=null,window._ajax=null,window._player=null,window._search=null,window._page=null,window._settings=null,$(function(){var a,b;return a=document.location,(b=a.hostname)!=="beathaven.org"&&b!=="dev.beathaven.org"&&(a.href="http://beathaven.org/"+a.hash),window._beathaven=new BeatHaven,window._beathaven.init()}),window.BeatHaven=function(){function a(){}return a.prototype.last_height=!1,a.prototype.lang="ru",a.prototype.init=function(){return window._vkontakte=new Vkontakte(2335068),window._vkontakte.init(),window._vk_music=new VkontakteMusic,window._ajax=new Ajax,window._player=new Player,window._player.initJplayer(),window._search=new Search,window._page=new Page,window._settings=new Settings,this.setupAutocomplete(),!1},a.prototype.setupAutocomplete=function(){return $("#search").first().bh_autocomplete({serviceUrl:"/artist/autocomplete",minChars:3,delimiter:/(,|;)\s*/,maxHeight:400,width:415,zIndex:9999,deferRequestBy:500,containerId:"autocomplete-container",containerItemsId:"autocomplete-items",onSelect:function(){return _search.loadArtistData($("#search").val())}})},a.prototype.localizeHTML=function(a,b){return a==null&&(a=$("body")),b==null&&(b=_beathaven.lang),$(a).find("[data-ls]").each(function(){if(_locale[$(this).attr("data-ls")]!=null&&_locale[$(this).attr("data-ls")][b]!=null)return this.nodeName==="INPUT"?$(this).val(_locale[$(this).attr("data-ls")][b]):$(this).text(_locale[$(this).attr("data-ls")][b])}),a},a.prototype.ls=function(a,b){return b==null&&(b=_beathaven.lang),_locale[a]!=null&&_locale[a][b]!=null?_locale[a][b]:a},a}(),String.prototype.htmlsafe=function(){var a,b,c,d,e;b=[["\\","\\\\"],['"',"""],["<","<"],[">",">"]],c=this;for(d=0,e=b.length;d','','','',''],d=document.createElement('');for(var g=0;g0?100*c/this.status.duration:0,typeof a.seekable=="object"&&a.seekable.length>0?(e=this.status.duration>0?100*a.seekable.end(a.seekable.length-1)/this.status.duration:100,f=100*a.currentTime/a.seekable.end(a.seekable.length-1)):(e=100,f=d),b&&(d=f=c=0),this.status.seekPercent=e,this.status.currentPercentRelative=f,this.status.currentPercentAbsolute=d,this.status.currentTime=c,this.status.readyState=a.readyState,this.status.networkState=a.networkState,this.status.playbackRate=a.playbackRate,this.status.ended=a.ended},_resetStatus:function(){this.status=a.extend({},this.status,a.jPlayer.prototype.status)},_trigger:function(b,c,d){b=a.Event(b),b.jPlayer={},b.jPlayer.version=a.extend({},this.version),b.jPlayer.options=a.extend(!0,{},this.options),b.jPlayer.status=a.extend(!0,{},this.status),b.jPlayer.html=a.extend(!0,{},this.html),b.jPlayer.flash=a.extend(!0,{},this.flash),c&&(b.jPlayer.error=a.extend({},c)),d&&(b.jPlayer.warning=a.extend({},d)),this.element.trigger(b)},jPlayerFlashEvent:function(b,c){if(b===a.jPlayer.event.ready)if(this.internal.ready){if(this.flash.gate){if(this.status.srcSet){var d=this.status.currentTime,e=this.status.paused;this.setMedia(this.status.media),d>0&&(e?this.pause(d):this.play(d))}this._trigger(a.jPlayer.event.flashreset)}}else this.internal.ready=!0,this.internal.flash.jq.css({width:"0px",height:"0px"}),this.version.flash=c.version,this.version.needFlash!==this.version.flash&&this._error({type:a.jPlayer.error.VERSION,context:this.version.flash,message:a.jPlayer.errorMsg.VERSION+this.version.flash,hint:a.jPlayer.errorHint.VERSION}),this._trigger(a.jPlayer.event.repeat),this._trigger(b);if(this.flash.gate)switch(b){case a.jPlayer.event.progress:this._getFlashStatus(c),this._updateInterface(),this._trigger(b);break;case a.jPlayer.event.timeupdate:this._getFlashStatus(c),this._updateInterface(),this._trigger(b);break;case a.jPlayer.event.play:this._seeked(),this._updateButtons(!0),this._trigger(b);break;case a.jPlayer.event.pause:this._updateButtons(!1),this._trigger(b);break;case a.jPlayer.event.ended:this._updateButtons(!1),this._trigger(b);break;case a.jPlayer.event.click:this._trigger(b);break;case a.jPlayer.event.error:this.status.waitForLoad=!0,this.status.waitForPlay=!0,this.status.video&&this.internal.flash.jq.css({width:"0px",height:"0px"}),this._validString(this.status.media.poster)&&this.internal.poster.jq.show(),this.css.jq.videoPlay.length&&this.status.video&&this.css.jq.videoPlay.show(),this.status.video?this._flash_setVideo(this.status.media):this._flash_setAudio(this.status.media),this._updateButtons(!1),this._error({type:a.jPlayer.error.URL,context:c.src,message:a.jPlayer.errorMsg.URL,hint:a.jPlayer.errorHint.URL});break;case a.jPlayer.event.seeking:this._seeking(),this._trigger(b);break;case a.jPlayer.event.seeked:this._seeked(),this._trigger(b);break;case a.jPlayer.event.ready:break;default:this._trigger(b)}return!1},_getFlashStatus:function(a){this.status.seekPercent=a.seekPercent,this.status.currentPercentRelative=a.currentPercentRelative,this.status.currentPercentAbsolute=a.currentPercentAbsolute,this.status.currentTime=a.currentTime,this.status.duration=a.duration,this.status.readyState=4,this.status.networkState=0,this.status.playbackRate=1,this.status.ended=!1},_updateButtons:function(a){a!==b&&(this.status.paused=!a,this.css.jq.play.length&&this.css.jq.pause.length&&(a?(this.css.jq.play.hide(),this.css.jq.pause.show()):(this.css.jq.play.show(),this.css.jq.pause.hide()))),this.css.jq.restoreScreen.length&&this.css.jq.fullScreen.length&&(this.status.noFullScreen?(this.css.jq.fullScreen.hide(),this.css.jq.restoreScreen.hide()):this.options.fullScreen?(this.css.jq.fullScreen.hide(),this.css.jq.restoreScreen.show()):(this.css.jq.fullScreen.show(),this.css.jq.restoreScreen.hide())),this.css.jq.repeat.length&&this.css.jq.repeatOff.length&&(this.options.loop?(this.css.jq.repeat.hide(),this.css.jq.repeatOff.show()):(this.css.jq.repeat.show(),this.css.jq.repeatOff.hide()))},_updateInterface:function(){this.css.jq.seekBar.length&&this.css.jq.seekBar.width(this.status.seekPercent+"%"),this.css.jq.playBar.length&&this.css.jq.playBar.width(this.status.currentPercentRelative+"%"),this.css.jq.currentTime.length&&this.css.jq.currentTime.text(a.jPlayer.convertTime(this.status.currentTime)),this.css.jq.duration.length&&this.css.jq.duration.text(a.jPlayer.convertTime(this.status.duration))},_seeking:function(){this.css.jq.seekBar.length&&this.css.jq.seekBar.addClass("jp-seeking-bg")},_seeked:function(){this.css.jq.seekBar.length&&this.css.jq.seekBar.removeClass("jp-seeking-bg")},_resetGate:function(){this.html.audio.gate=!1,this.html.video.gate=!1,this.flash.gate=!1},_resetActive:function(){this.html.active=!1,this.flash.active=!1},setMedia:function(b){var c=this,d=!1,e=this.status.media.poster!==b.poster;this._resetMedia(),this._resetGate(),this._resetActive(),a.each(this.formats,function(e,f){var g=c.format[f].media==="video";a.each(c.solutions,function(a,e){if(c[e].support[f]&&c._validString(b[f])){var h=e==="html";return g?(h?(c.html.video.gate=!0,c._html_setVideo(b),c.html.active=!0):(c.flash.gate=!0,c._flash_setVideo(b),c.flash.active=!0),c.css.jq.videoPlay.length&&c.css.jq.videoPlay.show(),c.status.video=!0):(h?(c.html.audio.gate=!0,c._html_setAudio(b),c.html.active=!0):(c.flash.gate=!0,c._flash_setAudio(b),c.flash.active=!0),c.css.jq.videoPlay.length&&c.css.jq.videoPlay.hide(),c.status.video=!1),d=!0,!1}});if(d)return!1}),d?((!this.status.nativeVideoControls||!this.html.video.gate)&&this._validString(b.poster)&&(e?this.htmlElement.poster.src=b.poster:this.internal.poster.jq.show()),this.status.srcSet=!0,this.status.media=a.extend({},b),this._updateButtons(!1),this._updateInterface()):this._error({type:a.jPlayer.error.NO_SUPPORT,context:"{supplied:'"+this.options.supplied+"'}",message:a.jPlayer.errorMsg.NO_SUPPORT,hint:a.jPlayer.errorHint.NO_SUPPORT})},_resetMedia:function(){this._resetStatus(),this._updateButtons(!1),this._updateInterface(),this._seeked(),this.internal.poster.jq.hide(),clearTimeout(this.internal.htmlDlyCmdId),this.html.active?this._html_resetMedia():this.flash.active&&this._flash_resetMedia()},clearMedia:function(){this._resetMedia(),this.html.active?this._html_clearMedia():this.flash.active&&this._flash_clearMedia(),this._resetGate(),this._resetActive()},load:function(){this.status.srcSet?this.html.active?this._html_load():this.flash.active&&this._flash_load():this._urlNotSetError("load")},play:function(a){a=typeof a=="number"?a:NaN,this.status.srcSet?this.html.active?this._html_play(a):this.flash.active&&this._flash_play(a):this._urlNotSetError("play")},videoPlay:function(){this.play()},pause:function(a){a=typeof a=="number"?a:NaN,this.status.srcSet?this.html.active?this._html_pause(a):this.flash.active&&this._flash_pause(a):this._urlNotSetError("pause")},pauseOthers:function(){var b=this;a.each(this.instances,function(a,c){b.element!==c&&c.data("jPlayer").status.srcSet&&c.jPlayer("pause")})},stop:function(){this.status.srcSet?this.html.active?this._html_pause(0):this.flash.active&&this._flash_pause(0):this._urlNotSetError("stop")},playHead:function(a){a=this._limitValue(a,0,100),this.status.srcSet?this.html.active?this._html_playHead(a):this.flash.active&&this._flash_playHead(a):this._urlNotSetError("playHead")},_muted:function(b){this.options.muted=b,this.html.used&&this._html_mute(b),this.flash.used&&this._flash_mute(b),!this.html.video.gate&&!this.html.audio.gate&&(this._updateMute(b),this._updateVolume(this.options.volume),this._trigger(a.jPlayer.event.volumechange))},mute:function(a){a=a===b?!0:!!a,this._muted(a)},unmute:function(a){a=a===b?!0:!!a,this._muted(!a)},_updateMute:function(a){a===b&&(a=this.options.muted),this.css.jq.mute.length&&this.css.jq.unmute.length&&(this.status.noVolume?(this.css.jq.mute.hide(),this.css.jq.unmute.hide()):a?(this.css.jq.mute.hide(),this.css.jq.unmute.show()):(this.css.jq.mute.show(),this.css.jq.unmute.hide()))},volume:function(b){b=this._limitValue(b,0,1),this.options.volume=b,this.html.used&&this._html_volume(b),this.flash.used&&this._flash_volume(b),!this.html.video.gate&&!this.html.audio.gate&&(this._updateVolume(b),this._trigger(a.jPlayer.event.volumechange))},volumeBar:function(a){if(this.css.jq.volumeBar.length){var b=this.css.jq.volumeBar.offset(),c=a.pageX-b.left,d=this.css.jq.volumeBar.width(),a=this.css.jq.volumeBar.height()-a.pageY+b.top,b=this.css.jq.volumeBar.height();this.options.verticalVolume?this.volume(a/b):this.volume(c/d)}this.options.muted&&this._muted(!1)},volumeBarValue:function(a){this.volumeBar(a)},_updateVolume:function(a){a===b&&(a=this.options.volume),a=this.options.muted?0:a,this.status.noVolume?(this.css.jq.volumeBar.length&&this.css.jq.volumeBar.hide(),this.css.jq.volumeBarValue.length&&this.css.jq.volumeBarValue.hide(),this.css.jq.volumeMax.length&&this.css.jq.volumeMax.hide()):(this.css.jq.volumeBar.length&&this.css.jq.volumeBar.show(),this.css.jq.volumeBarValue.length&&(this.css.jq.volumeBarValue.show(),this.css.jq.volumeBarValue[this.options.verticalVolume?"height":"width"](a*100+"%")),this.css.jq.volumeMax.length&&this.css.jq.volumeMax.show())},volumeMax:function(){this.volume(1),this.options.muted&&this._muted(!1)},_cssSelectorAncestor:function(b){var c=this;this.options.cssSelectorAncestor=b,this._removeUiClass(),this.ancestorJq=b?a(b):[],b&&this.ancestorJq.length!==1&&this._warning({type:a.jPlayer.warning.CSS_SELECTOR_COUNT,context:b,message:a.jPlayer.warningMsg.CSS_SELECTOR_COUNT+this.ancestorJq.length+" found for cssSelectorAncestor.",hint:a.jPlayer.warningHint.CSS_SELECTOR_COUNT}),this._addUiClass(),a.each(this.options.cssSelector,function(a,b){c._cssSelector(a,b)})},_cssSelector:function(b,c){var d=this;typeof c=="string"?a.jPlayer.prototype.options.cssSelector[b]?(this.css.jq[b]&&this.css.jq[b].length&&this.css.jq[b].unbind(".jPlayer"),this.options.cssSelector[b]=c,this.css.cs[b]=this.options.cssSelectorAncestor+" "+c,this.css.jq[b]=c?a(this.css.cs[b]):[],this.css.jq[b].length&&this.css.jq[b].bind("click.jPlayer",function(c){return d[b](c),a(this).blur(),!1}),c&&this.css.jq[b].length!==1&&this._warning({type:a.jPlayer.warning.CSS_SELECTOR_COUNT,context:this.css.cs[b],message:a.jPlayer.warningMsg.CSS_SELECTOR_COUNT+this.css.jq[b].length+" found for "+b+" method.",hint:a.jPlayer.warningHint.CSS_SELECTOR_COUNT})):this._warning({type:a.jPlayer.warning.CSS_SELECTOR_METHOD,context:b,message:a.jPlayer.warningMsg.CSS_SELECTOR_METHOD,hint:a.jPlayer.warningHint.CSS_SELECTOR_METHOD}):this._warning({type:a.jPlayer.warning.CSS_SELECTOR_STRING,context:c,message:a.jPlayer.warningMsg.CSS_SELECTOR_STRING,hint:a.jPlayer.warningHint.CSS_SELECTOR_STRING})},seekBar:function(a){if(this.css.jq.seekBar){var b=this.css.jq.seekBar.offset(),a=a.pageX-b.left,b=this.css.jq.seekBar.width();this.playHead(100*a/b)}},playBar:function(a){this.seekBar(a)},repeat:function(){this._loop(!0)},repeatOff:function(){this._loop(!1)},_loop:function(b){this.options.loop!==b&&(this.options.loop=b,this._updateButtons(),this._trigger(a.jPlayer.event.repeat))},currentTime:function(){},duration:function(){},gui:function(){},noSolution:function(){},option:function(c,d){var e=c;if(arguments.length===0)return a.extend(!0,{},this.options);if(typeof c=="string"){var g=c.split(".");if(d===b){for(var e=a.extend(!0,{},this.options),h=0;h0?this._html_load():clearTimeout(this.internal.htmlDlyCmdId),this.htmlElement.media.pause();if(!isNaN(a))try{this.htmlElement.media.currentTime=a}catch(c){this.internal.htmlDlyCmdId=setTimeout(function(){b.pause(a)},100);return}a>0&&this._html_checkWaitForPlay()},_html_playHead:function(a){var b=this;this._html_load();try{if(typeof this.htmlElement.media.seekable=="object"&&this.htmlElement.media.seekable.length>0)this.htmlElement.media.currentTime=a*this.htmlElement.media.seekable.end(this.htmlElement.media.seekable.length-1)/100;else if(this.htmlElement.media.duration>0&&!isNaN(this.htmlElement.media.duration))this.htmlElement.media.currentTime=a*this.htmlElement.media.duration/100;else throw"e"}catch(c){this.internal.htmlDlyCmdId=setTimeout(function(){b.playHead(a)},100);return}this.status.waitForLoad||this._html_checkWaitForPlay()},_html_checkWaitForPlay:function(){this.status.waitForPlay&&(this.status.waitForPlay=!1,this.css.jq.videoPlay.length&&this.css.jq.videoPlay.hide(),this.status.video&&(this.internal.poster.jq.hide(),this.internal.video.jq.css({width:this.status.width,height:this.status.height})))},_html_volume:function(a){this.html.audio.available&&(this.htmlElement.audio.volume=a),this.html.video.available&&(this.htmlElement.video.volume=a)},_html_mute:function(a){this.html.audio.available&&(this.htmlElement.audio.muted=a),this.html.video.available&&(this.htmlElement.video.muted=a)},_flash_setAudio:function(b){var c=this;try{if(a.each(this.formats,function(a,d){if(c.flash.support[d]&&b[d]){switch(d){case"m4a":case"fla":c._getMovie().fl_setAudio_m4a(b[d]);break;case"mp3":c._getMovie().fl_setAudio_mp3(b[d])}return c.status.src=b[d],c.status.format[d]=!0,c.status.formatType=d,!1}}),this.options.preload==="auto")this._flash_load(),this.status.waitForLoad=!1}catch(d){this._flashError(d)}},_flash_setVideo:function(b){var c=this;try{if(a.each(this.formats,function(a,d){if(c.flash.support[d]&&b[d]){switch(d){case"m4v":case"flv":c._getMovie().fl_setVideo_m4v(b[d])}return c.status.src=b[d],c.status.format[d]=!0,c.status.formatType=d,!1}}),this.options.preload==="auto")this._flash_load(),this.status.waitForLoad=!1}catch(d){this._flashError(d)}},_flash_resetMedia:function(){this.internal.flash.jq.css({width:"0px",height:"0px"}),this._flash_pause(NaN)},_flash_clearMedia:function(){try{this._getMovie().fl_clearMedia()}catch(a){this._flashError(a)}},_flash_load:function(){try{this._getMovie().fl_load()}catch(a){this._flashError(a)}this.status.waitForLoad=!1},_flash_play:function(a){try{this._getMovie().fl_play(a)}catch(b){this._flashError(b)}this.status.waitForLoad=!1,this._flash_checkWaitForPlay()},_flash_pause:function(a){try{this._getMovie().fl_pause(a)}catch(b){this._flashError(b)}a>0&&(this.status.waitForLoad=!1,this._flash_checkWaitForPlay())},_flash_playHead:function(a){try{this._getMovie().fl_play_head(a)}catch(b){this._flashError(b)}this.status.waitForLoad||this._flash_checkWaitForPlay()},_flash_checkWaitForPlay:function(){this.status.waitForPlay&&(this.status.waitForPlay=!1,this.css.jq.videoPlay.length&&this.css.jq.videoPlay.hide(),this.status.video&&(this.internal.poster.jq.hide(),this.internal.flash.jq.css({width:this.status.width,height:this.status.height})))},_flash_volume:function(a){try{this._getMovie().fl_volume(a)}catch(b){this._flashError(b)}},_flash_mute:function(a){try{this._getMovie().fl_mute(a)}catch(b){this._flashError(b)}},_getMovie:function(){return document[this.internal.flash.id]},_checkForFlash:function(a){var b=!1,c;if(window.ActiveXObject)try{new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+a),b=!0}catch(d){}else navigator.plugins&&navigator.mimeTypes.length>0&&(c=navigator.plugins["Shockwave Flash"])&&navigator.plugins["Shockwave Flash"].description.replace(/.*\s(\d+\.\d+).*/,"$1")>=a&&(b=!0);return b},_validString:function(a){return a&&typeof a=="string"},_limitValue:function(a,b,c){return ac?c:a},_urlNotSetError:function(b){this._error({type:a.jPlayer.error.URL_NOT_SET,context:b,message:a.jPlayer.errorMsg.URL_NOT_SET,hint:a.jPlayer.errorHint.URL_NOT_SET})},_flashError:function(b){var c;c=this.internal.ready?"FLASH_DISABLED":"FLASH",this._error({type:a.jPlayer.error[c],context:this.internal.flash.swf,message:a.jPlayer.errorMsg[c]+b.message,hint:a.jPlayer.errorHint[c]}),this.internal.flash.jq.css({width:"1px",height:"1px"})},_error:function(b){this._trigger(a.jPlayer.event.error,b),this.options.errorAlerts&&this._alert("Error!"+(b.message?"\n\n"+b.message:"")+(b.hint?"\n\n"+b.hint:"")+"\n\nContext: "+b.context)},_warning:function(c){this._trigger(a.jPlayer.event.warning,b,c),this.options.warningAlerts&&this._alert("Warning!"+(c.message?"\n\n"+c.message:"")+(c.hint?"\n\n"+c.hint:"")+"\n\nContext: "+c.context)},_alert:function(a){alert("jPlayer "+this.version.script+" : id='"+this.internal.self.id+"' : "+a)},_emulateHtmlBridge:function(){var b=this;a.each(a.jPlayer.emulateMethods.split(/\s+/g),function(a,c){b.internal.domNode[c]=function(a){b[c](a)}}),a.each(a.jPlayer.event,function(c,d){var e=!0;a.each(a.jPlayer.reservedEvent.split(/\s+/g),function(a,b){if(b===c)return e=!1}),e&&b.element.bind(d+".jPlayer.jPlayerHtml",function(){b._emulateHtmlUpdate();var a=document.createEvent("Event");a.initEvent(c,!1,!0),b.internal.domNode.dispatchEvent(a)})})},_emulateHtmlUpdate:function(){var b=this;a.each(a.jPlayer.emulateStatus.split(/\s+/g),function(a,c){b.internal.domNode[c]=b.status[c]}),a.each(a.jPlayer.emulateOptions.split(/\s+/g),function(a,c){b.internal.domNode[c]=b.options[c]})},_destroyHtmlBridge:function(){var b=this;this.element.unbind(".jPlayerHtml"),a.each((a.jPlayer.emulateMethods+" "+a.jPlayer.emulateStatus+" "+a.jPlayer.emulateOptions).split(/\s+/g),function(a,c){delete b.internal.domNode[c]})}},a.jPlayer.error={FLASH:"e_flash",FLASH_DISABLED:"e_flash_disabled",NO_SOLUTION:"e_no_solution",NO_SUPPORT:"e_no_support",URL:"e_url",URL_NOT_SET:"e_url_not_set",VERSION:"e_version"},a.jPlayer.errorMsg={FLASH:"jPlayer's Flash fallback is not configured correctly, or a command was issued before the jPlayer Ready event. Details: ",FLASH_DISABLED:"jPlayer's Flash fallback has been disabled by the browser due to the CSS rules you have used. Details: ",NO_SOLUTION:"No solution can be found by jPlayer in this browser. Neither HTML nor Flash can be used.",NO_SUPPORT:"It is not possible to play any media format provided in setMedia() on this browser using your current options.",URL:"Media URL could not be loaded.",URL_NOT_SET:"Attempt to issue media playback commands, while no media url is set.",VERSION:"jPlayer "+a.jPlayer.prototype.version.script+" needs Jplayer.swf version "+a.jPlayer.prototype.version.needFlash+" but found "},a.jPlayer.errorHint={FLASH:"Check your swfPath option and that Jplayer.swf is there.",FLASH_DISABLED:"Check that you have not display:none; the jPlayer entity or any ancestor.",NO_SOLUTION:"Review the jPlayer options: support and supplied.",NO_SUPPORT:"Video or audio formats defined in the supplied option are missing.",URL:"Check media URL is valid.",URL_NOT_SET:"Use setMedia() to set the media URL.",VERSION:"Update jPlayer files."},a.jPlayer.warning={CSS_SELECTOR_COUNT:"e_css_selector_count",CSS_SELECTOR_METHOD:"e_css_selector_method",CSS_SELECTOR_STRING:"e_css_selector_string",OPTION_KEY:"e_option_key"},a.jPlayer.warningMsg={CSS_SELECTOR_COUNT:"The number of css selectors found did not equal one: ",CSS_SELECTOR_METHOD:"The methodName given in jPlayer('cssSelector') is not a valid jPlayer method.",CSS_SELECTOR_STRING:"The methodCssSelector given in jPlayer('cssSelector') is not a String or is empty.",OPTION_KEY:"The option requested in jPlayer('option') is undefined."},a.jPlayer.warningHint={CSS_SELECTOR_COUNT:"Check your css selector and the ancestor.",CSS_SELECTOR_METHOD:"Check your method name.",CSS_SELECTOR_STRING:"Check your css selector is a string.",OPTION_KEY:"Check your option name."}})(jQuery)
\ No newline at end of file
diff --git a/public/assets/jquery/jplayer/jquery.jplayer.min-362a3e01a4247cd36b4917a8e36a864b.js.gz b/public/assets/jquery/jplayer/jquery.jplayer.min-362a3e01a4247cd36b4917a8e36a864b.js.gz
deleted file mode 100644
index 5ff2de3..0000000
Binary files a/public/assets/jquery/jplayer/jquery.jplayer.min-362a3e01a4247cd36b4917a8e36a864b.js.gz and /dev/null differ
diff --git a/public/assets/jquery/jquery.autocomplete-fc8b2bc097af9cf7ea6a0050ba87cac2.js b/public/assets/jquery/jquery.autocomplete-fc8b2bc097af9cf7ea6a0050ba87cac2.js
deleted file mode 100644
index bc75af5..0000000
--- a/public/assets/jquery/jquery.autocomplete-fc8b2bc097af9cf7ea6a0050ba87cac2.js
+++ /dev/null
@@ -1,12 +0,0 @@
-/**
-* Ajax Autocomplete for jQuery, version 1.1.3
-* (c) 2010 Tomas Kirda
-*
-* Ajax Autocomplete for jQuery is freely distributable under the terms of an MIT-style license.
-* For details, see the web site: http://www.devbridge.com/projects/autocomplete/jquery/
-*
-* Last Review: 04/19/2010
-*/
-/*jslint onevar: true, evil: true, nomen: true, eqeqeq: true, bitwise: true, regexp: true, newcap: true, immed: true */
-/*global window: true, document: true, clearInterval: true, setInterval: true, jQuery: true */
-(function($){function fnFormatResult(a,b,c){if(c==="and"||c==="&"||c==="n'")var d="(and|&|n')";else var d="("+c.replace(reEscape,"\\$1")+")";return a.replace(new RegExp(d,"gi"),"$1")}function Autocomplete(a,b){this.el=$(a),this.el.attr("autocomplete","off"),this.suggestions=[],this.data=[],this.badQueries=[],this.selectedIndex=-1,this.currentValue=this.el.val(),this.intervalId=0,this.cachedResponse=[],this.onChangeInterval=null,this.ignoreValueChange=!1,this.serviceUrl=b.serviceUrl,this.isLocal=!1,this.containerId=b.containerId,this.containerItemsId=b.containerItemsId,this.options={autoSubmit:!1,minChars:1,maxHeight:300,deferRequestBy:0,width:0,highlight:!0,params:{},fnFormatResult:fnFormatResult,delimiter:null,zIndex:9999},this.initialize(),this.setOptions(b)}var reEscape=new RegExp("(\\"+["/",".","*","+","?","|","(",")","[","]","{","}","\\"].join("|\\")+")","g");$.fn.bh_autocomplete=function(a){return new Autocomplete(this.get(0)||$(""),a)},Autocomplete.prototype={killerFn:null,initialize:function(){var a,b,c;a=this,b=Math.floor(Math.random()*1048576).toString(16),c="Autocomplete_"+b,this.killerFn=function(b){$(b.target).parents(".autocomplete").size()===0&&(a.killSuggestions(),a.disableKillerFn())},this.options.width||(this.options.width=this.el.width()),this.mainContainerId="AutocompleteContainter_"+b,this.mainContainerId=this.containerId,this.container=$("#"+c),this.container_items=$("#"+this.containerItemsId),this.fixPosition(),window.opera?this.el.keypress(function(b){a.onKeyPress(b)}):this.el.keydown(function(b){a.onKeyPress(b)}),this.el.keyup(function(b){a.onKeyUp(b)}),this.el.blur(function(){a.enableKillerFn()}),this.el.focus(function(){a.fixPosition()})},setOptions:function(a){var b=this.options;$.extend(b,a),b.lookup&&(this.isLocal=!0,$.isArray(b.lookup)&&(b.lookup={suggestions:b.lookup,data:[]}))},clearCache:function(){this.cachedResponse=[],this.badQueries=[]},disable:function(){this.disabled=!0},enable:function(){this.disabled=!1},fixPosition:function(){var a=this.el.offset()},enableKillerFn:function(){var a=this;$(document).bind("click",a.killerFn)},disableKillerFn:function(){var a=this;$(document).unbind("click",a.killerFn)},killSuggestions:function(){var a=this;this.stopKillSuggestions(),this.intervalId=window.setInterval(function(){a.hide(),a.stopKillSuggestions()},300)},stopKillSuggestions:function(){window.clearInterval(this.intervalId)},onKeyPress:function(a){if(this.disabled||!this.enabled)return;switch(a.keyCode){case 27:this.el.val(this.currentValue),this.hide();break;case 9:case 13:if(this.selectedIndex===-1){this.hide();return}this.select(this.selectedIndex);if(a.keyCode===9)return;break;case 38:this.moveUp();break;case 40:this.moveDown();break;default:return}a.stopImmediatePropagation(),a.preventDefault()},onKeyUp:function(a){if(this.disabled)return;switch(a.keyCode){case 38:case 40:return}clearInterval(this.onChangeInterval);if(this.currentValue!==this.el.val())if(this.options.deferRequestBy>0){var b=this;this.onChangeInterval=setInterval(function(){b.onValueChange()},this.options.deferRequestBy)}else this.onValueChange()},onValueChange:function(){clearInterval(this.onChangeInterval),this.currentValue=this.el.val();var a=this.getQuery(this.currentValue);this.selectedIndex=-1;if(this.ignoreValueChange){this.ignoreValueChange=!1;return}a===""||a.length'+d(g,this.data[f],e)+""),c.mouseover(h(f)),c.click(i(f)),this.container_items.append(c);this.enabled=!0,this.container.show(),$(".popover-wrapper").show()},processResponse:function(text){var response;try{response=eval("("+text+")")}catch(err){return}$.isArray(response.data)||(response.data=[]),this.options.noCache||(this.cachedResponse[response.query]=response,response.suggestions.length===0&&this.badQueries.push(response.query)),response.query===this.getQuery(this.currentValue)&&(this.suggestions=response.suggestions,this.data=response.data,this.suggest())},activate:function(a){var b,c;return b=this.container_items.children(),this.selectedIndex!==-1&&b.length>this.selectedIndex&&$(b.get(this.selectedIndex)).removeClass(),this.selectedIndex=a,this.selectedIndex!==-1&&b.length>this.selectedIndex&&(c=b.get(this.selectedIndex),$(c).addClass("selected")),c},deactivate:function(a,b){a.className="",this.selectedIndex===b&&(this.selectedIndex=-1)},select:function(a){var b,c;b=this.suggestions[a],b&&(this.el.val(b),this.options.autoSubmit&&(c=this.el.parents("form"),c.length>0&&c.get(0).submit()),this.ignoreValueChange=!0,this.hide(),this.onSelect(a))},moveUp:function(){if(this.selectedIndex===-1)return;if(this.selectedIndex===0){this.container_items.children().get(0).className="",this.selectedIndex=-1,this.el.val(this.currentValue);return}this.adjustScroll(this.selectedIndex-1)},moveDown:function(){if(this.selectedIndex===this.suggestions.length-1)return;this.adjustScroll(this.selectedIndex+1)},adjustScroll:function(a){var b,c,d,e;b=this.activate(a),c=b.offsetTop,d=this.container_items.scrollTop(),e=d+this.options.maxHeight-25,ce&&this.container_items.scrollTop(c-this.options.maxHeight+25),this.el.val(this.getValue(this.suggestions[a]))},onSelect:function(a){var b,c,d,e;b=this,c=b.options.onSelect,d=b.suggestions[a],e=b.data[a],b.el.val(b.getValue(d)),$.isFunction(c)&&c(d,e,b.el)},getValue:function(a){var b,c,d,e;return e=this,b=e.options.delimiter,b?(c=e.currentValue,d=c.split(b),d.length===1?a:c.substr(0,c.length-d[d.length-1].length)+a):a}}})(jQuery)
\ No newline at end of file
diff --git a/public/assets/jquery/jquery.autocomplete-fc8b2bc097af9cf7ea6a0050ba87cac2.js.gz b/public/assets/jquery/jquery.autocomplete-fc8b2bc097af9cf7ea6a0050ba87cac2.js.gz
deleted file mode 100644
index 6d6973c..0000000
Binary files a/public/assets/jquery/jquery.autocomplete-fc8b2bc097af9cf7ea6a0050ba87cac2.js.gz and /dev/null differ
diff --git a/public/assets/kitteh-f334572e60ee2f359d1fa75039b2d9ee.png b/public/assets/kitteh-f334572e60ee2f359d1fa75039b2d9ee.png
deleted file mode 100644
index d226481..0000000
Binary files a/public/assets/kitteh-f334572e60ee2f359d1fa75039b2d9ee.png and /dev/null differ
diff --git a/public/assets/loader-2b1f8b81f8c73c4cb5150d82cf35af5e.gif b/public/assets/loader-2b1f8b81f8c73c4cb5150d82cf35af5e.gif
deleted file mode 100644
index 91dc959..0000000
Binary files a/public/assets/loader-2b1f8b81f8c73c4cb5150d82cf35af5e.gif and /dev/null differ
diff --git a/public/assets/manifest.yml b/public/assets/manifest.yml
deleted file mode 100644
index 32a175a..0000000
--- a/public/assets/manifest.yml
+++ /dev/null
@@ -1,28 +0,0 @@
----
-artist_loader.gif: artist_loader-267cddb43a337afaa9811d0fcd872a81.gif
-concrete_wall_2.png: concrete_wall_2-983c8c85109befddea8785a4d022b176.png
-drag.png: drag-b7a1464297a419d607e669e2e4acb124.png
-dummy.png: dummy-a38e66e0c778639bfc86553ecae99ca9.png
-icns/empty.png: icns/empty-6d65c809f09e82ebadcf546c156e1876.png
-icns/next.png: icns/next-7dcc3ef97bedc5ca961bf678fdaa54f7.png
-icns/pause.png: icns/pause-26fa8286c2dec092f2f40f726b310990.png
-icns/play.png: icns/play-e3c442182233eb582e4df1743b5f00c4.png
-icns/prev.png: icns/prev-4e045b535e604e984449ca5491346e94.png
-icns/repeat.png: icns/repeat-a183f09283e744ddd2db0a854eba3f6a.png
-icns/settings.png: icns/settings-2d245eae1463788d8bc160a17319c190.png
-icns/shuffle.png: icns/shuffle-31bcb949348420199c842ec00c2085b2.png
-icns/thumbs-down.png: icns/thumbs-down-49f23170990da39b9dfd6a781c0975b0.png
-icns/thumbs-up.png: icns/thumbs-up-546ea19912abde9a8c57415916c9f509.png
-kitteh.png: kitteh-f334572e60ee2f359d1fa75039b2d9ee.png
-loader.gif: loader-2b1f8b81f8c73c4cb5150d82cf35af5e.gif
-rails.png: rails-dd352fc2630e5f9aa5685ef1d7fe5997.png
-services/lastfm.ico: services/lastfm-f460aed00b749d65d8649de543e4c745.ico
-services/microblog.ico: services/microblog-54a87b33e130b4a40453e5c71eeb966e.ico
-services/official_homepage.png: services/official_homepage-7d15a85de9195f91d8a0afb656883f49.png
-services/social_network.ico: services/social_network-1a2c89039fafb2843dc62d5eb4c3690c.ico
-services/wikipedia.ico: services/wikipedia-69b87a63a23e34d44a4f63ae672586ec.ico
-jquery/jplayer/Jplayer.swf: jquery/jplayer/Jplayer-9560e3c548af698f70431b5034ac01ed.swf
-jquery/jplayer/jquery.jplayer.min.js: jquery/jplayer/jquery.jplayer.min-362a3e01a4247cd36b4917a8e36a864b.js
-jquery/jquery.autocomplete.js: jquery/jquery.autocomplete-fc8b2bc097af9cf7ea6a0050ba87cac2.js
-application.js: application-8b060205ff0cf735a1e671fef2ecf726.js
-application.css: application-888c2f365d52d0999525bdb140df9a91.css
diff --git a/public/assets/rails-dd352fc2630e5f9aa5685ef1d7fe5997.png b/public/assets/rails-dd352fc2630e5f9aa5685ef1d7fe5997.png
deleted file mode 100644
index d5edc04..0000000
Binary files a/public/assets/rails-dd352fc2630e5f9aa5685ef1d7fe5997.png and /dev/null differ
diff --git a/public/assets/services/lastfm-f460aed00b749d65d8649de543e4c745.ico b/public/assets/services/lastfm-f460aed00b749d65d8649de543e4c745.ico
deleted file mode 100644
index 80cf74c..0000000
Binary files a/public/assets/services/lastfm-f460aed00b749d65d8649de543e4c745.ico and /dev/null differ
diff --git a/public/assets/services/microblog-54a87b33e130b4a40453e5c71eeb966e.ico b/public/assets/services/microblog-54a87b33e130b4a40453e5c71eeb966e.ico
deleted file mode 100644
index 00450d4..0000000
Binary files a/public/assets/services/microblog-54a87b33e130b4a40453e5c71eeb966e.ico and /dev/null differ
diff --git a/public/assets/services/official_homepage-7d15a85de9195f91d8a0afb656883f49.png b/public/assets/services/official_homepage-7d15a85de9195f91d8a0afb656883f49.png
deleted file mode 100644
index 8230b46..0000000
Binary files a/public/assets/services/official_homepage-7d15a85de9195f91d8a0afb656883f49.png and /dev/null differ
diff --git a/public/assets/services/social_network-1a2c89039fafb2843dc62d5eb4c3690c.ico b/public/assets/services/social_network-1a2c89039fafb2843dc62d5eb4c3690c.ico
deleted file mode 100644
index 7f0e6bf..0000000
Binary files a/public/assets/services/social_network-1a2c89039fafb2843dc62d5eb4c3690c.ico and /dev/null differ
diff --git a/public/assets/services/wikipedia-69b87a63a23e34d44a4f63ae672586ec.ico b/public/assets/services/wikipedia-69b87a63a23e34d44a4f63ae672586ec.ico
deleted file mode 100644
index 31b0e38..0000000
Binary files a/public/assets/services/wikipedia-69b87a63a23e34d44a4f63ae672586ec.ico and /dev/null differ