Type.registerNamespace('SpottedScript.Controls.EventBox');
SpottedScript.Controls.EventBox.Controller=function(view){this.animationTaskQueue={};this.animationTasksInProgress={};Sys.Application.set_enableHistory(true);this.view=view;this.server=new SpottedScript.Controls.EventBox.Server(this);this.server.gotEventPage=Function.createDelegate(this,this.gotEventPage);this.server.gotGenericException=Function.createDelegate(this,this.gotGenericException);if(SpottedScript.Misc.get_browserIsIE()){jQuery(document.body).ready(Function.createDelegate(this,this.initialise));}else{this.initialise();}}
SpottedScript.Controls.EventBox.Controller.prototype={view:null,server:null,initParentObjectType:0,initParentObjectK:0,initMusicTypeK:0,initTabType:0,initPageIndex:0,currentParentObjectType:0,currentParentObjectK:0,currentMusicTypeK:0,currentTabType:0,currentPageIndex:0,clientID:null,enableEffects:false,eventPageCache:null,eventInfoHolderOuterJQ:null,eventInfoHolderOuterElement:null,currentlySelectedEvent:null,initialise:function(){Sys.Application.add_navigate(Function.createDelegate(this,this.application_Navigate));this.clientID=this.view.get_initClientID().value;this.enableEffects=Boolean.parse(this.view.get_initEnableEffects().value);this.eventInfoHolderOuterJQ=jQuery(this.view.get_eventInfoHolderOuter());$addHandler(this.view.get_eventIconsNavigationForwardHolder(),'click',Function.createDelegate(this,this.pageChangeForwardClick));$addHandler(this.view.get_eventIconsNavigationBackHolder(),'click',Function.createDelegate(this,this.pageChangeBackClick));$addHandler(this.view.get_musicDropDownControl().view.get_dropDown(),'change',Function.createDelegate(this,this.musicChangeClick));$addHandler(this.view.get_pastEventsTab(),'click',Function.createDelegate(this,this.tabClickPast));$addHandler(this.view.get_futureEventsTab(),'click',Function.createDelegate(this,this.tabClickFuture));$addHandler(this.view.get_ticketsTab(),'click',Function.createDelegate(this,this.tabClickTickets));this.eventPageCache={};var $0=(eval(' [ '+this.view.get_initFirstPage().value+' ] '))[0];var $1=new SpottedScript.Controls.EventBox.Shared.EventPageDetails(this,$0,false);$1.set_selected(true);$1.html.initialiseElements(true,false,false,true,true,false,true);for(var $2=0;$2<$1.events.length;$2++){$1.events[$2].changeSelectedState(!$2,false,'');}this.currentlySelectedEvent=$1.events[0];this.eventPageCache[$1.getKey()]=$1;this.initParentObjectType=$1.data.parentObjectType;this.initParentObjectK=$1.data.parentObjectK;this.initTabType=$1.data.tabType;this.initMusicTypeK=$1.data.musicTypeK;this.initPageIndex=$1.data.pageIndex;this.currentParentObjectType=this.initParentObjectType;this.currentParentObjectK=this.initParentObjectK;this.currentTabType=this.initTabType;this.currentMusicTypeK=this.initMusicTypeK;this.currentPageIndex=this.initPageIndex;if(SpottedScript.Misc.get_browserIsIE()){Sys.Application.addHistoryPoint({});}},application_Navigate:function(sender,e){if(e.get_state()['EventBox_PageKey']&&e.get_state()['EventBox_PageKey'].toString().length>0){this.restorePageState(e.get_state()['EventBox_PageKey'].toString());}else{this.restorePageState(null);}},restorePageState:function(key){if(!key){var $1=new SpottedScript.Controls.EventBox.Shared.EventPageDetails(this,new SpottedScript.Controls.EventBox.Shared.EventPageStub(this.initParentObjectType,this.initParentObjectK,this.initTabType,this.initMusicTypeK,this.initPageIndex,this.initPageIndex,null),false);key=$1.getKey();}if(this.get_currentEventPage().getKey()===key){return;}this.get_currentEventPage().changeSelectedState(false,false,'');var $0=SpottedScript.Controls.EventBox.Shared.EventPageDetails.getStubFromKey(key);this.currentParentObjectType=$0.parentObjectType;this.currentParentObjectK=$0.parentObjectK;this.currentMusicTypeK=$0.musicTypeK;this.currentTabType=$0.tabType;this.currentPageIndex=$0.pageIndex;this.get_currentEventPage().changeSelectedState(true,false,'');this.changeEventNow(this.get_currentEventPage().events[0],false,'');this.view.get_musicDropDownControl().view.get_dropDown().value=this.currentMusicTypeK.toString();this.updateTabsUI();},pageChangeForwardClick:function(e){this.pageChange(true);},pageChangeBackClick:function(e){this.pageChange(false);},pageChange:function(forward){var $0=this.currentPageIndex+((forward)?1:((!this.currentPageIndex)?0:-1));if(this.currentPageIndex===$0){return;}var $1=(forward)?'right':'left';this.get_currentEventPage().changeSelectedState(false,true,$1);this.currentPageIndex=$0;this.get_currentEventPage().changeSelectedState(true,true,$1);this.changeEventNow(this.get_currentEventPage().events[0],true,$1);var $2={};$2['EventBox_PageKey']=this.get_currentEventPage().getKey();Sys.Application.addHistoryPoint($2,'Event box - page '+($0+1).toString());},tabClickPast:function(e){this.changeTabType(2);},tabClickFuture:function(e){this.changeTabType(1);},tabClickTickets:function(e){this.changeTabType(3);},getTabLocation:function(tab){return (tab===1)?1:(tab===2)?2:3;},changeTabType:function(tabType){if(this.currentTabType===tabType){return;}var $0=this.getTabLocation(this.currentTabType);var $1=this.getTabLocation(tabType);var $2='left';if($0<$1){$2='right';}this.get_currentEventPage().changeSelectedState(false,true,$2);this.currentPageIndex=0;this.currentTabType=tabType;this.get_currentEventPage().changeSelectedState(true,true,$2);this.changeEventNow(this.get_currentEventPage().events[0],true,$2);this.updateTabsUI();var $3={};$3['EventBox_PageKey']=this.get_currentEventPage().getKey();Sys.Application.addHistoryPoint($3,'Event box - '+((this.currentTabType===1)?'future events':(this.currentTabType===1)?'past events':'tickets'));},updateTabsUI:function(){this.view.get_futureEventsTab().className=(this.currentTabType===1)?'TabbedHeading Selected':'TabbedHeading';this.view.get_pastEventsTab().className=(this.currentTabType===2)?'TabbedHeading Selected':'TabbedHeading';this.view.get_ticketsTab().className=(this.currentTabType===3)?'TabbedHeading Selected':'TabbedHeading';},musicChangeClick:function(e){var $0='up';for(var $2=0;$2<this.view.get_musicDropDownControl().view.get_dropDown().options.length;$2++){var $3=this.view.get_musicDropDownControl().view.get_dropDown().options[$2];if($3.value===this.currentMusicTypeK.toString()){$0='down';break;}if($3.value===this.view.get_musicDropDownControl().view.get_dropDown().value){break;}}this.get_currentEventPage().changeSelectedState(false,true,$0);this.currentPageIndex=0;this.currentMusicTypeK=Number.parseInvariant(this.view.get_musicDropDownControl().view.get_dropDown().value);this.get_currentEventPage().changeSelectedState(true,true,$0);this.changeEventNow(this.get_currentEventPage().events[0],true,$0);var $1={};$1['EventBox_PageKey']=this.get_currentEventPage().getKey();Sys.Application.addHistoryPoint($1,'Event box - '+this.view.get_musicDropDownControl().view.get_dropDown().options[this.view.get_musicDropDownControl().view.get_dropDown().selectedIndex].innerHTML);},performOrQueueAnimationTask:function(task,taskType){if(!this.animationTasksInProgress[taskType]||!this.animationTasksInProgress[taskType]){this.animationTasksInProgress[taskType]=true;var $0=task[0];$0();}else{if(this.animationTaskQueue[taskType]){var $1=this.animationTaskQueue[taskType];if($1.length===2){var $2=$1[1];$2();}}this.animationTaskQueue[taskType]=task;}},finishedAnimationTask:function(taskType){if(this.animationTaskQueue[taskType]){var $0=this.animationTaskQueue[taskType];this.animationTasksInProgress[taskType]=true;var $1=$0[0];$1();this.animationTaskQueue[taskType]=null;}else{this.animationTasksInProgress[taskType]=false;}},eventIconMouseOverID:0,eventIconMouseOutID:0,eventIconMouseOut:function(e){this.eventIconMouseOutID++;},eventIconMouseOver:function(e){this.eventIconMouseOverID++;var $0=this.eventIconMouseOverID;var $1=this.eventIconMouseOutID;this.eventIconMouseOverAfterDelay(e,$0,$1);},eventIconMouseOverAfterDelay:function(e,mouseOverID,mouseOutID){if(this.eventIconMouseOverID!==mouseOverID||this.eventIconMouseOutID!==mouseOutID){return;}var $0=this.findEventFromMouseOverEvent(e);if($0.hasData){this.changeEventNow($0,true,null);}},changeEventNow:function(newSelectedEvent,animate,movementDirection){if(newSelectedEvent&&!newSelectedEvent.get_selected()){if(!movementDirection){movementDirection=(!this.currentlySelectedEvent)?'right':(newSelectedEvent.positionIndex>this.currentlySelectedEvent.positionIndex)?'right':'left';}if(this.currentlySelectedEvent){this.currentlySelectedEvent.changeSelectedState(false,animate,movementDirection);}if(newSelectedEvent){newSelectedEvent.changeSelectedState(true,animate,movementDirection);}this.currentlySelectedEvent=newSelectedEvent;}},findEventFromMouseOverEvent:function(e){try{var $0=e.target;while($0){if($0.id.endsWith('_Icon_Image')){var $1=e.target.id.split('_');var $2=Number.parseInvariant($1[$1.length-3]);return this.get_currentEventPage().events[$2];}else if($0.parentNode){$0=$0.parentNode;}}return null;}catch($3){return null;}},get_currentEventPage:function(){var $0=new SpottedScript.Controls.EventBox.Shared.EventPageStub(this.currentParentObjectType,this.currentParentObjectK,this.currentTabType,this.currentMusicTypeK,this.currentPageIndex,this.currentPageIndex,null);var $1=SpottedScript.Controls.EventBox.Shared.EventPageDetails.getKeyStatic($0);if(!this.eventPageCache[$1]){this.server.getEventPage($1);}if(!this.eventPageCache[$1]){var $2=new SpottedScript.Controls.EventBox.Shared.EventPageDetails(this,$0,true);$2.requestInProgress=true;$2.html.initialiseElements(true,true,false,true,true,false,true);this.eventPageCache[$1]=$2;}return this.eventPageCache[$1];},gotEventPage:function(o,e){if(o){var $0=o;var $1=new SpottedScript.Controls.EventBox.Shared.EventPageDetails(this,$0,false);this.updatePage($1);if($0.requestedPageIndex!==$0.pageIndex){var $2=new SpottedScript.Controls.EventBox.Shared.EventPageStub($0.parentObjectType,$0.parentObjectK,$0.tabType,$0.musicTypeK,$0.requestedPageIndex,$0.requestedPageIndex,null);var $3=new SpottedScript.Controls.EventBox.Shared.EventPageDetails(this,$2,false);this.updatePage($3);}}},updatePage:function(newPage){var $0=newPage.getKey();if(this.eventPageCache[$0]){var $1=this.eventPageCache[$0];if($1.hasIncompleteEventData){if($1.get_selected()){newPage.set_selected(true);}var $2=false;for(var $3=0;$3<8;$3++){if($1.events[$3].get_selected()){newPage.events[$3].set_selected(true);this.currentlySelectedEvent=newPage.events[$3];$2=true;}}newPage.html.initialiseElements(true,false,false,true,false,false,true);newPage.html.initialiseElements(false,false,true,true,false,true,true);if($2){if(this.enableEffects){this.performOrQueueAnimationTask([Function.createDelegate(this,function(){
this.currentlySelectedEvent.html.resizeInfoHolderAnimate();})],'ResizeInfoHolderAnimate');}else{this.currentlySelectedEvent.html.resizeInfoHolderImmediate();}}}else{return;}}else{newPage.html.initialiseElements(true,true,false,true,true,false,true);}this.eventPageCache[$0]=newPage;},gotGenericException:function(o,e){var $0=e;}}
SpottedScript.Controls.EventBox.Server=function(controller){this.controller=controller;}
SpottedScript.Controls.EventBox.Server.prototype={controller:null,gotEventPage:null,gotGenericException:null,getEventPage:function(key){Spotted.WebServices.Controls.EventBox.Service.getEventPage(key,Function.createDelegate(this,this.getEventPageSuccessCallback),Function.createDelegate(this,this.getEventPageFailureCallback),'',2000);},getEventPageSuccessCallback:function(page,userContext,methodName){if(page){if(this.gotEventPage){this.gotEventPage(page,null);}}},getEventPageFailureCallback:function(error,userContext,methodName){if(this.gotGenericException){this.gotGenericException(this,new SpottedScript.Controls.EventBox.GotExceptionEventArgs(error,methodName));}}}
SpottedScript.Controls.EventBox.GotExceptionEventArgs=function(error,method){SpottedScript.Controls.EventBox.GotExceptionEventArgs.initializeBase(this);this.error=error;this.method=method;}
SpottedScript.Controls.EventBox.GotExceptionEventArgs.prototype={error:null,method:null}
SpottedScript.Controls.EventBox.View=function(clientId){this.clientId=clientId;}
SpottedScript.Controls.EventBox.View.prototype={clientId:null,get_futureEventsTab:function(){return document.getElementById(this.clientId+'_FutureEventsTab');},get_pastEventsTab:function(){return document.getElementById(this.clientId+'_PastEventsTab');},get_ticketsTab:function(){return document.getElementById(this.clientId+'_TicketsTab');},get_initEnableEffects:function(){return document.getElementById(this.clientId+'_InitEnableEffects');},get_initClientID:function(){return document.getElementById(this.clientId+'_InitClientID');},get_initFirstPage:function(){return document.getElementById(this.clientId+'_InitFirstPage');},get_titleHolder:function(){return document.getElementById(this.clientId+'_TitleHolder');},get_musicDropDownHolder:function(){return document.getElementById(this.clientId+'_MusicDropDownHolder');},get_musicDropDownControl:function(){return eval(this.clientId+'_MusicDropDownControlController');},get_eventIconsHolder:function(){return document.getElementById(this.clientId+'_EventIconsHolder');},get_eventIconsNavigationBackHolder:function(){return document.getElementById(this.clientId+'_EventIconsNavigationBackHolder');},get_eventIconsNavigationForwardHolder:function(){return document.getElementById(this.clientId+'_EventIconsNavigationForwardHolder');},get_eventInfoHolderOuter:function(){return document.getElementById(this.clientId+'_EventInfoHolderOuter');},get_bottomNavigationTitle:function(){return document.getElementById(this.clientId+'_BottomNavigationTitle');},get_bottomNavigationHolder:function(){return document.getElementById(this.clientId+'_BottomNavigationHolder');}}
Type.registerNamespace('SpottedScript.Controls.EventBox.Shared');
SpottedScript.Controls.EventBox.Shared.TabType=function(){};SpottedScript.Controls.EventBox.Shared.TabType.prototype = {future:1,past:2,tickets:3}
SpottedScript.Controls.EventBox.Shared.TabType.registerEnum('SpottedScript.Controls.EventBox.Shared.TabType',false);SpottedScript.Controls.EventBox.Shared.EventDetails=function(positionIndex,page,e,isLoading){this.positionIndex=positionIndex;this.page=page;this.parentClientID=this.page.clientID;this.hasData=e;this.isLoading=isLoading;this.controller=this.page.controller;this.data=e;this.html=new SpottedScript.Controls.EventBox.Shared.EventHtml(this);}
SpottedScript.Controls.EventBox.Shared.EventDetails.prototype={controller:null,page:null,parentClientID:null,data:null,html:null,positionIndex:0,hasData:false,isLoading:false,get_selected:function(){return this.$0;},set_selected:function(value){if(this.$0!==value){this.$0=value;this.html.updateUI();}return value;},$0:false,changeSelectedState:function(state,animate,direction){if(this.$0===state){return;}this.$0=state;this.html.updateIconUI();if(!state){if(direction==='left'){direction='right';}else if(direction==='right'){direction='left';}else if(direction==='up'){direction='down';}else if(direction==='down'){direction='up';}}if(animate&&this.controller.enableEffects){if(state){this.controller.performOrQueueAnimationTask([Function.createDelegate(this,function(){
this.html.showInfoAnimate(direction);})],'ShowInfoAnimate');if(this.hasData){this.controller.performOrQueueAnimationTask([Function.createDelegate(this,function(){
this.html.resizeInfoHolderAnimate();})],'ResizeInfoHolderAnimate');}}else{this.controller.performOrQueueAnimationTask([Function.createDelegate(this,function(){
this.html.hideInfoAnimate(direction);}),Function.createDelegate(this,function(){
this.html.hideInfoImmediate();})],'HideInfoAnimate');}}else{if(state){this.html.showInfoImmediate();this.html.resizeInfoHolderImmediate();}else{this.html.hideInfoImmediate();}}}}
SpottedScript.Controls.EventBox.Shared.EventHtml=function(details){this.details=details;this.iconKeylineClientID=this.details.parentClientID+'_Event_'+this.details.positionIndex+'_Icon_Keyline';this.iconImageClientID=this.details.parentClientID+'_Event_'+this.details.positionIndex+'_Icon_Image';this.infoHolderInnerClientID=this.details.parentClientID+'_Event_'+this.details.positionIndex+'_Info_Holder';this.infoTextHolderClientID=this.details.parentClientID+'_Event_'+this.details.positionIndex+'_Info_TextHolder';}
SpottedScript.Controls.EventBox.Shared.EventHtml.prototype={details:null,elementsInitialised:false,iconKeylineClientID:null,iconImageClientID:null,infoHolderInnerClientID:null,infoTextHolderClientID:null,appendHtmlIcon:function(sb){sb.append('<div');sb.appendAttribute('class','EventBoxIconHolder');sb.append('>');sb.append('<div');sb.appendAttribute('id',this.iconKeylineClientID);sb.appendAttribute('class',(this.details.get_selected())?'EventBoxIconKeyline Selected':'EventBoxIconKeyline');sb.append('>&nbsp;');sb.append('</div>');sb.append('<img');sb.appendAttribute('id',this.iconImageClientID);if(this.details.hasData){sb.appendAttribute('src',SpottedScript.Misc.getPicUrlFromGuid(this.details.data.eventPicGuid));sb.appendAttribute('class','BorderBlack All EventBoxIconImage');}else{sb.appendAttribute('src','/gfx/1pix.gif');}sb.appendAttribute('width','50');sb.appendAttribute('height','50');sb.append('/>');sb.append('</div>');},toHtmlIcon:function(){var $0=new Spotted.System.Text.StringBuilder();this.appendHtmlIcon($0);return $0.toString();},appendHtmlInfo:function(sb){sb.append('<div');sb.appendAttribute('id',this.infoHolderInnerClientID);sb.appendAttribute('class','EventBoxInfoHolderInner');sb.append('>');this.appendHtmlInfoInner(sb);sb.append('</div>');},appendHtmlInfoInner:function(sb){sb.append('<div');sb.appendAttribute('id',this.infoTextHolderClientID);sb.appendAttribute('class','EventBoxInfoTextHolder');sb.append('>');if(this.details.hasData){sb.append('<a');sb.appendAttribute('href',this.details.data.eventUrl);sb.append('>');sb.append('<img');sb.appendAttribute('src',SpottedScript.Misc.getPicUrlFromGuid(this.details.data.eventPicGuid));sb.appendAttribute('class','BorderBlack All EventBoxInfoImage');sb.appendAttribute('width','100');sb.appendAttribute('height','100');sb.appendAttribute('align','right');sb.append('/>');sb.append('</a>');sb.append('<b>');sb.append('<a');sb.appendAttribute('href',this.details.data.eventUrl);sb.append('>');sb.append(this.details.data.eventName);sb.append('</a>');sb.append('</b>');sb.append(' @ ');sb.append('<a');sb.appendAttribute('href',this.details.data.venueUrl);sb.append('>');sb.append(this.details.data.venueName);sb.append('</a>');sb.append(' in ');sb.append('<a');sb.appendAttribute('href',this.details.data.placeUrl);sb.append('>');sb.append(this.details.data.placeName);sb.append('</a>');sb.append(', ');sb.append(this.details.data.friendlyDateString);sb.append('.<br />');sb.append(this.details.data.eventShortDescription);sb.append('<br />');sb.append('(');sb.append(this.details.data.eventMusicText);sb.append(')');sb.append('<br />');sb.append(this.details.data.eventMembersAttending.toString());sb.append((this.details.data.eventMembersAttending===1)?' member':' members');sb.append((this.details.data.eventInInTheFuture)?' attending':' attended');}else if(this.details.isLoading){sb.append('<center>Loading details...</center>');}else if(this.details.page.isEmpty){sb.append('<center>Sorry, no events - <a href=\"/pages/events/edit\">click here to add one</a>.</center>');}sb.append('</div>');},toHtmlInfo:function(){var $0=new Spotted.System.Text.StringBuilder();this.appendHtmlInfo($0);return $0.toString();},toHtmlInfoInner:function(){var $0=new Spotted.System.Text.StringBuilder();this.appendHtmlInfoInner($0);return $0.toString();},hideInfoImmediate:function(){this.infoHolderInnerElement.style.display='none';},hideInfoAnimate:function(direction){var $0={};$0['direction']=direction;$0['easing']='easeOutQuint';this.infoHolderInnerJQ.hide('drop',$0,250,Function.createDelegate(this,function(){
this.details.controller.finishedAnimationTask('HideInfoAnimate');}));},showInfoImmediate:function(){this.infoHolderInnerElement.style.display='block';},showInfoAnimate:function(direction){this.infoHolderInnerElement.style.display='block';var $0={};$0['direction']=direction;$0['easing']='easeOutQuint';this.infoHolderInnerJQ.show('drop',$0,250,Function.createDelegate(this,function(){
this.resizeInfoHolderImmediate();this.details.controller.finishedAnimationTask('ShowInfoAnimate');}));},resizeInfoHolderImmediate:function(){this.details.controller.view.get_eventInfoHolderOuter().style.height=this.getInfoHeight().toString()+'px';},resizeInfoHolderAnimate:function(){var $0={};$0['height']=this.getInfoHeight().toString()+'px';this.details.controller.eventInfoHolderOuterJQ.animate($0,250,'easeOutQuint',Function.createDelegate(this,function(){
this.details.controller.finishedAnimationTask('ResizeInfoHolderAnimate');}));},getInfoHeight:function(){var $0=this.infoTextHolderJQ.height();$0=($0>100)?$0:100;return $0;},iconKeylineElement:null,iconImageElement:null,infoHolderInnerElement:null,infoTextHolderElement:null,infoHolderInnerJQ:null,infoTextHolderJQ:null,kill:function(element){if(!element){return;}while(element.childNodes.length>0){this.kill(element.childNodes[element.childNodes.length-1]);}if(element.parentNode){element.parentNode.removeChild(element);}},initialiseElements:function(initialiseIcon,createInfoHtml,refreshInfoHtml,initialiseInfo){if(initialiseIcon){this.iconKeylineElement=document.getElementById(this.iconKeylineClientID);this.iconImageElement=document.getElementById(this.iconImageClientID);$addHandler(this.iconImageElement,'mouseover',Function.createDelegate(this.details.controller,this.details.controller.eventIconMouseOver));$addHandler(this.iconImageElement,'mouseout',Function.createDelegate(this.details.controller,this.details.controller.eventIconMouseOut));}if(createInfoHtml){this.infoHolderInnerElement=document.getElementById(this.infoHolderInnerClientID);this.kill(this.infoHolderInnerElement);this.infoHolderInnerElement=document.createElement('div');this.infoHolderInnerElement.innerHTML=this.toHtmlInfo();this.details.controller.view.get_eventInfoHolderOuter().appendChild(this.infoHolderInnerElement);}if(refreshInfoHtml){this.infoHolderInnerElement=document.getElementById(this.infoHolderInnerClientID);this.infoHolderInnerElement.innerHTML=this.toHtmlInfoInner();}if(initialiseInfo){this.infoHolderInnerElement=document.getElementById(this.infoHolderInnerClientID);this.infoHolderInnerJQ=jQuery(this.infoHolderInnerElement);this.infoTextHolderElement=document.getElementById(this.infoTextHolderClientID);this.infoTextHolderJQ=jQuery(this.infoTextHolderElement);}this.elementsInitialised=true;this.updateUI();},updateUI:function(){if(this.elementsInitialised){this.updateIconUI();this.updateInfoHolderUI();}},updateIconUI:function(){this.iconKeylineElement.className=(this.details.get_selected()&&!this.details.page.isEmpty)?'EventBoxIconKeyline Selected':'EventBoxIconKeyline';},updateInfoHolderUI:function(){this.infoHolderInnerElement.style.display=(this.details.get_selected())?'block':'none';}}
SpottedScript.Controls.EventBox.Shared.EventStub=function(eventK,eventName,eventUrl,venueK,venueName,venueUrl,placeK,placeName,placeUrl,friendlyDateString,eventPicGuid,eventShortDescription,eventMusicText,eventMembersAttending,eventInInTheFuture){this.eventK=eventK;this.eventName=eventName;this.eventUrl=eventUrl;this.venueK=venueK;this.venueName=venueName;this.venueUrl=venueUrl;this.placeK=placeK;this.placeName=placeName;this.placeUrl=placeUrl;this.friendlyDateString=friendlyDateString;this.eventPicGuid=eventPicGuid;this.eventShortDescription=eventShortDescription;this.eventMusicText=eventMusicText;this.eventMembersAttending=eventMembersAttending;this.eventInInTheFuture=eventInInTheFuture;}
SpottedScript.Controls.EventBox.Shared.EventStub.prototype={eventK:0,eventName:null,eventUrl:null,venueK:0,venueName:null,venueUrl:null,placeK:0,placeName:null,placeUrl:null,friendlyDateString:null,eventPicGuid:null,eventShortDescription:null,eventMusicText:null,eventMembersAttending:0,eventInInTheFuture:false}
SpottedScript.Controls.EventBox.Shared.EventPageDetails=function(controller,data,isLoading){this.data=data;this.isLoading=isLoading;this.controller=controller;this.parentClientID=this.controller.clientID;this.clientID=this.parentClientID+'_'+this.getKey();this.events=new Array(8);var $0=false;var $1=false;for(var $2=0;$2<8;$2++){this.events[$2]=new SpottedScript.Controls.EventBox.Shared.EventDetails($2,this,(this.data.events&&this.data.events.length>$2&&this.data.events[$2])?this.data.events[$2]:null,isLoading);if(!this.data.events||this.data.events.length<=$2||!this.data.events[$2]){$1=true;}else{$0=true;}}this.hasIncompleteEventData=$1;this.isEmpty=!$0;this.html=new SpottedScript.Controls.EventBox.Shared.EventPageHtml(this);}
SpottedScript.Controls.EventBox.Shared.EventPageDetails.getKeyStatic=function(data){return (data.parentObjectType).toString()+'_'+data.parentObjectK.toString()+'_'+(data.tabType).toString()+'_'+data.musicTypeK.toString()+'_'+data.pageIndex.toString();}
SpottedScript.Controls.EventBox.Shared.EventPageDetails.getStubFromKey=function(key){var $0=key.split('_');return new SpottedScript.Controls.EventBox.Shared.EventPageStub(Number.parseInvariant($0[0]),Number.parseInvariant($0[1]),Number.parseInvariant($0[2]),Number.parseInvariant($0[3]),Number.parseInvariant($0[4]),Number.parseInvariant($0[4]),null);}
SpottedScript.Controls.EventBox.Shared.EventPageDetails.prototype={events:null,controller:null,parentClientID:null,clientID:null,data:null,html:null,requestInProgress:false,hasIncompleteEventData:false,isLoading:false,isEmpty:false,get_selected:function(){return this.$0;},set_selected:function(value){if(this.$0!==value){this.$0=value;this.html.updateUI();}return value;},$0:false,getKey:function(){return SpottedScript.Controls.EventBox.Shared.EventPageDetails.getKeyStatic(this.data);},changeSelectedState:function(state,animate,direction){if(this.$0===state){return;}this.$0=state;if(!state){if(direction==='left'){direction='right';}else if(direction==='right'){direction='left';}else if(direction==='up'){direction='down';}else if(direction==='down'){direction='up';}}if(animate&&this.controller.enableEffects){if(state){this.controller.performOrQueueAnimationTask([Function.createDelegate(this,function(){
this.html.showAnimate(direction);})],'EventPage_ShowAnimate');}else{this.controller.performOrQueueAnimationTask([Function.createDelegate(this,function(){
this.html.hideAnimate(direction);}),Function.createDelegate(this,function(){
this.html.hideImmediate();})],'EventPage_HideAnimate');}}else{if(state){this.html.showImmediate();}else{this.html.hideImmediate();}}},getEventsIconsHtml:function(){var $0=new Spotted.System.Text.StringBuilder();for(var $1=0;$1<8;$1++){this.events[$1].html.appendHtmlIcon($0);}return $0.toString();}}
SpottedScript.Controls.EventBox.Shared.EventPageHtml=function(details){this.details=details;this.holderClientID=this.details.parentClientID+'_EventPage_'+this.details.getKey()+'_Holder';}
SpottedScript.Controls.EventBox.Shared.EventPageHtml.prototype={details:null,elementsInitialised:false,holderClientID:null,appendHtml:function(sb){sb.append('<div');sb.appendAttribute('id',this.holderClientID);sb.appendAttribute('class',(this.details.get_selected())?'EventBoxPageHolder Selected':'EventBoxPageHolder');sb.append('>');this.appendHtmlInner(sb);sb.append('</div>');},appendHtmlInner:function(sb){for(var $0=0;$0<8;$0++){this.details.events[$0].html.appendHtmlIcon(sb);}},toHtml:function(){var $0=new Spotted.System.Text.StringBuilder();this.appendHtml($0);return $0.toString();},toHtmlInner:function(){var $0=new Spotted.System.Text.StringBuilder();this.appendHtmlInner($0);return $0.toString();},hideImmediate:function(){this.holderElement.style.display='none';},hideAnimate:function(direction){var $0={};$0['direction']=direction;$0['easing']='easeOutQuint';this.holderJQ.hide('drop',$0,500,Function.createDelegate(this,function(){
this.details.controller.finishedAnimationTask('EventPage_HideAnimate');}));},showImmediate:function(){this.holderElement.style.display='block';},showAnimate:function(direction){this.holderElement.style.display='block';var $0={};$0['direction']=direction;$0['easing']='easeOutQuint';this.holderJQ.show('drop',$0,500,Function.createDelegate(this,function(){
this.details.controller.finishedAnimationTask('EventPage_ShowAnimate');}));},holderElement:null,holderJQ:null,initialiseElements:function(initialiseHolder,createIconsHtml,refreshIconsHtml,initialiseIcons,createInfoHtml,refreshInfoHtml,initialiseInfo){if(createIconsHtml){var $0=document.createElement('div');$0.innerHTML=this.toHtml();this.details.controller.view.get_eventIconsHolder().appendChild($0);}if(initialiseHolder){this.holderElement=document.getElementById(this.holderClientID);this.holderJQ=jQuery(this.holderElement);}if(refreshIconsHtml){this.holderElement.innerHTML=this.details.getEventsIconsHtml();}if(initialiseIcons||createInfoHtml||refreshInfoHtml||initialiseInfo){for(var $1=0;$1<8;$1++){this.details.events[$1].html.initialiseElements(initialiseIcons,createInfoHtml,refreshInfoHtml,initialiseInfo);}}this.elementsInitialised=true;this.updateUI();},updateUI:function(){if(this.elementsInitialised){this.updateHolderUI();}},updateHolderUI:function(){this.holderElement.className=(this.details.get_selected())?'EventBoxPageHolder Selected':'EventBoxPageHolder';}}
SpottedScript.Controls.EventBox.Shared.EventPageStub=function(parentObjectType,parentObjectK,tabType,musicTypeK,pageIndex,requestedPageIndex,events){this.parentObjectType=parentObjectType;this.parentObjectK=parentObjectK;this.tabType=tabType;this.musicTypeK=musicTypeK;this.pageIndex=pageIndex;this.requestedPageIndex=requestedPageIndex;this.events=events;}
SpottedScript.Controls.EventBox.Shared.EventPageStub.prototype={parentObjectType:0,parentObjectK:0,tabType:0,musicTypeK:0,pageIndex:0,requestedPageIndex:0,events:null}
SpottedScript.Controls.EventBox.Controller.registerClass('SpottedScript.Controls.EventBox.Controller');
SpottedScript.Controls.EventBox.Server.registerClass('SpottedScript.Controls.EventBox.Server');
SpottedScript.Controls.EventBox.GotExceptionEventArgs.registerClass('SpottedScript.Controls.EventBox.GotExceptionEventArgs',Sys.EventArgs);
SpottedScript.Controls.EventBox.View.registerClass('SpottedScript.Controls.EventBox.View');
SpottedScript.Controls.EventBox.Shared.EventDetails.registerClass('SpottedScript.Controls.EventBox.Shared.EventDetails');
SpottedScript.Controls.EventBox.Shared.EventHtml.registerClass('SpottedScript.Controls.EventBox.Shared.EventHtml');
SpottedScript.Controls.EventBox.Shared.EventStub.registerClass('SpottedScript.Controls.EventBox.Shared.EventStub');
SpottedScript.Controls.EventBox.Shared.EventPageDetails.registerClass('SpottedScript.Controls.EventBox.Shared.EventPageDetails');
SpottedScript.Controls.EventBox.Shared.EventPageHtml.registerClass('SpottedScript.Controls.EventBox.Shared.EventPageHtml');
SpottedScript.Controls.EventBox.Shared.EventPageStub.registerClass('SpottedScript.Controls.EventBox.Shared.EventPageStub');
