var Spry;if(!Spry)Spry={};if(!Spry.Widget)Spry.Widget={};Spry.Widget.TabbedPanels=function(a,b){this.element=this.getElement(a);this.defaultTab=0;this.bindings=[];this.tabSelectedClass="TabbedPanelsTabSelected";this.tabHoverClass="TabbedPanelsTabHover";this.tabFocusedClass="TabbedPanelsTabFocused";this.panelVisibleClass="TabbedPanelsContentVisible";this.focusElement=null;this.hasFocus=false;this.currentTabIndex=0;this.enableKeyboardNavigation=true;Spry.Widget.TabbedPanels.setOptions(this,b);if(typeof this.defaultTab=="number"){if(this.defaultTab<0)this.defaultTab=0;else{var c=this.getTabbedPanelCount();if(this.defaultTab>=c)this.defaultTab=c>1?c-1:0}this.defaultTab=this.getTabs()[this.defaultTab]}if(this.defaultTab)this.defaultTab=this.getElement(this.defaultTab);this.attachBehaviors()};Spry.Widget.TabbedPanels.prototype.getElement=function(a){if(a&&typeof a=="string")return document.getElementById(a);return a};Spry.Widget.TabbedPanels.prototype.getElementChildren=function(a){var b=[];var c=a.firstChild;while(c){if(c.nodeType==1)b.push(c);c=c.nextSibling}return b};Spry.Widget.TabbedPanels.prototype.addClassName=function(a,b){if(!a||!b||a.className&&a.className.search(new RegExp("\\b"+b+"\\b"))!=-1)return;a.className+=(a.className?" ":"")+b};Spry.Widget.TabbedPanels.prototype.removeClassName=function(a,b){if(!a||!b||a.className&&a.className.search(new RegExp("\\b"+b+"\\b"))==-1)return;a.className=a.className.replace(new RegExp("\\s*\\b"+b+"\\b","g"),"")};Spry.Widget.TabbedPanels.setOptions=function(a,b,c){if(!b)return;for(var d in b){if(c&&b[d]==undefined)continue;a[d]=b[d]}};Spry.Widget.TabbedPanels.prototype.getTabGroup=function(){if(this.element){var a=this.getElementChildren(this.element);if(a.length)return a[0]}return null};Spry.Widget.TabbedPanels.prototype.getTabs=function(){var a=[];var b=this.getTabGroup();if(b)a=this.getElementChildren(b);return a};Spry.Widget.TabbedPanels.prototype.getContentPanelGroup=function(){if(this.element){var a=this.getElementChildren(this.element);if(a.length>1)return a[1]}return null};Spry.Widget.TabbedPanels.prototype.getContentPanels=function(){var a=[];var b=this.getContentPanelGroup();if(b)a=this.getElementChildren(b);return a};Spry.Widget.TabbedPanels.prototype.getIndex=function(a,b){a=this.getElement(a);if(a&&b&&b.length){for(var c=0;c<b.length;c++){if(a==b[c])return c}}return-1};Spry.Widget.TabbedPanels.prototype.getTabIndex=function(a){var b=this.getIndex(a,this.getTabs());if(b<0)b=this.getIndex(a,this.getContentPanels());return b};Spry.Widget.TabbedPanels.prototype.getCurrentTabIndex=function(){return this.currentTabIndex};Spry.Widget.TabbedPanels.prototype.getTabbedPanelCount=function(a){return Math.min(this.getTabs().length,this.getContentPanels().length)};Spry.Widget.TabbedPanels.addEventListener=function(a,b,c,d){try{if(a.addEventListener)a.addEventListener(b,c,d);else if(a.attachEvent)a.attachEvent("on"+b,c)}catch(e){}};Spry.Widget.TabbedPanels.prototype.onTabClick=function(a,b){this.showPanel(b)};Spry.Widget.TabbedPanels.prototype.onTabMouseOver=function(a,b){this.addClassName(b,this.tabHoverClass)};Spry.Widget.TabbedPanels.prototype.onTabMouseOut=function(a,b){this.removeClassName(b,this.tabHoverClass)};Spry.Widget.TabbedPanels.prototype.onTabFocus=function(a,b){this.hasFocus=true;this.addClassName(this.element,this.tabFocusedClass)};Spry.Widget.TabbedPanels.prototype.onTabBlur=function(a,b){this.hasFocus=false;this.removeClassName(this.element,this.tabFocusedClass)};Spry.Widget.TabbedPanels.ENTER_KEY=13;Spry.Widget.TabbedPanels.SPACE_KEY=32;Spry.Widget.TabbedPanels.prototype.onTabKeyDown=function(a,b){var c=a.keyCode;if(!this.hasFocus||c!=Spry.Widget.TabbedPanels.ENTER_KEY&&c!=Spry.Widget.TabbedPanels.SPACE_KEY)return true;this.showPanel(b);if(a.stopPropagation)a.stopPropagation();if(a.preventDefault)a.preventDefault();return false};Spry.Widget.TabbedPanels.prototype.preorderTraversal=function(a,b){var c=false;if(a){c=b(a);if(a.hasChildNodes()){var d=a.firstChild;while(!c&&d){c=this.preorderTraversal(d,b);try{d=d.nextSibling}catch(e){d=null}}}}return c};Spry.Widget.TabbedPanels.prototype.addPanelEventListeners=function(a,b){var c=this;Spry.Widget.TabbedPanels.addEventListener(a,"click",function(b){return c.onTabClick(b,a)},false);Spry.Widget.TabbedPanels.addEventListener(a,"mouseover",function(b){return c.onTabMouseOver(b,a)},false);Spry.Widget.TabbedPanels.addEventListener(a,"mouseout",function(b){return c.onTabMouseOut(b,a)},false);if(this.enableKeyboardNavigation){var d=null;var e=null;this.preorderTraversal(a,function(b){if(b.nodeType==1){var c=a.attributes.getNamedItem("tabindex");if(c){d=b;return true}if(!e&&b.nodeName.toLowerCase()=="a")e=b}return false});if(d)this.focusElement=d;else if(e)this.focusElement=e;if(this.focusElement){Spry.Widget.TabbedPanels.addEventListener(this.focusElement,"focus",function(b){return c.onTabFocus(b,a)},false);Spry.Widget.TabbedPanels.addEventListener(this.focusElement,"blur",function(b){return c.onTabBlur(b,a)},false);Spry.Widget.TabbedPanels.addEventListener(this.focusElement,"keydown",function(b){return c.onTabKeyDown(b,a)},false)}}};Spry.Widget.TabbedPanels.prototype.showPanel=function(a){var b=-1;if(typeof a=="number")b=a;else b=this.getTabIndex(a);if(!b<0||b>=this.getTabbedPanelCount())return;var c=this.getTabs();var d=this.getContentPanels();var e=Math.max(c.length,d.length);for(var f=0;f<e;f++){if(f!=b){if(c[f])this.removeClassName(c[f],this.tabSelectedClass);if(d[f]){this.removeClassName(d[f],this.panelVisibleClass);d[f].style.display="none"}}}this.addClassName(c[b],this.tabSelectedClass);this.addClassName(d[b],this.panelVisibleClass);d[b].style.display="block";this.currentTabIndex=b};Spry.Widget.TabbedPanels.prototype.attachBehaviors=function(a){var b=this.getTabs();var c=this.getContentPanels();var d=this.getTabbedPanelCount();for(var e=0;e<d;e++)this.addPanelEventListeners(b[e],c[e]);this.showPanel(this.defaultTab)}
