/******************************************************************
 * JAWJS.PAGE.Tabs - Tab Module
 * Copyright (c) Ja-Web.com
 ******************************************************************/

JAWJS.registerNS("JAWJS.PAGE");JAWJS.PAGE.Tabs=function(userConfig){var config={sTabsId:"",sTabsPanelId:"",sTabClassOn:"jaw-tab-on",sTabPrefix:"tab-",sStartUpTabId:"",sInternAnchorClass:"jaw-tab-anchor",bInternAnchor:false,bScrollTop:true,bCookie:false,sCookieName:"",iCookieExpDays:0,sCookiePath:"",sCookieDomain:"",sCookieSecure:"",sJsSpecialClass:"js-enabled",sJsSpecialInsertId:""};JAWJS.TOOLS.setUserConfig(config,userConfig);this.getConfigOpt=function(userConfig){return JAWJS.TOOLS.getConfig(config,userConfig);};this.getConfigObj=function(){var oConfig=config;return oConfig;}};JAWJS.PAGE.Tabs.prototype={init:function(){if(!JAWJS.DOM.get(this.getConfigOpt("sTabsId"))||!JAWJS.DOM.get(this.getConfigOpt("sTabsPanelId"))){return;}
JAWJS.DOM.jsSpecial(this.getConfigOpt("sJsSpecialInsertId"),this.getConfigOpt("sJsSpecialClass"));this.initTabs();},initTabs:function(){var dom=JAWJS.DOM,get=JAWJS.DOM.get,configOpt=this.getConfigOpt,oConfig=this.getConfigObj();var addEvent=JAWJS.EVENT.add,oThis=this;var urlHash=null,oT,oTL,objAnchors,i,j;urlHash=decodeURIComponent(dom.getHash(window.location));oT=get(configOpt("sTabsId"));oTL=oT.getElementsByTagName("a");for(i=0;i<oTL.length;i++){if(dom.getHash(oTL[i])==urlHash){JAWJS.TOOLS.setConfig(oConfig,"sStartUpTabId",urlHash);}else{if(configOpt("sStartUpTabId")==""){JAWJS.TOOLS.setConfig(oConfig,"sStartUpTabId",dom.getHash(oTL[0]));}}
get(dom.getHash(oTL[i])).style.display='none';addEvent(oTL[i],'click',function(e){oThis.showTab(e);dom.stopDef(e);});if(configOpt("bInternAnchor")===true){objAnchors=dom.getElementsByClass(configOpt("sInternAnchorClass"));for(j=0;j<objAnchors.length;j++){addEvent(objAnchors[j],'click',function(e){oThis.showTab(e);});}
objAnchors=null;}}
if(configOpt("bCookie")===true&&JAWJS.TOOLS.cookie('get',configOpt("sCookieName"))){if(get(JAWJS.TOOLS.cookie('get',configOpt("sCookieName")))){JAWJS.TOOLS.setConfig(oConfig,"sStartUpTabId",JAWJS.TOOLS.cookie('get',configOpt("sCookieName")));}}
get(configOpt("sStartUpTabId")).style.display='block';dom.css('add',get(configOpt("sStartUpTabId").substring(configOpt("sTabPrefix").length)),configOpt("sTabClassOn"));},showTab:function(e){var dom=JAWJS.DOM,get=JAWJS.DOM.get,configOpt=this.getConfigOpt,oConfig=this.getConfigObj();var tabPanel=get(configOpt("sTabsPanelId"));if(dom.getHash(dom.getTarget(e))==configOpt("sStartUpTabId")){get(configOpt("sStartUpTabId").substring(configOpt("sTabPrefix").length)).focus();return;}
if(configOpt("bCookie")===true){JAWJS.TOOLS.cookie('set',configOpt("sCookieName"),dom.getHash(dom.getTarget(e)),configOpt("iCookieExpDays"),configOpt("sCookiePath"),configOpt("sCookieDomain"),configOpt("sCookieSecure"));}
dom.css('remove',get(configOpt("sStartUpTabId").substring(configOpt("sTabPrefix").length)),configOpt("sTabClassOn"));get(configOpt("sStartUpTabId")).style.display='none';dom.css('add',get(dom.getHash(dom.getTarget(e)).substring(configOpt("sTabPrefix").length)),configOpt("sTabClassOn"));get(dom.getHash(dom.getTarget(e))).style.display='block';JAWJS.TOOLS.setConfig(oConfig,"sStartUpTabId",dom.getHash(dom.getTarget(e)));if(configOpt("bScrollTop")===true){setTimeout(function(){tabPanel.scrollTop=0},10);}
dom=null,get=null,configOpt=null,oConfig=null;}};