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