/*
Copyright 2011, KISSY UI Library v1.1.8dev
MIT Licensed
build time: ${build.time}
*/
KISSY.add("switchable",function(c){function h(b,a){a=a||{};if(!("markupType"in a))if(a.panelCls)a.markupType=1;else if(a.panels)a.markupType=2;for(var e=this.constructor;e;){a=c.merge(e.Config,a);e=e.superclass?e.superclass.constructor:null}this.container=l.get(b);this.config=a;this.activeIndex=this.completedIndex=a.activeIndex;if(!(this.activeIndex>-1))if(typeof a.switchTo!="number")this.completedIndex=this.activeIndex=0;this._init();this._initPlugins();this.fire(r);this.activeIndex>-1||typeof a.switchTo==
"number"&&this.switchTo(a.switchTo)}function n(b){var a={};a.type=b.originalEvent.type;a.target=b.originalEvent.target||b.originalEvent.srcElement;return{originalEvent:a}}var l=c.DOM,o=c.Event,t=c.EventTarget,r="init";h.Config={markupType:0,navCls:"ks-switchable-nav",contentCls:"ks-switchable-content",triggerCls:"ks-switchable-trigger",panelCls:"ks-switchable-panel",triggers:[],panels:[],hasTriggers:true,triggerType:"mouse",delay:0.1,activeIndex:-1,activeTriggerCls:"ks-active",steps:1,viewSize:[]};
h.getDomEvent=n;h.Plugins=[];c.augment(h,t,{_initPlugins:function(){for(var b=this,a=b.constructor;a;){c.each(a.Plugins,function(e){e.init&&e.init(b)});a=a.superclass?a.superclass.constructor:null}},_init:function(){var b=this.config;this._parseMarkup();b.hasTriggers&&this._bindTriggers()},_parseMarkup:function(){var b=this.container,a=this.config,e,k,f=[],m=[];switch(a.markupType){case 0:if(e=l.get("."+a.navCls,b))f=l.children(e);k=l.get("."+a.contentCls,b);m=l.children(k);break;case 1:f=l.query("."+
a.triggerCls,b);m=l.query("."+a.panelCls,b);break;case 2:f=a.triggers;m=a.panels}b=m.length;this.length=b/a.steps;if(a.hasTriggers&&b>0&&f.length===0)f=this._generateTriggersMarkup(this.length);this.triggers=c.makeArray(f);this.panels=c.makeArray(m);this.content=k||m[0].parentNode;this.nav=e||a.hasTriggers&&f[0].parentNode},_generateTriggersMarkup:function(b){var a=this.config,e=l.create("<ul>"),k,f;e.className=a.navCls;for(f=0;f<b;f++){k=l.create("<li>");if(f===this.activeIndex)k.className=a.activeTriggerCls;
k.innerHTML=f+1;e.appendChild(k)}this.container.appendChild(e);return l.children(e)},_bindTriggers:function(){var b=this,a=b.config,e=b.triggers,k,f,m=e.length;for(f=0;f<m;f++)(function(s){k=e[s];o.on(k,"click",function(v){b._onFocusTrigger(s,v)});if(a.triggerType==="mouse"){o.on(k,"mouseenter",function(v){b._onMouseEnterTrigger(s,v)});o.on(k,"mouseleave",function(){b._onMouseLeaveTrigger(s)})}})(f)},_onFocusTrigger:function(b,a){if(this._triggerIsValid(b)){this._cancelSwitchTimer();this.switchTo(b,
undefined,n(a))}},_onMouseEnterTrigger:function(b,a){var e=this;if(e._triggerIsValid(b)){var k=n(a);e.switchTimer=c.later(function(){e.switchTo(b,undefined,k)},e.config.delay*1E3)}},_onMouseLeaveTrigger:function(){this._cancelSwitchTimer()},_triggerIsValid:function(b){return this.activeIndex!==b},_cancelSwitchTimer:function(){if(this.switchTimer){this.switchTimer.cancel();this.switchTimer=undefined}},switchTo:function(b,a,e,k){var f=this,m=f.config,s=f.triggers,v=f.panels,w=f.activeIndex,q=m.steps,
p=w*q,z=b*q;if(!f._triggerIsValid(b))return f;if(f.fire("beforeSwitch",{toIndex:b})===false)return f;if(m.hasTriggers)f._switchTrigger(w>-1?s[w]:null,s[b]);if(a===undefined)a=b>w?"forward":"backward";f._switchView(w>-1?v.slice(p,p+q):null,v.slice(z,z+q),b,a,e,function(){k&&k.call(f,b);f.completedIndex=b});f.activeIndex=b;return f},_switchTrigger:function(b,a){var e=this.config.activeTriggerCls;b&&l.removeClass(b,e);l.addClass(a,e)},_switchView:function(b,a,e,k,f,m){b&&l.css(b,"display","none");l.css(a,
"display","block");this._fireOnSwitch(e,f);m&&m.call(this)},_fireOnSwitch:function(b,a){this.fire("switch",c.mix(a||{},{currentIndex:b}))},prev:function(b){var a=this.activeIndex;this.switchTo(a>0?a-1:this.length-1,"backward",b)},next:function(b){var a=this.activeIndex;this.switchTo(a<this.length-1?a+1:0,"forward",b)}});return c.Switchable=h},{requires:["core"]});
KISSY.add("switchable/aria",function(c,h,n,l){function o(){this.stop&&this.stop()}function t(){this.start&&this.start()}h=c.DOM;n=c.Event;l=c.Switchable;var r=!document.documentElement.hasAttribute?function(a,e){e=e.toLowerCase();var k=h.get(a).getAttributeNode(e);return!!(k&&k.specified)}:function(a,e){e=e.toLowerCase();return h.get(a).hasAttribute(e)};l.Plugins.push({name:"aria",init:function(a){if(a.config.aria){var e=a.container;n.on(e,"focusin",o,a);n.on(e,"focusout",t,a)}}});var b=["a","input",
"button","object"];l.Aria={setTabIndex:function(a,e){a.tabIndex=e;h.query("*",a).each(function(k){var f=k.nodeName.toLowerCase();if(c.inArray(f,b)){r(k,"oriTabIndex")||h.attr(k,"oriTabIndex",k.tabIndex);k.tabIndex=e!=-1?h.attr(k,"oriTabIndex"):e}})}}},{host:"switchable"});
KISSY.add("switchable/accordion/base",function(c,h,n){function l(o,t){if(!(this instanceof l))return new l(o,t);l.superclass.constructor.apply(this,arguments);return 0}n=c.Switchable;h=c.DOM;c.extend(l,n,{_switchTrigger:function(o,t){var r=this.config;r.multiple?h.toggleClass(t,r.activeTriggerCls):l.superclass._switchTrigger.apply(this,arguments)},_triggerIsValid:function(o){return l.superclass._triggerIsValid.call(this,o)||this.config.multiple},_switchView:function(o,t,r,b,a,e){var k=t[0];if(this.config.multiple){h.toggle(k);
this._fireOnSwitch(r,a);e.call(this)}else l.superclass._switchView.apply(this,arguments)}});l.Plugins=[];l.Config={markupType:1,triggerType:"click",multiple:false};return c.Accordion=l},{host:"switchable"});
KISSY.add("switchable/accordion/aria",function(c,h,n){function l(i){var x;c.each(this.triggers,function(B){if(B==i||m.contains(B,i))x=B});return x}function o(i){switch(i.keyCode){case s:case v:i.ctrlKey&&!i.altKey&&!i.shiftKey&&i.halt();break;case g:i.ctrlKey&&!i.altKey&&i.halt()}}function t(i){var x=i.target,B=this.triggers,C=!i.ctrlKey&&!i.shiftKey&&!i.altKey,E=i.ctrlKey&&!i.shiftKey&&!i.altKey;switch(i.keyCode){case A:case u:if(l.call(this,x)&&C){this.switchTo(this.focusIndex);i.halt()}break;case p:case z:if(l.call(this,
x)){b.call(this);i.halt()}break;case d:case j:if(l.call(this,x)){a.call(this);i.halt()}break;case v:if(E){i.halt();a.call(this)}break;case s:if(E){i.halt();b.call(this)}break;case q:if(C){x=this.focusIndex;this.focusIndex=0;r.call(this,x,0,true);i.halt()}break;case w:if(C){x=B.length-1;B=this.focusIndex;this.focusIndex=x;r.call(this,B,x,true);i.halt()}break;case g:if(i.ctrlKey&&!i.altKey){i.halt();i.shiftKey?b.call(this):a.call(this)}}}function r(i,x,B){var C=this.triggers;if(typeof i=="number")var E=
C[i];i=C[x];if(E){y(E,"-1");m.removeClass(E,k);E.setAttribute("aria-selected","false")}B&&i.focus();y(i,"0");m.addClass(i,k);i.setAttribute("aria-selected","true")}function b(){var i=this.triggers,x=this.focusIndex;i=this.focusIndex=x==0?i.length-1:x-1;r.call(this,x,i,true)}function a(){var i=this.focusIndex,x=this.focusIndex=i==this.triggers.length-1?0:i+1;r.call(this,i,x,true)}function e(i){var x=!!(i.originalEvent.target||i.originalEvent.srcElement),B=this.config.multiple,C=this.completedIndex;
i=i.currentIndex;var E=this.triggers[i],F=this.panels[i];if(C>-1){var D=this.triggers[C];C=this.panels[C];y(D,"-1");x&&E.focus();if(!B){C.setAttribute("aria-hidden","true");D.setAttribute("aria-expanded","false")}}y(E,"0");x=F.getAttribute("aria-hidden");F.setAttribute("aria-hidden",x=="false"?"true":"false");E.setAttribute("aria-expanded",x=="false"?"false":"true");r.call(this,this.focusIndex,i);this.focusIndex=i}h=c.Switchable.Aria;n=c.Accordion;var k="ks-switchable-select",f=c.Event,m=c.DOM,s=
33,v=34,w=35,q=36,p=37,z=38,d=39,j=40,g=9,u=32,A=13;c.mix(n.Config,{aria:false});n.Plugins.push({name:"aria",init:function(i){if(i.config.aria){var x=i.container,B=i.activeIndex;m.attr(x,"aria-multiselectable",i.config.multiple?"true":"false");m.attr(x,"role","tablist");var C=i.triggers,E=i.panels,F=0;c.each(E,function(D){if(!D.id)D.id=c.guid("ks-switchable-tab-panel")});c.each(C,function(D){if(!D.id)D.id=c.guid("ks-switchable-tab")});c.each(C,function(D){D.setAttribute("role","tab");D.setAttribute("aria-expanded",
B==F?"true":"false");D.setAttribute("aria-selected",B==F?"true":"false");D.setAttribute("aria-controls",E[F].id);y(D,B==F?"0":"-1");F++});F=0;c.each(E,function(D){var G=C[F];D.setAttribute("role","tabpanel");D.setAttribute("aria-hidden",B==F?"false":"true");D.setAttribute("aria-labelledby",G.id);F++});i.on("switch",e,i);if(B>-1)i.focusIndex=B;f.on(x,"keydown",t,i);f.on(x,"keypress",o,i)}}});var y=h.setTabIndex},{host:"switchable"});
KISSY.add("switchable/autoplay",function(c,h,n,l){h=c.Event;n=c.Switchable;c.mix(n.Config,{autoplay:false,interval:5,pauseOnHover:true});n.Plugins.push({name:"autoplay",init:function(o){function t(){a=c.later(function(){o.paused||o.switchTo(o.activeIndex<o.length-1?o.activeIndex+1:0,"forward")},b,true)}var r=o.config,b=r.interval*1E3,a;if(r.autoplay){if(r.pauseOnHover){h.on(o.container,"mouseenter",function(){o.stop()});h.on(o.container,"mouseleave",function(){o.start()})}t();o.stop=function(){if(a){a.cancel();
a=l}o.paused=true};o.start=function(){if(a){a.cancel();a=l}o.paused=false;t()}}}});return n},{host:"switchable"});KISSY.add("switchable/autorender",function(c,h,n,l){h=c.DOM;n=c.JSON;l=c.Switchable;l.autoRender=function(o,t){o="."+(o||"KS_Widget");h.query(o,t).each(function(r){var b=r.getAttribute("data-widget-type"),a;if(b&&"Switchable Tabs Slide Carousel Accordion".indexOf(b)>-1)try{if(a=r.getAttribute("data-widget-config"))a=a.replace(/'/g,'"');new c[b](r,n.parse(a))}catch(e){}})}},{host:"switchable"});
KISSY.add("switchable/carousel/base",function(c,h,n,l,o){function t(b,a){if(!(this instanceof t))return new t(b,a);t.superclass.constructor.apply(this,arguments)}l=c.Switchable;h=c.DOM;n=c.Event;var r={originalEvent:{target:1}};t.Config={circular:true,prevBtnCls:"ks-switchable-prev-btn",nextBtnCls:"ks-switchable-next-btn",disableBtnCls:"ks-switchable-disable-btn"};t.Plugins=[];c.extend(t,l,{_init:function(){var b=this;t.superclass._init.call(b);var a=b.config,e=a.disableBtnCls,k=false;c.each(["prev",
"next"],function(f){var m=b[f+"Btn"]=h.get("."+a[f+"BtnCls"],b.container);m&&n.on(m,"click",function(s){s.preventDefault();k||h.hasClass(m,e)||b[f](r)})});if(!a.circular){b.on("beforeSwitch",function(){k=true});b.on("switch",function(f){f=f.currentIndex;f=f===0?b.prevBtn:f===b.length-1?b.nextBtn:o;h.removeClass([b.prevBtn,b.nextBtn],e);f&&h.addClass(f,e);k=false})}n.on(b.panels,"click",function(){b.fire("itemSelected",{item:this})})}});return c.Carousel=t},{host:"switchable"});
KISSY.add("switchable/carousel/aria",function(c,h,n,l,o){function t(d){var j=d.currentIndex,g=this.completedIndex,u=this.panels,A=u[j*this.config.steps],y=this.triggers;j=y[j];if((d=!!(d.originalEvent.target||d.originalEvent.srcElement))||g==-1){c.each(y,function(i){p(i,-1)});c.each(u,function(i){p(i,-1)});j&&p(j,0);p(A,0);d&&A.focus()}}function r(d){var j;c.each(this.triggers,function(g){if(g==d||h.contains(g,d)){j=g;return false}});return j}function b(d){var j=d.target;switch(d.keyCode){case v:case s:if(j=
r.call(this,j)){j=j;var g=h.next(j),u=this.triggers;g||(g=u[0]);p(j,-1);if(g){p(g,0);g.focus()}d.halt()}break;case m:case f:if(j=r.call(this,j)){j=j;g=h.prev(j);u=this.triggers;g||(g=u[u.length-1]);p(j,-1);if(g){p(g,0);g.focus()}d.halt()}break;case q:case w:if(j=r.call(this,j)){this.switchTo(c.indexOf(j,this.triggers),undefined,z);d.halt()}}}function a(d){var j;c.each(this.panels,function(g){if(g==d||h.contains(g,d)){j=g;return false}});return j}function e(d){var j=c.indexOf(d,this.panels),g=this.config.steps,
u=Math.floor(j/g);if(u==this.activeIndex)return 1;if(j%g==0||j%g==g-1){this.switchTo(u,undefined,undefined,function(){d.focus()});return 0}return 1}function k(d){var j=d.target;switch(d.keyCode){case v:case s:if(j=a.call(this,j)){j=j;var g=h.next(j),u=this.panels;g||(g=u[0]);p(j,-1);p(g,0);e.call(this,g)&&g.focus();d.halt()}break;case m:case f:if(j=a.call(this,j)){j=j;g=h.prev(j);u=this.panels;g||(g=u[u.length-1]);p(j,-1);p(g,0);e.call(this,g)&&g.focus();d.halt()}break;case q:case w:if(j=a.call(this,
j)){this.fire("itemSelected",{item:j});d.halt()}}}h=c.DOM;n=c.Event;l=c.Switchable.Aria;o=c.Carousel;var f=37,m=38,s=39,v=40,w=32,q=13,p=l.setTabIndex,z={originalEvent:{target:1}};c.mix(o.Config,{aria:false});o.Plugins.push({name:"aria",init:function(d){if(d.config.aria){var j=d.triggers,g=d.panels,u=d.content,A=d.activeIndex;if(!u.id)u.id=c.guid("ks-switchbale-content");u.setAttribute("role","listbox");c.each(j,function(y){p(y,A==0?"0":"-1");y.setAttribute("role","button");y.setAttribute("aria-controls",
u.id)});c.each(g,function(y){p(y,-1);y.setAttribute("role","option")});d.on("switch",t,d);(j=d.nav)&&n.on(j,"keydown",b,d);n.on(u,"keydown",k,d);j=d.prevBtn;g=d.nextBtn;if(j){p(j,0);j.setAttribute("role","button");n.on(j,"keydown",function(y){if(y.keyCode==q||y.keyCode==w){d.prev(z);y.preventDefault()}})}if(g){p(g,0);g.setAttribute("role","button");n.on(g,"keydown",function(y){if(y.keyCode==q||y.keyCode==w){d.next(z);y.preventDefault()}})}}}})},{host:"switchable"});
KISSY.add("switchable/effect",function(c,h,n,l,o,t){h=c.DOM;l=c.Anim;o=c.Switchable;var r;c.mix(o.Config,{effect:"none",duration:0.5,easing:"easeNone",nativeAnim:true});o.Effects={none:function(b,a,e){b&&h.css(b,"display","none");h.css(a,"display","block");e()},fade:function(b,a,e){b&&b.length!==1&&c.error("fade effect only supports steps == 1.");var k=this,f=k.config,m=b?b[0]:null,s=a[0];if(k.anim){k.anim.stop();h.css(k.anim.fromEl,{zIndex:1,opacity:0});h.css(k.anim.toEl,{zIndex:9})}h.css(s,"opacity",
1);if(m){k.anim=(new l(m,{opacity:0},f.duration,f.easing,function(){k.anim=t;h.css(s,"z-index",9);h.css(m,"z-index",1);e&&e()},f.nativeAnim)).run();k.anim.toEl=s;k.anim.fromEl=m}else{h.css(s,"z-index",9);e&&e()}},scroll:function(b,a,e,k){var f=this;a=f.config;var m=a.effect==="scrollx",s={};s[m?"left":"top"]=-(f.viewSize[m?0:1]*k)+"px";f.anim&&f.anim.stop();if(b)f.anim=(new l(f.content,s,a.duration,a.easing,function(){f.anim=t;e&&e()},a.nativeAnim)).run();else{h.css(f.content,s);e&&e()}}};r=o.Effects;
r.scrollx=r.scrolly=r.scroll;o.Plugins.push({name:"effect",init:function(b){var a=b.config,e=a.effect,k=b.panels,f=b.content,m=a.steps,s=b.activeIndex,v=k.length;b.viewSize=[a.viewSize[0]||k[0].offsetWidth*m,a.viewSize[1]||k[0].offsetHeight*m];if(e!=="none"){c.each(k,function(z){h.css(z,"display","block")});switch(e){case "scrollx":case "scrolly":h.css(f,"position","absolute");h.css(f.parentNode,"position","relative");if(e==="scrollx"){h.css(k,"float","left");h.width(f,b.viewSize[0]*(v/m))}break;
case "fade":var w=s*m,q=w+m-1,p;c.each(k,function(z,d){p=d>=w&&d<=q;h.css(z,{opacity:p?1:0,position:"absolute",zIndex:p?9:1})})}}}});c.augment(o,{_switchView:function(b,a,e,k,f,m){var s=this,v=s.config.effect;(c.isFunction(v)?v:r[v]).call(s,b,a,function(){s._fireOnSwitch(e,f);m&&m.call(s)},e,k)}});return o},{host:"switchable"});
KISSY.add("switchable/circular",function(c,h,n,l){function o(q,p,z,d,j){var g=this;q=g.config;p=g.length;var u=g.activeIndex,A=q.scrollType===w,y=A?e:k,i=g.viewSize[A?0:1];A=-i*d;var x={},B,C=j===v;if(B=C&&u===0&&d===p-1||j===s&&u===p-1&&d===0)A=t.call(g,g.panels,d,C,y,i);x[y]=A+m;g.anim&&g.anim.stop();g.anim=(new n(g.content,x,q.duration,q.easing,function(){B&&r.call(g,g.panels,d,C,y,i);g.anim=undefined;z()},q.nativeAnim)).run()}function t(q,p,z,d,j){var g=this.config.steps;p=this.length;var u=z?
p-1:0,A=(u+1)*g;for(g=u*g;g<A;g++){h.css(q[g],b,a);h.css(q[g],d,(z?-1:1)*j*p)}return z?j:-j*p}function r(q,p,z,d,j){var g=this.config.steps;p=this.length;var u=z?p-1:0,A=(u+1)*g;for(g=u*g;g<A;g++){h.css(q[g],b,f);h.css(q[g],d,f)}h.css(this.content,d,z?-j*(p-1):f)}h=c.DOM;n=c.Anim;l=c.Switchable;var b="position",a="relative",e="left",k="top",f="",m="px",s="forward",v="backward",w="scrollx";c.mix(l.Config,{circular:false});l.Plugins.push({name:"circular",init:function(q){q=q.config;if(q.circular&&(q.effect===
w||q.effect==="scrolly")){q.scrollType=q.effect;q.effect=o}}})},{host:"switchable"});
KISSY.add("switchable/countdown",function(c,h,n,l,o,t){h=c.DOM;n=c.Event;l=c.Anim;o=c.Switchable;c.mix(o.Config,{countdown:false,countdownFromStyle:"",countdownToStyle:"width: 0"});o.Plugins.push({name:"countdown",init:function(r){function b(q){a();w=(new l(m[q],v,f-1)).run()}function a(){if(k){clearTimeout(k);k=null}if(w){w.stop();w=t}}var e=r.config,k,f=e.interval,m=[],s=e.countdownFromStyle,v=e.countdownToStyle,w;if(!(!e.autoplay||!e.hasTriggers||!e.countdown)){c.each(r.triggers,function(q,p){q.innerHTML=
'<div class="ks-switchable-trigger-mask"></div><div class="ks-switchable-trigger-content">'+q.innerHTML+"</div>";m[p]=q.firstChild});if(e.pauseOnHover){n.on(r.container,"mouseenter",function(){a();var q=m[r.activeIndex];if(s)w=(new l(q,s,0.2,"easeOut")).run();else h.removeAttr(q,"style")});n.on(r.container,"mouseleave",function(){a();var q=r.activeIndex;h.removeAttr(m[q],"style");k=setTimeout(function(){b(q)},200)})}r.on("beforeSwitch",function(){a();if(r.activeIndex>-1)h.attr(m[r.activeIndex],"style",
s||"")});r.on("switch",function(q){r.paused||b(q.currentIndex)})}}});return o},{host:"switchable"});
KISSY.add("switchable/lazyload",function(c,h,n){h=c.DOM;n=c.Switchable;var l="beforeSwitch",o="img-src",t="area-data",r={};r[o]="data-ks-lazyload-custom";r[t]="ks-datalazyload-custom";c.mix(n.Config,{lazyDataType:t});n.Plugins.push({name:"lazyload",init:function(b){function a(s){var v=k.steps;s=s.toIndex*v;e.loadCustomLazyData(b.panels.slice(s,s+v),f);a:{var w,q;if(s=(v=f===o)?"img":f===t?"textarea":""){s=h.query(s,b.container);w=0;for(q=s.length;w<q;w++)if(v?h.attr(s[w],m):h.hasClass(s[w],m)){v=
false;break a}}v=true}v&&b.detach(l,a)}var e=c.DataLazyload,k=b.config,f=k.lazyDataType,m=r[f];!e||!f||!m||b.on(l,a)}});return n},{host:"switchable"});KISSY.add("switchable/slide/base",function(c,h){function n(l,o){if(!(this instanceof n))return new n(l,o);n.superclass.constructor.apply(this,arguments);return 0}h=c.Switchable;n.Config={autoplay:true,circular:true};n.Plugins=[];c.extend(n,h);return c.Slide=n},{host:"switchable"});
KISSY.add("switchable/slide/aria",function(c,h,n,l,o){function t(m){switch(m.keyCode){case e:case a:this.next(k);m.halt();break;case b:case r:this.prev(k);m.halt()}}l=c.Switchable;h=c.DOM;n=c.Event;l=l.Aria;o=c.Slide;var r=37,b=38,a=39,e=40;c.mix(o.Config,{aria:false});var k={originalEvent:{target:1}},f=l.setTabIndex;o.Plugins.push({name:"aria",init:function(m){if(m.config.aria){var s=m.panels,v=0,w=m.activeIndex;c.each(m.triggers,function(p){f(p,"-1");v++});v=0;c.each(s,function(p){f(p,w==v?"0":
"-1");h.attr(p,"role","option");v++});var q=m.content;h.attr(q,"role","listbox");n.on(q,"keydown",t,m);f(s[0],0);m.on("switch",function(p){var z=!!(p.originalEvent.target||p.originalEvent.srcElement);p=p.currentIndex;var d=m.completedIndex;d>-1&&f(s[d],-1);f(s[p],0);z&&s[p].focus()})}}})},{host:"switchable"});
KISSY.add("switchable/tabs/base",function(c,h){function n(l,o){if(!(this instanceof n))return new n(l,o);n.superclass.constructor.call(this,l,o);return 0}h=c.Switchable;c.extend(n,h);n.Config={};n.Plugins=[];return c.Tabs=n},{host:"switchable"});
KISSY.add("switchable/tabs/aria",function(c,h,n){function l(d){var j;c.each(this.triggers,function(g){if(g==d||e.contains(g,d))j=g});return j}function o(d){switch(d.keyCode){case k:case f:d.ctrlKey&&!d.altKey&&!d.shiftKey&&d.halt();break;case q:d.ctrlKey&&!d.altKey&&d.halt()}}function t(d){var j=d.target,g=d.ctrlKey&&!d.shiftKey&&!d.altKey;switch(d.keyCode){case m:case s:if(l.call(this,j)){this.prev(p(d));d.halt()}break;case v:case w:if(l.call(this,j)){this.next(p(d));d.halt()}break;case f:if(g){d.halt();
this.next(p(d))}break;case k:if(g){d.halt();this.prev(p(d))}break;case q:if(d.ctrlKey&&!d.altKey){d.halt();d.shiftKey?this.prev(p(d)):this.next(p(d))}}}function r(d){var j=!!(d.originalEvent.target||d.originalEvent.srcElement),g=this.completedIndex,u=d.currentIndex;if(g!=u){d=this.triggers[g];var A=this.triggers[u];g=this.panels[g];u=this.panels[u];d&&z(d,"-1");z(A,"0");j&&A.focus();g&&g.setAttribute("aria-hidden","true");u.setAttribute("aria-hidden","false")}}var b=c.Switchable;h=b.Aria;n=c.Tabs;
var a=c.Event,e=c.DOM,k=33,f=34,m=37,s=38,v=39,w=40,q=9;c.mix(n.Config,{aria:false});var p=b.getDomEvent;n.Plugins.push({name:"aria",init:function(d){if(d.config.aria){var j=d.triggers,g=d.activeIndex,u=d.panels,A=d.container;d.nav&&e.attr(d.nav,"role","tablist");var y=0;c.each(j,function(i){i.setAttribute("role","tab");z(i,g==y?"0":"-1");if(!i.id)i.id=c.guid("ks-switchable");y++});y=0;c.each(u,function(i){var x=j[y];i.setAttribute("role","tabpanel");i.setAttribute("aria-hidden",g==y?"false":"true");
i.setAttribute("aria-labelledby",x.id);y++});d.on("switch",r,d);a.on(A,"keydown",t,d);a.on(A,"keypress",o,d)}}});var z=h.setTabIndex},{host:"switchable"});
