var NODE_LAST_FOCUS=null;function TabPanel(a){this.id=a;this.tabs=new Array();this.current_tab=0}TabPanel.prototype.init=function(){this.node=document.getElementById(this.id);var b=this;browser.addEvent(this.node,"click",function(c){handleTabPanelClickEvent(c,b)},false);browser.addEvent(this.node,"keydown",function(c){handleTabPanelKeyDownEvent(c,b)},true);browser.addEvent(this.node,"keypress",function(c){handleTabPanelKeyPressEvent(c,b)},true);for(var a=0;a<this.tabs.length;a++){this.tabs[a].init()}selectTabPanel(this,this.current_tab,true)};TabPanel.prototype.add=function(a){this.tabs[this.tabs.length]=a};function Tab(a,b){this.tab_id=a;this.panel_id=b;this.node_last_focus=null}Tab.prototype.init=function(){};nextTabPanel=function(a){if(a.current_tab<(a.tabs.length-1)){new_tab=a.current_tab+1;selectTabPanel(a,new_tab,false)}};previousTabPanel=function(a){if(a.current_tab>0){new_tab=a.current_tab-1;selectTabPanel(a,new_tab,false)}};selectTabPanel=function(a,b,e){if((b>=0)&&(b<a.tabs.length)){for(var c=0;c<a.tabs.length;c++){if(c!=b){var d=document.getElementById(a.tabs[c].tab_id);d.setAttribute("aria-selected","false");d.className="tab";document.getElementById(a.tabs[c].panel_id).style.display="none";document.getElementById(a.tabs[c].panel_id).setAttribute("aria-hidden","true");document.getElementById(a.tabs[c].tab_id).tabIndex=-1}}a.current_tab=b;var d=document.getElementById(a.tabs[a.current_tab].tab_id);d.setAttribute("aria-selected","true");d.className="tab selected";document.getElementById(a.tabs[a.current_tab].panel_id).style.display="block";document.getElementById(a.tabs[a.current_tab].panel_id).setAttribute("aria-hidden","false");document.getElementById(a.tabs[a.current_tab].tab_id).tabIndex=0;if(a.tabs[a.current_tab].node_last_focus){a.tabs[a.current_tab].node_last_focus.focus()}else{if(e!=true){document.getElementById(a.tabs[a.current_tab].tab_id).focus()}}}};nextTab=function(a,b){var c=indexOfNodeInTabList(a,b);if((c>=0)&&(c<(b.tabs.length-1))){c++;selectTabPanel(b,c,false);document.getElementById(b.tabs[c].tab_id).focus()}};previousTab=function(a,b){var c=indexOfNodeInTabList(a,b);if(c>0){c--;selectTabPanel(b,c,false);document.getElementById(b.tabs[c].tab_id).focus()}};indexOfNodeInTabList=function(a,c){var b=-1;for(var d=0;d<c.tabs.length;d++){if(a==document.getElementById(c.tabs[d].tab_id)||a==document.getElementById("s"+c.tabs[d].tab_id)){b=d}}return b};isNodeInTabList=function(a,c){var b=false;for(var d=0;!b&&(d<c.tabs.length);d++){if(a==document.getElementById(c.tabs[d].tab_id)){b=true}}return b};function handleTabPanelKeyPressEvent(b,a){var c=b||window.event;switch(c.keyCode){case KEY_PAGEUP:case KEY_PAGEDOWN:if(c.ctrlKey&&!c.altKey&&!c.shiftKey){return browser.stopPropagation(c)}break;case KEY_TAB:if(c.ctrlKey&&!c.altKey){return browser.stopPropagation(c)}break}}function handleTabPanelKeyDownEvent(d,b){var f=d||window.event;var c=!f.ctrlKey&&!f.shiftKey;var a=f.ctrlKey&&!f.shiftKey&&!f.altKey;switch(f.keyCode){case KEY_LEFT:case KEY_UP:if(isNodeInTabList(browser.target(f),b)&&c){previousTab(browser.target(f),b);return browser.stopPropagation(d)}break;case KEY_RIGHT:case KEY_DOWN:if(isNodeInTabList(browser.target(f),b)&&c){nextTab(browser.target(f),b);return browser.stopPropagation(f)}break;case KEY_PAGEDOWN:if(a){nextTabPanel(b);return browser.stopPropagation(f)}break;case KEY_PAGEUP:if(a){previousTabPanel(b);return browser.stopPropagation(f)}break;case KEY_HOME:case KEY_ALT:if(c){selectTabPanel(b,0,false);return browser.stopPropagation(f)}case KEY_END:if(c){selectTabPanel(b,(b.tabs.length-1),false);return browser.stopPropagation(f)}case KEY_TAB:if(f.ctrlKey&&!f.altKey){if(f.shiftKey){previousTabPanel(b)}else{nextTabPanel(b)}return browser.stopPropagation(f)}break}return true}handleTabPanelClickEvent=function(c,a){var d=c||window.event;var b=indexOfNodeInTabList(browser.target(d),a);if(b>=0){selectTabPanel(a,b,false);document.getElementById(a.tabs[b].tab_id).focus();return false}return true};handleInputFocusEvent=function(b,a){var c=b||window.event;a.node_last_focus=browser.target(c)};
