var Spry;if(!Spry){Spry={};}if(!Spry.Widget){Spry.Widget={};}Spry.Widget.Accordion=function(_1,_2){this.element=this.getElement(_1);this.defaultPanel=0;this.hoverClass="AccordionPanelTabHover";this.openClass="AccordionPanelOpen";this.closedClass="AccordionPanelClosed";this.focusedClass="AccordionFocused";this.enableAnimation=true;this.enableKeyboardNavigation=true;this.currentPanel=null;this.animator=null;this.hasFocus=null;this.duration=500;this.previousPanelKeyCode=Spry.Widget.Accordion.KEY_UP;this.nextPanelKeyCode=Spry.Widget.Accordion.KEY_DOWN;this.useFixedPanelHeights=true;this.fixedPanelHeight=0;Spry.Widget.Accordion.setOptions(this,_2,true);if(Spry.Widget.Accordion.onloadDidFire){this.attachBehaviors();}else{Spry.Widget.Accordion.loadQueue.push(this);}};Spry.Widget.Accordion.onloadDidFire=false;Spry.Widget.Accordion.loadQueue=[];Spry.Widget.Accordion.addLoadListener=function(_3){if(typeof window.addEventListener!="undefined"){window.addEventListener("load",_3,false);}else{if(typeof document.addEventListener!="undefined"){document.addEventListener("load",_3,false);}else{if(typeof window.attachEvent!="undefined"){window.attachEvent("onload",_3);}}}};Spry.Widget.Accordion.processLoadQueue=function(_4){Spry.Widget.Accordion.onloadDidFire=true;var q=Spry.Widget.Accordion.loadQueue;var _6=q.length;for(var i=0;i<_6;i++){q[i].attachBehaviors();}};Spry.Widget.Accordion.addLoadListener(Spry.Widget.Accordion.processLoadQueue);Spry.Widget.Accordion.prototype.getElement=function(_8){if(_8&&typeof _8=="string"){return document.getElementById(_8);}return _8;};Spry.Widget.Accordion.prototype.addClassName=function(_9,_a){if(!_9||!_a||(_9.className&&_9.className.search(new RegExp("\\b"+_a+"\\b"))!=-1)){return;}_9.className+=(_9.className?" ":"")+_a;};Spry.Widget.Accordion.prototype.removeClassName=function(_b,_c){if(!_b||!_c||(_b.className&&_b.className.search(new RegExp("\\b"+_c+"\\b"))==-1)){return;}_b.className=_b.className.replace(new RegExp("\\s*\\b"+_c+"\\b","g"),"");};Spry.Widget.Accordion.setOptions=function(_d,_e,_f){if(!_e){return;}for(var _10 in _e){if(_f&&_e[_10]==undefined){continue;}_d[_10]=_e[_10];}};Spry.Widget.Accordion.prototype.onPanelTabMouseOver=function(_11){if(_11){this.addClassName(this.getPanelTab(_11),this.hoverClass);}};Spry.Widget.Accordion.prototype.onPanelTabMouseOut=function(_12){if(_12){this.removeClassName(this.getPanelTab(_12),this.hoverClass);}};Spry.Widget.Accordion.prototype.openPanel=function(_13){var _14=this.currentPanel;var _15=_13;if(!_15||_14==_15){return;}var _16;if(_14){_16=this.getPanelContent(_14);}var _17=this.getPanelContent(_15);if(!_17){return;}if(this.useFixedPanelHeights&&!this.fixedPanelHeight){this.fixedPanelHeight=(_16.offsetHeight)?_16.offsetHeight:_16.scrollHeight;}if(this.enableAnimation){if(this.animator){this.animator.stop();}this.animator=new Spry.Widget.Accordion.PanelAnimator(this,_15,{duration:this.duration});this.animator.start();}else{if(_16){_16.style.height="0px";}_17.style.height=(this.useFixedPanelHeights?this.fixedPanelHeight:_17.scrollHeight)+"px";}if(_14){this.removeClassName(_14,this.openClass);this.addClassName(_14,this.closedClass);}this.removeClassName(_15,this.closedClass);this.addClassName(_15,this.openClass);this.currentPanel=_15;};Spry.Widget.Accordion.prototype.openNextPanel=function(){var _18=this.getPanels();var _19=this.getCurrentPanelIndex();if(_18&&_19>=0&&(_19+1)<_18.length){this.openPanel(_18[_19+1]);}};Spry.Widget.Accordion.prototype.openPreviousPanel=function(){var _1a=this.getPanels();var _1b=this.getCurrentPanelIndex();if(_1a&&_1b>0&&_1b<_1a.length){this.openPanel(_1a[_1b-1]);}};Spry.Widget.Accordion.prototype.openFirstPanel=function(){var _1c=this.getPanels();if(_1c){this.openPanel(_1c[0]);}};Spry.Widget.Accordion.prototype.openLastPanel=function(){var _1d=this.getPanels();if(_1d){this.openPanel(_1d[_1d.length-1]);}};Spry.Widget.Accordion.prototype.onPanelClick=function(_1e){if(_1e!=this.currentPanel){this.openPanel(_1e);}this.focus();};Spry.Widget.Accordion.prototype.onFocus=function(e){this.hasFocus=true;this.addClassName(this.element,this.focusedClass);};Spry.Widget.Accordion.prototype.onBlur=function(e){this.hasFocus=false;this.removeClassName(this.element,this.focusedClass);};Spry.Widget.Accordion.KEY_UP=38;Spry.Widget.Accordion.KEY_DOWN=40;Spry.Widget.Accordion.prototype.onKeyDown=function(e){var key=e.keyCode;if(!this.hasFocus||(key!=this.previousPanelKeyCode&&key!=this.nextPanelKeyCode)){return true;}var _23=this.getPanels();if(!_23||_23.length<1){return false;}var _24=this.currentPanel?this.currentPanel:_23[0];var _25=(key==this.nextPanelKeyCode)?_24.nextSibling:_24.previousSibling;while(_25){if(_25.nodeType==1){break;}_25=(key==this.nextPanelKeyCode)?_25.nextSibling:_25.previousSibling;}if(_25&&_24!=_25){this.openPanel(_25);}if(e.stopPropagation){e.stopPropagation();}if(e.preventDefault){e.preventDefault();}return false;};Spry.Widget.Accordion.prototype.attachPanelHandlers=function(_26){if(!_26){return;}var tab=this.getPanelTab(_26);if(tab){var _28=this;Spry.Widget.Accordion.addEventListener(tab,"click",function(e){return _28.onPanelClick(_26);},false);Spry.Widget.Accordion.addEventListener(tab,"mouseover",function(e){return _28.onPanelTabMouseOver(_26);},false);Spry.Widget.Accordion.addEventListener(tab,"mouseout",function(e){return _28.onPanelTabMouseOut(_26);},false);}};Spry.Widget.Accordion.addEventListener=function(_2c,_2d,_2e,_2f){try{if(_2c.addEventListener){_2c.addEventListener(_2d,_2e,_2f);}else{if(_2c.attachEvent){_2c.attachEvent("on"+_2d,_2e);}}}catch(e){}};Spry.Widget.Accordion.prototype.initPanel=function(_30,_31){var _32=this.getPanelContent(_30);if(_31){this.currentPanel=_30;this.removeClassName(_30,this.closedClass);this.addClassName(_30,this.openClass);}else{this.removeClassName(_30,this.openClass);this.addClassName(_30,this.closedClass);_32.style.height="0px";}this.attachPanelHandlers(_30);};Spry.Widget.Accordion.prototype.attachBehaviors=function(){var _33=this.getPanels();for(var i=0;i<_33.length;i++){this.initPanel(_33[i],i==this.defaultPanel);}if(this.enableKeyboardNavigation){var _35=this.element.attributes.getNamedItem("tabindex");if(_35){var _36=this;Spry.Widget.Accordion.addEventListener(this.element,"focus",function(e){return _36.onFocus(e);},false);Spry.Widget.Accordion.addEventListener(this.element,"blur",function(e){return _36.onBlur(e);},false);Spry.Widget.Accordion.addEventListener(this.element,"keydown",function(e){return _36.onKeyDown(e);},false);}}};Spry.Widget.Accordion.prototype.getPanels=function(){return this.getElementChildren(this.element);};Spry.Widget.Accordion.prototype.getCurrentPanel=function(){return this.currentPanel;};Spry.Widget.Accordion.prototype.getCurrentPanelIndex=function(){var _3a=this.getPanels();for(var i=0;i<_3a.length;i++){if(this.currentPanel==_3a[i]){return i;}}return 0;};Spry.Widget.Accordion.prototype.getPanelTab=function(_3c){if(!_3c){return null;}return this.getElementChildren(_3c)[0];};Spry.Widget.Accordion.prototype.getPanelContent=function(_3d){if(!_3d){return null;}return this.getElementChildren(_3d)[1];};Spry.Widget.Accordion.prototype.getElementChildren=function(_3e){var _3f=[];var _40=_3e.firstChild;while(_40){if(_40.nodeType==1){_3f.push(_40);}_40=_40.nextSibling;}return _3f;};Spry.Widget.Accordion.prototype.focus=function(){if(this.element&&this.element.focus){this.element.focus();}};Spry.Widget.Accordion.PanelAnimator=function(_41,_42,_43){this.timer=null;this.interval=0;this.stepCount=0;this.fps=0;this.steps=10;this.duration=500;this.onComplete=null;this.panel=_42;this.panelToOpen=_41.getElement(_42);this.panelData=[];Spry.Widget.Accordion.setOptions(this,_43,true);if(this.fps>0){this.interval=Math.floor(1000/this.fps);this.steps=parseInt((this.duration+(this.interval-1))/this.interval);}else{if(this.steps>0){this.interval=this.duration/this.steps;}}var _44=_41.getPanels();for(var i=0;i<_44.length;i++){var p=_44[i];var c=_41.getPanelContent(p);if(c){var h=c.offsetHeight;if(h==undefined){h=0;}if(p==_42||h>0){var obj=new Object;obj.panel=p;obj.content=c;obj.fromHeight=h;obj.toHeight=(p==_42)?(_41.useFixedPanelHeights?_41.fixedPanelHeight:c.scrollHeight):0;obj.increment=(obj.toHeight-obj.fromHeight)/this.steps;obj.overflow=c.style.overflow;this.panelData.push(obj);c.style.overflow="hidden";c.style.height=h+"px";}}}};Spry.Widget.Accordion.PanelAnimator.prototype.start=function(){var _4a=this;this.timer=setTimeout(function(){_4a.stepAnimation();},this.interval);};Spry.Widget.Accordion.PanelAnimator.prototype.stop=function(){if(this.timer){clearTimeout(this.timer);if(this.stepCount<this.steps){for(i=0;i<this.panelData.length;i++){obj=this.panelData[i];obj.content.style.overflow=obj.overflow;}}}this.timer=null;};Spry.Widget.Accordion.PanelAnimator.prototype.stepAnimation=function(){++this.stepCount;this.animate();if(this.stepCount<this.steps){this.start();}else{if(this.onComplete){this.onComplete();}}};Spry.Widget.Accordion.PanelAnimator.prototype.animate=function(){var i,obj;if(this.stepCount>=this.steps){for(i=0;i<this.panelData.length;i++){obj=this.panelData[i];if(obj.panel!=this.panel){obj.content.style.height="0px";}obj.content.style.overflow=obj.overflow;obj.content.style.height=obj.toHeight+"px";}}else{for(i=0;i<this.panelData.length;i++){obj=this.panelData[i];obj.fromHeight+=obj.increment;obj.content.style.height=obj.fromHeight+"px";}}};