String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"")};var Hover={over:function(a){a.element().up("tr").addClassName("hover")}.bindAsEventListener(),out:function(a){a.element().up("tr").removeClassName("hover")}.bindAsEventListener()};var Overlay=function(){var b,a;b=function(c){c.element().remove();c.stop()}.bindAsEventListener();a=function(e,f,d){var c=new Element("div",{"class":"overlay"}).setStyle({width:e+"px",height:f+"px",opacity:0.2,background:"black",position:"absolute",top:0,left:0,cursor:"pointer","z-index":10}).observe("click",b);if(Object.isFunction(d)){c.observe("click",d)}return c};return{drawOverDocument:function(f){var e=$$("html")[0],c=$$("body")[0],d;d=a(e.getWidth(),e.getHeight(),f);c.insert({top:d});return d},drawOver:function(e,d){var c;e=$(e);c=a(e.getWidth(),e.getHeight(),d);e.insert({bottom:c});return c}}}();Form.Element.Hinter=Class.create({options:{caption:"Search",emptyClass:"empty"},initialize:function(a,b){this.element=$(a);this.options=$H(this.options).merge(b||{});this.element.value="";this.element.observe("focus",this.handleFocus.bind(this));this.element.observe("blur",this.handleBlur.bind(this));this.handleBlur()},handleFocus:function(a){if(this.element.hasClassName(this.options.get("emptyClass"))){this.element.removeClassName(this.options.get("emptyClass"));this.element.value=""}},handleBlur:function(a){if($F(this.element).strip()===""){this.element.addClassName(this.options.get("emptyClass"));this.element.value=this.options.get("caption")}}});Ajax.Request.prototype.abort=function(){this.transport.onreadystatechange=Prototype.emptyFunction;this.transport.abort();Ajax.activeRequestCount--};var trackOutgoingLinks=function(){if(typeof pageTracker!="undefined"){document.observe("dom:loaded",function(){$$('a[target="_blank"]').invoke("observe","click",function(a){pageTracker._trackPageview("/outgoing/"+a.element().readAttribute("href"))}.bindAsEventListener())})}if(typeof englishTracker!="undefined"){document.observe("dom:loaded",function(){$$('a[target="_blank"]').invoke("observe","click",function(a){englishTracker._trackPageview("/outgoing/"+a.element().readAttribute("href"))}.bindAsEventListener())})}};Function.prototype.memoize=function(){var a=this;return function(){var b=a();a=function(){return b};return a()}};Event.delegate=function(a){return function(d){var c=$(d.element());for(var b in a){if(c.match(b)){return a[b].apply(this,$A(arguments))}}}};Element.addMethods("SELECT",{setValue:function(a,b){var c=false;a=$(a);a.select("option").each(function(d,e){if(d.value==b){a.selectedIndex=e;c=true;throw $break}});return c}});function getCurrentURI(){return window.location.href.match(/^http:\/\/.+?(\/.+?(\?.*)?)?$/)[1]||"/"}var CallbackManager=function(){var c,b,d={},a;c=function(g,f){var e=a[f.name];if(!Object.isFunction(e)){throw"Not a function: "+f.name}e(g,f.parameters)};b=function(g,f){var e=g.responseJSON;e.commands.each(c.bind(null,f))};a={updateCallbackParams:function(f,e){f.updateCallbackParams(e.params)},setBlockAttributes:function(f,e){$H(e.attributes).each(function(g){f.setAttribute(g.key,g.value)})},updateContainer:function(g,f){var e;if(f.container==null){e=g.el}else{e=g.container.select(f.container);if(e.size()===0){throw"Container with selector '"+f.container+"' not found."}e=e[0]}e.update(f.content);TimestampFormatter.format(e)},insert:function(j,i){var g,f=i.position||"bottom",e={};if(i.container==null){g=j.el}else{g=j.container.select(i.container);if(g.size()===0){throw"Container with selector '"+i.container+"' not found."}g=g[0]}e[f]=i.content;g.insert(e);TimestampFormatter.format(["before","after"].include(f)?g.parentNode:g)}};return{register:function(e){d[e.id]=e},callback:function(k,e,i,f){var j=d[k],g;if(j==="undefined"){throw"Unknown block specified."}f=$H(f);f.get("onStart")();g=new Ajax.Request(f.get("ajaxUrl"),{method:"get",parameters:{block_id:j.id,block_name:j.name,callback_params:Object.toJSON(j.params),action:e,params:Object.toJSON(i||{})},onSuccess:function(l){f.get("onRequestSuccess")();b(l,j);f.get("onSuccess")()},onComplete:f.get("onComplete"),onException:f.get("onException")})},registerHandler:function(e,f){a[e]=f}}}();var BlockManager=function(){var a={};return{register:function(b){a[b.id]=b},get:function(b){return a[b]}}}();var Block=Class.create({initialize:function(c,a,b){this.id=c;this.name=a;this.params=$H(b);this.callbackOptions=$H({onRequestSuccess:Prototype.emptyFunction,onStart:Prototype.emptyFunction,onSuccess:this.reinitialize.bind(this),onComplete:Prototype.emptyFunction,onException:Prototype.emptyFunction,showLoading:true,ajaxUrl:Config.get("ajax_path")});this.registered=false;this.attributes=new Hash();this.el=$(c);if(this.el===null){throw"Block element for "+this.id+" not found."}this.container=this.el.hasClassName("block")?this.el:this.el.up(".block");if(this.container===null){throw"Container for block element "+this.id+" not found."}this.registeredSubnav=this.initSubnav();this.reinitialize();BlockManager.register(this);this.postInitialize()},postInitialize:Prototype.emptyFunction,reinitialize:Prototype.emptyFunction,registerForCallbacks:function(){CallbackManager.register(this);this.registered=true},callback:function(a,e,c){var d,f,b;if(!this.registered){throw"Block "+this.id+" is not registered to receive callbacks."}c=this.callbackOptions.merge(c||{});if(c.get("showLoading")){d=c.get("onStart");c.set("onStart",function(){b=Overlay.drawOver(this.container.select(".content")[0]);d()}.bind(this));f=c.get("onComplete");c.set("onComplete",function(){f();b.remove()})}CallbackManager.callback(this.id,a,e,c)},addCallbackObserver:function(b,a,e,c,d){if(!this.registered){throw"Block "+this.id+" is not registered to receive callbacks."}if(d==null){d="click"}$(b).observe(d,function(){this.callback(a,e,c)}.bind(this))},setAttribute:function(a,b){this.attributes.set(a,b)},getAttribute:function(a){return this.attributes.get(a)},updateCallbackParams:function(a){this.params=$H(a)},setCallbackParam:function(a,b){this.params.set(a,b)},getCallbackParam:function(a){return this.params.get(a)},updateContent:function(){this.callback("updateContent",{})},initSubnav:function(){var a=this.container.select("div.subnav > ul");var b=new Hash();if(a.size()===0){return false}a.each(function(c){var e,g,j;e=c.select("a");if(e.size()===0){return false}g=e[0];j=function(i){return function(k){i.up("li").removeClassName("selected");i=k.element();i.up("li").addClassName("selected")}.bindAsEventListener()}(g);e.invoke("observe","click",j);for(var f=0;f<e.length;f++){g=e[f];var d=g.readAttribute("register");if(d){b.set(d,g)}}});return b}});var FormBlock=Class.create(Block,{postInitialize:function($super){$super();this.initRecordControls()},initRecordControls:function(){this.el.select("dd.record").each(function(f){var b=f.select(".record-search-button")[0],a=f.select(".record-search-reset")[0],e=f.select(".record-search-field")[0],i=f.select(".results-loading")[0],c=f.select(".search-options")[0],g=e.readAttribute("data-fieldname");a.store("resetContent",c.innerHTML);b.enable();a.enable();e.enable();var d=function(j){i.show();b.disable();e.disable();a.disable();this.callback("recordSearch",{q:$F(e),field_name:g},{showLoading:false,onComplete:function(){i.hide();b.enable();e.enable();a.enable()}})}.bind(this);b.observe("click",d);e.observe("keydown",function(j){if(j.keyCode==Event.KEY_RETURN){j.stop();d()}});a.observe("click",function(j){c.update(a.retrieve("resetContent"));e.value=""})}.bind(this))}});var PopupBlock=Class.create(Block,{initialize:function($super,c,a,b){$super(c,a,b);this.realContent=this.container.select("div.real-content")[0];this.closeAction=Prototype.emptyFunction;this.container.select(".close-button").invoke("observe","click",this.close.bind(this));this.close()},updateAndShow:function(a,d,c,b){this.container.setStyle({left:a+"px",top:d+"px",visibility:"visible"});this.container.show();b=$H({onClose:Prototype.emptyFunction}).merge(b);this.callback("updateContent",c,{onStart:function(){this.realContent.hide();this.container.addClassName("popup-loading")}.bind(this),onComplete:function(){this.realContent.show();this.container.removeClassName("popup-loading")}.bind(this),showLoading:false});this.closeAction=b.get("onClose")},close:function(){this.container.hide();this.closeAction();this.closeAction=Prototype.emptyFunction}});dropDownmenuHandler=Class.create({container:false,picker:false,clickEvent:false,clickObserver:false,initialize:function(b,a,c){this.container=$(b);this.picker=$(a);this.clickEvent=c;this.container.observe("click",this.handlePicker.bindAsEventListener(this));this.picker.select("a").invoke("observe","click",this.handlePicker.bindAsEventListener(this,true))},handlePicker:function(evt,languageLink){if(evt){evt.stop()}var link=evt.element().tagName!="A"?evt.element().up("a"):evt.element();this.clickEvent(link);if(!this.clickObserver){
/*@cc_on
      if (this.picker.up().tagName != 'BODY') {
        $$('body')[0].insert({top: this.picker.remove()});
        this.picker.setStyle({'left': this.container.cumulativeOffset().left});
      }
     @*/
this.picker.show();this.clickObserver=document.observe("click",this.closeClickHandler.bindAsEventListener(this))}else{this.closeClickHandler()}},closeClickHandler:function(a){if(!a||a.element()!=this.picker){this.picker.hide();document.stopObserving("click",this.closeClickHandler);this.clickObserver=false}}});var SportsSelectionBlock=Class.create(Block,{initialize:function($super){this.sportHandler=new dropDownmenuHandler("topbar-current-sport-container","topbar-sport-picker",this.sportClick)},sportClick:function(a){if(a&&a.down("span").hasClassName("sport")){window.location.href=a.href}}});var NavbarLanguageBlock=Class.create(Block,{initialize:function($super){this.languageHandler=new dropDownmenuHandler("topbar-current-l10n-container","topbar-l10n-picker",this.i10Click)},i10Click:function(a){if(a&&a.hasAttribute("data-l10n")){var b=a.readAttribute("data-l10n");languageManager.process(b)}}});var PaginatedBlock=Class.create(Block,{reinitialize:function(){this.initPagination()},initPagination:function(){if($(this.id+"_pagination")){this.previousPage=this.previousPage.bind(this);this.nextPage=this.nextPage.bind(this);this.pagination=true;this.previousButton=$(this.id+"_previous");this.nextButton=$(this.id+"_next");this.setPaginationHandlers()}else{this.pagination=false}},reinitPagination:function(){if(this.pagination){this.previousButton.stopObserving("click",this.previousPage).removeClassName("disabled");this.nextButton.stopObserving("click",this.nextPage).removeClassName("disabled");if(!this.getAttribute("has_previous_page")){this.previousButton.addClassName("disabled")}if(!this.getAttribute("has_next_page")){this.nextButton.addClassName("disabled")}this.setPaginationHandlers()}},setPaginationHandlers:function(){if(!this.previousButton.hasClassName("disabled")){this.previousButton.observe("click",this.previousPage)}if(!this.nextButton.hasClassName("disabled")){this.nextButton.observe("click",this.nextPage)}},previousPage:function(){var a=parseInt(this.getCallbackParam("page"));a=!isNaN(a)?a-1:0;this.changePage(a)},nextPage:function(){var a=parseInt(this.getCallbackParam("page"));a=!isNaN(a)?a+1:0;this.changePage(a)},changePage:function(a){this.callback("changePage",{page:a},{onSuccess:this.reinitPagination.bind(this)})}});var MatchesBlock=Class.create(Block,{rowTemplate:new Template('<tr class="#{odd_even} loading event"><td colspan="#{colspan_left}"><div></div></td><td class="loading-icon event-icon"><div><span>Loading</span></div></td><td colspan="#{colspan_right}"><div></div></td></tr>'),postInitialize:function($super){$super();this.el.observe("click",Event.delegate({"a.events-button-button":this.eventClickHandler.bindAsEventListener(this)}))},reinitialize:function(){this.initTable();this.initPagination()},initTable:function(){this.reinitPagination()},initPagination:function(){if($(this.id+"_pagination")){this.previousPage=this.previousPage.bind(this);this.nextPage=this.nextPage.bind(this);this.pagination=true;this.previousButton=$(this.id+"_previous");this.nextButton=$(this.id+"_next");this.pageDropdown=$(this.id+"_page_dropdown");if(this.pageDropdown){this.pageDropdown.observe("change",function(a){var b=parseInt($F(a.element()),10);this.changePage(b)}.bindAsEventListener(this))}this.setPaginationHandlers()}else{this.pagination=false}},reinitPagination:function(){if(this.pagination){this.previousButton.stopObserving("click",this.previousPage).removeClassName("disabled");this.nextButton.stopObserving("click",this.nextPage).removeClassName("disabled");if(!this.getAttribute("has_previous_page")){this.previousButton.addClassName("disabled")}if(!this.getAttribute("has_next_page")){this.nextButton.addClassName("disabled")}this.setPaginationHandlers()}},setPaginationHandlers:function(){if(!this.previousButton.hasClassName("disabled")){this.previousButton.observe("click",this.previousPage)}if(!this.nextButton.hasClassName("disabled")){this.nextButton.observe("click",this.nextPage)}},updatePageDropdownValue:function(a){if(this.pageDropdown.options[this.pageDropdown.selectedIndex].value!=a){this.pageDropdown.selectedIndex=a}},previousPage:function(){var a=parseInt(this.getCallbackParam("page"));a=!isNaN(a)?a-1:0;this.changePage(a)},nextPage:function(){var a=parseInt(this.getCallbackParam("page"));a=!isNaN(a)?a+1:0;this.changePage(a)},changePage:function(a){if(this.pageDropdown){this.updatePageDropdownValue(a)}this.callback("changePage",{page:a},{onSuccess:this.initTable.bind(this)})},eventClickHandler:function(a){var b=a.element(),c=b.up("tr");a.stop();if(b.hasClassName("expanded")){this.hideEvents(c);b.removeClassName("expanded");if(this.getEventRows(c).last().hasClassName("last")){c.addClassName("last")}}else{if(c.hasClassName("loaded")){b.addClassName("expanded");c.removeClassName("last");this.showEvents(c)}else{b.addClassName("expanded");this.loadEvents(c)}}},iterateEventRows:function(a,b,d){var c=$(a).next();while(c&&c.hasClassName("event")){c[b](d);c=c.next()}},getEventRows:function(a){var b=[],c=$(a).next();while(c&&c.hasClassName("event")){b.push(c);c=c.next()}return b},hideEvents:function(a){this.iterateEventRows(a,"removeClassName","expanded")},showEvents:function(a){this.iterateEventRows(a,"addClassName","expanded")},removeEvents:function(a){this.iterateEventRows(a,"remove")},loadEvents:function(a){var d=a.hasClassName("odd")?"odd":"even";var b=a.hasClassName("last");a.removeClassName("last");this.showEventsLoading(a,d);if(b){a.next().addClassName("last")}var c=parseInt(/-(\d+)$/.exec(a.readAttribute("id"))[1],10);this.callback("showEvents",{match_id:c,odd_even:d},{onRequestSuccess:function(){this.removeEvents(a)}.bind(this),onSuccess:Prototype.emptyFunction,onComplete:function(){this.hideEventsLoading(a);if(b){this.getEventRows(a).last().addClassName("last")}}.bind(this),showLoading:false});a.addClassName("loaded")},showEventsLoading:function(a,c){var b=this.rowTemplate.evaluate({odd_even:c,colspan_left:this.getAttribute("colspan_left"),colspan_right:this.getAttribute("colspan_right")});a.insert({after:b})},hideEventsLoading:function(a){a.next("tr.loading").remove()}});var GroupedMatchesBlock=Class.create(MatchesBlock,{postInitialize:function($super){$super();this.currentHeadRowId=null;this.el.observe("click",Event.delegate({"tr.group-head.clickable *":this.groupClickHandler.bindAsEventListener(this)}))},initTable:function($super){$super();this.el.select("tr.group-head.clickable").invoke("observe","mouseover",Hover.over).invoke("observe","mouseout",Hover.out)},groupClickHandler:function(a){if(!a.findElement("th.competition-link")){var b=a.findElement("tr");this[b.hasClassName("expanded")?"hideGroup":"showGroup"](b)}},hideGroup:function(b){var a;b=$(b).removeClassName("expanded");a=b.next();while(a){if(a.hasClassName("match")||a.hasClassName("round-head")){a.removeClassName("expanded")}else{if(a.hasClassName("event")){a.hide()}else{break}}a=a.next()}this.currentHeadRowId=null},removeGroup:function(c){var b,a;c=$(c).removeClassName("expanded");a=c.next();b=a;while(b){a=b.next();if(b.hasClassName("match")||b.hasClassName("round-head")||b.hasClassName("event")){b.remove()}else{break}b=a}this.currentHeadRowId=null},showGroup:function(b){var a;b=$(b).addClassName("expanded");this.currentHeadRowId=b.id;if(!b.hasClassName("loaded")){this.loadMatches(b);return}a=b.next();while(a){if(a.hasClassName("match")||a.hasClassName("round-head")){a.addClassName("expanded")}else{if(a.hasClassName("event")){a.show()}else{break}}a=a.next()}},loadMatches:function(c){var c=$(c),a=c.id.split("-"),b;if(a.size()===3){b={round_id:parseInt(a[2],10),competition_id:parseInt(a[1],10)}}else{b={competition_id:parseInt(a.last(),10)}}this.showEventsLoading(c);this.callback("showMatches",b,{onSuccess:Prototype.emptyFunction,onComplete:function(){this.hideEventsLoading(c)}.bind(this),showLoading:false});c.addClassName("loaded")},expandAllGroups:function(){this.el.select("tr.group-head").each(this.showCompetition.bind(this))},collapseAllGroups:function(){this.el.select("tr.group-head").each(this.hideCompetition.bind(this))}});var HomeMatchesBlock=Class.create(GroupedMatchesBlock,{initialize:function($super,c,a,b){b=$H(b);this.timestamp=b.unset("timestamp");$super(c,a,b);this.executingMatchUpdate=false;this.executingMatchMissedCounter=0;this.num_live=0;this.nowPlayingCounter=null;this.reloadCounter=null;CallbackManager.registerHandler("setLastUpdatedMatches",function(e,d){e.updatedMatches(d.matches)});this.startInterval()},startInterval:function(){this.interval=new PeriodicalExecuter(this.getLastUpdatedMatches.bind(this),30)},stopInterval:function(){if(this.interval!==null){this.interval.stop();this.interval=null}},getLastUpdatedMatches:function(a){if(!this.executingMatchUpdate||this.executingMatchMissedCounter>3){if(this.reloadCounter!==null){this.reloadCounter++}if(this.reloadCounter==2){this.reloadCounter=null;this.updateContent(a);return}this.executingMatchUpdate=true;this.executingMatchMissedCounter=0;var b=this.params.unset("timestamp");if(b!==undefined&&b>this.timestamp){this.timestamp=b}this.callback("setLastUpdatedMatches",{},{onComplete:function(){this.executingMatchUpdate=false}.bind(this),onException:function(d,c){this.executingMatchUpdate=false}.bind(this),showLoading:false,ajaxUrl:Config.get("live_update_path")})}else{this.executingMatchMissedCounter++}},updatedMatches:function(e){var b=this.params.unset("timestamp");if(b!==undefined&&b>this.timestamp){this.timestamp=b}var a=this.structurizeMatches(e);var d=a.unset("timestamp");var c=a.unset("num_live");this.updateNowPlayingCounter(c);a.detect(function(f){var g=f.value.detect(function(i){var j=this.getHeadRow(f.key,i.key);return this.refreshGroup(j,i.value)},this);return(g!==undefined)},this);this.timestamp=d},structurizeMatches:function(c){var j=this.timestamp;var k=$H();var a={c:"competition_id",r:"round_id",m:"match_id",u:"last_updated",e:"event_last_updated",l:"live",i:"minute",s:"status",t:"status_type"};var d=0;for(var e in c){var b=c[e];if(b.l==="1"){d++}if(b.u>this.timestamp){for(var f in a){b[a[f]]=b[f];delete b[f]}if(b.last_updated>j){j=b.last_updated}b.update_events=(b.event_last_updated&&b.event_last_updated>this.timestamp);delete b.event_last_updated;var g=k.get(b.competition_id);if(g===undefined){g=$H()}var i=g.get(b.round_id);if(i===undefined){i=$H()}i.set(b.match_id,b);g.set(b.round_id,i);k.set(b.competition_id,g)}}k.set("timestamp",j);k.set("num_live",d);return k},getHeadRow:function(c,b){var a=c+"-"+b;row=$("date_matches-"+a);if(row===null){row=$("date_matches-"+c)}return row},updateContent:function(a){this.callback("updateContent",{},{onSuccess:function(){this.initTable();this.expandCompetitions()}.bind(this),showLoading:false})},refreshGroup:function(c,b){if(c===null){if(this.reloadCounter===null){var a=b.detect(function(d){return(d.value.live=="1")});if(a!==undefined){this.reloadCounter=0}}return false}if(c.hasClassName("loaded")){c.removeClassName("loaded")}if(c.hasClassName("expanded")){this.updateMatches(c,b)}else{if(!c.hasClassName("live")&&this.reloadCounter===null){var a=b.detect(function(d){return(d.value.live=="1")});if(a!==undefined){c.addClassName("live");this.reloadCounter=0}}}return false},updateMatches:function(d,c){var b=0;var a=d;while(a=this.nextMatchRow(a)){if(this.updateMatch(a,c)){b++}if(b==c.size()){break}}if(b<c.size()){this.reloadMatches(d,c)}},nextMatchRow:function(a){a=a.next();while(a&&!a.hasClassName("match")&&!a.hasClassName("group-head")){a=a.next()}if(!a||!a.hasClassName("match")){return null}return a},updateMatch:function(a,e){var f=a.id.split("-").pop();var c=e.get(f);if(c===undefined){return false}else{if(c.update_events){if(a.hasClassName("loaded")){a.removeClassName("loaded");if(a.next().hasClassName("expanded")){this.loadEvents(a)}}else{if(a.select("a.events-button-button").size()==0){return false}}}if(c.live=="1"&&!a.hasClassName("highlight")){a.addClassName("highlight")}else{if(c.live==""&&a.hasClassName("highlight")){a.removeClassName("highlight")}}var d=a.firstDescendant();if(c.minute==""){d.update("&nbsp;");if(d.hasClassName("visible")){d.removeClassName("visible")}}else{d.update(c.minute);if(!d.hasClassName("visible")){d.addClassName("visible")}}var b=d.next().next();if(c.status_type=="score"&&b.hasClassName("status")){b.removeClassName("status");b.addClassName("score")}else{if(c.status_type=="status"&&b.hasClassName("score")){b.removeClassName("score");b.addClassName("status")}}b.firstDescendant().update(c.status);return true}},reloadMatches:function(c){var c=$(c),a=c.id.split("-"),b;if(a.size()===3){b={round_id:parseInt(a[2],10),competition_id:parseInt(a[1],10)}}else{b={competition_id:parseInt(a.last(),10)}}this.callback("showMatches",b,{onRequestSuccess:function(){this.removeGroup(c);this.showEventsLoading(c)}.bind(this),onSuccess:Prototype.emptyFunction,onComplete:function(){this.hideEventsLoading(c);c.addClassName("expanded");c.addClassName("loaded")}.bind(this),showLoading:false})},expandCompetitions:function(){if(this.currentHeadRowId!=null){this.showGroup($(this.currentHeadRowId))}},filterContent:function(a){this.stopInterval();this.callback("filterContent",a,{onSuccess:function(){if(this.getCallbackParam("display")!=="odds"){this.startInterval()}}.bind(this)})},updateNowPlayingCounter:function(b){if(b==this.num_live){return}if(this.nowPlayingCounter===null){var a=this.registeredSubnav.get("now_playing");this.nowPlayingCounter=a.firstDescendant()}if(b==0){this.nowPlayingCounter.update("")}else{this.nowPlayingCounter.update(" ("+b+")")}}});var SortableTable={init:function(g,f){var d=$(g);if(d.tagName!="TABLE"){return}if(!d.id){d.id="sortable-table-"+SortableTable._count++}Object.extend(SortableTable.options,f||{});var a=(SortableTable.options.tableScroll=="on"||(SortableTable.options.tableScroll=="class"&&d.hasClassName(SortableTable.options.tableScrollClass)));var c;var b=SortableTable.getHeaderCells(d);b.each(function(i){i=$(i);if(!a){Event.observe(i,"click",SortableTable._sort.bindAsEventListener(i));i.addClassName(SortableTable.options.columnClass)}if(i.hasClassName(SortableTable.options.sortFirstAscendingClass)||i.hasClassName(SortableTable.options.sortFirstDecendingClass)){c=i}});if(c){if(c.hasClassName(SortableTable.options.sortFirstAscendingClass)){SortableTable.sort(d,c,1)}else{SortableTable.sort(d,c,-1)}}else{var e=SortableTable.getBodyRows(d);e.each(function(k,j){SortableTable.addRowClass(k,j)})}if(a){SortableTable.initScroll(d)}},initScroll:function(d){var j=$(d);if(j.tagName!="TABLE"){return}j.addClassName(SortableTable.options.tableScrollClass);var f=j.getDimensions().width;j.setStyle({"border-spacing":"0","table-layout":"fixed",width:f+"px"});var g=SortableTable.getHeaderCells(j);g.each(function(m,l){m=$(m);var k=m.getDimensions().width;m.setStyle({width:k+"px"});$A(j.tBodies[0].rows).each(function(n){$(n.cells[l]).setStyle({width:k+"px"})})});var e=(j.tHead&&j.tHead.rows.length>0)?j.tHead:j.rows[0];var a=e.cloneNode(true);var i=$(document.createElement("div"));i.id=j.id+"-head";j.parentNode.insertBefore(i,j);i.setStyle({overflow:"hidden"});var c=$(document.createElement("table"));c.setStyle({"border-spacing":"0","table-layout":"fixed",width:f+"px"});i.appendChild(c);i.addClassName("scroll-table-head");j.removeChild(e);c.appendChild(a);g=SortableTable.getHeaderCells(c);g.each(function(k){k=$(k);Event.observe(k,"click",SortableTable._sortScroll.bindAsEventListener(k));k.addClassName(SortableTable.options.columnClass)});var b=$(document.createElement("div"));b.id=j.id+"-body";j.parentNode.insertBefore(b,j);b.setStyle({overflow:"auto"});b.appendChild(j);b.addClassName("scroll-table-body");i.scrollLeft=0;b.scrollLeft=0;Event.observe(b,"scroll",SortableTable._scroll.bindAsEventListener(j),false);if(j.offsetHeight-b.offsetHeight>0){b.setStyle({width:(b.getDimensions().width+16)+"px"})}},_scroll:function(){$(this.id+"-head").scrollLeft=$(this.id+"-body").scrollLeft},_sort:function(a){SortableTable.sort(null,this)},_sortScroll:function(b){var a=$(this).up("div.scroll-table-head");var c=a.id.match(/^(.*)-head$/);SortableTable.sort($(c[1]),this)},sort:function(j,e,a){var f;if(typeof e=="number"){if(!j||(j.tagName&&j.tagName!="TABLE")){return}e=Math.min(j.rows[0].cells.length,e);e=Math.max(1,e);e-=1;f=(j.tHead&&j.tHead.rows.length>0)?$(j.tHead.rows[j.tHead.rows.length-1].cells[e]):$(j.rows[0].cells[e])}else{f=$(e);j=j?$(j):f.up("table");e=SortableTable.getCellIndex(f)}var d=SortableTable.options;if(f.hasClassName(d.nosortClass)){return}if(!a){if(f.hasClassName(d.descendingClass)||(!f.hasClassName(d.ascendingClass)&&f.hasClassName(d.sortDefaultAscendingClass))){a=1}else{a=-1}}var g=SortableTable.getHeaderCells(null,f);var c=0;$A(g).each(function(l){l=$(l);if(c==e){if(a==1){l.removeClassName(d.descendingClass);l.addClassName(d.ascendingClass)}else{l.removeClassName(d.ascendingClass);l.addClassName(d.descendingClass)}}else{l.removeClassName(d.ascendingClass);l.removeClassName(d.descendingClass)}var i=parseInt(l.readAttribute("colspan")||1);c+=i});var k=SortableTable.getBodyRows(j);var b=SortableTable.getDataType(f,e,j);k.sort(function(l,i){var m=a*SortableTable.types[b](SortableTable.getCellText(l.cells[e]),SortableTable.getCellText(i.cells[e]));return m});k.each(function(m,l){j.tBodies[0].appendChild(m);SortableTable.addRowClass(m,l)})},types:{number:function(d,c){var e=function(a){a=parseFloat(a.replace(/^.*?([-+]?[\d]*\.?[\d]+(?:[eE][-+]?[\d]+)?).*$/,"$1"));return isNaN(a)?0:a};return SortableTable.compare(e(d),e(c))},text:function(d,c){return SortableTable.compare(d?d.toLowerCase():"",c?c.toLowerCase():"")},casesensitivetext:function(d,c){return SortableTable.compare(d,c)},datasize:function(d,c){var e=function(g){var i=g.match(/^([-+]?[\d]*\.?[\d]+([eE][-+]?[\d]+)?)\s?([k|m|g|t]?b)?/i);var f=i[1]?Number(i[1]).valueOf():0;var a=i[3]?i[3].substr(0,1).toLowerCase():"";switch(a){case"k":return f*1024;break;case"m":return f*1024*1024;break;case"g":return f*1024*1024*1024;break;case"t":return f*1024*1024*1024*1024;break}return f};return SortableTable.compare(e(d),e(c))},"date-au":function(d,c){var e=function(b){var j=b.match(/^(\d{2})\/(\d{2})\/(\d{4})\s?(?:(\d{1,2})\:(\d{2})(?:\:(\d{2}))?\s?([a|p]?m?))?/i);var l=j[3];var i=parseInt(j[2])-1;var g=j[1];var f=j[4]?j[4]:0;if(j[7]&&j[7].toLowerCase().indexOf("p")!=-1){f=parseInt(j[4])+12}var a=j[5]?j[5]:0;var k=j[6]?j[6]:0;return new Date(l,i,g,f,a,k,0).valueOf()};return SortableTable.compare(d?e(d):0,c?e(c):0)},"date-us":function(d,c){var e=function(b){var j=b.match(/^(\d{2})\/(\d{2})\/(\d{4})\s?(?:(\d{1,2})\:(\d{2})(?:\:(\d{2}))?\s?([a|p]?m?))?/i);var l=j[3];var i=parseInt(j[1])-1;var g=j[2];var f=j[4]?j[4]:0;if(j[7]&&j[7].toLowerCase().indexOf("p")!=-1){f=parseInt(j[4])+12}var a=j[5]?j[5]:0;var k=j[6]?j[6]:0;return new Date(l,i,g,f,a,k,0).valueOf()};return SortableTable.compare(d?e(d):0,c?e(c):0)},"date-eu":function(d,c){var e=function(a){var g=a.match(/^(\d{2})-(\d{2})-(\d{4})/);var i=g[3];var f=parseInt(g[2])-1;var b=g[1];return new Date(i,f,b).valueOf()};return SortableTable.compare(d?e(d):0,c?e(c):0)},"date-iso":function(d,c){var e=function(a){var i=a.match(/([\d]{4})(-([\d]{2})(-([\d]{2})(T([\d]{2}):([\d]{2})(:([\d]{2})(\.([\d]+))?)?(Z|(([-+])([\d]{2}):([\d]{2})))?)?)?)?/);var g=0;var b=new Date(i[1],0,1);if(i[3]){b.setMonth(i[3]-1)}if(i[5]){b.setDate(i[5])}if(i[7]){b.setHours(i[7])}if(i[8]){b.setMinutes(i[8])}if(i[10]){b.setSeconds(i[10])}if(i[12]){b.setMilliseconds(Number("0."+i[12])*1000)}if(i[14]){g=(Number(i[16])*60)+Number(i[17]);g*=((i[15]=="-")?1:-1)}g-=b.getTimezoneOffset();if(g!=0){var f=(Number(b)+(g*60*1000));b.setTime(Number(f))}return b.valueOf()};return SortableTable.compare(d?e(d):0,c?e(c):0)},date:function(d,c){if(d&&c){return SortableTable.compare(new Date(d),new Date(c))}else{return SortableTable.compare(d?1:0,c?1:0)}return SortableTable.compare(d?new Date(d).valueOf():0,c?new Date(c).valueOf():0)},time:function(e,c){var g=new Date();var f=g.getMonth()+"/"+g.getDate()+"/"+g.getFullYear()+" ";return SortableTable.compare(new Date(f+e),new Date(f+c))},currency:function(d,c){d=parseFloat(d.replace(/[^-\d\.]/g,""));c=parseFloat(c.replace(/[^-\d\.]/g,""));return SortableTable.compare(d,c)}},compare:function(d,c){return d<c?-1:d==c?0:1},detectors:$A([{re:/[\d]{4}-[\d]{2}-[\d]{2}(?:T[\d]{2}\:[\d]{2}(?:\:[\d]{2}(?:\.[\d]+)?)?(Z|([-+][\d]{2}:[\d]{2})?)?)?/,type:"date-iso"},{re:/^sun|mon|tue|wed|thu|fri|sat\,\s\d{1,2}\sjan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec\s\d{4}(?:\s\d{2}\:\d{2}(?:\:\d{2})?(?:\sGMT(?:[+-]\d{4})?)?)?/i,type:"date"},{re:/^\d{2}-\d{2}-\d{4}/i,type:"date-eu"},{re:/^\d{2}\/\d{2}\/\d{4}\s?(?:\d{1,2}\:\d{2}(?:\:\d{2})?\s?[a|p]?m?)?/i,type:"date-au"},{re:/^\d{1,2}\:\d{2}(?:\:\d{2})?(?:\s[a|p]m)?$/i,type:"time"},{re:/^[$ŁĄ€¤]/,type:"currency"},{re:/^[-+]?[\d]*\.?[\d]+(?:[eE][-+]?[\d]+)?\s?[k|m|g|t]b$/i,type:"datasize"},{re:/^[-+]?[\d]*\.?[\d]+(?:[eE][-+]?[\d]+)?/,type:"number"},{re:/^[A-Z]+$/,type:"casesensitivetext"},{re:/.*/,type:"text"}]),addSortType:function(b,a){SortableTable.types[b]=a},addDetector:function(b,a){SortableTable.detectors.unshift({re:b,type:a})},getBodyRows:function(a){a=$(a);return(a.hasClassName(SortableTable.options.tableScrollClass)||a.tHead&&a.tHead.rows.length>0)?$A(a.tBodies[0].rows):$A(a.rows).without(a.rows[0])},addRowClass:function(b,a){b=$(b);b.removeClassName(SortableTable.options.rowEvenClass);b.removeClassName(SortableTable.options.rowOddClass);b.addClassName(((a+1)%2==0?SortableTable.options.rowEvenClass:SortableTable.options.rowOddClass))},getHeaderCells:function(b,a){if(!b){b=$(a).up("table")}return $A((b.tHead&&b.tHead.rows.length>0)?b.tHead.rows[b.tHead.rows.length-1].cells:b.rows[0].cells)},getCellIndex:function(a){var c=a.parentNode.cells,b=0,e;for(var d=0;d<c.length;d++){e=c[d];if(e==a){return b}var f=parseInt($(e).readAttribute("colspan")||1);b+=f}return -1},getCellText:function(a){if(!a){return""}return a.textContent?a.textContent:a.innerText},getDataType:function(a,b,e){a=$(a);var d=a.classNames().detect(function(g){return(SortableTable.types[g])?true:false});if(!d){var c=b?b:SortableTable.getCellIndex(a);var f=e?e:a.up("table");a=f.tBodies[0].rows[0].cells[c];d=SortableTable.detectors.detect(function(g){return g.re.test(SortableTable.getCellText(a))})["type"]}return d},setup:function(a){Object.extend(SortableTable.options,a||{});Object.extend(SortableTable.types,SortableTable.options.types||{});SortableTable.options.types={};if(SortableTable.options.detectors){SortableTable.detectors=$A(SortableTable.options.detectors).concat(SortableTable.detectors);SortableTable.options.detectors=[]}},options:{autoLoad:true,tableSelector:["table.sortable"],columnClass:"sortcol",descendingClass:"sortdesc",ascendingClass:"sortasc",nosortClass:"nosort",sortFirstAscendingClass:"sortfirstasc",sortFirstDecendingClass:"sortfirstdesc",sortDefaultAscendingClass:"sortdefaultasc",sortDefaultDescendingClass:"sortdefaultdesc",rowEvenClass:"even",rowOddClass:"odd",tableScroll:"off",tableScrollClass:"scroll"},_count:0,load:function(){if(SortableTable.options.autoLoad){$A(SortableTable.options.tableSelector).each(function(a){$$(a).each(function(b){SortableTable.init(b)})})}}};document.observe("dom:loaded",SortableTable.load);Object.extend(Date.prototype,{monthnames:["January","February","March","April","May","June","July","August","September","October","November","December"],daynames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],succ:function(){var a=new Date(this.getFullYear(),this.getMonth(),this.getDate()+1);a.setHours(this.getHours(),this.getMinutes(),this.getSeconds(),this.getMilliseconds());return a},firstofmonth:function(){return new Date(this.getFullYear(),this.getMonth(),1)},lastofmonth:function(){return new Date(this.getFullYear(),this.getMonth()+1,0)},formatPadding:true,format:function(b){if(!this.valueOf()){return"&nbsp;"}var c=this;var a={yyyy:c.getFullYear(),mmmm:this.monthnames[c.getMonth()],mmm:this.monthnames[c.getMonth()].substr(0,3),mm:this.formatPadding?((c.getMonth()).succ()).toPaddedString(2):(c.getMonth()).succ(),dddd:this.daynames[c.getDay()],ddd:this.daynames[c.getDay()].substr(0,3),dd:c.getDate().toPaddedString(2),hh:h=c.getHours()%12?h:12,nn:c.getMinutes(),ss:c.getSeconds(),"a/p":c.getHours()<12?"a":"p"};return b.gsub(/(yyyy|mmmm|mmm|mm|dddd|ddd|dd|hh|nn|ss|a\/p)/i,function(d){return a[d[0].toLowerCase()]})}});var scal={};scal=Class.create();scal.prototype={initialize:function(a,c){this.element=$(a);var b=Try.these(function(){if(!Object.isUndefined(Effect)){return"Effect"}},function(){return"Element"});this.options=Object.extend({oncalchange:Prototype.emptyFunction,daypadding:false,titleformat:"mmmm yyyy",updateformat:"yyyy-mm-dd",closebutton:"X",prevbutton:"&laquo;",nextbutton:"&raquo;",yearnext:"&raquo;&raquo;",yearprev:"&laquo;&laquo;",openeffect:b=="Effect"?Effect.Appear:Element.show,closeeffect:b=="Effect"?Effect.Fade:Element.hide,exactweeks:false,dayheadlength:2,weekdaystart:0,planner:false,tabular:false},arguments[2]||{});this.table=false;this.thead=false;this.startdate=this._setStartDate(arguments[2]);if(this.options.planner){this._setupPlanner(this.options.planner)}if(this.options.tabular){this.table=new Element("table",{"class":"cal_table",border:0,cellspacing:0,cellpadding:0});this.thead=new Element("thead");this.table.insert(this.thead);this.element.insert(this.table)}this.updateelement=c;this._setCurrentDate(this.startdate);this.initDate=new Date(this.currentdate);this.controls=this._buildControls();this.title.setAttribute("title",this.initDate.format(this.options.titleformat));this._updateTitles();this[this.table?"thead":"element"].insert(this.controls);this.cal_wrapper=this._buildHead();this.cells=[];this._buildCal()},_setStartDate:function(){var a=arguments[0];var b=new Date();this.options.month=a&&a.month&&Object.isNumber(a.month)?a.month-1:b.getMonth();this.options.year=a&&a.year&&Object.isNumber(a.year)?a.year:b.getFullYear();this.options.day=a&&a.day&&Object.isNumber(a.day)?a.day:(this.options.month!=b.getMonth())?1:b.getDate();b.setHours(0,0,0,0);b.setDate(this.options.day);b.setMonth(this.options.month);b.setFullYear(this.options.year);return b},_emptyCells:function(){if(this.cells.size()>0){this.cells.invoke("stopObserving");this.cells.invoke("remove");this.cells=[]}},_buildCal:function(){this._emptyCells();if(!(Object.isUndefined(this.cal_weeks_wrapper)||this.table)){this.cal_weeks_wrapper.remove()}this.cal_weeks_wrapper=this._buildWrapper();if(this.table){this.table.select("tbody tr.weekbox:not(.weekboxname)").invoke("remove");this.table.select("tbody.cal_wrapper").invoke("remove");this.cal_weeks_wrapper.each(function(a){this.cal_wrapper.insert(a)}.bind(this))}else{this.cal_wrapper.insert(this.cal_weeks_wrapper)}this[this.table?"table":"element"].insert(this.cal_wrapper)},_click:function(b,a){this.element.select(".dayselected").invoke("removeClassName","dayselected");(b.target.hasClassName("daybox")?b.target:b.target.up()).addClassName("dayselected");this._setCurrentDate(this.dateRange[a]);this._updateExternal()},_updateExternal:function(){if(Object.isFunction(this.updateelement)){this.updateelement(this.currentdate)}else{var a=$(this.updateelement);a[a.tagName=="INPUT"?"setValue":"update"](this.currentdate.format(this.options.updateformat))}},_buildHead:function(){var b=new Element(this.table?"tbody":"div",{"class":"cal_wrapper"});var a=new Element(this.table?"tr":"div",{"class":"weekbox weekboxname"});Date.prototype.daynames.sortBy(function(d,c){c-=this.options.weekdaystart;if(c<0){c+=7}return c}.bind(this)).each(function(d,e){var c=new Element(this.table?"td":"div",{"class":"cal_day_name_"+e});c.addClassName("daybox").addClassName("dayboxname").update(d.substr(0,this.options.dayheadlength));if(e==6){c.addClassName("endweek")}a.insert(c)}.bind(this));return b.insert(a)},_buildWrapper:function(){var j=new Date(this.firstofmonth.getFullYear(),this.firstofmonth.getMonth(),this.firstofmonth.getDate());var c=new Date(this.lastofmonth.getFullYear(),this.lastofmonth.getMonth(),this.lastofmonth.getDate());if(this.options.weekdaystart-j.getDay()<j.getDate()){j.setDate(j.getDate()-j.getDay()+this.options.weekdaystart)}else{j.setDate(j.getDate()-(j.getDay()+7-this.options.weekdaystart))}var g=$A($R(j,c));var e=this.table?[]:new Element("div",{"class":"calweekswrapper"});var i;var k;var a;this.dateRange=[];this.indicators=[];var d=function(l){k.insert(this._buildDay(i,l));a=l}.bind(this);g.eachSlice(7,function(m,l){i=l;k=new Element(this.table?"tr":"div",{"class":"cal_week_"+i}).addClassName("weekbox");while(m.length<7){m.push(m.last().succ())}m.map(d);e[this.table?"push":"insert"](k)}.bind(this));if(!this.options.exactweeks){var b=42-this.cells.size();var f=Math.ceil(b/7);if(f>0){b=b/f}$R(1,f).each(function(l){i+=1;k=new Element(this.table?"tr":"div",{"class":"cal_week_"+i}).addClassName("weekbox");$R(1,b).each(function(m){var n=a.succ();k.insert(this._buildDay(i,n));e[this.table?"push":"insert"](k);a=n}.bind(this))}.bind(this))}return e},_compareDates:function(c,b,a){return(this.indicators.indexOf(a)<0)&&["getMonth","getDate","getFullYear"].all(function(d){return c[d]()==b[d]()})},_buildDay:function(f,d){this.dateRange.push(d);var e=false;var c="cal_day_"+f+"_"+d.getDay();var a=new Element(this.table?"td":"div",{"class":c});var i=new Element("div",{"class":c+"_date"}).addClassName("dayboxdate").update(this.options.daypadding?((d.getDate()).toPaddedString(2)):d.getDate());var b=new Element("div",{"class":c+"_value"}).addClassName("dayboxvalue");if(this.options.planner){this._updatePlanner(d,b)}a.insert(i).insert(b).addClassName("daybox").addClassName("daybox"+d.format("dddd").toLowerCase());if(this._compareDates(d,this.initDate,"dayselected")){e=true;a.addClassName("dayselected");this.indicators.push("dayselected")}if(this._compareDates(d,new Date(),"today")){a.addClassName("today");this.indicators.push("today")}if(d.getDay()==6){a.addClassName("endweek")}var g=d.getMonth()!=this.currentdate.getMonth()?["dayoutmonth","dayinmonth"]:["dayinmonth","dayoutmonth"];a.addClassName(g[0]);if(a.hasClassName(g[1])){a.removeClassName(g[1])}this.cells.push(a);if(!e){a.observe("click",this._click.bindAsEventListener(this,this.cells.size()-1))}return a},_updateTitles:function(){var a=this.currentdate.getFullYear();var c=this.currentdate.getMonth();var b={calprevmonth:Date.prototype.monthnames[(c-1)==-1?11:c-1],calprevyear:a-1,calnextyear:a+1,calnextmonth:Date.prototype.monthnames[(c+1)==12?0:c+1]};this.controls.select(".calcontrol").each(function(d){var e=b[d.className.split(" ")[0]];if(!Object.isUndefined(e)){d.setAttribute("title",e)}})},_buildControls:function(){var a=[{p:"calclose",u:this.options.closebutton,f:this.toggleCalendar.bindAsEventListener(this)},{p:"calprevmonth",u:this.options.prevbutton,f:this._switchCal.bindAsEventListener(this,"monthdown")},{p:"calprevyear",u:this.options.yearprev,f:this._switchCal.bindAsEventListener(this,"yeardown")},{p:"calnextyear",u:this.options.yearnext,f:this._switchCal.bindAsEventListener(this,"yearup")},{p:"calnextmonth",u:this.options.nextbutton,f:this._switchCal.bindAsEventListener(this,"monthup")},{p:"caltitle",u:this.currentdate.format(this.options.titleformat),f:Prototype.emptyFunction}];if(this.table){a=[a[1],a[2],a[5],a[3],a[4],a[0]]}var b=new Element(this.table?"tr":"div",{"class":"calheader"});a.each(function(c){var d=new Element(this.table?"td":"div",{"class":c.p});if(c.p=="caltitle"){this.title=d;if(this.table){d.writeAttribute({colspan:2})}d.update(c.u).observe("click",c.f)}else{d.addClassName("calcontrol");d[typeof(c.u)=="object"?"insert":"update"](c.u).observe("click",c.f)}b.insert(d)}.bind(this));return b},_switchCal:function(){if(arguments[1]){var a=arguments[0];var f=arguments[1];a.date=this.currentdate}else{var f=arguments[0]}var e={f:"setTime",p:this.initDate.getTime()};var c=this.currentdate.getDate();if(f!="init"){var b=this.currentdate[f.include("month")?"getMonth":"getFullYear"]();e={f:f.include("month")?"setMonth":"setYear",p:f.include("up")?b+1:b-1}}this.currentdate[e.f](e.p);if(this.currentdate.getDate()!=c){this.currentdate.setDate(0)}if(arguments[1]){this.options.oncalchange(a)}this._update()},_update:function(){this._setCurrentDate(arguments[0]?arguments[0]:this.currentdate);this.title.update(this.currentdate.format(this.options.titleformat));this._buildCal();this._updateTitles()},_setCurrentDate:function(a){this.currentdate=new Date(a.getFullYear(),a.getMonth(),a.getDate());this.firstofmonth=this.currentdate.firstofmonth();this.lastofmonth=this.currentdate.lastofmonth()},_getCellIndexByDate:function(c){var b=c.getTime();var a=0;this.dateRange.each(function(e,d){if(e.getTime()==b){a=d;throw $break}});return a},destroy:function(){this._emptyCells();if(this.table){this.table.remove()}else{this.cal_weeks_wrapper.remove()}this.controls.descendants().invoke("stopObserving");[this.cal_wrapper,this.controls].invoke("remove")},setCurrentDate:function(a){this[(a instanceof Date)?"_update":"_switchCal"](a);if(!arguments[1]){this._updateExternal()}return this.currentdate},toggleCalendar:function(){this.options[this.element.visible()?"closeeffect":"openeffect"](this.element)},getElementByDate:function(a){return this.cells[this._getCellIndexByDate(a)]},getElementsByWeek:function(a){return this.element.select(".weekbox:nth-of-type("+(a+1)+") .daybox:not(.dayboxname)")},getSelectedElement:function(){return this.element.select(".dayselected")[0]},getTodaysElement:function(){return this.element.select(".today")[0]},getDateByElement:function(a){return this.dateRange[this.cells.indexOf(a)]},_setupPlanner:Prototype.emptyFunction,_updatePlanner:Prototype.emptyFunction,openCalendar:function(){if(!this.isOpen()){this.toggleCalendar()}},closeCalendar:function(){if(this.isOpen()){this.toggleCalendar()}},isOpen:function(){return this.element.visible()}};var DropdownManager=function(){var i=null,k=null,g,c,f,d,a,l="",m=null,e,b,n,j=false;g=function(o){if(o.findElement(".dropdown")==null){f()}}.bindAsEventListener();handleKeyPress=function(p){var o;switch(p.keyCode){case Event.KEY_ESC:p.stop();f();break;default:if(i.searchable&&!(p.ctrlKey||p.shiftKey||p.altKey||p.metaKey||p.modifiers)){o=String.fromCharCode(p.which?p.which:p.keyCode);if(o.search(/^[a-z]+$/i)<0){e();return}b();l+=o;p.stop();i.search(l)}}}.bindAsEventListener();e=function(){n();l=""};b=function(){n();m=e.delay(1)};n=function(){if(m!==null){window.clearTimeout(m);m=null}};f=function(){document.stopObserving("click",g);document.stopObserving("keypress",handleKeyPress);d()};d=function(){if(i!==null){i.hide();i=null;k.removeClassName("active");k=null}n()};a=function(p,o){if(i!==null){d()}else{document.observe("click",g);document.observe("keypress",handleKeyPress)}p.show();i=p;o.addClassName("active");k=o};c=function(o,p){if(i!==null&&i===p){f()}else{a(p,o.element())}o.stop()};return{create:function(q,p,o){var r=Dropdown(q,o);$(p).observe("click",c.bindAsEventListener(null,r));return r}}}();var Dropdown=function(f,c){var i,d,a,g,e,b;if(Object.isUndefined(c)){c=false}f=$(f);i=f.visible();d=function(){f.hide();i=false};a=function(){f.show();i=true};g=function(){return f.select("li")}.memoize();e=function(j){f.scrollTop=parseInt(j,10)};b=function(o){if(!c){throw"Dropdown is not searchable.";return false}var j=g(),p=0,l,n;o=o.toLowerCase();for(var k=0,m=j.size();k<m;++k){l=j[k];if(!l.hasClassName("group-head")){n=j[k].innerHTML.stripTags().toLowerCase();if(n.startsWith(o)){e(p);l.firstDescendant().focus();break}}p+=l.getHeight()}};return{searchable:c,search:b,show:a,hide:d}};var Cookie=(function(){var b=$H({expires:null,path:null,domain:null});function e(j){return b.merge(j||{}).inject("",function(k,l){if(l[1]!==null){if(l[0]=="expires"&&l[1].constructor==Date){l[1]=l[1].toUTCString()}k+=["; ",l[0],"=",l[1]].join("")}return k})}function c(l){var n=document.cookie.split(";"),j,o;for(var k=0,m=n.length;k<m;++k){j=n[k].replace(/^\s+|\s+$/g,"");o=j.split("=");if(unescape(o[0])===l){return unescape(o[1])}}return null}function i(l,m,k){var j=escape(l)+"="+escape(m);k=e(k);document.cookie=j+k}function g(k,j){j=$H(j).merge({expires:"Thu, 01-Jan-1970 00:00:01 GMT"});if(c(k)){i(k,"",j)}}function a(){var k=f();for(var j in k){g(j)}}function f(){var l={};for(var j=0,k=l.length;j<k;++j){cookie=l[j].replace(/^\s+|\s+$/g,"");parts=cookie.split("=");l[unescape(parts[0])]=unescape(parts[1])}return l}function d(){i("cookies_enabled","1");var j=(c("cookies_enabled")=="1");g("cookies_enabled");return j}return{get:c,set:i,unset:g,clear:a,getHash:f,enabled:d}})();var dateFormat=function(){var b=/d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloSZ]|"[^"]*"|'[^']*'/g,a=/\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g,d=/[^-+\dA-Z]/g,c=function(f,e){f=String(f);e=e||2;while(f.length<e){f="0"+f}return f};return function(k,w,r){var g=dateFormat;if(arguments.length==1&&Object.prototype.toString.call(k)=="[object String]"&&!/\d/.test(k)){w=k;k=undefined}k=k?new Date(k):new Date;if(isNaN(k)){throw SyntaxError("invalid date")}w=String(g.masks[w]||w||g.masks["default"]);if(w.slice(0,4)=="UTC:"){w=w.slice(4);r=true}var u=r?"getUTC":"get",n=k[u+"Date"](),e=k[u+"Day"](),j=k[u+"Month"](),q=k[u+"FullYear"](),t=k[u+"Hours"](),l=k[u+"Minutes"](),v=k[u+"Seconds"](),p=k[u+"Milliseconds"](),f=r?0:k.getTimezoneOffset(),i={d:n,dd:c(n),ddd:g.i18n.dayNames[e],dddd:g.i18n.dayNames[e+7],m:j+1,mm:c(j+1),mmm:g.i18n.monthNames[j],mmmm:g.i18n.monthNames[j+12],yy:String(q).slice(2),yyyy:q,h:t%12||12,hh:c(t%12||12),H:t,HH:c(t),M:l,MM:c(l),s:v,ss:c(v),l:c(p,3),L:c(p>99?Math.round(p/10):p),t:t<12?"a":"p",tt:t<12?"am":"pm",T:t<12?"A":"P",TT:t<12?"AM":"PM",Z:r?"UTC":(String(k).match(a)||[""]).pop().replace(d,""),o:(f>0?"-":"+")+c(Math.floor(Math.abs(f)/60)*100+Math.abs(f)%60,4),S:["th","st","nd","rd"][n%10>3?0:(n%100-n%10!=10)*n%10]};return w.replace(b,function(m){return m in i?i[m]:m.slice(1,m.length-1)})}}();dateFormat.masks={"default":"ddd mmm dd yyyy HH:MM:ss",shortDate:"m/d/yy",mediumDate:"mmm d, yyyy",longDate:"mmmm d, yyyy",fullDate:"dddd, mmmm d, yyyy",shortTime:"h:MM TT",mediumTime:"h:MM:ss TT",longTime:"h:MM:ss TT Z",isoDate:"yyyy-mm-dd",isoTime:"HH:MM:ss",isoDateTime:"yyyy-mm-dd'T'HH:MM:ss",isoUtcDateTime:"UTC:yyyy-mm-dd'T'HH:MM:ss'Z'"};Date.prototype.format=function(a,b){return dateFormat(this,a,b)};var TimestampFormatter=(function(){var c=(Cookie.get("tf_disabled")!=1),e=1000,m=60*e,k=60*m,n=24*k,o=Config.get("cookie_domain"),b="/";function j(q,r){var p=new Date();p.setTime(q*1000);return p.format(r)}function d(p){var q=p.readAttribute("data-value"),r=p.readAttribute("data-format");p.replace(j(q,r))}function a(q){var p;if(!Object.isUndefined(q)){f(q);p=$(q).select("span.timestamp")}else{p=$$("span.timestamp")}p.each(d)}function g(){var p=new Element("div").update(document.title);a(p);document.title=p.innerHTML}function l(){var p=new Date();p.setTime(p.getTime()+30*n);Cookie.set("tf_disabled","1",{expires:p.toUTCString(),path:b,domain:o});c=false}function i(){Cookie.unset("tf_disabled",{path:b,domain:o});c=true}function f(p){var q=null;$(p).select(".no-date-repetition").each(function(s){var r=j(s.readAttribute("data-timestamp"),"yyyymmdd");if(r===q){s.select(".no-repetition span.timestamp").invoke("remove")}q=r})}return{initialize:function(){if(c){a()}else{l()}},format:function(p){if(c){a(p)}},forceFormat:a,fixDateRepetition:f,disable:l,enable:i}})();document.observe("dom:loaded",TimestampFormatter.initialize.bind(TimestampFormatter));var L10nManager=Class.create({initialize:function(){this.cookieName=Config.get("l10n_cookie_name");this.cookieL10n=Cookie.get(this.cookieName);if(!this.process(this.cookieL10n)&&Cookie.enabled()){new Ajax.Request(Config.get("geo_script"),{method:"get",asynchronous:false,onSuccess:function(a){if(!this.process(a.responseText)){this.process(Config.get("default_l10n"))}}})}},process:function(a){if(Config.get("valid_l10ns").include(a)){this.save(a);if(a!=Config.get("l10n")){this.redirect(a)}return true}return false},save:function(a){var b=new Date();b.setTime(b.getTime()+30*24*60*60*1000);Cookie.set(Config.get("l10n_cookie_name"),a,{expires:b,path:"/",domain:Config.get("base_domain")})},redirect:function(a){window.location.href="http://"+a+"."+Config.get("base_domain")+getCurrentURI()}});var UserManager=(function(){var b=Cookie.get(Config.get("username_cookie_name")),a=b;function c(){if(a){var d=$("username-link");d.update(b).writeAttribute("href",d.readAttribute("href")+b+"/");$("logged-in-container").show()}else{$("logged-out-container").show()}}return{init:c}})();