if(!window.Associates){window.Associates=new Object();}
Associates.siteStripeInitLibrary=function(){if(window.goN2LibMon)goN2LibMon.beginLoad('buttons','sitestripe');Associates.AttachEventListener=function(object,event,handler){if(object.addEventListener)
object.addEventListener(event,handler,false);else
object.attachEvent('on'+event,handler);}
Associates.absPos=function(obj){if(!obj.offsetParent)return;var x=0;var y=0;while(obj){y+=obj.offsetTop;x+=obj.offsetLeft;obj=obj.offsetParent;}
return{x:x,y:y};}
String.prototype.Associates_containsToken=function(tok)
{var regex=new RegExp("(?:^| )"+tok+"(?: |$)");return regex.test(this);}
String.prototype.Associates_replaceToken=function(tok,replacement)
{var regex=new RegExp("(?:^| )"+tok+"(?: |$)");return this.replace(regex,"");}
Associates.ButtonStateMachine=function(item){this.item=item;this.setDOMHandlers();var cap=item.firstChild;while(cap&&(!cap.className||!cap.className.Associates_containsToken('button_left_cap')))
cap=cap.nextSibling;this.end_cap=cap;}
Associates.ButtonStateMachine.prototype.setDOMHandlers=function(){var me_obj=this;Associates.AttachEventListener(this.item,'mouseover',function(event){me_obj.setHovered(true)});Associates.AttachEventListener(this.item,'mouseout',function(event){me_obj.setHovered(false)});Associates.AttachEventListener(this.item,'mousedown',function(event){me_obj.setPressed(true)});Associates.AttachEventListener(this.item,'mouseup',function(event){me_obj.setPressed(false)});Associates.AttachEventListener(this.item,'click',function(event){me_obj.click(event)});}
Associates.ButtonStateMachine.prototype.click=function(event){var links=this.item.getElementsByTagName('A');var link=links[0];var target=(event.target)?event.target:event.srcElement;if(!link||link==target){return}
if(this.item.className.Associates_containsToken('menu_button')){if(link.click)
link.click();else if(link.onclick)
link.onclick();return;}
this.setHovered(false);document.location=link.href;}
Associates.ButtonStateMachine.prototype._setButtonState=function(state){if(!state.match(/^(hover|down|normal)$/))
return;if(state=='normal')
state='';this.item.className=this.item.className.Associates_replaceToken('(?:hover_button|down_button)',"");this.end_cap.className=this.end_cap.className.Associates_replaceToken('(?:hover_left_cap|down_left_cap)',"");if(state!=''){this.item.className=this.item.className+" "+state+'_button';this.end_cap.className=this.end_cap.className+" "
+state+'_left_cap';}}
Associates.ButtonStateMachine.prototype.setHovered=function(hovered){this.hovered=hovered;if(this.lock_pressed)
return;this._setButtonState(hovered?'hover':'normal');}
Associates.ButtonStateMachine.prototype.setPressed=function(pressed){if(pressed){this._setButtonState('down');}else{this._setButtonState(this.hovered?'hover':'normal');}}
Associates.ButtonStateMachine.prototype.lockPressed=function(pressed){this.lock_pressed=pressed;this.setPressed(pressed);}
Associates.ButtonStateMachine.initButtonsFoundInElement=function(el){var buttons=el.getElementsByTagName('DIV');var objs=new Array();for(var i=0;i<buttons.length;i++){if(!buttons[i].className.Associates_containsToken('button')||buttons[i].className.Associates_containsToken('disabled_button'))
continue;if(buttons[i].Associates_button_state_machine&&buttons[i].Associates_button_state_machine.setDOMHandlers){buttons[i].Associates_button_state_machine.setDOMHandlers();}else{buttons[i].Associates_button_state_machine=new Associates.ButtonStateMachine(buttons[i]);}}}
Associates.ButtonStateMachine.init=function(){try{document.execCommand("BackgroundImageCache",false,true);}catch(ex){}
var wrap=document.getElementById(Associates.siteStripePrefix+'wrap');Associates.ButtonStateMachine.initButtonsFoundInElement(wrap);}
Associates.SiteStripeSettings={};Associates.SiteStripeSettings.init=function()
{Associates.assocStripeSettingsPop=new N2SimplePopover();goN2Events.registerFeature(Associates.siteStripePrefix+'settings_trigger','Associates.assocStripeSettingsPop',null,'n2MouseOutHotspot','n2HotspotClick');Associates.assocStripeSettingsPop.initialize(Associates.siteStripePrefix+'settings_dyn','Associates.assocStripeSettingsPop',null,null,'below',-3,5);Associates.SiteStripeSettings.setCallbacks();Associates.assocStripeSettingsPop.configureAnimation(0,0);Associates.ButtonStateMachine.init();};Associates.SiteStripeSettings.setCallbacks=function()
{Associates.assocStripeSettingsPop.setCallback('afterShow',function(){var el=document.getElementById(Associates.siteStripePrefix+'settings_dyn');Associates.ButtonStateMachine.initButtonsFoundInElement(el);});Associates.assocStripeSettingsPop.setCallback('beforeShow',function(){var settings=document.getElementById(Associates.siteStripePrefix+'_settings_button');settings.Associates_button_state_machine.lockPressed(true);var button=document.getElementById(Associates.siteStripePrefix+'_settings_button');var link=button.getElementsByTagName('A')[0];var link_pos=Associates.absPos(link);var button_pos=Associates.absPos(button);var bottom_diff=(button_pos.y+button.offsetHeight)
-(link_pos.y+link.offsetHeight);var left_diff=button_pos.x-link_pos.x;Associates.assocStripeSettingsPop.locateAt('below',left_diff,bottom_diff);});Associates.assocStripeSettingsPop.setCallback('beforeHide',function(){var settings=document.getElementById(Associates.siteStripePrefix+'_settings_button');settings.Associates_button_state_machine.lockPressed(false);return true;});};if(window.goN2LibMon)goN2LibMon.endLoad('buttons','sitestripe');};n2RunIfLoaded('simplePopover',Associates.siteStripeInitLibrary,'buttons');