/*---------- Copyright 2012 Neotek Limited (http://www.neotek.co.nz). All rights reserved. -----------*/
 
/* ---------- SpryTabbedPanels.js ---------- */
var Spry;if(!Spry){Spry={}}if(!Spry.Widget){Spry.Widget={}}Spry.Widget.TabbedPanels=function(b,c){this.element=this.getElement(b);this.defaultTab=0;this.tabSelectedClass="TabbedPanelsTabSelected";this.tabHoverClass="TabbedPanelsTabHover";this.tabFocusedClass="TabbedPanelsTabFocused";this.panelVisibleClass="TabbedPanelsContentVisible";this.focusElement=null;this.hasFocus=false;this.currentTabIndex=0;this.enableKeyboardNavigation=true;this.nextPanelKeyCode=Spry.Widget.TabbedPanels.KEY_RIGHT;this.previousPanelKeyCode=Spry.Widget.TabbedPanels.KEY_LEFT;Spry.Widget.TabbedPanels.setOptions(this,c);if(typeof(this.defaultTab)=="number"){if(this.defaultTab<0){this.defaultTab=0}else{var a=this.getTabbedPanelCount();if(this.defaultTab>=a){this.defaultTab=(a>1)?(a-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,d,a){if(!d){return}for(var c in d){if(a&&d[c]==undefined){continue}b[c]=d[c]}};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(b,a){b=this.getElement(b);if(b&&a&&a.length){for(var c=0;c<a.length;c++){if(b==a[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(c,d,f,a){try{if(c.addEventListener){c.addEventListener(d,f,a)}else{if(c.attachEvent){c.attachEvent("on"+d,f)}}}catch(b){}};Spry.Widget.TabbedPanels.prototype.cancelEvent=function(a){if(a.preventDefault){a.preventDefault()}else{a.returnValue=false}if(a.stopPropagation){a.stopPropagation()}else{a.cancelBubble=true}return false};Spry.Widget.TabbedPanels.prototype.onTabClick=function(a,b){this.showPanel(b);return this.cancelEvent(a)};var tabshow;Spry.Widget.TabbedPanels.prototype.onTabMouseOver=function(a,b){this.addClassName(b,this.tabHoverClass)};Spry.Widget.TabbedPanels.prototype.onTabMouseOut=function(a,b){if(tabshow){clearTimeout(tabshow)}this.removeClassName(b,this.tabHoverClass);return false};Spry.Widget.TabbedPanels.prototype.onTabFocus=function(a,b){this.hasFocus=true;this.addClassName(b,this.tabFocusedClass);return false};Spry.Widget.TabbedPanels.prototype.onTabBlur=function(a,b){this.hasFocus=false;this.removeClassName(b,this.tabFocusedClass);return false};Spry.Widget.TabbedPanels.KEY_UP=38;Spry.Widget.TabbedPanels.KEY_DOWN=40;Spry.Widget.TabbedPanels.KEY_LEFT=37;Spry.Widget.TabbedPanels.KEY_RIGHT=39;Spry.Widget.TabbedPanels.prototype.onTabKeyDown=function(a,f){var d=a.keyCode;if(!this.hasFocus||(d!=this.previousPanelKeyCode&&d!=this.nextPanelKeyCode)){return true}var g=this.getTabs();for(var c=0;c<g.length;c++){if(g[c]==f){var b=false;if(d==this.previousPanelKeyCode&&c>0){b=g[c-1]}else{if(d==this.nextPanelKeyCode&&c<g.length-1){b=g[c+1]}}if(b){this.showPanel(b);b.focus();break}}}return this.cancelEvent(a)};Spry.Widget.TabbedPanels.prototype.preorderTraversal=function(d,c){var f=false;if(d){f=c(d);if(d.hasChildNodes()){var a=d.firstChild;while(!f&&a){f=this.preorderTraversal(a,c);try{a=a.nextSibling}catch(b){a=null}}}}return f};Spry.Widget.TabbedPanels.prototype.addPanelEventListeners=function(c,a){var b=this;Spry.Widget.TabbedPanels.addEventListener(c,"click",function(f){return b.onTabClick(f,c)},false);Spry.Widget.TabbedPanels.addEventListener(c,"mouseover",function(f){return b.onTabMouseOver(f,c)},false);Spry.Widget.TabbedPanels.addEventListener(c,"mouseout",function(f){return b.onTabMouseOut(f,c)},false);if(this.enableKeyboardNavigation){var e=null;var d=null;this.preorderTraversal(c,function(f){if(f.nodeType==1){var g=c.attributes.getNamedItem("tabindex");if(g){e=f;return true}if(!d&&f.nodeName.toLowerCase()=="a"){d=f}}return false});if(e){this.focusElement=e}else{if(d){this.focusElement=d}}if(this.focusElement){Spry.Widget.TabbedPanels.addEventListener(this.focusElement,"focus",function(f){return b.onTabFocus(f,c)},false);Spry.Widget.TabbedPanels.addEventListener(this.focusElement,"blur",function(f){return b.onTabBlur(f,c)},false);Spry.Widget.TabbedPanels.addEventListener(this.focusElement,"keydown",function(f){return b.onTabKeyDown(f,c)},false)}}};Spry.Widget.TabbedPanels.prototype.showPanel=function(a){var f=-1;if(typeof a=="number"){f=a}else{f=this.getTabIndex(a)}if(!f<0||f>=this.getTabbedPanelCount()){return}var e=this.getTabs();var d=this.getContentPanels();var c=Math.max(e.length,d.length);for(var b=0;b<c;b++){if(b!=f){if(e[b]){this.removeClassName(e[b],this.tabSelectedClass)}if(d[b]){this.removeClassName(d[b],this.panelVisibleClass);d[b].style.display="none"}}}this.addClassName(e[f],this.tabSelectedClass);this.addClassName(d[f],this.panelVisibleClass);d[f].style.display="block";this.currentTabIndex=f};Spry.Widget.TabbedPanels.prototype.attachBehaviors=function(a){var e=this.getTabs();var d=this.getContentPanels();var c=this.getTabbedPanelCount();for(var b=0;b<c;b++){this.addPanelEventListeners(e[b],d[b])}this.showPanel(this.defaultTab)}; 
/* -------- SpryTabbedPanels.js End -------- */
 
/*  Created in 31.2001 milliseconds */
