
var isHorseRace;var marketId;var gridType;var basicPath;var autoInc=0;var initialTab='all-odds';var MarketManager=function(path,bookmakerColumnManager){this.path=path+'';this.bookmakerColumnManager=bookmakerColumnManager;this.bind();return true;}
MarketManager.prototype={path:'',bookmakerColumnManager:null,refreshTimeout:null,bind:function(){globalEvents.attachEventHandler('oddsFormatChanged',this.updateMarketRequest.bind(this,false));clearTimeout(this.refreshTimeout);if(document.location.href.indexOf('historic-odds')==-1){var timeout=true;if(this.path.indexOf('historic-odds')>-1||(gridType=='historic-odds'&&(this.path.indexOf('exchanges')==-1&&this.path.indexOf('all-odds')==-1&&this.path.indexOf('best-odds')==-1))){timeout=false;}
this.refreshTimeout=setTimeout(this.updateMarketRequest.bind(this,this.path,timeout),15000);}},updatePath:function(url){this.path=url;clearTimeout(this.refreshTimeout);this.updateMarketRequest(true);},updateMarketRequest:function(newTimeout){if(this.path.indexOf('historic-odds')>-1||(gridType=='historic-odds'&&(this.path.indexOf('exchanges')==-1&&this.path.indexOf('all-odds')==-1&&this.path.indexOf('best-odds')==-1))){newTimeout=false;}
new Ajax.Request('/ajax/GetMarket/'+this.path,{onSuccess:this.updateMarket.bind(this,newTimeout)});},updateMarket:function(newTimeout,q){try{var ro=eval('('+q.responseText.replace(/'/g,"\\'").replace(/\r\n|\t/g,'').replace(/%%%%/g,"'")+')');if(ro.state){$('updateArea').innerHTML=ro.data;var movedOdds=$('updateArea').select('.moved');for(var i=0;i<movedOdds.length;i++){if($(movedOdds[i]).className.indexOf('U')>-1){$(movedOdds[i]).setStyle({background:'#ff8080'});new Effect.Opacity(movedOdds[i],{from:1,to:1,duration:5,afterFinish:function(event){new Effect.Morph(event.element,{style:'background: #ffc8c8; color: #000;'});}});}
if($(movedOdds[i]).className.indexOf('D')>-1){$(movedOdds[i]).setStyle({background:'#8080ff'});new Effect.Opacity(movedOdds[i],{from:1,to:1,duration:5,afterFinish:function(event){new Effect.Morph(event.element,{style:'background: #b7b7fd; color: #000;'});}});}}
bindOddCells();if(newTimeout){this.refreshTimeout=setTimeout(this.updateMarketRequest.bind(this,true),15000);}
var formatButtons=$$('.setOddsFormat');for(var i=0;i<formatButtons.length;i++){if(!formatButtons[i].alreadyBound){formatButtons[i].alreadyBound=true;Event.observe(formatButtons[i],'click',function(event){Event.stop(event);new oddsFormatChanger(Event.element(event)||event);});}}}else{showErrorMessage(ro.message);}
if(this.bookmakerColumnManager){this.bookmakerColumnManager.updateScroller();}}catch(e){}}}
var BookmakerColumnManager=function(marketManager){this.setup();}
BookmakerColumnManager.prototype={oddsContainerPos:0,footerContainerY:0,faded:false,visible:true,alreadyHiding:false,setup:function(){this.updateScroller();},updateScroller:function(){this.oddsContainerPos=findPos($('oddsContainer'));if($('footerBookmakerContainer')){this.footerContainerY=findPos($('footerBookmakerContainer'))[1];}
$('floatArea').clonePosition($('oddsContainer'),{setHeight:false,setTop:false});var table=document.createElement('table');table.cellPadding=0;$(table).addClassName('odds allOdds');table.style.backgroundColor='#fff';table.cellSpacing=1;$('floatArea').appendChild(table);var tr=document.createElement('tr');table.appendChild(tr);var elements=$('bookmakerListContainer').childElements()[0].childElements();for(var i=0;i<elements.length;i++){var element=document.createElement(elements[i].tagName);element.width=elements[i].offsetWidth+'px';element.innerHTML=elements[i].innerHTML;tr.appendChild(element);}
this.updateScrollerPosition(true);},updateScrollerPosition:function(first){this.oddsContainerPos=findPos($('oddsContainer'));$('floatArea').style.left=(this.oddsContainerPos[0]-document.viewport.getScrollOffsets().left)+'px';var scrollY=document.viewport.getScrollOffsets().top;var dur=0.6;if(first){dur=0;}
if($('footerBookmakerContainer')){if(this.footerContainerY+$('footerBookmakerContainer').getHeight()<scrollY+document.viewport.getHeight()){if(this.visible){this.visible=false;this.faded=true;this.alreadyHiding=true;new Effect.Opacity($('floatArea'),{to:0,duration:dur,afterFinish:function(){this.alreadyHiding=false;}.bind(this)});}}else{if(this.faded){this.faded=false;this.visible=true;new Effect.Opacity($('floatArea'),{to:1,duration:dur});}}}
var bookmakerListTop=this.oddsContainerPos[1];if(bookmakerListTop>scrollY||(!this.visible&&!this.alreadyHiding)){$('floatArea').style.display='none';}else{$('floatArea').style.display='';}}}
function findPos(obj){var curTop=curLeft=0;if(obj.offsetParent){do{curLeft+=obj.offsetLeft;curTop+=obj.offsetTop;}while(obj=obj.offsetParent);return[curLeft,curTop];}
return[obj.offsetLeft,obj.offsetTop];}
var bookmakerColumnManager;var marketManager;document.observe('dom:loaded',function(event){if($('footerBookmakerContainer')){bookmakerColumnManager=new BookmakerColumnManager();Event.observe(window,'resize',function(event){bookmakerColumnManager.updateScrollerPosition();});Event.observe(window,'scroll',function(event){bookmakerColumnManager.updateScrollerPosition();});}
marketManager=new MarketManager(marketId+'/'+initialTab,bookmakerColumnManager);});function displayPage(element,sorting,autoScroll){if(document.location.href.indexOf('historic-odds')>-1){document.location.href=element.href;return;}
element.innerHTML=G.LOADING;if(sorting===undefined){path=marketId+'/'+element.search;}else{if(sorting=='historic-odds'){gridType='historic-odds';}else{gridType='';}
if(sorting&&(sorting=='best-odds'||sorting=='all-odds'||sorting=='exchanges'||sorting=='historic-odds')){initialTab=sorting;path=marketId+'/'+initialTab+'/'+element.search;}else{path=marketId+'/'+initialTab+'/'+sorting+element.search;}}
if(autoScroll){$('oddsContainer').scrollTo();}
marketManager.updatePath(path);}
function updateHistoricOdds(button){autoInc++;var checkBoxes=$$('.selectionOption');if($('CheckSelections')){var selections='',bookmaker=$F('bookmaker');for(var i=0;i<checkBoxes.length;i++){if(checkBoxes[i].checked){selections+=$F(checkBoxes[i])+',';}}
button.value=G.LOADING;marketManager.updatePath($F('basicPath')+selections+'&bookmakers='+bookmaker+'&auto='+autoInc);}
if($('CheckBookmakers')){var selection=$F('selection'),bookmakers='';for(var i=0;i<checkBoxes.length;i++){if(checkBoxes[i].checked){bookmakers+=$F(checkBoxes[i])+',';}}
button.value=G.LOADING;marketManager.updatePath($F('basicPath')+selection+'&bookmakers='+bookmakers+'&auto='+autoInc);}}
var sliding;document.observe('dom:loaded',function(){bindCollapsables();var noEWTerms=$('updateArea').getElementsByClassName('NoEW');for(var i=0;i<noEWTerms.length;i++){new Effect.Opacity(noEWTerms[i],{from:0.5,to:0.5,duration:0});}});