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