var a,Spry;Spry||(Spry={});if(!Spry.Widget)Spry.Widget={};
Spry.Widget.Accordion=function(b,c){this.element=this.getElement(b);this.defaultPanel=0;this.hoverClass="AccordionPanelTabHover";this.openClass="AccordionPanelOpen";this.closedClass="AccordionPanelClosed";this.focusedClass="AccordionFocused";this.enableKeyboardNavigation=this.enableAnimation=true;this.hasFocus=this.animator=this.currentPanel=null;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,c,true);if(this.useFixedPanelHeights&&!this.fixedPanelHeight){var d=0,e=this;$(this.element).children(".AccordionPanel").each(function(){var g=e.getPanelContent(this),f;if(g){$(g).show().height("auto");f=$(g).height();if(d<f)d=f;$(g).hide().height(0)}});this.fixedPanelHeight=d+20}this.attachBehaviors()};Spry.Widget.Accordion.prototype.getElement=function(b){if(b&&typeof b=="string")return document.getElementById(b);return b};
Spry.Widget.Accordion.prototype.addClassName=function(b,c){!b||!c||b.className&&b.className.search(new RegExp("\\b"+c+"\\b"))!=-1||(b.className+=(b.className?" ":"")+c)};Spry.Widget.Accordion.prototype.removeClassName=function(b,c){if(!(!b||!c||b.className&&b.className.search(new RegExp("\\b"+c+"\\b"))==-1))b.className=b.className.replace(new RegExp("\\s*\\b"+c+"\\b","g"),"")};Spry.Widget.Accordion.setOptions=function(b,c,d){if(c)for(var e in c)d&&c[e]==undefined||(b[e]=c[e])};a=Spry.Widget.Accordion.prototype;
a.onPanelTabMouseOver=function(b,c){c&&this.addClassName(this.getPanelTab(c),this.hoverClass);return false};a.onPanelTabMouseOut=function(b,c){c&&this.removeClassName(this.getPanelTab(c),this.hoverClass);return false};
a.openPanel=function(b){var c=this.currentPanel;b=typeof b=="number"?this.getPanels()[b]:this.getElement(b);if(!b||c==b)return null;var d=c?this.getPanelContent(c):null,e=this.getPanelContent(b);if(this.useFixedPanelHeights&&!this.fixedPanelHeight&&d)this.fixedPanelHeight=d.offsetHeight?d.offsetHeight:d.scrollHeight;if(this.enableAnimation){this.animator&&this.animator.stop();this.animator=new Spry.Widget.Accordion.PanelAnimator(this,b,{duration:this.duration,fps:this.fps,transition:this.transition});
this.animator.start()}else{if(d){d.style.display="none";d.style.height="0px"}e.style.display="block";e.style.height="auto";e.style.height=(this.useFixedPanelHeights&&this.fixedPanelHeight?this.fixedPanelHeight:e.scrollHeight)+"px"}if(c){this.removeClassName(c,this.openClass);this.addClassName(c,this.closedClass)}this.removeClassName(b,this.closedClass);this.addClassName(b,this.openClass);return this.currentPanel=b};
a.closePanel=function(){if(!this.useFixedPanelHeights&&this.currentPanel){var b=this.currentPanel,c=this.getPanelContent(b);if(c)if(this.enableAnimation){this.animator&&this.animator.stop();this.animator=new Spry.Widget.Accordion.PanelAnimator(this,null,{duration:this.duration,fps:this.fps,transition:this.transition});this.animator.start()}else{c.style.display="none";c.style.height="0px"}this.removeClassName(b,this.openClass);this.addClassName(b,this.closedClass);this.currentPanel=null}};
a.openNextPanel=function(){return this.openPanel(this.getCurrentPanelIndex()+1)};a.openPreviousPanel=function(){return this.openPanel(this.getCurrentPanelIndex()-1)};a.openFirstPanel=function(){return this.openPanel(0)};a.openLastPanel=function(){var b=this.getPanels();return this.openPanel(b[b.length-1])};
a.onPanelTabClick=function(b,c){var d=$(c).find("div.AccordionPanelTab a[href]"),e=$(c).find("div.AccordionPanelContent");if(d.length&&e.length){document.location=d[0].href;return false}c!=this.currentPanel?this.openPanel(c):this.closePanel();this.enableKeyboardNavigation&&this.focus();if(d.length)document.location=d[0].href;if(b.preventDefault)b.preventDefault();else b.returnValue=false;if(b.stopPropagation)b.stopPropagation();else b.cancelBubble=true;return false};
a.onFocus=function(b){this.hasFocus=true;this.addClassName(this.element,this.focusedClass);return false};a.onBlur=function(b){this.hasFocus=false;this.removeClassName(this.element,this.focusedClass);return false};Spry.Widget.Accordion.KEY_UP=38;Spry.Widget.Accordion.KEY_DOWN=40;
Spry.Widget.Accordion.prototype.onKeyDown=function(b){var c=b.keyCode;if(!this.hasFocus||c!=this.previousPanelKeyCode&&c!=this.nextPanelKeyCode)return true;var d=this.getPanels();if(!d||d.length<1)return false;d=this.currentPanel?this.currentPanel:d[0];for(var e=c==this.nextPanelKeyCode?d.nextSibling:d.previousSibling;e;){if(e.nodeType==1)break;e=c==this.nextPanelKeyCode?e.nextSibling:e.previousSibling}e&&d!=e&&this.openPanel(e);if(b.preventDefault)b.preventDefault();else b.returnValue=false;if(b.stopPropagation)b.stopPropagation();
else b.cancelBubble=true;return false};Spry.Widget.Accordion.prototype.attachPanelHandlers=function(b){if(b){var c=this.getPanelTab(b);if(c){var d=this;Spry.Widget.Accordion.addEventListener(c,"click",function(e){return d.onPanelTabClick(e,b)},false);Spry.Widget.Accordion.addEventListener(c,"mouseover",function(e){return d.onPanelTabMouseOver(e,b)},false);Spry.Widget.Accordion.addEventListener(c,"mouseout",function(e){return d.onPanelTabMouseOut(e,b)},false)}}};
Spry.Widget.Accordion.addEventListener=function(b,c,d,e){try{if(b.addEventListener)b.addEventListener(c,d,e);else b.attachEvent&&b.attachEvent("on"+c,d)}catch(g){}};a=Spry.Widget.Accordion.prototype;
a.initPanel=function(b,c){var d=this.getPanelContent(b);if(c){this.currentPanel=b;this.removeClassName(b,this.closedClass);this.addClassName(b,this.openClass);if(d){if(this.useFixedPanelHeights){if(this.fixedPanelHeight)d.style.height=this.fixedPanelHeight+"px"}else d.style.height="auto";d.style.display="block"}}else{this.removeClassName(b,this.openClass);this.addClassName(b,this.closedClass);if(d){d.style.height="0px";d.style.display="none"}}this.attachPanelHandlers(b)};
a.attachBehaviors=function(){for(var b=this.getPanels(),c=0;c<b.length;c++)this.initPanel(b[c],c==this.defaultPanel);if(this.enableKeyboardNavigation=this.enableKeyboardNavigation&&this.element.attributes.getNamedItem("tabindex")){var d=this;Spry.Widget.Accordion.addEventListener(this.element,"focus",function(e){return d.onFocus(e)},false);Spry.Widget.Accordion.addEventListener(this.element,"blur",function(e){return d.onBlur(e)},false);Spry.Widget.Accordion.addEventListener(this.element,"keydown",
function(e){return d.onKeyDown(e)},false)}};a.getPanels=function(){return this.getElementChildren(this.element)};a.getCurrentPanel=function(){return this.currentPanel};a.getPanelIndex=function(b){for(var c=this.getPanels(),d=0;d<c.length;d++)if(b==c[d])return d;return-1};a.getCurrentPanelIndex=function(){return this.getPanelIndex(this.currentPanel)};a.getPanelTab=function(b){if(!b)return null;return this.getElementChildren(b)[0]};a.getPanelContent=function(b){if(!b)return null;return this.getElementChildren(b)[1]};
a.getElementChildren=function(b){var c=[];for(b=b.firstChild;b;){b.nodeType==1&&c.push(b);b=b.nextSibling}return c};a.focus=function(){this.element&&this.element.focus&&this.element.focus()};a.blur=function(){this.element&&this.element.blur&&this.element.blur()};
Spry.Widget.Accordion.PanelAnimator=function(b,c,d){this.timer=null;this.interval=0;this.fps=60;this.duration=500;this.startTime=0;this.transition=Spry.Widget.Accordion.PanelAnimator.defaultTransition;this.onComplete=null;this.panel=c;this.panelToOpen=b.getElement(c);this.panelData=[];Spry.Widget.Accordion.setOptions(this,d,true);this.interval=Math.floor(1000/this.fps);d=b.getPanels();for(var e=0;e<d.length;e++){var g=d[e],f=b.getPanelContent(g);if(f){var j=f.offsetHeight;if(j==undefined)j=0;if(g==
c&&j==0)f.style.display="block";if(g==c||j>0){var h={};h.panel=g;h.content=f;h.fromHeight=j;f.style.overflow="hidden";if(g!=c)h.toHeight=0;else if($(f).find("ul").length==0)h.toHeight=j;else if(b.useFixedPanelHeights)h.toHeight=b.fixedPanelHeight;else{g=f.style.height;f.style.height="auto";h.toHeight=f.scrollHeight;f.style.height=g}h.distance=h.toHeight-h.fromHeight;h.overflow=f.style.overflow;this.panelData.push(h);f.style.height=j+"px"}}}};
Spry.Widget.Accordion.PanelAnimator.defaultTransition=function(b,c,d,e){b/=e;return c+(2-b)*b*d};Spry.Widget.Accordion.PanelAnimator.prototype.start=function(){var b=this;this.startTime=(new Date).getTime();this.timer=setTimeout(function(){b.stepAnimation()},this.interval)};Spry.Widget.Accordion.PanelAnimator.prototype.stop=function(){if(this.timer){clearTimeout(this.timer);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(){var b=(new Date).getTime();b=b-this.startTime;var c,d;if(b>=this.duration){for(c=0;c<this.panelData.length;c++){d=this.panelData[c];if(d.panel!=this.panel)d.content.style.display="none";d.content.style.overflow=d.overflow;d.content.style.height=d.toHeight+"px"}this.onComplete&&this.onComplete()}else{for(c=0;c<this.panelData.length;c++){d=this.panelData[c];var e=this.transition(b,d.fromHeight,d.distance,this.duration);d.content.style.height=
(e<0?0:e)+"px"}var g=this;this.timer=setTimeout(function(){g.stepAnimation()},this.interval)}};