/*
	tabset.js ver1.3 <http://distraid.co.jp/webjade/tabtoggle.html>
		depends on: dutils.js, MooTools 1.2<http://mootools.net>

	copyright (c) 2007-2009 distraid Inc. <http://distraid.co.jp/>

	$Id: tabset_1_3.js 10 2009-02-16 08:15:24Z ksy $
*/
var TabSet=new Class({Implements:Options,options:{defTab:null,initFx:null,evType:null,style:{tab:null,targ:null},tabStyle:null,targStyle:null,procArg:null,exclusive:true,toggle:false,inject:false,pageLink:null,scKey:null,autoWidth:null,zMod:null,frid:null,cookie:null},initialize:function(f,d){this._tabSet={};
this._tabOrder=[];this._nSet=0;this._curTab=null;this._config={};this._zMod=null;this._zOrder=null;this._frid=null;this._cookie=null;if(!$defined(f)){return}this.setOptions(d);var a=this._initOpt();var e=true;
if(!a.acts){a.acts=a.defs;e=false}f=this._confirmSetConfig(f);var c=this._initTab(f,a);if(e&&c.length<=0){for(var b in a.defs){if(this._tabSet[b]){c.push(b)}}}if(this._config.exclusive&&c.length>1){c=[c[0]]
}c.each(function(g){this._activateTab({idTab:g},this._config.evType&TabSet.EvType.both,!a.initFx["active"],true)},this)},selectTab:function(a,c,b){if(!a||!this._tabSet[a]){return false}c=(!(c>=0)?0:c);
b=(b&&TabSet.EvType.keyOf(b)!=null?b:TabSet.EvType.direct);if(this._tabSet[a]["state"]&b){return null}return this._toggleTab(null,{idTab:a,idxTabItem:c},b)},_confirmSetConfig:function(g){if($type(g)=="array"&&$type(g[0])!="object"){var e={};
var b=[];var f=false;if(g.length==5){f=true;e={idTab:g[0],tab:g[1],idTarg:g[2],targ:g[3]};b=g[4].split("-")}else{e={idTab:g[0],idTarg:g[1]};b=g[2].split("-")}b[1]>b[0]||b.reverse();g=[];var d=function(j,i,h){if($type(j)=="array"){return j[h]
}return j+String(i)};for(var c=b[0],a=0;c<=b[1];c++,a++){if(f){g.push({idTab:d(e.idTab,c,a),tab:d(e.tab,c,a),idTarg:d(e.idTarg,c,a),targ:d(e.targ,c,a)})}else{g.push({idTab:e.idTab+c,idTarg:e.idTarg+c})
}}}else{if($type(g)=="object"){g=(function(i){var h=[];for(var j in i){h.push({idTab:j,idTarg:i[j]})}return h})(g)}}g.each(function(h){if(!$defined(h.tab)){h.tab=h.idTab}if(!$defined(h.targ)){h.targ=h.idTarg
}});return g},_initOpt:function(){if($type(this.options.style)!="object"){this.options.style={}}if($type(this.options.tabStyle)!="object"){this.options.tabStyle=null}if($type(this.options.targStyle)!="object"){this.options.targStyle=null
}if($type(this.options.procArg)!="object"){this.options.procArg=null}if($type(this.options.initFx)!="object"){this.options.initFx={}}this._config.style=Du.Hash.copyObj(this.options.style);if(!this._config.style["tab"]){this._config.style["tab"]=Du.Style.Setup.none()
}if(!this._config.style["targ"]){this._config.style["targ"]=Du.Style.Setup.block()}this._config.tabStyle=this.options.tabStyle;this._config.targStyle=this.options.targStyle;this._config.evType=(this.options.evType&TabSet.EvType.both?this.options.evType:TabSet.EvType.click);
this._config.exclusive=!!this.options.exclusive;this._config.bToggle=(((!this._config.exclusive&&!(this._config.evType&TabSet.EvType.mouseleave))||this.options.toggle)?true:false);this._config.bInject=!!this.options.inject;
this._config.targHide=(this.options.targHide&&(this._config.evType&TabSet.EvType.mouseenter&&this._config.evType&TabSet.EvType.mouseleave)?true:false);this._config.pageLink=($type(this.options.pageLink)=="object"&&(this.options.pageLink.prev||this.options.pageLink.next)?this.options.pageLink:null);
this._config.scKey=(this.options.scKey?this.options.scKey:null);if(this.options.autoWidth){var h=this.options.autoWidth;if($type(h)!="object"){this._config.autoWidth={mod:h}}else{this._config.autoWidth=($defined(h.mod)||$defined(h.min)||$defined(h.max)?h:null)
}}if(this.options.zMod){this._zMod={};this._zOrder={};var c=this.options.zMod;if($type(c)!="object"){if($type(c)!="number"){c=10}this._zMod={tab:{base:c,add:1},targ:{base:c,add:1}};this._zOrder={tab:{},targ:{}}
}else{if(!$defined(c.tab)&&!$defined(c.targ)){c.tab=c.targ=Du.Hash.copyObj(c)}["tab","targ"].each(function(i){if($defined(c[i])){this._zMod[i]={};this._zOrder[i]={};if($type(c[i])!="object"){this._zMod[i]={base:c[i],add:1}
}else{if($defined(c[i]["base"])){this._zMod[i]["base"]=c[i]["base"]}this._zMod[i]["add"]=($defined(c[i]["add"])?c[i]["add"]:1)}}},this)}}var b=function(j){var i={};if($type(j)!="array"){return i}j.each(function(k){if($chk(k)){i[k]=true
}});return i};var f=null;if($defined(this.options.defTab)&&this.options.defTab!==true){f={};f[this.options.defTab]=true}var g=null;var e=[];this.options.cookie=($type(this.options.cookie)=="object"&&this.options.cookie.obj?this.options.cookie:null);
if(this.options.cookie){this._cookie={};this._cookie.obj=(this.options.cookie.obj?this.options.cookie.obj:Du.CookieCtrl);this._cookie.key=($chk(this.options.cookie.key)?this.options.cookie.key:"tabset");
this._cookie.options=($type(this.options.cookie.options)=="object"?this.options.cookie.options:null);this._cookie.init=($defined(this.options.cookie.init)?!!this.options.cookie.init:true);this._cookie.update=($defined(this.options.cookie.update)?!!this.options.cookie.update:true);
var d=this._cookie.obj.get(this._cookie.key);if($chk(d)){e=d.split("&")}if(this._cookie.init&&e.length>0){g=b(e)}}this.options.frid=($type(this.options.frid)=="object"&&this.options.frid.obj?this.options.frid:null);
if(this.options.frid){this._frid={};this._frid.obj=this.options.frid.obj;this._frid.key=($defined(this.options.frid.key)?this.options.frid.key:"tabset");this._frid.init=($defined(this.options.frid.init)?this.options.frid.init:true);
this._frid.update=($defined(this.options.frid.update)?!!this.options.frid.update:true);if(this._frid.key==""){e=this._frid.obj.getKeys().filter(function(i){if(!$chk(i)){return false}return(this._frid.obj.getOpt(i)===true?true:false)
},this)}else{e=this._frid.obj.getOpt(this._frid.key,true)}if(this._frid.init&&$type(e)=="array"&&e.length>0){g=b(e);if($type(this._frid.init)=="string"&&!window.ie){var a=$(this._frid.init);if(a){a.scrollIntoView()
}}}}return{acts:g,defs:f,initFx:this.options.initFx,defAct:(this.options.defTab===true?true:false)}},_createStyle:function(b,a){if(!a){return}return(a.fx?new Du.Style.Fx(b,a):new Du.Style(b,a))},_disableLink:function(b){var a=($type(b)=="array"?b:[b]);
a.each(function(e,c){var d=e.getElements("a");if(e.tagName.toLowerCase()=="a"){d.push(e)}d.each(function(f){f.addEvent("click",function(g){g.preventDefault()}.bindWithEvent())})})},_initTabEvent:function(a){if(!this._tabSet[a]){return
}var b=this._tabSet[a];var c=(b.tabs?b.tabs:[b.tab]);if(this._config.evType&TabSet.EvType.click){c.each(function(e,d){e.addEvent("click",this._toggleTab.bindWithEvent(this,[{idTab:a,idxTabItem:d},TabSet.EvType.click]))
},this)}if(this._config.evType&TabSet.EvType.mouseover){c.each(function(e,d){if(this._config.evType&TabSet.EvType.mouseenter){e.addEvent("mouseenter",this._toggleTab.bindWithEvent(this,[{idTab:a,idxTabItem:d},TabSet.EvType.mouseenter]))
}if(this._config.evType&TabSet.EvType.mouseleave){e.addEvent("mouseleave",this._outTab.bindWithEvent(this,[{idTab:a,idxTabItem:d}]))}},this)}if(this._config.targHide&&b.targ){b.targ.addEvent("mouseover",this._overTarg.bindWithEvent(this,[{idTab:a}]))
}},_initZmod:function(a,b){b.zDef={};["tab","targ"].each(function(c){if(!b[c]||!$defined(this._zMod[c])){return}if($defined(this._zMod[c]["base"])){b[c].setStyle("z-index",this._zMod[c]["base"])}b.zDef[c]=b[c].getStyle("z-index");
if(b.zDef[c]!="auto"){b.zDef[c]=Number(b.zDef[c]);this._zOrder[c][a]=0}},this)},_initPageLink:function(){if(!this._tabOrder||!this._config.pageLink){return}this._tabOrder.each(function(a,c){var b=this._tabSet[a]["targ"];
if(!b){return}["prev","next"].each(function(e){var d=null;if(e=="prev"&&c-1>=0){d=this._tabOrder[c-1]}else{if(e=="next"&&c+1<this._tabOrder.length){d=this._tabOrder[c+1]}}if(d==null){return}b.getElements(this._config.pageLink[e]).each(function(f){f.addEvent("click",this._pageLink.bindWithEvent(this,[d,e]))
},this)},this)},this);this._config.pageLink["topElem"]=null;if(this._config.pageLink["top"]){elem=$(this._config.pageLink["top"]);if(elem){this._config.pageLink["topElem"]=elem}}},_initSCKey:function(){if(!this._config.scKey){return
}document.addEvent("keyup",this._scKey.bindWithEvent(this))},_initTab:function(h,c,l){var j=[];for(var e=0;e<h.length;e++){var b=h[e]["idTab"];var g=h[e]["idTarg"];var f=h[e]["tab"];var k=h[e]["targ"];
var a=$(f);var i=$(k);if(!a){continue}this._nSet++;this._tabOrder.push(b);this._tabSet[b]={index:e,tab:a,targ:i,idTarg:g,state:TabSet.EvType.none};this._initTabEvent(b);if(this._config.evType&TabSet.EvType.disableLink){this._disableLink(a)
}if(this._config.bInject&&i){i.injectInside(a)}if(this._config.autoWidth&&i){Du.Style.Tools.autoWidth(i,(this._config.autoWidth["mod"]===true?null:this._config.autoWidth["mod"]),this._config.autoWidth["min"],this._config.autoWidth["max"])
}if(this._zMod){this._initZmod(b,this._tabSet[b])}this._tabSet[b]["tabStyle"]=this._createStyle(a,(this._config.tabStyle&&this._config.tabStyle[b]?this._config.tabStyle[b]:this._config.style["tab"]));if(i){this._tabSet[b]["targStyle"]=this._createStyle(i,(this._config.targStyle&&this._config.targStyle[g]?this._config.targStyle[g]:this._config.style["targ"]))
}this._tabSet[b]["procArg"]=(this.options.procArg&&this.options.procArg[b]?this.options.procArg[b]:null);var d=c.acts;if((!(this._config.exclusive&&j.length>=1)&&$defined(d)&&$defined(d[b]))||(!$defined(d)&&c.defAct)){j.push(b)
}else{this._deactivateTab({idTab:b},!c.initFx["inactive"],true)}b++}this._initPageLink();this._initSCKey();return j},_pageLink:function(b,a,c){b.preventDefault();this._toggleTab(b,{idTab:a,idxTabItem:0},TabSet.EvType.click);
if(this._tabSet[a]){if(this._config.pageLink["topElem"]){this._config.pageLink["topElem"].scrollIntoView(true)}else{this._tabSet[a]["targ"].scrollIntoView(true)}}},_scKey:function(a){if(!a.control||(a.key!="left"&&a.key!="right")){return
}var b=this._tabOrder.indexOf(this._curTab);if(b<0){b=0}if(a.key=="left"){b--}else{b++}if(b<0){b=this._tabOrder.length-1}else{if(b>=this._tabOrder.length){b=0}}this._toggleTab(a,{idTab:this._tabOrder[b],idxTabItem:0},TabSet.EvType.click)
},_clickProc:function(a){var b=this._tabSet[a.idTab]["state"];if(b&TabSet.EvType.click){this._config.bToggle&&this._deactivateTab(a)}else{if(b&TabSet.EvType.mouseenter){this._tabSet[a.idTab].state|=TabSet.EvType.click
}else{this._activateTab(a,TabSet.EvType.click)}}},_overProc:function(a){var b=this._tabSet[a.idTab]["state"];if(this._config.bToggle&&(b&TabSet.EvType.both)==TabSet.EvType.mouseenter){this._deactivateTab(a)
}else{if(!b){this._activateTab(a,TabSet.EvType.mouseenter)}}},_toggleTab:function(b,d,f){if(!this._tabSet[d.idTab]){return false}if(this._config.targHide&&f&TabSet.EvType.mouseenter&&this._tabSet[d.idTab]["targHide"]){return null
}var g=(f&TabSet.EvType.click?this._clickProc:this._overProc);if(this._config.exclusive){for(var a in this._tabSet){if(a==d.idTab){continue}if(this._tabSet[a]["state"]||this._config.exclusive!==true){this._deactivateTab({idTab:a},this._config.exclusive!==true)
}}}g.call(this,d);if(!(f&TabSet.EvType.click||this._config.bToggle)){return true}var c=[];for(a in this._tabSet){if(this._tabSet[a]["state"]){c.push(a)}}if(this._cookie&&this._cookie.update){this._cookie.obj.set(this._cookie.key,c.join("&"),this._cookie.options)
}if(this._frid&&this._frid.update){if(this._frid.key==""){$each(this._tabSet,function(h,i){this._frid.obj.removeOpt(i)},this);var e={};c.each(function(h){e[h]=true});this._frid.obj.setOpts(e).updateFrid()
}else{this._frid.obj.setOpt(this._frid.key,c).updateFrid()}}return true},_outTab:function(a,b){if(!this._tabSet[b.idTab]){return false}if(this._tabSet[b.idTab]["targHide"]){this._tabSet[b.idTab]["targHide"]=false
}var c=this._tabSet[b.idTab]["state"];if(this._config.bToggle){if((this._config.evType&TabSet.EvType.click)&&(c&TabSet.EvType.both)==TabSet.EvType.mouseenter){this._deactivateTab(b)}}else{if(!(c&TabSet.EvType.click)){this._deactivateTab(b)
}}return true},_overTarg:function(c,b){if(!this._tabSet[b.idTab]){return false}var a=this._tabSet[b.idTab];if(!a.targHide){a.targHide=true;this._deactivateTab(b)}},_zModify:function(a){if(!this._zMod){return
}var b=this._tabSet[a];["tab","targ"].each(function(e){var c=this._zOrder[e];if(!b[e]||!this._zMod[e]||!$defined(c[a])){return}var d=c[a];for(var f in c){if(f==a){c[f]=this._nSet-1}else{if(c[f]>d){c[f]--
}}this._tabSet[f][e].setStyle("z-index",b.zDef[e]+c[f]*this._zMod[e]["add"])}},this)},_activateTab:function(c,e,d,a){var b=this._tabSet[c.idTab];if(!$defined(b)){return false}this._curTab=c.idTab;this._zModify(c.idTab);
b.state=e;b.tabStyle.activate(b.procArg,d);if(b.targStyle){b.targStyle.activate(b.procArg,d)}return true},_deactivateTab:function(c,d,a){var b=this._tabSet[c.idTab];if(!$defined(b)){return false}if(c.idTab==this._curTab){this._curTab=null
}b.state=TabSet.EvType.none;if(b.targStyle){b.targStyle.deactivate(b.procArg,d)}b.tabStyle.deactivate(b.procArg,d);return true}});TabSet.EvType=new Hash({none:0,click:1,mouseenter:2,mouseleave:4,disableLink:8,flip:16,both:3,mouseover:6,stillClick:9,autoFlip:17,direct:1});
TabSet.MultiTab=new Class({Extends:TabSet,options:{tabSA:null},initialize:function(b,a){this._tabSA=false;this.parent(b,a)},_initTab:function(i,c,n){this._tabSA=(this.options.tabSA?true:false);var k=[];
for(var e=0;e<i.length;e++){var b=i[e]["idTab"];var g=i[e]["idTarg"];var f=i[e]["tab"];var m=i[e]["targ"];var l=$$(f);if(l.length<=0){l=$(f);if(!l){continue}l=[l]}var j=$(m);var a=l[0];this._nSet++;this._tabOrder.push(b);
this._tabSet[b]={index:e,tab:a,tabs:l,targ:j,actTab:0,state:TabSet.EvType.none};this._initTabEvent(b);if(this._config.evType&TabSet.EvType.disableLink){this._disableLink(l)}if(this._config.bInject&&j){j.injectInside(a)
}if(this._config.autoWidth&&j){Du.Style.Tools.autoWidth(j,(this._config.autoWidth["mod"]===true?null:this._config.autoWidth["mod"]),this._config.autoWidth["min"],this._config.autoWidth["max"])}if(this._zMod){this._initZmod(b,this._tabSet[b])
}this._tabSet[b]["tabStyle"]=[];var h=(this._config.tabStyle&&$type(this._config.tabStyle[b])=="object"?this._config.tabStyle[b]:this._config.style["tab"]);this._tabSet[b]["tabs"].each(function(p,o){this._tabSet[b]["tabStyle"].push(this._createStyle(p,(this._config.tabStyle&&this._config.tabStyle[b]&&this._config.tabStyle[b][o]?this._config.tabStyle[b][o]:h)))
},this);this._tabSet[b]["targStyle"]=this._createStyle(j,(this._config.targStyle&&this._config.targStyle[g]?this._config.targStyle[g]:this._config.style["targ"]));this._tabSet[b]["procArg"]=(this.options.procArg&&this.options.procArg[b]?this.options.procArg[b]:null);
var d=c.acts;if((!(this._config.exclusive&&k.length>=1)&&$defined(d)&&$defined(d[b]))||(!$defined(d)&&c.defAct)){k.push(b)}else{this._deactivateTab({idTab:b},!c.initFx["inactive"],true)}}return k},_initZmod:function(a,b){b.zDef={};
["tab","targ"].each(function(c){if(!b[c]||!$defined(this._zMod[c])){return}if(c=="tab"){b.tabs.each(function(d){if($defined(this._zMod[c]["base"])){d.setStyle("z-index",this._zMod[c]["base"])}},this)}else{if($defined(this._zMod[c]["base"])){b[c].setStyle("z-index",this._zMod[c]["base"])
}}b.zDef[c]=b[c].getStyle("z-index");if(b.zDef[c]!="auto"){b.zDef[c]=Number(b.zDef[c]);this._zOrder[c][a]=0}},this)},_zModify:function(a){if(!this._zMod){return}var b=this._tabSet[a];["tab","targ"].each(function(f){var d=this._zOrder[f];
if(!b[f]||!this._zMod[f]||!$defined(d[a])){return}var e=d[a];for(var g in d){if(g==a){d[g]=this._nSet-1}else{if(d[g]>e){d[g]--}}var c=b.zDef[f]+d[g]*this._zMod[f]["add"];if(f=="tab"){this._tabSet[g]["tabs"].each(function(h){h.setStyle("z-index",c)
},this)}else{this._tabSet[g][f].setStyle("z-index",c)}}},this)},_activateTab:function(d,f,e,a){var b=this._tabSet[d.idTab];if(!$defined(b)){return false}if(this._config.bInject&&b.actTab!=d.idxTabItem){var c=b.tabs[d.idxTabItem];
if($type(c)=="element"){b.targ.injectInside(c)}}b.actTab=($defined(d.idxTabItem)?d.idxTabItem:0);this._zModify(d.idTab);b.state=f;b.tabStyle.each(function(h,g){if(this._tabSA&&$defined(d.idxTabItem)&&d.idxTabItem!=g){return
}h.activate(b.procArg,e)},this);if(b.targStyle){b.targStyle.activate(b.procArg,e)}return true},_deactivateTab:function(c,d,a){var b=this._tabSet[c.idTab];if(!$defined(b)){return false}b.state=TabSet.EvType.none;
if(b.targStyle){b.targStyle.deactivate(b.procArg,d)}b.tabStyle.each(function(e){e.deactivate(b.procArg,d)});return true}});TabSet.AutoFlip=new Class({Extends:TabSet,options:{flip:{interval:8000,reflip:30000,toggle:{selector:null,style:null}}},initialize:function(b,a){this._flip={interval:8000,reflip:false,flipTimer:null,bFlip:true,toggle:{elem:null,style:null}};
this.parent(b,a)},_initOpt:function(){if(this.options.flip){if($type(this.options.flip.interval)=="number"&&this.options.flip.interval>0){this._flip.interval=this.options.flip.interval}if($type(this.options.flip.reflip)=="boolean"||($type(this.options.flip.reflip)=="number"&&this.options.flip.reflip>0)){this._flip.reflip=this.options.flip.reflip
}if(this.options.flip.toggle.selector){var a=document.getElement(this.options.flip.toggle.selector);if(a){this._flip.toggle["elem"]=a;if(this.options.flip.toggle.style){this._flip.toggle["style"]=this._createStyle(a,this.options.flip.toggle.style)
}}}}return this.parent()},_initTab:function(e,a,c){var b=this.parent(e,a,c);if(this._flip.toggle["elem"]){this._flip.toggle["elem"].addEvent("click",this.onToggleFlip.bindWithEvent(this))}var d=(b?this._tabOrder.indexOf(b[0]):0);
this._startFlip(d,this._flip.interval,true);return b},_toggleTab:function(b,c,d){if(!c){return false}var a=this.parent(b,c,d);if(!a){return a}var e=this._tabOrder.indexOf(c.idTab);if(b){if(this._flip.reflip){this._startFlip(e,(this._flip.reflip===true?this._flip.interval:this._flip.reflip))
}}else{this._startFlip(e,this._flip.interval)}},_startFlip:function(e,c,d){if(this._flip.flipTimer){this._flip.flipTimer=$clear(this._flip.flipTimer)}if(!this._flip.bFlip){return}e=((e>=0&&e<this._tabOrder.length)?e:this._tabOrder.length-1);
d=!!d;if(e==null||!(e>=0&&e<this._tabOrder.length)){e=this._tabOrder.length-1;for(var a=0;a<this._tabOrder.length;a++){if(this._tabSet[this._tabOrder[a]]["state"]!=TabSet.EvType.none){e=a;break}}}c=(c>0?c:this._flip.interval);
var b={idTab:this._tabOrder[(e+1>=this._tabOrder.length?0:e+1)],idxTabItem:0};if(this._flip.toggle["style"]){this._flip.toggle["style"].activate(null,d)}this._flip.flipTimer=this._toggleTab.delay(c,this,[null,b,TabSet.EvType.autoFlip])
},_stopFlip:function(){if(this._flip.flipTimer){this._flip.flipTimer=$clear(this._flip.flipTimer)}this._flip.bFlip=false;if(this._flip.toggle["style"]){this._flip.toggle["style"].deactivate()}},isFlip:function(){return this._flip.bFlip
},onToggleFlip:function(a){this.toggleFlip()},toggleFlip:function(a){a=(a==null?this._flip.bFlip:a);if(!a){this._flip.bFlip=true;this._startFlip(null,this._interval)}else{this._stopFlip()}}});TabSet.Ga=new Class({Extends:TabSet,Implements:Du.GaCtrl,_initOpt:function(){this.gaCtrlInit(this.options.gaTrack);
return this.parent()},_activateTab:function(b,d,c,a){if(!this.parent(b,d,c,a)){return false}if(!a){this.gaCtrlTrack(b.idTab)}return true}});TabSet.MultiTab.Ga=new Class({Extends:TabSet.MultiTab,Implements:Du.GaCtrl,_initOpt:function(){this.gaCtrlInit(this.options.gaTrack);
return this.parent()},_activateTab:function(b,d,c,a){if(!this.parent(b,d,c,a)){return false}if(!a){this.gaCtrlTrack(b.idTab)}return true}});