window.player={song_added:false,now_playing:null,was_playing:null,now_viewing:null,was_viewing:null,logged_in:false,playing_track:null,playing_index:null,selected_track:null,selected_type:null,flashPlayer:null,new_order:false,url:null,pretty_url:null,last_url:null,active_input:null,stored_view:[],history_list:null,playlist_ul:null,running_xhr:0,ajReq:null,meta_visible:false,show_meta:true,active_meta:'playlist_info',title:null,artist:null,album:null,meta_title:null,meta_artist:null,meta_album:null,_playing:null,_yt_playing:null,yt_mode:null,call_server:true,widescreen:null,albums_visible:false,last_autoplay:null,autoplay_now:true,mouse_down:true,songs:[],artists:[],albums:[],song_ids:[],custom_art:null,status:function(playing){this._playing=playing;if(this._yt_playing){if(ytplayer){ytplayer.pauseVideo();}
this._yt_playing=false;}},reorder:function(id){this.new_order=true;this.stripe(id);this.new_order=false;this.call_server=true;},newView:function(id){this.stripe('playlist');},stripe:function(id){this.showAlbums();var even=false;var ul=$(id);var moved_track;if(!ul){return;}
var lis=ul.getElementsByTagName("li");var old_order=[];var change=false;for(var i=0,len=lis.length;i<len;i++){var myli=lis[i];if(even){myli.className='track even';}
else{myli.className='track odd';}
if(myli.id==this.selected_track){myli.className='selected track';}
even=!even;myli.ondblclick=this.localPlay;var dr=new Draggable(myli.id,{revert:true,ghosting:true,floating:true});if(this.new_order){var this_track=myli.getElementsByTagName('span')[0];var old_position=this_track.id.split('_')[1];old_order.push(old_position);if(i-1>=0&&!change){if(old_position-old_order[i-1]!=1&&old_position!==""){change=true;}}
var new_position=(i+1);this_track.id='track_'+new_position;if(this.now_viewing==this.now_playing&&(i+1==lis.length)&&!this.song_added){flashPlayer.MixTapePlayer.updateOrder(old_order);}}
var type=this.now_viewing.split('_')[0];if(type=="otf"||type=="pl"&&this.now_viewing!='pl_music'){this_track=myli.getElementsByTagName('span')[0];var track_num=i+1;if(this.url.split('?page=')[1]){var page=parseFloat(this.url.split('?page=')[1]);track_num=track_num+(page*10)-10;}
myli.getElementsByTagName('span')[1].innerHTML='<span class="num">'+track_num+'</span><span class="spkr"><img src="/images/button.gif" class="spkr_bg" style="display:none"/></span>';}}
if(this.new_order&&change&&this.call_server){var params=Sortable.serialize('playlist')+'&authenticity_token='+encodeURIComponent(AUTH_TOKEN)+'&old_order=['+old_order+']';var url;if(this.now_viewing=='otf'){url='/otf_playlistings/update';}
else if(this.now_viewing.split('_')[0]=='pl'){url='/playlistings/'+this.now_viewing.split('_')[1];}
var aj=new Ajax.Request(url,{asynchronous:true,evalScripts:true,method:'put',parameters:params});}
if(this.now_viewing==this.now_playing){var play_type=this.playing_track.split('_')[0];var playing;if(play_type=='track'||play_type=='sp'){this.playing_track=$(this.playing_track).parentNode.id;}
var playingTrack=$(this.playing_track);if(this.playing_track.split('_')[0]!='song'){playingTrack=$('track_'+this.playing_track).up('li');this.playing_track=playingTrack.id;}
if(!$('playing')){playingTrack.down('img').show();}}},select:function(obj){obj=$(obj);this.playlist_ul=obj.up().id;if(!obj){obj=this;}
var was_selected=player.selected_track;player.selected_track=obj.id;if(player.selected_track!=was_selected){if(was_selected){player.singleStripe(was_selected);}
if(player.active_input){player.keyboardCancel();}}
obj.className='selected track';this.scrollPl(obj);},reselect:function(old_id,new_id){if(old_id==this.selected_track){this.select($(new_id));}
if(this.playing_track){if(old_id==this.playing_track){this.playing_track=new_id;}}},scrollKeyboard:function(dir){if(this.selected_track){var thisTrack=$(this.selected_track).firstDescendant().id.split('_')[1];var newSelect;thisTrack=parseInt(thisTrack,10);if(dir=='up'){newSelect=thisTrack-1;}
else{newSelect=thisTrack+1;}
if(this.playlist_ul=='pop_playlist'){newSelect='pop_'+newSelect;}
else if(this.playlist_ul=='seeq_list'){newSelect='sp_'+newSelect;}
else{newSelect='track_'+newSelect;}
var track;if($(newSelect)){track=$(newSelect).parentNode;}
if(track){this.select(track);}}
else{if($('track_1')){track=$('track_1').parentNode;}
this.select(track);}},skipKeyboard:function(dir){flashPlayer.MixTapePlayer.skip(dir);},playPause:function(){flashPlayer.MixTapePlayer.playPause();},keyboardEdit:function(){if(this.selected_track){var obj=$(this.selected_track);var more=obj.down('span.more');var editLink=more.down();if(!editLink.down().next(2)){return false;}
var MP3=editLink.down().next('a').innerHTML;this.inlineEdit(editLink,MP3,true);}},keyboardCancel:function(){if(!$(this.active_input)&&!$$(this.active_input)){return;}
if(this.active_input=='inlineEdit'){if($$('.inlineEdit').length>0){player.cancelEdit($$('.inlineEdit')[0].id.substring(5));}}
else if(this.active_input=='inlinePlEdit'){if($$('.edit_playlist').length>0){var id=$$('.edit_playlist')[0].id.split('_')[2];$('playlist_'+id).show();$$('.edit_playlist')[0].remove();}}
else if(this.active_input=='qPlEdit'){$('qPlEdit').remove();$('qpl').show();}
else if(this.active_input=='search_q'){$('search_q').blur();$('search_q').style.background='transparent url(/images/menu.png) no-repeat scroll 0 -328px;';}
else if(this.active_input=='mp3_form'){$('mp3_form').hide();$('new_mp3').enable();}
else if(this.active_input=='new_playlist'){$('new_playlist').remove();}
else if(this.active_input=='login_form'){$("head_right").show();$("login_form").hide();}
else if(this.active_input=='edit_description'){$('description').show();$('edit_description').remove();}
else if(this.active_input=='edit_bio'){$('edit_bio').remove();$('bio').show();}
this.active_input=null;},keyboardInfo:function(){if(this.selected_track){this.info(this.selected_track.slice(5));}},singleStripe:function(track){var oldTrack=$(track);if(!oldTrack){return;}
var position=oldTrack.firstDescendant().id.split('_')[1];var thisClass;if(track==this.playing_track&&this.now_viewing==this.now_playing){thisClass='track playing';}
else{thisClass='track';}
if(position%2===0){oldTrack.className='even '+thisClass;}
else{oldTrack.className='odd '+thisClass;}},nowPlaying:function(track,ul){if(this.now_playing==this.now_viewing){var was_playing=this.playing_track;var new_play=false;if(!track.id){if(ul=='seeq_list'){track='sp_'+track;}
else{track='track_'+track;}}
if(track.id){track=track.down().id;new_play=true;}
this.playing_track=$(track).parentNode.id;var thisTrack;if(was_playing&&!new_play){if($(was_playing)){var old_track=$(was_playing).childElements()[0].id;}
if($(old_track)){$(old_track).down('img').hide();}}
thisTrack=$(track).parentNode;$(track).down('img',0).show();this.scrollPl(thisTrack);this.playing_index=$(track).id.split('_')[1];this.updateMeta();}
else{this.playing_track=track;this.playing_index=track;this.updateMeta();}
if(!$('messages').hasClassName('keep')){this.hideFlash();}
else{$('messages').className='';}
var metadata=thisTrack.getElementsByTagName('span');this.song=this.trackSong(thisTrack);this.artist=this.trackArtist(thisTrack);this.album=this.trackAlbum(thisTrack);},updateMeta:function(thisMeta){if(this.active_meta=='lyrics'){this.fetchLyrics();}
else if(this.active_meta=='video'){this.fetchVideo();}
else if(this.active_meta=='artist_bio'){this.fetchLastfm();}
if(this.active_meta!='playlist_info'){$('load_meta').show();}},changeMeta:function(obj){$(this.active_meta).className='';this.active_meta=obj.id;if(obj){$(obj.id).className='sel';}
this.active_meta=obj.id;$('liner').innerHTML=obj.title;if(this.active_meta=='playlist_info'){$('playlist_meta').show();$('api_meta').hide();$('load_meta').fade();}
if(this.now_playing){this.updateMeta();}
else{var tryIt="<br /><p>Start playing any track to give it a try!</p><br /><p><span class=\"lk\" style=\"font-weight:bold\" onclick=\"player.demo('ln');\">LEARN MORE</span></p>";if(this.active_meta=='artist_bio'){this.showMeta("<p>When a song is playing, selecting <span class=\"blue\">Artist Bio</span> will search for and display information about the artist performing the current track.</p>"+tryIt);}
else if(this.active_meta=='lyrics'){this.showMeta("<p>When a song is playing, selecting <span class=\"blue\">Lyrics</span> will search for and display the lyrics of the currently playing track.</p>"+tryIt)}
else if(this.active_meta=='video'){this.showMeta("<p>When a song is playing, selecting <span class=\"blue\">Video</span> will search YouTube for a video of the currently playing track.</p>"+tryIt)}}},metaHover:function(obj){$('liner').innerHTML=obj.title;},metaOut:function(obj){$('liner').innerHTML=$(this.active_meta).title;},fetchLyrics:function(fetch_for,id){var song;var artist;if(fetch_for=='song_info'){song=this.trackSong($('song_'+id));artist=this.trackArtist($('song_'+id));this.fetchFrom='song_info';}
else{fetch_for='liner_notes';song=this.songs[this.playing_index-1];artist=this.artists[this.playing_index-1];}
flashPlayer.MixTapePlayer.findLyrics(song,artist,fetch_for);$('load_meta').fade();},showLyrics:function(lyrics,type){var l=lyrics.replace(/\n/g,'<br />');l=l.replace(/\r/g,'<br />');var content=l;if(this.fetchFrom=='song_info'){$('info_load').hide();$('main_info_content').innerHTML=content;$('main_info_content').scrollTop=0;if(type=='artist_info'){var artist=this.trackArtist($('song_info').previous('li'));$('main_info_content').down('img').insert({'after':'<h4 class="info_head"><a href="/#/search/?q='+artist+'" title="Search for more songs by '+artist+'">'+artist+'</a></h4>'});$$('#main_info_content a').invoke('writeAttribute',{onclick:"return false;"});$$('.powered_by a').invoke('writeAttribute',{onclick:''});$$('.info_head a').invoke('writeAttribute',{onclick:""});}
$('scroll_up').className='inactive';$('scroll_down').className='';if(type=='video'){if(this.meta_visible&&!this.widescreen){this.clickToggle();}
$('main_info').style.textAlign='center';$('song_info').style.height='453px';$('main_info').style.height='383px';$('main_info_content').style.height='382px';$('main_info').style.overflow='hidden';$('scroll_up').hide();$('scroll_down').hide();}
else if(!$('scroll_up').visible()){$('main_info').style.textAlign='left';$('scroll_up').show();$('scroll_down').show();$('song_info').style.height='210px';$('main_info').style.height='141px';$('main_info_content').style.height='140px';}}
else{this.showMeta(content);$('load_meta').fade();}
this.fetchFrom='';},fetchVideo:function(fetch_for,id){var artist;var song;if(fetch_for=='song_info'){song=this.trackSong($('song_'+id));artist=this.trackArtist($('song_'+id));this.fetchFrom='song_info';}
else{fetch_for='liner_notes';song=this.songs[this.playing_index-1];artist=this.artists[this.playing_index-1];}
song=this.cleanAmp(song);artist=this.cleanAmp(artist);flashPlayer.MixTapePlayer.findVideo(song,artist,fetch_for);},fetchLastfm:function(fetch_for,id){var artist;var song;if(fetch_for=='song_info'){song=this.trackSong($('song_'+id));artist=this.trackArtist($('song_'+id));this.fetchFrom='song_info';}
else{fetch_for='liner_notes';song=this.songs[this.playing_index-1];artist=this.artists[this.playing_index-1];}
artist=this.cleanAmp(artist);song=this.cleanAmp(song);flashPlayer.MixTapePlayer.findLastfm(song,artist,fetch_for);},scrollPl:function(thisTrack){var scrollDiv=$('main');var scrollDistance=thisTrack.offsetTop-scrollDiv.getHeight()+21;if(thisTrack.offsetTop<scrollDiv.scrollTop){scrollDiv.scrollTop=thisTrack.offsetTop;}
else if(scrollDistance>0&&(thisTrack.offsetTop>scrollDiv.getHeight()+scrollDiv.scrollTop)){scrollDiv.scrollTop=scrollDistance;}},play:function(){var obj;if(!this.id){obj=$(player.selected_track);}
else{obj=this;}
var position=obj.firstDescendant().id.split('_')[1];if(player.now_playing==player.now_viewing){flashPlayer.MixTapePlayer.skipTo(position);}
else{player.now_playing=player.now_viewing;var pl_type=player.now_playing.split('_')[0];var pl_id=player.now_playing.split('_')[1];flashPlayer.MixTapePlayer.loadPlaylist(pl_type,pl_id,position);player.nowPlaying(obj);}},playing_playlist:function(){var title;if($('pl_title')){title=$('pl_title').innerHTML;}
else{title=$('current-title').innerHTML;}
$('now_playing').update('<span class="left special">Now playing: <a href="'+window.location+'" class="lk white">'+title+'</a></span><span class="lk right" onclick="$(\'now_playing\').hide();" >x</span>');$('now_playing').show();},localPlay:function(){var obj;if(!$('track_1')&&!$('seeq_1')){return;}
if(!this.id){if(!player.selected_track){player.select($('track_1').up());}
obj=$(player.selected_track);}
else{obj=this;}
var ul=obj.up();if(!ul){return;}
player.playlist_ul=ul.id;var lis=ul.getElementsByTagName("li");var xspf='<trackList name="'+player.url+'" ul="'+ul.id+'">\n';for(var i=0,len=lis.length;i<len;i++){var thisTrack=lis[i];var song_id=thisTrack.id.split('_')[1];var metadata=thisTrack.getElementsByTagName('span');var thisSong=player.trackSong(thisTrack);var thisArtist=player.trackArtist(thisTrack);var thisAlbum=player.trackAlbum(thisTrack);var thisURL=player.trackURL(thisTrack);player.songs[i]=thisSong;player.artists[i]=thisArtist;player.albums[i]=thisAlbum;player.song_ids[i]=song_id;if(thisAlbum=='&nbsp;'){thisAlbum='';}
xspf+='<track>\n'+' <location>'+thisURL+'</location>\n'+' <creator>'+thisArtist+'</creator>\n'+' <album>'+thisAlbum+'</album>\n'+' <title>'+thisSong+'</title>\n'+' <id>'+song_id+'</id>\n'+'</track>\n';}
xspf+='</trackList>';var was_playing=player.now_playing;player.was_playing=player.now_playing;player.now_playing=player.now_viewing;var position=obj.firstDescendant().id.split('_')[1];position=parseFloat(position);player.playing_index=position;var pl_type=player.now_playing.split('_')[0];var pl_id=player.now_playing.split('_')[1];flashPlayer.MixTapePlayer.localPlay(xspf,position,pl_type,pl_id,player.custom_art);player.playing_playlist();player.autoplay_now=false;},playlist_play:function(pl_id){if(player.was_playing!=player.now_playing&&player.now_playing!=='pl_music'&&player.now_playing!='pl_recent'&&player.now_playing!='pl_popular'&&player.now_playing.split('_')[0]=='pl'&&player.url.split('/')[1]!='songs'){var aj=new Ajax.Request('/playlists/play/'+pl_id,{asynchronous:true,evalScripts:true,method:'put',parameters:'authenticity_token='+encodeURIComponent(AUTH_TOKEN)});return false;}},autoPlay:function(id){if(!this.autoplay_now||this.last_autoplay==id){return;}
this.localPlay();this.last_autoplay=id;this.autoplay_now=false;},playSeeqpod:function(){var position=this.id.split('_')[1];var sp_query=player.now_viewing.split('=')[1].split('&')[0];var metadata=this.firstDescendant().getElementsByTagName('span');var song=metadata[1].innerHTML;var artist=metadata[2].innerHTML;var album=metadata[4].innerHTML;var url=this.getElementsByTagName('span')[7].id;flashPlayer.MixTapePlayer.loadSeeq(song,artist,album,url);},view:function(obj,type){var url;if(type){if(type=='edit'){obj=$('pl_'+obj);}
else if(type=='player'){obj=$('pl_'+obj);}}
if(obj.id){type=obj.id.split('_')[0];if(obj.id==this.now_viewing&&type!='us'){return;}
this.selected_track=null;var params=obj.id.split('_')[1];if(type=='pl'){url='/playlists/'+params;}
else if(type=='otf'){url='/otf_playlistings';}
else if(type=='us'){url='/user_songs';}
else if(type=='home'){url='/home';}
else if(type=='q'){url='/search/show?'+params;}
else if(type=='art'){url='/artists/'+params;}
else if(type=='alb'){url='/albums/'+params;}}
else{url=obj;}
if(!obj){return;}
if(obj.id){unFocus.History.addHistory(url);}
if(this.active_input){this.keyboardCancel();}},searchFocus:function(){$('search_q').activate();},search:function(obj){var q=$F('search_q').strip();if(q===''){this.flash("You need to enter a search");this.keyboardCancel();return;}
if(q.indexOf(':')>-1){var match=false;if(q.indexOf("artist:")!=-1){q=q.replace(/artist:/,'artist_search');match=true;}
if(q.indexOf("album:")!=-1){q=q.replace(/album:/,'album_search');match=true;}
if(q.indexOf("name:")!=-1){q=q.replace(/name:/,'name_search');match=true;}
q=q.replace(/:/g,' ');if(match){if(q.indexOf("artist_search")!=-1){q=q.replace(/artist_search/,'artist:');}
if(q.indexOf("album_search")!=-1){q=q.replace(/album_search/,'album:');}
if(q.indexOf("name_search")!=-1){q=q.replace(/name_search/,'name:');}}}
var params=q;var url='/search/?q='+params;if($('search_type_playlists').checked){url=url+'&type=playlists';}
$('search_q').blur();$('search_q').style.background='url(/images/search_bg.gif)';unFocus.History.addHistory(url);this.keyboardCancel();},played:function(id,key){if(this.playlist_ul!='seeq_list'){var aj=new Ajax.Request('/songs/played/'+id,{asynchronous:true,evalScripts:true,method:'post',parameters:'authenticity_token='+encodeURIComponent(AUTH_TOKEN)+'&key='+key});return false;}},addSong:function(pl_id,mp3,song,artist,album,song_id,plg_id){var thisTrack='song_'+song_id+"_"+plg_id;if(this.now_viewing==pl_id||this.now_playing==pl_id){if(this.now_viewing==pl_id){$('playlist').insert({bottom:$(thisTrack)});Sortable.create('playlist',{onUpdate:function(){player.reorder('playlist');},ghosting:true,overlap:'vertical',handle:'handle'});this.song_added=true;this.reorder('playlist');this.song_added=false;}
if(this.now_playing==pl_id){flashPlayer.MixTapePlayer.addSongtoPlayer(mp3,song,artist,album);}}
$('hidden').update();},removeSong:function(pl_id,s_id){this.call_server=false;if(this.now_playing==pl_id)
{var position=$(s_id).firstDescendant().id.split('_')[1];$(s_id).remove();flashPlayer.MixTapePlayer.removeSongfromPlayer(position);this.reorder('playlist');}
else{$(s_id).remove();this.reorder('playlist');}
var selected_track="";},updateSong:function(s_id){},inlineEdit:function(obj,mp3_id,keyboard){if(this.active_input){this.keyboardCancel();}
this.active_input='inlineEdit';if(this.show_meta){this.clickToggle();}
var thisTrack;if(keyboard){thisTrack=$(obj).up('li');}
else{thisTrack=$(obj).up('li');}
thisTrack.ondblclick=null;var song_id=thisTrack.id.split('_')[1];var position=thisTrack.firstDescendant().id.split('_')[1];var thisSong=this.trackSong(thisTrack);var thisArtist=this.trackArtist(thisTrack);var thisAlbum=this.trackAlbum(thisTrack);if(thisAlbum=='&nbsp;'){thisAlbum="";}
var thisID='edit_track_'+position;var oldID='track_'+position;var inlineForm=new Element('form',{'id':thisID,'class':'inlineEdit','action':'/songs/'});var spacer=new Element('span',{'class':'spacer'});spacer.update('&nbsp;');var songInput=new Element('input',{'id':'song_name','type':'text','value':thisSong,'name':'song[name]'});var songSpan=new Element('span',{'class':'song','style':'width:28%'}).update(songInput);var artistInput=new Element('input',{'id':'artist_name','type':'text','value':thisArtist,'name':'artist[name]'});var artistSpan=new Element('span',{'class':'artist','style':'width:22%'}).update(artistInput);var albumInput=new Element('input',{'id':'album_name','type':'text','value':thisAlbum,'name':'album[name]'});var albumSpan=new Element('span',{'class':'album'}).update(albumInput);var mp3=new Element('input',{'id':'song_mp3_id','type':'hidden','value':mp3_id,'name':'song[mp3_id]'});var okBut=new Element('input',{'type':'submit','value':'OK','name':'commit'});var auth=new Element('input',{'type':'hidden','value':AUTH_TOKEN,'name':'authenticity_token'});var moreSpan=new Element('span',{'class':'more'}).update(auth);moreSpan.insert(mp3);var type=this.now_viewing.split('_')[0];var pl_id=thisTrack.id.split('_')[2];var view;if(type=='pl'&&pl_id){view=new Element('input',{'id':'pl_id','type':'hidden','value':pl_id,'name':'pl_id'});moreSpan.insert(view);}
else if(type=='otf'){view=new Element('input',{'id':'pl_id','type':'hidden','value':pl_id,'name':'pl_id'});var view2=new Element('input',{'id':'otf','type':'hidden','value':'true','name':'otf'});moreSpan.insert(view);moreSpan.insert(view2);}
moreSpan.insert(okBut);inlineForm.insert(spacer);inlineForm.insert(songSpan);inlineForm.insert(artistSpan);inlineForm.insert(albumSpan);inlineForm.insert(moreSpan);thisTrack.firstDescendant().hide();Element.insert(thisTrack,inlineForm);inlineForm.focusFirstElement();inlineForm.onsubmit=function(){player.submitEdit(this,song_id,thisSong,thisArtist,thisAlbum,oldID);return false;}},cancelEdit:function(el){$(el).show();$("edit_"+el).remove();},submitEdit:function(obj,id,oldSong,oldArtist,oldAlbum,oldID){var song_name=$F('song_name');var artist_name=$F('artist_name');var album_name=$F('album_name');if(song_name===''){this.flash("Song can't be blank.");return;}
if(artist_name===''){this.flash("Artist can't be blank.");return;}
this.active_input=null;if(song_name==oldSong&&artist_name==oldArtist&&album_name==oldAlbum){this.cancelEdit(oldID);return;}
var url='/songs/'+id;var params=Form.serialize(obj)+'&authenticity_token='+encodeURIComponent(AUTH_TOKEN);var thisTrack=obj.up();if(artist_name!=oldArtist){params=params+'&artist_change=true';thisTrack.getElementsByTagName('span')[5].innerHTML=artist_name;}
if(album_name!=oldAlbum){params=params+'&album_change=true';if(album_name==''){album_name='&nbsp;';}
thisTrack.getElementsByTagName('span')[6].innerHTML=album_name;}
if(song_name!=oldSong){thisTrack.getElementsByTagName('span')[4].innerHTML=song_name;}
this.flash('Loading...','loading');var aj=new Ajax.Request(url,{asynchronous:true,evalScripts:true,method:'put',parameters:params});thisTrack.down().show();obj.hide();return false;},inlinePlEdit:function(obj){var pl_id=obj.id.split('_')[1];this.view(pl_id,'edit');if(this.active_input){this.keyboardCancel();}
this.active_input='inlinePlEdit';var thisPlaylist=$('playlist_'+pl_id);var thisPlName=$('pl_'+pl_id);var pl_name=thisPlName.innerHTML;var thisID='edit_pl_'+pl_id;var inlineForm=new Element('form',{'id':thisID,'class':'edit_playlist','method':'post','action':'/playlists/'});var pl_input=new Element('input',{'id':'playlist_name','type':'text','value':pl_name,'name':'playlist[name]'});var auth=new Element('input',{'type':'hidden','value':AUTH_TOKEN,'name':'authenticity_token'});inlineForm.insert(pl_input);inlineForm.insert(auth);thisPlaylist.hide();Element.insert(thisPlaylist.up(),inlineForm);inlineForm.focusFirstElement();inlineForm.onsubmit=function(){player.submitPlEdit(this,pl_id,pl_name);return false;}},submitPlEdit:function(obj,id,oldName){this.active_input=null;var playlist_name=$F('playlist_name');if(playlist_name===''){alert("Playlist name can't be blank.");return;}
if(playlist_name==oldName){$('playlist_'+id).show();$("edit_pl_"+id).remove();return;}
var url='/playlists/'+id;var params=Form.serialize(obj)+'&authenticity_token='+encodeURIComponent(AUTH_TOKEN);this.flash('Loading...','loading');var aj=new Ajax.Request(url,{asynchronous:true,evalScripts:true,method:'put',parameters:Form.serialize(obj)+'&authenticity_token='+encodeURIComponent(AUTH_TOKEN)});$('pl_'+id).innerHTML=playlist_name;obj.remove();$('playlist_'+id).show();return false;},inlinePlName:function(obj){if(this.active_input){this.keyboardCancel();}
this.active_input='qPlEdit';var pl_name='Untitled';var inlineForm=new Element('form',{'id':'qPlEdit','class':'convert_otf','method':'post'});var pl_input=new Element('input',{'id':'playlist_name','type':'text','value':pl_name,'name':'playlist[name]'});var okBut=new Element('input',{'type':'submit','value':'OK','name':'commit'});var cancel='<a href="#" onclick="$(\'qPlEdit\').remove(); $(\'qpl\').show(); player.active_input = null; return false;">Cancel</a>';var auth=new Element('input',{'type':'hidden','value':AUTH_TOKEN,'name':'authenticity_token'});inlineForm.insert(pl_input);inlineForm.insert(okBut);inlineForm.insert(cancel);inlineForm.insert(auth);$('qpl').hide();Element.insert($('current-title'),inlineForm);inlineForm.focusFirstElement();inlineForm.onsubmit=function(){player.submitPlConvert(this);return false;}},submitPlConvert:function(obj){obj=$(obj);this.active_input=null;var playlist_name=$F('playlist_name');if(playlist_name===''){alert("Playlist name can't be blank.");return;}
var url='/otf_playlistings/convert';this.flash('Loading...','loading');var aj=new Ajax.Request(url,{asynchronous:true,evalScripts:true,method:'post',parameters:Form.serialize(obj)+'&authenticity_token='+encodeURIComponent(AUTH_TOKEN)});return false;},returnToPlaying:function(url){if(this.now_playing==this.now_viewing){return;}
if(!url){return;}
unFocus.History.addHistory(url);},updateAll:function(ul_id,track,old_s_id,s_id,s_name,art_name,alb_name){var ul=$(ul_id);if(!ul){return;}
var lis=ul.getElementsByTagName("li");track=$(track);for(var i=0,len=lis.length;i<len;i++){var myli=lis[i];if(myli.id.split('_')[1]==old_s_id){if(this.playing_track.split('_')[1]==old_s_id){this.playing_track='song_'+s_id+'_'+this.playing_track.split('_')[2];}
var plg_id=myli.id.split('_')[2];myli.id='song_'+s_id+'_'+plg_id;myli.getElementsByTagName('span')[4].innerHTML=s_name;myli.getElementsByTagName('span')[5].innerHTML=art_name;myli.getElementsByTagName('span')[6].innerHTML=alb_name;}
if(myli==track){var this_track=myli.getElementsByTagName('span')[0];var new_position=(i+1);this_track.id='track_'+new_position;myli.ondblclick=player.play;}}
if(this.now_playing){flashPlayer.MixTapePlayer.updateMeta(old_s_id,s_id,s_name,art_name,alb_name);if(this.now_viewing!=this.now_playing&&this.playing_track.split('_')[1]==old_s_id){var new_id='';if(this.playing_track.split('_')[2]){new_id='song_'+s_id+'_'+this.playing_track.split('_')[2];}
else{new_id='song_'+s_id;}
this.playing_track=new_id;}}},changeTitle:function(newTitle){if(newTitle===undefined){newTitle="MixTape.me";}
document.title=newTitle+" - MixTape.me";},addFromSeeqpod:function(obj){var metadata=obj.parentNode.parentNode.getElementsByTagName('span');var title=metadata[1].innerHTML;var artist=metadata[2].innerHTML;var album=metadata[4].innerHTML;var mp3_url=obj.parentNode.parentNode.parentNode.getElementsByTagName('span')[7].id;var params='mp3[url]='+encodeURI(mp3_url)+'&song[name]='+encodeURI(title)+'&artist[name]='+encodeURI(artist)+'&album[name]='+encodeURI(album)+'&authenticity_token='+encodeURIComponent(AUTH_TOKEN);var url='/mp3s/';var aj=new Ajax.Request(url,{asynchronous:true,evalScripts:true,method:'post',parameters:params});return false;},flash:function(msg,type,id){var msg_el=$('messages');msg_el.setOpacity(1);if(msg_el.className=='redirect special'){return;}
else if(msg_el.className=='login special'){msg_el.className='keep special';return;}
else{if(type=='special'){msg_el.update('<span class="left">'+msg+'</span><a class="right" onclick="player.hideFlash(); return false;" href="#">x</a>');msg_el.className='special';}
else if(type=='double'){msg_el.update(msg);msg_el.className='special';}
else if(type=='loading'){msg_el.className='';msg_el.update('<span class="left" style="color:#00AAE9; font-weight:normal;">'+msg+'</span><img src="/images/loader.gif" class="right" />');}
else if(type=='keep_loading'){msg_el.className='keep';msg_el.update('<span class="left" style="color:#00AAE9; font-weight:normal;">'+msg+'</span><img src="/images/loader.gif" class="right" />');}
else if(type=='altMP3'){var links='<a onclick="player.altMP3(); return false;" href="#">Try another</a>';if(this.logged_in&&$(this.now_playing)&&this.now_playing!='home'){links='<a onclick="player.updateMP3(\''+escape(msg)+'\', \''+id+'\'); return false;" href="#">Always use this MP3</a> or '+links;}
msg_el.update('<span class="left">Found a replacement.</span><span class="right">'+links+'</span>');msg_el.className='special';if($(this.playing_track)){var thisTrack=$(this.playing_track);var metadata=thisTrack.getElementsByTagName('span');var newURL;if(thisTrack.id.split('_')[0]!='seeq'){newURL=metadata[7].id.split('_')[0]+'_'+unescape(msg);}
else{newURL=unescape(msg);}
metadata[7].id=newURL;}}
else if(type=='destroy'){var url='/user_songs/'+id;var params='authenticity_token='+encodeURIComponent(AUTH_TOKEN)+'&playlist=true';msg_el.update('<span class="left">'+msg+'</span><span class="right"><a onclick="new Ajax.Request(\''+url+'\', {asynchronous:true, evalScripts:true, method:\'delete\', parameters:\''+params+'\'}); player.flash(\'Loading...\', \'loading\'); return false;" href="#">Remove from entire library</a></span>');}
else if(type=='keep'){msg_el.className='keep special';msg_el.update('<span class="left">'+msg+'</span><a class="right" onclick="player.hideFlash(); return false;" href="#">x</a>');}
else if(type=='login'){msg_el.className='login special';msg_el.update('<span class="left">'+msg+'</span><a class="right" onclick="player.hideFlash(); return false;" href="#">x</a>');}
else{msg_el.update('<span class="left">'+msg+'</span><a class="right" onclick="player.hideFlash(); return false;" href="#">x</a>');}
msg_el.show();}},hideFlash:function(){var msg_el=$('messages');if(msg_el.className=='redirect special'){msg_el.className='special';}
else{if(msg_el.hasClassName('keep')){msg_el.className='';}
else{msg_el.fade({duration:0.3});}}},updateMP3:function(mp3_url,id){$('messages').hide();var type=this.playing_track.split('_')[0];if(type=='seeq'){return;}
var params='&url='+mp3_url+'&authenticity_token='+encodeURIComponent(AUTH_TOKEN);if(this.logged_in){var aj=new Ajax.Request('/songs/update_mp3/'+id,{asynchronous:true,evalScripts:true,method:'put',parameters:params,onFailure:function(transport){player.flash(transport.responseText);},onSuccess:function(transport){if($(player.playing_track)){var new_track;if(player.playing_track.split('_').length<=2){new_track=type+"_"+transport.responseText;}
else{new_track=type+"_"+transport.responseText+"_"+player.now_playing.split('_')[2];}
if(player.selected_track==player.playing_track){player.selected_track=new_track;}
if($(player.playing_track)){$(player.playing_track).id=new_track;}
player.playing_track=new_track;player.flash(transport.responseText);}}});}
else{this.flash('Success! Login to create your own permanent replacement.');}},updateID:function(old_id,new_id){var thisTrack=$(old_id);},altMP3:function(){this.flash('Searching for alternate song','loading');flashPlayer.MixTapePlayer.altMP3();},noMatches:function(id){if($(this.playing_track)){if(this.playing_track.split('_')[1]==id){$(this.playing_track).setOpacity(0.5);}}
this.flash("Sorry! We couldn't find a match for the last track.","keep");},buy:function(obj){var obj=$(obj);var query;var thisTrack;if(obj.up('li').id.split('_')[0]=='seeq'){thisTrack=obj.up(4);query=this.trackSong(thisTrack)+" "+this.trackArtist(thisTrack);}
else{thisTrack=obj.up('li');query=this.trackSong(thisTrack)+" "+this.trackArtist(thisTrack);}
var url='http://www.amazon.com/s?ie=UTF8&tag=mixtame-20&field-keywords='+query+'&url=search-alias%3Ddigital-music';window.open(url);return false;},addMP3:function(){if(this.active_input){this.keyboardCancel();}
this.active_input='mp3_form';$('new_mp3').enable();$('mp3_form').show();$('mp3_url').value='MP3 URL';$('mp3_content').innerHTML="To add a new MP3, just paste the URL of the MP3 and hit Enter.<br /><div class=\"clear\"><a onclick=\"$('mp3_form').hide(); return false;\" href=\"#\" style=\"float:right\">Cancel</a><div style=\"clear:both\"";$('mp3_url').activate();},newPlaylist:function(){if(this.active_input){this.keyboardCancel();}
if(!$("main_playlists").visible()){this.show_playlists();}
if(!this.logged_in){this.flash('You must login to create a permanent playlist.');return;}
this.active_input='new_playlist';var pl_name="Untitled";var newPlForm='<li id="new_playlist" class="playlist" style="position: relative; clear:both;"> \n'+'<form id="new_pl" method="post" onsubmit="new Ajax.Request(\'/playlists\', {asynchronous:true, evalScripts:true, parameters:Form.serialize(this)}); return false;"> \n'+'<input id="playlist_name" type="text" value="Untitled" name="playlist[name]" maxlength="40"/> \n'+'<input type="submit" value="OK" name="commit" style="display: none;"/> \n'+'<input type="hidden" value="'+AUTH_TOKEN+'" name="authenticity_token"/> \n'+'</form> \n '+'</li>';$('playlist_list').insert({top:newPlForm});$('playlist_name').activate();},dropped:function(obj,type){if($('load_'+type)){$('load_'+type).show();}
var track_type=obj.id.split('_')[0];var params;var url;if(track_type=='seeq'){if(this.logged_in){var song_name=escape(this.trackSong(obj).replace(/&amp;/ig,'&'));var artist_name=escape(this.trackArtist(obj).replace(/&amp;/ig,'&'));var album_name=escape(this.trackAlbum(obj).replace(/&amp;/ig,'&'));var mp3_url=escape(this.trackURL(obj).replace(/&amp;/ig,'&'));if(album_name=='&nbsp;'){album_name='';}
params='song[name]='+song_name+'&artist[name]='+artist_name+'&album[name]='+album_name+'&seeq=true&authenticity_token='+encodeURIComponent(AUTH_TOKEN)+'&mp3[url]='+mp3_url+'&playlist='+type;url='/songs/';var aj=new Ajax.Request(url,{asynchronous:true,evalScripts:true,method:'post',parameters:params});}
else{this.flash('You must be logged in to add songs from SeeqPod results.','special');$('load_otf').fade();}}
else{params='id='+obj.id+'&authenticity_token='+encodeURIComponent(AUTH_TOKEN);if(type=='otf'){url='/otf_playlistings/';}
else if(type=='lib'){url='/user_songs';}
else{url='/playlistings/';params=params+'&playlist_id='+type;}
var aj2=new Ajax.Request(url,{asynchronous:true,evalScripts:true,method:'post',parameters:params});}},highlight_us:function(obj){obj.down().src='/images/lib_h.gif';},dark_us:function(obj){if(player.now_viewing!='us'){obj.down().src='/images/lib.gif';}},login:function(){this.logged_in=true;this.current_user=$('user').title;this.active_input=null;},albumArt:function(url){if(url===''){url='/images/no_art.gif';}
$('album_art').src=url;},showLogin:function(){$("head_right").hide();$("login_form").show().focusFirstElement();this.active_input='login_form';return false;},historyChange:function(url){this.selected_track=null;this.last_url=url;var type=url.split('/')[1];if(!type){type='';}
if(type.split('?')){type=type.split('?')[0];}
if(url.split('/')[2]){var id=url.split('/')[2];}
this.pretty_url=url;var viewing;var black=false;var params='authenticity_token='+encodeURIComponent(AUTH_TOKEN);if(type){if(type=='playlists'){viewing='pl_'+id;url=url.split('/')[1]+'/'+url.split('/')[2]+'.js';}
else if(type=='search'){viewing='q_'+url.split('search/?q=')[1];this.check_search(url);if($F('search_type_songs')){params=params+'&search_type=songs';}else{params=params+'&search_type=playlists';black=true;}}
else if(type=='otf_playlistings'){viewing='otf';}
else if(type=='user_songs'){viewing='us';}
else if(type=='popular'){if(url.indexOf('?page=')!=-1){url=url.replace('?page=','/');}
url=url+'.js';viewing='pl_popular_playlists';this.selectPlaylist($('home_l'));black=true;}
else if(type=='recent'){if(url.indexOf('?page=')!=-1){url=url.replace('?page=','/');}
url=url+'.js';viewing='pl_recent_playlists';this.selectPlaylist($('home_l'));black=true;}
else if(type.split('?')[0]=='my_music'){viewing='pl_music';this.selectPlaylist($(viewing));}
else if(type=='home'){viewing='home';black=true;}
else if(type=='register'){viewing='register';url='/account/signup';black=true;}
else if(type=='users'){viewing='user_page';url='/playlists'+url;black=true;}
else if(type=='songs'){if(url.indexOf('?page=')!=-1){url=url.replace('?page=','/');}
url=url+'.js';viewing='pl_'+id.split('?page=')[0];if(viewing!=this.now_viewing){this.selectPlaylist($('pl_'+id.split('?page=')[0]));}}
else if(type=='related'){viewing='related';black=true;}
else{viewing='home';black=true;}}
if(url===""||type=='home'){viewing='pl_popular_playlists';this.pretty_url='/popular';url='/popular.js';this.selectPlaylist($('home_l'));black=true;}
if(type!=='search'){$('search_q').value='Search for songs';}
else{var q=url.split('search/?q=')[1];if(black){q=q.split('&type')[0];}
else if(q.split('&page=')[1]){q=q.split('&page=')[0]}
$('search_q').value=q;}
if(this.now_viewing){this.was_viewing=this.now_viewing;}
this.now_viewing=viewing;if(this.was_viewing&&this.now_viewing!=this.was_viewing){var pl_type=this.was_viewing.split('_')[0];if(pl_type=='pl'){if($(this.was_viewing)){$(this.was_viewing).up(1).className='playlist';}
else if(this.was_viewing.split('_')[2]=='playlists'&&this.now_viewing.split('_')[2]!=='playlists'){$('home_l').className='mt_home';}}}
if(this.logged_in)
{if(type=='playlists'||type=='user_songs'){this.selectPlaylist($(this.now_viewing));}}
this.flash('Loading...','loading');if(this.running_xhr==1)
{this.ajReq.abort();this.running_xhr=0;}
this.ajReq=new Ajax.Request(url,{asynchronous:true,evalScripts:true,method:'get',parameters:params,evalJS:'force',onCreate:function(){player.running_xhr=player.running_xhr+1;},onFailure:function(transport){player.flash(transport.responseText,'special');pageTracker._trackPageview("/"+url+'/'+transport.status);},onSuccess:function(transport){pageTracker._trackPageview(player.pretty_url);},onLoaded:function(){},onComplete:function(){player.running_xhr=player.running_xhr=0;$('main').scrollTop=0;player.toggleMainColor(black);var keywords='';var i=0;if($('main').className=="black"){keywords="music, playlists, mp3s, streaming, mp3, music, digital music"}
else{$$('span.artist').each(function(a){if(a.innerHTML!='Artist'&&a.innerHTML!='Unknown'){keywords=keywords+a.innerHTML+', ';}
if(i>15){throw $break;}
i++;});}
refreshAd(keywords);}});this.url=this.pretty_url;this.keyboardCancel();if(!this.now_playing&&$(viewing)&&this.now_playing!='us'){this.changeTitle($(viewing).innerHTML);}
else if(type=='search'&&!this.now_playing){this.changeTitle("Search results for "+url.split('search/?q=')[1]);}
return false;},toggleMainColor:function(black){if(black){$('main').className='black';}
else{$('main').className='white';}},selectPlaylist:function(obj){if(obj){if(obj.id.split('_')[0]=='pl'){obj.up(1).addClassName('sel_pl');}
else if(obj.id=='home_l'){obj.addClassName('sel_pl');}
else if(obj.id=='us'){obj.down().src='/images/lib_h.gif';}}},storeView:function(id){var size;if(this.history_list){size=this.history_list.split('|').length-2;this.history_list+=size+'='+this.now_viewing+'|';}
else{size=0;this.history_list='|'+size+'='+this.now_viewing+'|';}
this.stored_view[size]=$('tracks').innerHTML;},toggleMeta:function(){var margin;var head_margin;var toggle_pos;this.meta_visible=!this.meta_visible;if(this.meta_visible){margin='margin-right:323px';head_margin='margin-right:323px';$('meta_info').show();$('meta_head').show();}
else{margin='margin-right:0px';head_margin='margin-right:0px';$('meta_info').hide();$('meta_head').hide();if($('toggle')){$('toggle').className="toggle left";}}
$('main').setStyle(margin);$('main_head').setStyle(head_margin);},clickToggle:function(){if(this.now_viewing!='pl_popular_playlists'&&this.now_viewing!='pl_recent_playlists'&&this.now_viewing!='user_page'){this.show_meta=!this.show_meta;this.toggleMeta();this.showAlbums();var img;if(this.show_meta){$('toggle').className='toggle';}
else{$('toggle').className='toggle left';}}},showAlbums:function(){if(this.meta_visible&&!this.widescreen){$$('.album').invoke('hide');this.albums_visible=false;}
else if(this.widescreen){$$('.album').invoke('show');this.albums_visible=true;}
else{$$('.album').invoke('show');this.albums_visible=true;}
var width;var a_width;if(this.meta_visible&&!this.widescreen){width='37%';a_width='28%';}
else{width='28%';a_width='22%';if($('toggle')){$('toggle').className="toggle left";}}
if($$('.artist')!==''){$$('.artist').invoke('setStyle',{'width':a_width});$$('.song').invoke('setStyle',{'width':width});}},checkMetaToggle:function(){var type=this.url.split('/')[1].split('?')[0];if(type=='popular'||type=='recent'||type=='account'||this.now_viewing=='user_page'||type=='related'||type=='register'){if(player.meta_visible){player.show_meta=player.meta_visible;player.toggleMeta();}
else{player.showAlbums();}
return;}
else if($('search_type_playlists').checked&&type=='search'){if(player.meta_visible){player.show_meta=player.meta_visible;player.toggleMeta();}
else{player.showAlbums();}
return;}
else if(player.show_meta&&!player.meta_visible){player.toggleMeta();}
else if(!player.meta_visible){player.showAlbums();}},showMeta:function(content){if(this.active_meta!=='playlist_info'){$('load_meta').show();$('playlist_meta').hide();var meta=$('api_meta');$('meta_info').scrollTop=0;meta.innerHTML=content;$('load_meta').fade();if(this.active_meta=="artist_bio"){$$('#api_meta a').invoke('writeAttribute',{target:"none"});}
else if(this.active_meta=='video'){var checked='';if(this.yt_mode){checked='Checked';}
meta.insert('<p><input id="yt_mode" type="checkbox" onclick="player.ytMode();"'+checked+' /> YouTube mode</p>');}
meta.show();}},ytMode:function(){var mode=$('yt_mode');mode.blur();if($F('yt_mode')=='on'){this.yt_mode=true;$('api_meta').insert("<p>While in YouTube mode, each song in this playlist will play as a YouTube video rather than as a streaming MP3.</p>");ytplayer.playVideo();}
else{this.yt_mode=false;}},editDescription:function(){if(this.active_input){this.keyboardCancel();}
this.active_input='edit_description';$('description').hide();var current_description=$('description').innerHTML;if(current_description.toLowerCase()=='<i>click to add a description</i>'){current_description='';}
var edit='<div id="edit_description"><textarea id="playlist_description" style="width: 262px; height: 50px;" rows="10" name="playlist[description]" cols="40">'+current_description+'</textarea><div class="buttons"><input type="button" class="lk meta_button" onclick="player.updateDescription()" value="Save" /> <input type="button" class="lk meta_button" onclick="player.keyboardCancel()" value="Cancel" /></div></div>';$('description_container').insert(edit);$('playlist_description').focus();},updateDescription:function(){var params=$('playlist_description').serialize();$('description').innerHTML=$F('playlist_description');this.keyboardCancel();var id=this.now_viewing.split('_')[1];var url='/playlists/'+id;var aj=new Ajax.Request(url,{asynchronous:true,evalScripts:true,method:'put',parameters:params+'&authenticity_token='+encodeURIComponent(AUTH_TOKEN)});return false;},editBio:function(){if(this.active_input){this.keyboardCancel();}
this.active_input='edit_bio';$('bio').hide();var current_bio=$('bio').down().innerHTML;if(current_bio=='Share your bio here.'){current_bio='';}
var edit='<div id="edit_bio"><textarea id="user_bio" style="width: 295px; height: 100px;" rows="10" name="user[bio]" cols="40">'+current_bio+'</textarea><div class="buttons" style="width:295px"><input type="button" class="lk meta_button" onclick="player.updateBio()" value="Save" /> <input type="button" class="lk meta_button" onclick="player.keyboardCancel()" value="Cancel" /></div></div>';$('bio').insert({'after':edit});$('user_bio').focus();},updateBio:function(){var params=$('user_bio').serialize();var bio=$F('user_bio');if(bio==''){bio='Share your bio here.';}
$('bio').innerHTML='<strong>'+bio+'</strong>';this.keyboardCancel();var url='/account/update';var aj=new Ajax.Request(url,{asynchronous:true,evalScripts:true,method:'put',parameters:params+'&authenticity_token='+encodeURIComponent(AUTH_TOKEN)});return false;},addComment:function(){if($('new_comment').value==''||$('new_comment').value=='Add your own comment here...'){return;}
var params=$('new_comment').serialize();var id=this.now_viewing.split('_')[1];params=params+'&playlist[id]='+id;$('submit_comment').insert({before:'<img src="/images/loader.gif" id="comment_loader" />'});var url='/comments/';var aj=new Ajax.Request(url,{asynchronous:true,evalScripts:true,method:'post',parameters:params+'&authenticity_token='+encodeURIComponent(AUTH_TOKEN),onComplete:function(){if($('submit_comment')){$('submit_comment').innerHTML='Submit';$('new_comment').value='Add your own comment here...';}}});return false;},apiCall:function(site,meta,meta2,time,hmac){if(!flashPlayer){getFlashPlayer();}
if(site=='seeq'){$('seeq_load').show();this.flash('Loading...','loading');}
flashPlayer.MixTapePlayer.apiCall(site,meta,meta2,time,hmac);},sp_from_flash:function(results){$('sp_results').innerHTML=results;this.stripe('sp_results');$('seeq_load').hide();this.hideFlash();},trackSong:function(obj){return obj.getElementsByTagName('span')[4].innerHTML;},trackArtist:function(obj){return obj.getElementsByTagName('span')[5].innerHTML;},trackAlbum:function(obj){return obj.getElementsByTagName('span')[6].innerHTML;},trackURL:function(obj){var metadata=obj.getElementsByTagName('span');var thisURL;var subURLat=metadata[7].id.indexOf('_');if(subURLat>metadata[7].id.indexOf('http')){thisURL=metadata[7].id;}
else{thisURL=metadata[7].id.substring(subURLat+1);}
return thisURL;},deleteTrack:function(id,id2){var url;var type=this.now_viewing.split('_')[0];if(type=='pl'){if(this.now_viewing.split('_')[1]=='music'){var ans=confirm("Are you sure you want to remove this song?\nDeleting it from your Library will also remove it from the rest of your playlists.");if(!ans){return;}
url='/user_songs/'+id;}
else{url='/playlistings/'+id;}}
else if(this.now_viewing=='otf'){url='/otf_playlistings/'+id;}
var params='&authenticity_token='+encodeURIComponent(AUTH_TOKEN);var song='song_';if(!id2){song=song+id;}
else{song=song+id2+'_'+id;}
var aj=new Ajax.Request(url,{asynchronous:true,evalScripts:true,method:'delete',parameters:params});this.removeSong(this.now_viewing,song);},showRecaptcha:function(){Recaptcha.create("6Lc5MwMAAAAAALLOz05MxgB_iXRZzPmPufWeQcL3","recaptcha",{theme:"blackglass"});},info:function(id){if($('song_info')){$('song_info').id='remove_info';var test=this.removeInfo($('remove_info'));if(test=='info_'+id){return;}}
var el=$('song_'+id);var song_id;if(id.split('_')){song_id=id.split('_')[0];}
else{song_id=id;}
var links='<img src="images/button.gif" width="16" height="30" class="info" onclick="player.info(\''+id+'\')" title="Hide info panel" />\n'+'<img src="/images/button.gif" width="16" height="22" id="info_art" class="artist_bio sel" onclick="player.fetchLastfm(\'song_info\', \''+id+'\'); $$(\'.share img.sel\')[0].removeClassName(\'sel\'); this.addClassName(\'sel\'); $(\'info_load\').show();" title="Artist Bio" />\n '+'<img src="/images/button.gif" width="16" height="22" id="info_lyrics" class="lyrics" onclick="player.fetchLyrics(\'song_info\', \''+id+'\'); $$(\'.share img.sel\')[0].removeClassName(\'sel\'); this.addClassName(\'sel\'); $(\'info_load\').show();" title="Lyrics" />\n '+'<img src="/images/button.gif" width="16" height="22" id="info_video" class="video" onclick="player.fetchVideo(\'song_info\', \''+id+'\'); $$(\'.share img.sel\')[0].removeClassName(\'sel\'); this.addClassName(\'sel\'); $(\'info_load\').show();" title="Video" />\n '+'<a href="#/related/'+song_id+'"><img src="/images/button.gif" width="16" height="23" class="info_playlist" title="Find playlists that use this song"/></a> \n'+'<img src="/images/ajax-loader.gif" id="info_load" style="display:none" />\n'+'<span class="share_song">URL <input id="share_'+id+'" type="text" value="http://mixtape.me/#/songs/'+song_id+'" onclick="$(\'share_'+id+'\').activate();" readonly/></span><span><img src="/images/button.gif" class="copy" onclick="player.copy(\'share_'+id+'\');" /></span>';var height='210px';var mi_height='';var mic_height='';if($('playlist').getElementsByTagName("li").length==1){height='325px';mi_height='250px';mic_height='249px';}
el.insert({'after':'<div id="song_info" style="display:none; height:'+height+';" class="info_'+id+'"><div class="share">'+links+'</div><div id="main_info" style="height:'+mi_height+'"><div id="main_info_content" style="height:'+mic_height+'">Loading...</div><img src="/images/button.gif" id="scroll_up" class="inactive" onmousedown="player.mouse_down = true; player.scrollUp();" /><img src="/images/button.gif" id="scroll_down" onmousedown="player.mouse_down = true; player.scrollDown();" /></div><div class="buffer"></div></div>'})
Effect.BlindDown('song_info');var artist=this.trackArtist($('song_'+id));this.fetchFrom='song_info';this.fetchLastfm('song_info',id);},removeInfo:function(obj){var test=obj.className;$('main_info').id='main_remove';$('main_info_content').id='content_remove';Effect.BlindUp(obj);setTimeout('$("remove_info").remove()',1500);return test;},copy:function(id,type){$(id).activate();flashPlayer.MixTapePlayer.copy($F(id));if(type=='meta'){$('share_status').innerHTML="The text is in your clipboard. Paste away, baby!";new Effect.Highlight('share_status',{startcolor:'#00AAE9',endcolor:'#000000',duration:2});}},scrollUp:function(){if(player.mouse_down){$('main_info_content').scrollTop=$('main_info_content').scrollTop-4;if($('main_info_content').scrollTop==0){$('scroll_up').className='inactive';}
$('scroll_down').className='';setTimeout('player.scrollUp()',33);}},scrollDown:function(){if(player.mouse_down){$('main_info_content').scrollTop=$('main_info_content').scrollTop+4;$('scroll_up').className='';if(($('main_info_content').scrollHeight-$('main_info_content').scrollTop)==155){$('scroll_down').className='inactive';}
else{$('scroll_down').className='';}
setTimeout('player.scrollDown()',33);}},demo:function(type){if(!$('demo')){var embed='<object width="640" height="360"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=2956890&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=00AAE9&amp;fullscreen=1&amp;autoplay=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=2956890&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=00AAE9&amp;fullscreen=1&amp;autoplay=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="640" height="360"></embed></object>';if(type=='qp'){embed='<object width="640" height="361"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=2960891&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=00AAE9&amp;fullscreen=1&amp;autoplay=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=2960891&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=00AAE9&amp;fullscreen=1&amp;autoplay=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="640" height="361"></embed></object>';}
else if(type=='ln'){embed='<object width="640" height="360"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=2957179&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=00AAE9&amp;fullscreen=1&amp;autoplay=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=2957179&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=00AAE9&amp;fullscreen=1&amp;autoplay=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="640" height="360"></embed></object>';}
var el=$('container');el.insert({'bottom':'<div id="demo"></div><div id="demo_vid" onclick="$(\'demo\').remove(); $(\'demo_vid\').remove();"><div class="vid_container">'+embed+'<br /><br /><span class="lk" style="color:white; line-height:0px;">CLOSE</span></div></div>'});}},fade_loader:function(id){if($('load_'+id)){$('load_'+id).fade();}
else if($('load_otf')){$('load_otf').fade();}},comment_scroll:function(){var offset=$('comments_container').positionedOffset()[1]-28;if(offset<$('meta_container').scrollTop){$('meta_container').scrollTop=$('meta_container').scrollTop-15;setTimeout('player.comment_scroll()',10);}},scrollUpDiv:function(id){if($(id)){$(id).scrollTop=0;}},check_email:function(){var email=$('user_email');var filter=/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;if(!filter.test(email.value)){$('share_status').innerHTML='Please provide a valid email address';email.activate();return false;}
else{return true;}},cleanAmp:function(string){var s=string.replace('&amp;','and');return s.replace('&','and');},get_faves:function(){Effect.BlindUp($('main_playlists'))
Effect.BlindDown($('faves'));$('fave_link').style.bottom='';var aj=new Ajax.Request('/account/faves/',{asynchronous:true,evalScripts:true,method:'get'});},show_playlists:function(){if(!$('main_playlists').visible()){Effect.BlindUp($('faves'));Effect.BlindDown($('main_playlists'),{afterFinish:function(){$('main_playlists').style.overflowX='hidden';}});}},unfavorite:function(id,link){if($("playlist"+id)){$("playlist"+id).remove();if(this.now_viewing.split('_')[1]==id&&$('favorite')){$('favorite').innerHTML=link;}}},highlight_pl:function(){if($(this.now_viewing)){this.selectPlaylist($(this.now_viewing));}},goto:function(url){window.location='#'+url;},check_search:function(s){if(s.split("&type=")[1]){$('search_type_playlists').checked=true;$('song_search').className='search_songs';$('playlist_search').className='search_playlists sel';}
else{$('search_type_songs').checked=true;$('song_search').className='search_songs sel';$('playlist_search').className='search_playlists';}},reload:function(obj){var url=obj.href.split('#')[1];if(this.last_url==url){this.historyChange(this.last_url);}},forgot:function(){var auth='&authenticity_token='+encodeURIComponent(AUTH_TOKEN);var form='<form id="login_form" onsubmit="new Ajax.Request(\'/account/reset_password\', {asynchronous:true, evalScripts:true, parameters:Form.serialize(this) + \''+auth+'\'}); return false;" method="post" action="/account/reset_password">\n'+' <input id="user_email" type="text" size="30" name="user[email]" class="textfield" style="width:180px;" value="email@address.com" onclick="this.value = \'\'"/>'+' <input type="submit" value="Submit" name="commit" class="meta_button lk"/>'+'<div class="meta_login" style="width:270px;">Enter your email. We\'ll send a temporary password your way</div> ';$('login_form').replace(form);},render_playlist:function(playlist_user){if(this.logged_in){if(this.current_user==playlist_user){this.own_playlist();}
else{}}
else{if($('add_comment')){$('add_comment').hide();}
if($('comments_disabled')){$('comments_disabled').show();}
if($('favorite')){$('favorite').hide();}}
if($$('span.time')){this.convert_all_times_from_today_to_words();}},own_playlist:function(){if($('track_1')){$$('span.ownership').invoke('show');$$('span.spacer').invoke('addClassName','handle');Sortable.create('playlist',{onUpdate:function(){player.reorder('playlist');},ghosting:true,overlap:'vertical',handle:'handle'});}
if($('attribution')){$('attribution').hide();}
if($('favorite')){$('favorite').hide();}
if($('description')){$('description').show();$('_description').hide();}
if($('custom_art')){$('custom_art').show();}},convert_all_times_from_today_to_words:function(){$$('span.time').each(function(e){e.innerHTML='('+this.time_ago_in_words_with_parsing(e.getAttribute('time'))+')';},this);},time_ago_in_words_with_parsing:function(from){var date=new Date;date.setTime(Date.parse(from));return this.time_ago_in_words(date);},time_ago_in_words:function(from){return this.distance_of_time_in_words(new Date,from);},distance_of_time_in_words:function(to,from){var distance_in_seconds=((to-from)/1000);var distance_in_minutes=(distance_in_seconds/60).floor();if(distance_in_minutes==0){return'less than a minute ago';}
if(distance_in_minutes==1){return'a minute ago';}
if(distance_in_minutes<45){return distance_in_minutes+' minutes ago';}
if(distance_in_minutes<90){return'about 1 hour ago';}
if(distance_in_minutes<1440){return'about '+(distance_in_minutes/60).floor()+' hours ago';}
if(distance_in_minutes<2880){return'1 day ago';}
if(distance_in_minutes<43200){return(distance_in_minutes/1440).floor()+' days ago';}
if(distance_in_minutes<86400){return'about 1 month ago';}
if(distance_in_minutes<525960){return(distance_in_minutes/43200).floor()+' months ago';}
if(distance_in_minutes<1051199){return'about 1 year ago';}
return'over '+(distance_in_minutes/525960).floor()+' years ago';},favorite:function(id){player.flash('Loading...','loading');var aj=new Ajax.Request('/account/favorite/'+id,{asynchronous:true,evalScripts:true,parameters:'authenticity_token='+encodeURIComponent(AUTH_TOKEN)});return false;},skreemr_search:function(q,page){var url='/search/skreemr?q='+q+'&page='+page;var aj=new Ajax.Request(url,{asynchronous:true,evalScripts:true,method:'get',onSuccess:function(transport){flashPlayer.MixTapePlayer.updateAPI(transport.responseText,q,page);}});$('seeq_load').show();},check_for_div:function(div){if($(div)){}
else{$('tracks').insert('<div id="fp_playlists" class="fp_playlists"></div>');}}};if(Object.isUndefined(Effect))
throw("dragdrop.js requires including script.aculo.us' effects.js library");var Droppables={drops:[],remove:function(element){this.drops=this.drops.reject(function(d){return d.element==$(element)});},add:function(element){element=$(element);var options=Object.extend({greedy:true,hoverclass:null,tree:false},arguments[1]||{});if(options.containment){options._containers=[];var containment=options.containment;if(Object.isArray(containment)){containment.each(function(c){options._containers.push($(c))});}else{options._containers.push($(containment));}}
if(options.accept)options.accept=[options.accept].flatten();Element.makePositioned(element);options.element=element;this.drops.push(options);},findDeepestChild:function(drops){deepest=drops[0];for(i=1;i<drops.length;++i)
if(Element.isParent(drops[i].element,deepest.element))
deepest=drops[i];return deepest;},isContained:function(element,drop){var containmentNode;if(drop.tree){containmentNode=element.treeNode;}else{containmentNode=element.parentNode;}
return drop._containers.detect(function(c){return containmentNode==c});},isAffected:function(point,element,drop){return((drop.element!=element)&&((!drop._containers)||this.isContained(element,drop))&&((!drop.accept)||(Element.classNames(element).detect(function(v){return drop.accept.include(v)})))&&Position.withinIncludingScrolloffsets(drop.element,point[0],point[1]));},deactivate:function(drop){if(drop.hoverclass)
Element.removeClassName(drop.element,drop.hoverclass);this.last_active=null;},activate:function(drop){if(drop.hoverclass)
Element.addClassName(drop.element,drop.hoverclass);this.last_active=drop;},show:function(point,element){if(!this.drops.length)return;var drop,affected=[];this.drops.each(function(drop){if(Droppables.isAffected(point,element,drop))
affected.push(drop);});if(affected.length>0)
drop=Droppables.findDeepestChild(affected);if(this.last_active&&this.last_active!=drop)this.deactivate(this.last_active);if(drop){Position.withinIncludingScrolloffsets(drop.element,point[0],point[1]);if(drop.onHover)
drop.onHover(element,drop.element,Position.overlap(drop.overlap,drop.element));if(drop!=this.last_active)Droppables.activate(drop);}},fire:function(event,element){if(!this.last_active)return;Position.prepare();if(this.isAffected([Event.pointerX(event),Event.pointerY(event)],element,this.last_active))
if(this.last_active.onDrop){this.last_active.onDrop(element,this.last_active.element,event);return true;}},reset:function(){if(this.last_active)
this.deactivate(this.last_active);}}
var Draggables={drags:[],observers:[],register:function(draggable){if(this.drags.length==0){this.eventMouseUp=this.endDrag.bindAsEventListener(this);this.eventMouseMove=this.updateDrag.bindAsEventListener(this);this.eventKeypress=this.keyPress.bindAsEventListener(this);Event.observe(document,"mouseup",this.eventMouseUp);Event.observe(document,"mousemove",this.eventMouseMove);Event.observe(document,"keypress",this.eventKeypress);}
this.drags.push(draggable);},unregister:function(draggable){this.drags=this.drags.reject(function(d){return d==draggable});if(this.drags.length==0){Event.stopObserving(document,"mouseup",this.eventMouseUp);Event.stopObserving(document,"mousemove",this.eventMouseMove);Event.stopObserving(document,"keypress",this.eventKeypress);}},activate:function(draggable){if(draggable.options.delay){this._timeout=setTimeout(function(){Draggables._timeout=null;window.focus();Draggables.activeDraggable=draggable;}.bind(this),draggable.options.delay);}else{window.focus();this.activeDraggable=draggable;}},deactivate:function(){this.activeDraggable=null;},updateDrag:function(event){if(!this.activeDraggable)return;var pointer=[Event.pointerX(event),Event.pointerY(event)];if(this._lastPointer&&(this._lastPointer.inspect()==pointer.inspect()))return;this._lastPointer=pointer;this.activeDraggable.updateDrag(event,pointer);},endDrag:function(event){if(this._timeout){clearTimeout(this._timeout);this._timeout=null;}
if(!this.activeDraggable)return;this._lastPointer=null;this.activeDraggable.endDrag(event);this.activeDraggable=null;},keyPress:function(event){if(this.activeDraggable)
this.activeDraggable.keyPress(event);},addObserver:function(observer){this.observers.push(observer);this._cacheObserverCallbacks();},removeObserver:function(element){this.observers=this.observers.reject(function(o){return o.element==element});this._cacheObserverCallbacks();},notify:function(eventName,draggable,event){if(this[eventName+'Count']>0)
this.observers.each(function(o){if(o[eventName])o[eventName](eventName,draggable,event);});if(draggable.options[eventName])draggable.options[eventName](draggable,event);},_cacheObserverCallbacks:function(){['onStart','onEnd','onDrag'].each(function(eventName){Draggables[eventName+'Count']=Draggables.observers.select(function(o){return o[eventName];}).length;});}}
var Draggable=Class.create({initialize:function(element){var defaults={handle:false,reverteffect:function(element,top_offset,left_offset){var dur=Math.sqrt(Math.abs(top_offset^2)+Math.abs(left_offset^2))*0.02;new Effect.Move(element,{x:-left_offset,y:-top_offset,duration:dur,queue:{scope:'_draggable',position:'end'}});},endeffect:function(element){var toOpacity=Object.isNumber(element._opacity)?element._opacity:1.0;element.className='selected track';element.setStyle({border:'none'});new Effect.Opacity(element,{duration:0.2,from:0.3,to:toOpacity,queue:{scope:'_draggable',position:'end'},afterFinish:function(){Draggable._dragging[element]=false}});},zindex:1000,revert:false,quiet:false,scroll:false,scrollSensitivity:20,scrollSpeed:1,snap:false,delay:0};if(!arguments[1]||Object.isUndefined(arguments[1].endeffect))
Object.extend(defaults,{starteffect:function(element){element._opacity=Element.getOpacity(element);Draggable._dragging[element]=true;new Effect.Opacity(element,{duration:0.2,from:element._opacity,to:0.4});element.setStyle({border:'1px solid black'});element.className='track';}});var options=Object.extend(defaults,arguments[1]||{});this.element=$(element);if(options.handle&&Object.isString(options.handle))
this.handle=this.element.down('.'+options.handle,0);if(!this.handle)this.handle=$(options.handle);if(!this.handle)this.handle=this.element;if(options.scroll&&!options.scroll.scrollTo&&!options.scroll.outerHTML){options.scroll=$(options.scroll);this._isScrollChild=Element.childOf(this.element,options.scroll);}
Element.makePositioned(this.element);this.options=options;this.dragging=false;this.eventMouseDown=this.initDrag.bindAsEventListener(this);Event.observe(this.handle,"mousedown",this.eventMouseDown);Draggables.register(this);},destroy:function(){Event.stopObserving(this.handle,"mousedown",this.eventMouseDown);Draggables.unregister(this);},currentDelta:function(){return([parseInt(Element.getStyle(this.element,'left')||'0'),parseInt(Element.getStyle(this.element,'top')||'0')]);},initDrag:function(event){player.select(this.element);if(!Object.isUndefined(Draggable._dragging[this.element])&&Draggable._dragging[this.element])return;if(Event.isLeftClick(event)){var src=Event.element(event);if((tag_name=src.tagName.toUpperCase())&&(tag_name=='INPUT'||tag_name=='SELECT'||tag_name=='OPTION'||tag_name=='BUTTON'||tag_name=='TEXTAREA'))return;var pointer=[Event.pointerX(event),Event.pointerY(event)];var pos=Element.cumulativeOffset(this.element);var pos2=Element.cumulativeScrollOffset(this.element);if(this.options.floating){this.offset=[0,1].map(function(i){return(pointer[i]-pos[i]+pos2[i])});}
else{this.offset=[0,1].map(function(i){return(pointer[i]-pos[i])});}
Draggables.activate(this);Event.stop(event);}},startDrag:function(event){this.dragging=true;if(!this.delta)
this.delta=this.currentDelta();if(this.options.zindex){this.originalZ=parseInt(Element.getStyle(this.element,'z-index')||0);this.element.style.zIndex=this.options.zindex;}
if(this.options.ghosting){this._clone=this.element.cloneNode(true);this.element._originallyAbsolute=(this.element.getStyle('position')=='absolute');if(!this.element._originallyAbsolute)
Position.absolutize(this.element);if(this.options.floating)
{var node=document.body.lastChild;node=(node.nodeType==3)?node.nextSibling:node;document.body.insertBefore(this._clone,node);var tempNode=this.element;this.element=this._clone;this._clone=tempNode;tempNode=null;var cloneStyle=this._clone.style;Element.setStyle(this.element,{width:cloneStyle.width,height:cloneStyle.height,visibility:"hidden"});Position.absolutize(this.element);Position.clone(this._clone,this.element);Position.relativize(this._clone);}
else
this.element.parentNode.insertBefore(this._clone,this.element);}
if(this.options.scroll){this.originalScrollLeft=this.options.scroll.scrollLeft;this.originalScrollTop=this.options.scroll.scrollTop;}
Draggables.notify('onStart',this,event);if(this.options.starteffect)this.options.starteffect(this.element);},updateDrag:function(event,pointer){if(!this.dragging)this.startDrag(event);if(!this.options.quiet){Position.prepare();Droppables.show(pointer,this.element);}
Draggables.notify('onDrag',this,event);this.draw(pointer);if(this.options.change)this.options.change(this);if(this.options.scroll){this.stopScrolling();var p;p=Position.page(this.options.scroll);p[0]+=this.options.scroll.scrollLeft+Position.deltaX;p[1]+=this.options.scroll.scrollTop+Position.deltaY;p.push(p[0]+this.options.scroll.offsetWidth);p.push(p[1]+this.options.scroll.offsetHeight);var speed=[0,0];if(pointer[0]<(p[0]+this.options.scrollSensitivity))speed[0]=pointer[0]-(p[0]+this.options.scrollSensitivity);if(pointer[1]<(p[1]+this.options.scrollSensitivity))speed[1]=pointer[1]-(p[1]+this.options.scrollSensitivity);if(pointer[0]>(p[2]-this.options.scrollSensitivity))speed[0]=pointer[0]-(p[2]-this.options.scrollSensitivity);if(pointer[1]>(p[3]-this.options.scrollSensitivity))speed[1]=pointer[1]-(p[3]-this.options.scrollSensitivity);this.startScrolling(speed);}
if(Prototype.Browser.WebKit)window.scrollBy(0,0);Event.stop(event);},finishDrag:function(event,success){this.dragging=false;if(this.options.quiet){Position.prepare();var pointer=[Event.pointerX(event),Event.pointerY(event)];Droppables.show(pointer,this.element);}
if(this.options.ghosting){if(this.options.floating)
{var tempNode=this.element;this.element=this._clone;this._clone=tempNode;tempNode=null;}
if(!this.element._originallyAbsolute)
Position.relativize(this.element);Element.remove(this._clone);this._clone=null;}
var dropped=false;if(success){dropped=Droppables.fire(event,this.element);if(!dropped)dropped=false;}
if(dropped&&this.options.onDropped)this.options.onDropped(this.element);Draggables.notify('onEnd',this,event);var revert=this.options.revert;if(revert&&Object.isFunction(revert))revert=revert(this.element);var d=this.currentDelta();if(revert&&this.options.reverteffect){if(dropped==0||revert!='failure')
this.options.reverteffect(this.element,d[1]-this.delta[1],d[0]-this.delta[0]);}else{this.delta=d;}
if(this.options.zindex)
this.element.style.zIndex=this.originalZ;if(this.options.endeffect)
this.options.endeffect(this.element);Draggables.deactivate(this);Droppables.reset();},keyPress:function(event){if(event.keyCode!=Event.KEY_ESC)return;this.finishDrag(event,false);Event.stop(event);},endDrag:function(event){if(!this.dragging)return;this.stopScrolling();this.finishDrag(event,true);Event.stop(event);},draw:function(point){var pos=Element.cumulativeOffset(this.element);if(this.options.ghosting){}
var d=this.currentDelta();pos[0]-=d[0];pos[1]-=d[1];if(this.options.scroll&&this._isScrollChild){pos[0]-=this.options.scroll.scrollLeft-this.originalScrollLeft;pos[1]-=this.options.scroll.scrollTop-this.originalScrollTop;}
var p=[0,1].map(function(i){return(point[i]-pos[i]-this.offset[i])}.bind(this));if(this.options.snap){if(Object.isFunction(this.options.snap)){p=this.options.snap(p[0],p[1],this);}else{if(Object.isArray(this.options.snap)){p=p.map(function(v,i){return(v/this.options.snap[i]).round()*this.options.snap[i]}.bind(this))}else{p=p.map(function(v){return(v/this.options.snap).round()*this.options.snap}.bind(this))}}}
var style=this.element.style;if((!this.options.constraint)||(this.options.constraint=='horizontal'))
style.left=p[0]+"px";if((!this.options.constraint)||(this.options.constraint=='vertical'))
style.top=p[1]+"px";if(style.visibility=="hidden")style.visibility="";},stopScrolling:function(){if(this.scrollInterval){clearInterval(this.scrollInterval);this.scrollInterval=null;Draggables._lastScrollPointer=null;}},startScrolling:function(speed){if(!(speed[0]||speed[1]))return;this.scrollSpeed=[speed[0]*this.options.scrollSpeed,speed[1]*this.options.scrollSpeed];this.lastScrolled=new Date();this.scrollInterval=setInterval(this.scroll.bind(this),10);},scroll:function(){var current=new Date();var delta=current-this.lastScrolled;this.lastScrolled=current;this.options.scroll.scrollTop+=this.scrollSpeed[1]*delta/1000;Position.prepare();Droppables.show(Draggables._lastPointer,this.element);Draggables.notify('onDrag',this);if(this._isScrollChild){Draggables._lastScrollPointer=Draggables._lastScrollPointer||$A(Draggables._lastPointer);Draggables._lastScrollPointer[0]+=this.scrollSpeed[0]*delta/1000;Draggables._lastScrollPointer[1]+=this.scrollSpeed[1]*delta/1000;if(Draggables._lastScrollPointer[0]<0)
Draggables._lastScrollPointer[0]=0;if(Draggables._lastScrollPointer[1]<0)
Draggables._lastScrollPointer[1]=0;this.draw(Draggables._lastScrollPointer);}
if(this.options.change)this.options.change(this);}});Draggable._dragging={};var SortableObserver=Class.create({initialize:function(element,observer){this.element=$(element);this.observer=observer;this.lastValue=Sortable.serialize(this.element);},onStart:function(){this.lastValue=Sortable.serialize(this.element);},onEnd:function(){Sortable.unmark();if(this.lastValue!=Sortable.serialize(this.element))
this.observer(this.element)}});var Sortable={SERIALIZE_RULE:/^[^_\-](?:[A-Za-z0-9\-\_]*)[_](.*)$/,sortables:{},_findRootElement:function(element){while(element.tagName.toUpperCase()!="BODY"){if(element.id&&Sortable.sortables[element.id])return element;element=element.parentNode;}},options:function(element){element=Sortable._findRootElement($(element));if(!element)return;return Sortable.sortables[element.id];},destroy:function(element){var s=Sortable.options(element);if(s){Draggables.removeObserver(s.element);s.droppables.each(function(d){Droppables.remove(d)});s.draggables.invoke('destroy');delete Sortable.sortables[s.element.id];}},create:function(element){element=$(element);var options=Object.extend({element:element,tag:'li',dropOnEmpty:false,tree:false,treeTag:'ul',overlap:'vertical',constraint:'vertical',containment:element,handle:false,only:false,delay:0,hoverclass:null,ghosting:false,quiet:false,scroll:'main',scrollSensitivity:20,scrollSpeed:15,format:this.SERIALIZE_RULE,elements:false,handles:false,onChange:Prototype.emptyFunction,onUpdate:Prototype.emptyFunction},arguments[1]||{});this.destroy(element);var options_for_draggable={revert:true,quiet:options.quiet,scroll:options.scroll,scrollSpeed:options.scrollSpeed,scrollSensitivity:options.scrollSensitivity,delay:options.delay,ghosting:options.ghosting,floating:options.floating,constraint:options.constraint,handle:options.handle};if(options.starteffect)
options_for_draggable.starteffect=options.starteffect;if(options.reverteffect)
options_for_draggable.reverteffect=options.reverteffect;else
if(options.ghosting)options_for_draggable.reverteffect=function(element){element.style.top=0;element.style.left=0;};if(options.endeffect)
options_for_draggable.endeffect=options.endeffect;if(options.zindex)
options_for_draggable.zindex=options.zindex;var options_for_droppable={overlap:options.overlap,containment:options.containment,tree:options.tree,hoverclass:options.hoverclass,onHover:Sortable.onHover}
var options_for_tree={onHover:Sortable.onEmptyHover,overlap:options.overlap,containment:options.containment,hoverclass:options.hoverclass}
Element.cleanWhitespace(element);options.draggables=[];options.droppables=[];if(options.dropOnEmpty||options.tree){Droppables.add(element,options_for_tree);options.droppables.push(element);}
(options.elements||this.findElements(element,options)||[]).each(function(e,i){var handle=options.handles?$(options.handles[i]):(options.handle?$(e).select('.'+options.handle)[0]:e);options.draggables.push(new Draggable(e,Object.extend(options_for_draggable,{handle:handle})));Droppables.add(e,options_for_droppable);if(options.tree)e.treeNode=element;options.droppables.push(e);});if(options.tree){(Sortable.findTreeElements(element,options)||[]).each(function(e){Droppables.add(e,options_for_tree);e.treeNode=element;options.droppables.push(e);});}
this.sortables[element.id]=options;Draggables.addObserver(new SortableObserver(element,options.onUpdate));},findElements:function(element,options){return Element.findChildren(element,options.only,options.tree?true:false,options.tag);},findTreeElements:function(element,options){return Element.findChildren(element,options.only,options.tree?true:false,options.treeTag);},onHover:function(element,dropon,overlap){if(Element.isParent(dropon,element))return;if(overlap>.33&&overlap<.66&&Sortable.options(dropon).tree){return;}else if(overlap>0.5){Sortable.mark(dropon,'before');if(dropon.previousSibling!=element){var oldParentNode=element.parentNode;element.style.visibility="hidden";dropon.parentNode.insertBefore(element,dropon);if(dropon.parentNode!=oldParentNode)
Sortable.options(oldParentNode).onChange(element);Sortable.options(dropon.parentNode).onChange(element);}}else{Sortable.mark(dropon,'after');var nextElement=dropon.nextSibling||null;if(nextElement!=element){var oldParentNode=element.parentNode;element.style.visibility="hidden";dropon.parentNode.insertBefore(element,nextElement);if(dropon.parentNode!=oldParentNode)
Sortable.options(oldParentNode).onChange(element);Sortable.options(dropon.parentNode).onChange(element);}}},onEmptyHover:function(element,dropon,overlap){var oldParentNode=element.parentNode;var droponOptions=Sortable.options(dropon);if(!Element.isParent(dropon,element)){var index;var children=Sortable.findElements(dropon,{tag:droponOptions.tag,only:droponOptions.only});var child=null;if(children){var offset=Element.offsetSize(dropon,droponOptions.overlap)*(1.0-overlap);for(index=0;index<children.length;index+=1){if(offset-Element.offsetSize(children[index],droponOptions.overlap)>=0){offset-=Element.offsetSize(children[index],droponOptions.overlap);}else if(offset-(Element.offsetSize(children[index],droponOptions.overlap)/2)>=0){child=index+1<children.length?children[index+1]:null;break;}else{child=children[index];break;}}}
dropon.insertBefore(element,child);Sortable.options(oldParentNode).onChange(element);droponOptions.onChange(element);}},unmark:function(){if(Sortable._marker)Sortable._marker.hide();},mark:function(dropon,position){var sortable=Sortable.options(dropon.parentNode);if(sortable&&!sortable.ghosting)return;if(!Sortable._marker){Sortable._marker=($('dropmarker')||Element.extend(document.createElement('DIV'))).hide().addClassName('dropmarker').setStyle({position:'absolute'});document.getElementsByTagName("body").item(0).appendChild(Sortable._marker);}
var offsets=Position.cumulativeOffset(dropon);var offsets2=Element.cumulativeScrollOffset(dropon);offsets[1]=offsets[1]-offsets2[1];Sortable._marker.setStyle({left:offsets[0]+'px',top:offsets[1]+'px'});if(position=='after')
if(sortable.overlap=='horizontal')
Sortable._marker.setStyle({left:(offsets[0]+dropon.clientWidth)+'px'});else
Sortable._marker.setStyle({top:(offsets[1]+dropon.clientHeight)+'px'});Sortable._marker.show();},_tree:function(element,options,parent){var children=Sortable.findElements(element,options)||[];for(var i=0;i<children.length;++i){var match=children[i].id.match(options.format);if(!match)continue;var child={id:encodeURIComponent(match?match[1]:null),element:element,parent:parent,children:[],position:parent.children.length,container:$(children[i]).down(options.treeTag)}
if(child.container)
this._tree(child.container,options,child)
parent.children.push(child);}
return parent;},tree:function(element){element=$(element);var sortableOptions=this.options(element);var options=Object.extend({tag:sortableOptions.tag,treeTag:sortableOptions.treeTag,only:sortableOptions.only,name:element.id,format:sortableOptions.format},arguments[1]||{});var root={id:null,parent:null,children:[],container:element,position:0}
return Sortable._tree(element,options,root);},_constructIndex:function(node){var index='';do{if(node.id)index='['+node.position+']'+index;}while((node=node.parent)!=null);return index;},sequence:function(element){element=$(element);var options=Object.extend(this.options(element),arguments[1]||{});return $(this.findElements(element,options)||[]).map(function(item){return item.id.match(options.format)?item.id.match(options.format)[1]:'';});},setSequence:function(element,new_sequence){element=$(element);var options=Object.extend(this.options(element),arguments[2]||{});var nodeMap={};this.findElements(element,options).each(function(n){if(n.id.match(options.format))
nodeMap[n.id.match(options.format)[1]]=[n,n.parentNode];n.parentNode.removeChild(n);});new_sequence.each(function(ident){var n=nodeMap[ident];if(n){n[1].appendChild(n[0]);delete nodeMap[ident];}});},serialize:function(element){element=$(element);var options=Object.extend(Sortable.options(element),arguments[1]||{});var name=encodeURIComponent((arguments[1]&&arguments[1].name)?arguments[1].name:element.id);if(options.tree){return Sortable.tree(element,arguments[1]).children.map(function(item){return[name+Sortable._constructIndex(item)+"[id]="+
encodeURIComponent(item.id)].concat(item.children.map(arguments.callee));}).flatten().join('&');}else{return Sortable.sequence(element,arguments[1]).map(function(item){return name+"[]="+encodeURIComponent(item);}).join('&');}}}
Element.isParent=function(child,element){if(!child.parentNode||child==element)return false;if(child.parentNode==element)return true;return Element.isParent(child.parentNode,element);}
Element.findChildren=function(element,only,recursive,tagName){if(!element.hasChildNodes())return null;tagName=tagName.toUpperCase();if(only)only=[only].flatten();var elements=[];$A(element.childNodes).each(function(e){if(e.tagName&&e.tagName.toUpperCase()==tagName&&(!only||(Element.classNames(e).detect(function(v){return only.include(v)}))))
elements.push(e);if(recursive){var grandchildren=Element.findChildren(e,only,recursive,tagName);if(grandchildren)elements.push(grandchildren);}});return(elements.length>0?elements.flatten():[]);}
Element.offsetSize=function(element,type){return element['offset'+((type=='vertical'||type=='height')?'Height':'Width')];}
function resize(){var width=document.viewport.getWidth();if(width>1250&&player.meta_visible==true)
{player.widescreen=true;if(!player.albums_visible){player.showAlbums();}}
else{player.widescreen=false;if(player.albums_visible){player.showAlbums();}}
var height=document.viewport.getHeight();if($('main')){var new_height=height-339;if(new_height<161){new_height=161;}
$('main').style.height=new_height+'px';}}
function onYouTubePlayerReady(playerId){ytplayer=$("ytplayer");ytplayer.addEventListener("onStateChange","onytplayerStateChange");if(player.yt_mode){ytplayer.playVideo();}}
function onytplayerStateChange(newState){if(newState==1&&player._playing){player.playPause();player._yt_playing=true;}
else if(newState==0){player.skipKeyboard('right');}
previousState=newState;}
Event.observe(document,'mousedown',function(){player.mouse_down=true;});Event.observe(document,'mouseup',function(){player.mouse_down=false;});Event.observe(window,'load',function(){resize();shortcut.add('Down',function(){player.scrollKeyboard('down');},{'disable_in_input':true});shortcut.add('j',function(){player.scrollKeyboard('down');},{'disable_in_input':true,'keycode':74});shortcut.add('Up',function(){player.scrollKeyboard('up');},{'disable_in_input':true});shortcut.add('k',function(){player.scrollKeyboard('up');},{'disable_in_input':true,'keycode':75});shortcut.add('Right',function(){player.skipKeyboard('right');},{'disable_in_input':true});shortcut.add('n',function(){player.skipKeyboard('right');},{'disable_in_input':true,'keycode':78});shortcut.add('Left',function(){player.skipKeyboard('left');},{'disable_in_input':true});shortcut.add('p',function(){player.skipKeyboard('left');},{'disable_in_input':true,'keycode':80});shortcut.add('Space',function(){player.playPause();},{'disable_in_input':true});shortcut.add('Enter',function(){player.localPlay();},{'disable_in_input':true});shortcut.add('o',function(){player.localPlay();},{'disable_in_input':true,'keycode':79});shortcut.add('/',function(){player.searchFocus();},{'disable_in_input':true,'keycode':191});shortcut.add('e',function(){player.keyboardEdit();},{'disable_in_input':true,'keycode':69});shortcut.add('l',function(){player.clickToggle();},{'disable_in_input':true,'keycode':76});shortcut.add('i',function(){player.keyboardInfo();},{'disable_in_input':true,'keycode':73});shortcut.add('Esc',function(){player.keyboardCancel();});});Event.observe(window,'resize',function(){resize();});Ajax.Request.prototype.abort=function(){this.transport.onreadystatechange=Prototype.emptyFunction;this.transport.abort();Ajax.activeRequestCount--;};function ajaxHistory(){this.historyListener=function(historyHash){stateVar=historyHash;player.historyChange(stateVar);};unFocus.History.addEventListener('historyChange',this.historyListener);this.historyListener(unFocus.History.getCurrent());};function init(){ajaxHistory=new ajaxHistory();getFlashPlayer();}
function get_keywords(){var keywords='';var i=0;$$('span.artist').each(function(a){if(a.innerHTML!='Artist'&&a.innerHTML!='Unknown'){keywords=keywords+a.innerHTML+', ';}
if(i>15){throw $break;}
i++;});$$('span.album').each(function(a){if(a.innerHTML!='Album'&&a.innerHTML!='&nbsp;'){keywords=keywords+a.innerHTML+', ';}
if(i>15){throw $break;}
i++;});return keywords;}
function debug(text){alert(text);}
function refreshAd(keywords){var currentTime=new Date();googlead.location="ads?keywords="+keywords+" music%20mp3s&s="+currentTime.getTime();}
function clearDefault(el){if(el.defaultValue==el.value){el.value="";el.style.color="black";}
if(el.id=="password"){el.type="password";}
else if(el.id=='search_q'){el.style.background='url(/images/menu.png) no-repeat scroll 0 -373px';if(player.active_input){player.keyboardCancel();}
player.active_input='search_q';}}
function restoreDefault(el){if(el.value==""){if(el.id=="password"){el.value="password";}
else if(el.id=="login"){el.value="username";}
else if(el.id=="search_q"){el.value="Search for songs"}}
if(el.id=="search_q"){el.style.background='transparent url(/images/menu.png) no-repeat scroll 0 -328px';player.active_input=null;}}
function hasClass(obj){var result=false;if(obj.getAttributeNode("class")!=null){result=obj.getAttributeNode("class").value;}
return result;}
function getFlashPlayer(){if(navigator.appName.indexOf("Microsoft")!=-1){flashPlayer=window;}
else{flashPlayer=window.document;}}
shortcut={'all_shortcuts':{},'add':function(shortcut_combination,callback,opt){var default_options={'type':'keydown','propagate':false,'disable_in_input':false,'target':document,'keycode':false}
if(!opt)opt=default_options;else{for(var dfo in default_options){if(typeof opt[dfo]=='undefined')opt[dfo]=default_options[dfo];}}
var ele=opt.target
if(typeof opt.target=='string')ele=document.getElementById(opt.target);var ths=this;shortcut_combination=shortcut_combination.toLowerCase();var func=function(e){e=e||window.event;if(opt['disable_in_input']){var element;if(e.target)element=e.target;else if(e.srcElement)element=e.srcElement;if(element.nodeType==3)element=element.parentNode;if(element.tagName=='INPUT'||element.tagName=='TEXTAREA')return;}
if(e.keyCode)code=e.keyCode;else if(e.which)code=e.which;var character=String.fromCharCode(code);if(code==188)character=",";if(code==190)character=".";var keys=shortcut_combination.split("+");var kp=0;var shift_nums={"`":"~","1":"!","2":"@","3":"#","4":"$","5":"%","6":"^","7":"&","8":"*","9":"(","0":")","-":"_","=":"+",";":":","'":"\"",",":"<",".":">","/":"?","\\":"|"}
var special_keys={'esc':27,'escape':27,'tab':9,'space':32,'return':13,'enter':13,'backspace':8,'scrolllock':145,'scroll_lock':145,'scroll':145,'capslock':20,'caps_lock':20,'caps':20,'numlock':144,'num_lock':144,'num':144,'pause':19,'break':19,'insert':45,'home':36,'delete':46,'end':35,'pageup':33,'page_up':33,'pu':33,'pagedown':34,'page_down':34,'pd':34,'left':37,'up':38,'right':39,'down':40,'f1':112,'f2':113,'f3':114,'f4':115,'f5':116,'f6':117,'f7':118,'f8':119,'f9':120,'f10':121,'f11':122,'f12':123}
var modifiers={shift:{wanted:false,pressed:false},ctrl:{wanted:false,pressed:false},alt:{wanted:false,pressed:false},meta:{wanted:false,pressed:false}};if(e.ctrlKey)modifiers.ctrl.pressed=true;if(e.shiftKey)modifiers.shift.pressed=true;if(e.altKey)modifiers.alt.pressed=true;if(e.metaKey)modifiers.meta.pressed=true;for(var i=0;k=keys[i],i<keys.length;i++){if(k=='ctrl'||k=='control'){kp++;modifiers.ctrl.wanted=true;}else if(k=='shift'){kp++;modifiers.shift.wanted=true;}else if(k=='alt'){kp++;modifiers.alt.wanted=true;}else if(k=='meta'){kp++;modifiers.meta.wanted=true;}else if(k.length>1){if(special_keys[k]==code)kp++;}else if(opt['keycode']){if(opt['keycode']==code)kp++;}else{if(character==k)kp++;else{if(shift_nums[character]&&e.shiftKey){character=shift_nums[character];if(character==k)kp++;}}}}
if(kp==keys.length&&modifiers.ctrl.pressed==modifiers.ctrl.wanted&&modifiers.shift.pressed==modifiers.shift.wanted&&modifiers.alt.pressed==modifiers.alt.wanted&&modifiers.meta.pressed==modifiers.meta.wanted){callback(e);if(!opt['propagate']){e.cancelBubble=true;e.returnValue=false;if(e.stopPropagation){e.stopPropagation();e.preventDefault();}
return false;}}}
this.all_shortcuts[shortcut_combination]={'callback':func,'target':ele,'event':opt['type']};if(ele.addEventListener)ele.addEventListener(opt['type'],func,false);else if(ele.attachEvent)ele.attachEvent('on'+opt['type'],func);else ele['on'+opt['type']]=func;},'remove':function(shortcut_combination){shortcut_combination=shortcut_combination.toLowerCase();var binding=this.all_shortcuts[shortcut_combination];delete(this.all_shortcuts[shortcut_combination])
if(!binding)return;var type=binding['event'];var ele=binding['target'];var callback=binding['callback'];if(ele.detachEvent)ele.detachEvent('on'+type,callback);else if(ele.removeEventListener)ele.removeEventListener(type,callback,false);else ele['on'+type]=false;}}
eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('8 o={};o.Q=2(){h.j={};B(8 i=0;i<18.l;i++){h.j[18[i]]=[]}};o.Q.W={12:2(a,b){B(8 i=0;i<h.j[a].l;i++)4(h.j[a][i]==b)7;h.j[a].1Z(b)},1V:2(a,b){B(8 i=0;i<h.j[a].l;i++){4(h.j[a][i]==b){h.j.1S(i,1);7}}},p:2(a,b){B(8 i=0;i<h.j[a].l;i++)h.j[a][i](b)}};o.14=(2(){2 C(){8 c=h,E=1E,v,3;8 d=2(){7 1p.1k.23(1)};3=d();8 e=2(a){z.1p.1k=a};2 1f(){8 a=d();4(3!=a){3=a;c.p("n",a)}}4(O)v=O(1f,E);2 r(a){4(!1c(a)){8 b;4(/1b/.19(A.17)&&!z.16)b=6.w(\'<a G="\'+a+\'">\'+a+"</a>");u b=6.w("a");b.t("G",a);Z(b.D){V="U";1D="1A";1d=s()+"R";1v=1t()+"R"}6.k.L(b,6.k.P)}}2 1c(a){4(6.24(a).l>0)7 q}4(1i 1h.1g=="22"){2 s(){7 1h.1g}}u 4(6.N&&6.N.M){2 s(){7 6.N.M}}u 4(6.k){2 s(){7 6.k.M}}21(20(s).1X().1e(/1W/g,"1U").1e(/Y/g,"X"));c.1T=2(){7 3};2 9(a){4(3!=a){r(a);3=a;e(a);c.p("n",a)}7 q}c.9=2(a){r(3);c.9=9;7 c.9(a)};4(/1a\\/\\d+/.19(A.1n)&&A.1n.1o(/1a\\/(\\d+)/)[1]<1R){8 f=H.l,x={},m,y=15;2 S(){m=6.w("1O");m.13="1N";m.1M="1L";6.k.L(m,6.k.P)}e=2(a){x[f]=a;m.1K="#"+d();m.1J()};d=2(){7 x[f]};x[f]=3;2 T(a){4(3!=a){r(a);3=a;f=H.l+1;y=q;e(a);c.p("n",a);y=15}7 q}c.9=2(a){r(3);S();c.9=T;7 c.9(a)};2 10(){4(!y){8 a=H.l;4(a!=f){f=a;8 b=d();4(3!=b){3=b;c.p("n",b)}}}};1I(v);v=O(10,E)}u 4(1i 1H!="1G"&&z.1F&&!z.16&&A.17.1o(/1b (\\d\\.\\d)/)[1]>=5.5){8 g,F;2 11(){8 a="1C";g=6.w("1B");g.t("G",a);g.t("13",a);g.t("1P",\'1Q:;\');g.D.V="U";g.D.1d="-1z";6.k.L(g,6.k.P);F=1y[a];J(3,q)}2 J(a){Z(F.6){1x("1w/I");1u("<I><1q></1q><k 1s",\'1Y="1r.o.14.K(\\\'\'+a+\'\\\');">\',a+"</k></I>");25()}}2 1m(a){3=a;c.p("n",a)}c.K=2(){c.K=1m};2 1l(a){4(3!=a){3=a;J(a)}7 q};c.9=2(a){11();c.9=1l;7 c.9(a)};c.12("n",2(a){e(a)})}}C.W=1j o.Q("n");7 1j C()})();',62,130,'||function|_currentHash|if||document|return|var|addHistory||||||||this||_listeners|body|length|_form|historyChange|unFocus|notifyListeners|true|_createAnchor|getScrollY|setAttribute|else|_intervalID|createElement|_historyStates|_recentlyAdded|window|navigator|for|Keeper|style|_pollInterval|_historyFrameRef|name|history|html|_createHistoryHTML|_updateFromHistory|insertBefore|scrollTop|documentElement|setInterval|firstChild|EventManager|px|_createSafariSetHashForm|addHistorySafari|absolute|position|prototype|||with|_watchHistoryLength|_createHistoryFrame|addEventListener|id|History|false|opera|userAgent|arguments|test|WebKit|MSIE|_checkAnchorExists|top|replace|_watchHash|pageYOffset|self|typeof|new|hash|addHistoryIE|updateFromHistory|appVersion|match|location|head|parent|onl|getScrollX|write|left|text|open|frames|900px|block|iframe|unFocusHistoryFrame|display|200|print|undefined|ActiveXObject|clearInterval|submit|action|get|method|unFocusHistoryForm|form|src|javascript|420|splice|getCurrent|Left|removeEventListener|Top|toString|oad|push|String|eval|number|substring|getElementsByName|close'.split('|'),0,{}))