0byt3m1n1
Path:
/
data
/
applications
/
aps
/
mambo
/
4.6.5-1
/
standard
/
htdocs
/
includes
/
js
/
tabs
/
[
Home
]
File: tabpane.js
function hasSupport(){if(typeof hasSupport.support!="undefined"){return hasSupport.support}var ie55=/msie 5\.[56789]/i.test(navigator.userAgent);hasSupport.support=(typeof document.implementation!="undefined"&&document.implementation.hasFeature("html","1.0")||ie55);if(ie55){document._getElementsByTagName=document.getElementsByTagName;document.getElementsByTagName=function(sTagName){if(sTagName=="*"){return document.all}else{return document._getElementsByTagName(sTagName)}}}return hasSupport.support}function WebFXTabPane(el,bUseCookie){if(!hasSupport()||el==null){return }this.element=el;this.element.tabPane=this;this.pages=[];this.selectedIndex=null;this.useCookie=bUseCookie!=null?bUseCookie:true;this.element.className=this.classNameTag+" "+this.element.className;this.tabRow=document.createElement("div");this.tabRow.className="tab-row";el.insertBefore(this.tabRow,el.firstChild);var tabIndex=0;if(this.useCookie){tabIndex=Number(WebFXTabPane.getCookie("webfxtab_"+this.element.id));if(isNaN(tabIndex)){tabIndex=0}}this.selectedIndex=tabIndex;var cs=el.childNodes;var n;for(var i=0;i<cs.length;i++){if(cs[i].nodeType==1&&cs[i].className=="tab-page"){this.addTabPage(cs[i])}}}WebFXTabPane.prototype.classNameTag="dynamic-tab-pane-control";WebFXTabPane.prototype.setSelectedIndex=function(n){if(this.selectedIndex!=n){if(this.selectedIndex!=null&&this.pages[this.selectedIndex]!=null){this.pages[this.selectedIndex].hide()}this.selectedIndex=n;this.pages[this.selectedIndex].show();if(this.useCookie){WebFXTabPane.setCookie("webfxtab_"+this.element.id,n)}}};WebFXTabPane.prototype.getSelectedIndex=function(){return this.selectedIndex};WebFXTabPane.prototype.addTabPage=function(oElement){if(!hasSupport()){return }if(oElement.tabPage==this){return oElement.tabPage}var n=this.pages.length;var tp=this.pages[n]=new WebFXTabPage(oElement,this,n);tp.tabPane=this;this.tabRow.appendChild(tp.tab);if(n==this.selectedIndex){tp.show()}else{tp.hide()}return tp};WebFXTabPane.prototype.dispose=function(){this.element.tabPane=null;this.element=null;this.tabRow=null;for(var i=0;i<this.pages.length;i++){this.pages[i].dispose();this.pages[i]=null}this.pages=null};WebFXTabPane.setCookie=function(sName,sValue,nDays){var expires="";if(nDays){var d=new Date();d.setTime(d.getTime()+nDays*24*60*60*1000);expires="; expires="+d.toGMTString()}document.cookie=sName+"="+sValue+expires+"; path=/"};WebFXTabPane.getCookie=function(sName){var re=new RegExp("(;|^)[^;]*("+sName+")=([^;]*)(;|$)");var res=re.exec(document.cookie);return res!=null?res[3]:null};WebFXTabPane.removeCookie=function(name){setCookie(name,"",-1)};function WebFXTabPage(el,tabPane,nIndex){if(!hasSupport()||el==null){return }this.element=el;this.element.tabPage=this;this.index=nIndex;var cs=el.childNodes;for(var i=0;i<cs.length;i++){if(cs[i].nodeType==1&&cs[i].className=="tab"){this.tab=cs[i];break}}var a=document.createElement("A");this.aElement=a;a.href="#";a.onclick=function(){return false};while(this.tab.hasChildNodes()){a.appendChild(this.tab.firstChild)}this.tab.appendChild(a);var oThis=this;this.tab.onclick=function(){oThis.select()};this.tab.onmouseover=function(){WebFXTabPage.tabOver(oThis)};this.tab.onmouseout=function(){WebFXTabPage.tabOut(oThis)}}WebFXTabPage.prototype.show=function(){var el=this.tab;var s=el.className+" selected";s=s.replace(/ +/g," ");el.className=s;this.element.style.display="block"};WebFXTabPage.prototype.hide=function(){var el=this.tab;var s=el.className;s=s.replace(/ selected/g,"");el.className=s;this.element.style.display="none"};WebFXTabPage.prototype.select=function(){this.tabPane.setSelectedIndex(this.index)};WebFXTabPage.prototype.dispose=function(){this.aElement.onclick=null;this.aElement=null;this.element.tabPage=null;this.tab.onclick=null;this.tab.onmouseover=null;this.tab.onmouseout=null;this.tab=null;this.tabPane=null;this.element=null};WebFXTabPage.tabOver=function(tabpage){var el=tabpage.tab;var s=el.className+" hover";s=s.replace(/ +/g," ");el.className=s};WebFXTabPage.tabOut=function(tabpage){var el=tabpage.tab;var s=el.className;s=s.replace(/ hover/g,"");el.className=s};function setupAllTabs(){if(!hasSupport()){return }var all=document.getElementsByTagName("*");var l=all.length;var tabPaneRe=/tab\-pane/;var tabPageRe=/tab\-page/;var cn,el;var parentTabPane;for(var i=0;i<l;i++){el=all[i];cn=el.className;if(cn==""){continue}if(tabPaneRe.test(cn)&&!el.tabPane){new WebFXTabPane(el)}else{if(tabPageRe.test(cn)&&!el.tabPage&&tabPaneRe.test(el.parentNode.className)){el.parentNode.tabPane.addTabPage(el)}}}}function disposeAllTabs(){if(!hasSupport()){return }var all=document.getElementsByTagName("*");var l=all.length;var tabPaneRe=/tab\-pane/;var cn,el;var tabPanes=[];for(var i=0;i<l;i++){el=all[i];cn=el.className;if(cn==""){continue}if(tabPaneRe.test(cn)&&el.tabPane){tabPanes[tabPanes.length]=el.tabPane}}for(var i=tabPanes.length-1;i>=0;i--){tabPanes[i].dispose();tabPanes[i]=null}}if(typeof window.addEventListener!="undefined"){window.addEventListener("load",setupAllTabs,false)}else{if(typeof window.attachEvent!="undefined"){window.attachEvent("onload",setupAllTabs);window.attachEvent("onunload",disposeAllTabs)}else{if(window.onload!=null){var oldOnload=window.onload;window.onload=function(e){oldOnload(e);setupAllTabs()}}else{window.onload=setupAllTabs}}};