
addLoadEvent(function(){searchResultPage=new SearchResultPage();})
function SearchResultPage(){this.players=[];this.searchResultPanels=[];var q=this.query=parseQueryString(location.search);q.page||(q.page=1);this.createSearchPanels(document.body);connect(document,'onkeydown',this,'onKeyDown');new PageExpnader(bind('expand',this));}
SearchResultPage.NEXT_PAGE_URL='/media_files/search_body_only?';SearchResultPage.keyReg=new KeyRegistry(['','CTRL+ARROW_RIGHT',function(self,evt){self.shiftRate(true);}],['','CTRL+ARROW_LEFT',function(self,evt){self.shiftRate(false);}],['','CTRL+HORIZONTAL_BAR',function(self,evt){self.setRate(1);}],['','SPACEBAR',function(self,evt){self.stopAll();}])
MochiKit.Base.update(SearchResultPage.prototype,{players:null,rate:1,searchResultPanels:null,disconnectOnScroll:null,query:null,stopAll:function(){forEach(this.players,methodcaller('stop'))},onStart:function(player){this.stopAll();player.setRate(this.rate);},onKeyDown:function(evt){SearchResultPage.keyReg.match(this,evt);},expand:function(end,terminate){var self=this;showElement('indicator');this.query.page++;doXHR(SearchResultPage.NEXT_PAGE_URL+queryString(this.query)).addCallback(function(res){var elmPage=SPAN();elmPage.innerHTML=res.responseText;insertSiblingNodesBefore('indicator',elmPage);self.createSearchPanels(elmPage);if(!getElementsByTagAndClassName('a','next_page',elmPage).length)
terminate();}).addErrback(function(err){terminate();}).addBoth(function(){hideElement('indicator');end();});},createSearchPanels:function(parent){var players=this.players;var panels=this.searchResultPanels;var self=this;var elmPlayers=getElementsByTagAndClassName('span','player',parent);forEach(elmPlayers,function(elmPlayer){var enclosureUrl=elmPlayer.getAttribute('enclosureUrl');var duration=elmPlayer.getAttribute('duration');var elmButtons=elmPlayer.getElementsByTagName('span');var player=new Player(enclosureUrl,elmButtons[0],elmButtons[1],duration);players.push(player);connect(player,'onStart',self,'onStart');connect(player,'onError',function(){hideElement(elmPlayer);var elmError=getFirstElementByTagAndClassName('span','player_error',elmPlayer.parentNode);elmError.style.display='inline';});var storyId=elmPlayer.id.split('_')[1]
panels.push(new SearchResultPanel(getElement('text_'+storyId),player));})},shiftRate:function(up){var rate=this.rate;this.rate=up?Math.min(rate+0.1,Player.RATE_MAX):Math.max(rate-0.1,Player.RATE_MIN);this.setRate(this.rate);},setRate:function(rate){this.rate=rate;var player=this.getPlayingPlayer();player&&player.setRate(this.rate);},getPlayingPlayer:function(){try{return dropwhile(function(player){return!player.isPlaying();},this.players).next();}catch(e){}}})
function SearchResultPanel(elmPanel,player){this.elmPanel=elmPanel;this.player=player;var elmCorrs=this.elmCorrs=elmPanel.getElementsByTagName('span');this.startTime=elmCorrs[0].getAttribute('startTime');this.onStop();connect(player,'atInterval',this,'atInterval');connect(player,'onStop',this,'onStop');}
MochiKit.Base.update(SearchResultPanel.prototype,{onStop:function(){this.clearCursor();this.player.setSecondOffset(this.startTime);},atInterval:function(player){var position=player.getSecondPosition();var elmCorrs=this.elmCorrs;for(var i=0,len=elmCorrs.length;i<len;i++){if(elmCorrs[i].getAttribute('startTime')>position){this.setCursor(elmCorrs[Math.max(--i,0)]);return;}}
player.stop();},clearCursor:function(){removeElementClass(this.cursor,'cursor');},setCursor:function(elmCorr){this.clearCursor();addElementClass(elmCorr,'cursor');this.cursor=elmCorr;}})
