(function(){var T=YAHOO.util.Event,U=YAHOO.util.Dom,ab=YAHOO.lang,I=YAHOO.env.ua,ad=YAHOO.widget.Carousel.prototype,R=ad.initAttributes,o={},O={},y=(I.gecko&&I.gecko>=1.9)||(I.ie&&I.ie>=8),u={A:true,SELECT:true,TEXTAREA:true,BUTTON:true,INPUT:true},N="usearia",M="aria-",i="hidden",z="*",E="id",ac="role",H="option",q="listbox",A="li",F="selectedItem",b="selected",r="toolbar",ae="keydown",V="presentation",n="button",W="href",D="UL",v="A",C="render",Z="selectedItemChange",e="show",Y="pageChange",k="keypress",c="controls",K="labelledby",J="describedby",h=" (Current Page)";var s=function(af,ag){af.setAttribute(ac,ag)};var t=function(ag,af,ah){ag.setAttribute((M+af),ah)};var S=function(){var af=this.getElementsByClassName(this.CLASSES.CAROUSEL_EL);if(af.length===1){return af[0]}};var X=function(){var af=this.getElementsByClassName(this.CLASSES.NAVIGATION);if(af.length===1){return af[0]}};var j=function(af){return((af.tabIndex>-1||u[af.nodeName.toUpperCase()])&&af.type!==i&&!af.disabled)};var aa=function(af){af.tabIndex=0};var l=function(af){af.tabIndex=-1};var B=function(af){var ag=this.getItem(af);if(ag){U.getElementsBy(j,z,ag.id,aa)}};var d=function(af){var ag=this.getItem(af);if(ag){U.getElementsBy(j,z,ag.id,l)}};var G=function(af){var ag=af.prevValue;if(ab.isNumber(ag)){d.call(this,ag)}B.call(this,af.newValue);t(this.getElementForItem(af.newValue),b,true)};var m=function(ai){T.stopPropagation(ai);var ag=this.get(E),ah=o[ag],af=O[ag],ak,aj;switch(T.getCharCode(ai)){case 37:case 38:aj=ah[af];aj.tabIndex=-1;af=af-1;ak=ah[af];if(!ak){af=ah.length-1;ak=ah[af]}O[ag]=af;ak.tabIndex=0;ak.focus();break;case 39:case 40:aj=ah[af];aj.tabIndex=-1;af=af+1;ak=ah[af];if(!ak){af=0;ak=ah[af]}O[ag]=af;ak.tabIndex=0;ak.focus();break}};var Q=function(af){s(af,H);U.getElementsBy(j,z,af,l)};var f=function(){var ah=S.call(this),ag,af;if(ah){s(ah,q);U.batch(ah.getElementsByTagName(A),Q);ag=this.get(F);if(ab.isNumber(ag)){t(this.getElementForItem(ag),b,true);B.call(this,ag)}af=X.call(this);if(af){s(af,r);T.on(af,ae,m,null,this)}}};var L=function(ah,ai){var am=ai.carousel,al=ai.toolbarButtons;s(ah,V);var ak=U.getFirstChild(ah);s(ak,n);t(ak,c,ai.listID);ak.value=ak.getAttribute(W,2);ak.removeAttribute(W);var ag=U.hasClass(ah,am.CLASSES.SELECTED_NAV)?0:-1;ak.tabIndex=ag;var aj=al.length;var af=U.getFirstChild(ak);if(ag===0){O[am.get(E)]=aj;af.innerHTML=af.innerHTML+h}al[aj]=ak};var p=function(af,ag){var ah=ag.toolbarButtons;s(af,V);t(af,c,ag.listID);var ai=U.getFirstChild(af);if(!ai.disabled){ai.tabIndex=-1;ah[ah.length]=ai}};var w=function(ai){var af=X.call(this),ah=[],aj,ak,ag;if(af){aj=U.getFirstChild(af);ak=S.call(this);if(aj&&ak){ag=ak.id||U.generatId(ak);if(aj.nodeName.toUpperCase()===D){s(aj,V);U.batch(aj.getElementsByTagName(A),L,{carousel:this,toolbarButtons:ah,listID:ag})}else{aj.tabIndex=0;t(aj,c,ag)}U.batch(this.getElementsByClassName(this.CLASSES.BUTTON),p,{toolbarButtons:ah,listID:ag});o[this.get(E)]=ah}}};var x=function(){ab.later(0,this,w)};var a=function(ah){var ag=T.getTarget(ah),af=T.getCharCode(ah);if(ag.nodeName.toUpperCase()===v&&U.getAncestorByClassName(ag,this.CLASSES.NAVIGATION)&&(af===13||af===32)){this._pagerClickHandler(ah)}};var g=function(af,ag){this.set(K,ag,true);this.removeListener(C,g)};var P=function(af,ag){this.set(J,ag,true);this.removeListener(C,P)};ab.augmentObject(ad,{_setLabelledBy:function(ah){var af=X.call(this),ag=S.call(this);if(this.get(N)&&af&&ag){t(af,K,ah);t(ag,K,ah)}else{this.on(C,g,ah)}},_setDescribedBy:function(ah){var af=X.call(this),ag=S.call(this);if(this.get(N)&&af&&ag){t(af,J,ah);t(ag,J,ah)}else{this.on(C,P,ah)}},_setUseARIA:function(af){if(af){this.on(C,f);this.on(Z,G);this.on(e,w);this.on(Y,x);this.on(k,a)}},initAttributes:function(af){this.setAttributeConfig(N,{value:af.usearia||y,validator:ab.isBoolean,writeOnce:true,method:this._setUseARIA});this.setAttributeConfig(K,{value:af.labelledby,validator:ab.isString,method:this._setLabelledBy});this.setAttributeConfig(J,{value:af.describedby,validator:ab.isString,method:this._setDescribedBy});R.apply(this,arguments);if(y){this.set(N,true)}}},"initAttributes","_setUseARIA","_setLabelledBy","_setDescribedBy")}());YAHOO.register("carouselariaplugin",YAHOO.widget.Carousel,{version:"@VERSION@",build:"@BUILD@"});
