(function(){var m;YAHOO.widget.Carousel=function(N,M){YAHOO.widget.Carousel.superclass.constructor.call(this,N,M)};var q=YAHOO.widget.Carousel,A=YAHOO.util.Dom,y=YAHOO.util.Event,K=YAHOO.lang;m="Carousel";var p={},f="afterScroll",B="allItemsRemoved",x="beforeHide",i="beforePageChange",E="beforeScroll",u="beforeShow",b="blur",t="focus",w="hide",o="itemAdded",J="itemRemoved",c="itemSelected",k="loadItems",h="navigationStateChange",C="pageChange",g="render",r="show",v="startAutoPlay",L="stopAutoPlay",j="uiUpdate";function s(N,M){var O=document.createElement(N);M=M||{};if(M.className){A.addClass(O,M.className)}if(M.parent){M.parent.appendChild(O)}if(M.id){O.setAttribute("id",M.id)}if(M.content){if(M.content.nodeName){O.appendChild(M.content)}else{O.innerHTML=M.content}}return O}function z(O,N,M){var Q;if(!O){return 0}function P(T,S){var U;if(S=="marginRight"&&YAHOO.env.ua.webkit){U=parseInt(A.getStyle(T,"marginLeft"),10)}else{U=parseInt(A.getStyle(T,S),10)}return K.isNumber(U)?U:0}function R(T,S){var U;if(S=="marginRight"&&YAHOO.env.ua.webkit){U=parseFloat(A.getStyle(T,"marginLeft"))}else{U=parseFloat(A.getStyle(T,S))}return K.isNumber(U)?U:0}if(typeof M=="undefined"){M="int"}switch(N){case"height":Q=O.offsetHeight;if(Q>0){Q+=P(O,"marginTop")+P(O,"marginBottom")}else{Q=R(O,"height")+P(O,"marginTop")+P(O,"marginBottom")+P(O,"borderTopWidth")+P(O,"borderBottomWidth")+P(O,"paddingTop")+P(O,"paddingBottom")}break;case"width":Q=O.offsetWidth;if(Q>0){Q+=P(O,"marginLeft")+P(O,"marginRight")}else{Q=R(O,"width")+P(O,"marginLeft")+P(O,"marginRight")+P(O,"borderLeftWidth")+P(O,"borderRightWidth")+P(O,"paddingLeft")+P(O,"paddingRight")}break;default:if(M=="int"){Q=P(O,N)}else{if(M=="float"){Q=R(O,N)}else{Q=A.getStyle(O,N)}}break}return Q}function l(P){var O=this,Q,N=0,M=false;if(O._itemsTable.numItems===0){return 0}if(typeof P=="undefined"){if(O._itemsTable.size>0){return O._itemsTable.size}}if(K.isUndefined(O._itemsTable.items[0])){return 0}Q=A.get(O._itemsTable.items[0].id);if(typeof P=="undefined"){M=O.get("isVertical")}else{M=P=="height"}if(M){N=z(Q,"height")}else{N=z(Q,"width")}if(typeof P=="undefined"){O._itemsTable.size=N}return N}function d(N){var M=this.get("numVisible");return Math.floor(N/M)*M}function F(O){var N=0,M=0;N=l.call(this);M=N*O;if(this.get("isVertical")){M-=O}return M}function D(M,N){N.scrollPageBackward();y.preventDefault(M)}function G(M,N){N.scrollPageForward();y.preventDefault(M)}function I(R,N){var V=this,W=V.CLASSES,M,T=V._firstItem,O=V.get("isCircular"),S=V.get("numItems"),U=V.get("numVisible"),Q=N,P=T+U-1;if(Q>=0&&Q<S){if(!K.isUndefined(V._itemsTable.items[Q])){M=A.get(V._itemsTable.items[Q].id);if(M){A.removeClass(M,W.SELECTED_ITEM)}}}if(K.isNumber(R)){R=parseInt(R,10);R=K.isNumber(R)?R:0}else{R=T}if(K.isUndefined(V._itemsTable.items[R])){R=d.call(V,R);V.scrollTo(R)}if(!K.isUndefined(V._itemsTable.items[R])){M=A.get(V._itemsTable.items[R].id);if(M){A.addClass(M,W.SELECTED_ITEM)}}if(R<T||R>P){R=d.call(V,R);V.scrollTo(R)}}function H(){var O=false,R=this,N=R.CLASSES,Q,M,P;if(!R._hasRendered){return}M=R.get("navigation");P=R._firstItem+R.get("numVisible");if(M.prev){if(R.get("numItems")===0||R._firstItem===0){if(R.get("numItems")===0||!R.get("isCircular")){y.removeListener(M.prev,"click",D);A.addClass(M.prev,N.FIRST_NAV_DISABLED);for(Q=0;Q<R._navBtns.prev.length;Q++){R._navBtns.prev[Q].setAttribute("disabled","true")}R._prevEnabled=false}else{O=!R._prevEnabled}}else{O=!R._prevEnabled}if(O){y.on(M.prev,"click",D,R);A.removeClass(M.prev,N.FIRST_NAV_DISABLED);for(Q=0;Q<R._navBtns.prev.length;Q++){R._navBtns.prev[Q].removeAttribute("disabled")}R._prevEnabled=true}}O=false;if(M.next){if(P>=R.get("numItems")){if(!R.get("isCircular")){y.removeListener(M.next,"click",G);A.addClass(M.next,N.DISABLED);for(Q=0;Q<R._navBtns.next.length;Q++){R._navBtns.next[Q].setAttribute("disabled","true")}R._nextEnabled=false}else{O=!R._nextEnabled}}else{O=!R._nextEnabled}if(O){y.on(M.next,"click",G,R);A.removeClass(M.next,N.DISABLED);for(Q=0;Q<R._navBtns.next.length;Q++){R._navBtns.next[Q].removeAttribute("disabled")}R._nextEnabled=true}}R.fireEvent(h,{next:R._nextEnabled,prev:R._prevEnabled})}function n(O){var P=this,M,N;if(!P._hasRendered){return}N=P.get("numVisible");if(!K.isNumber(O)){O=Math.ceil(P.get("selectedItem")/N)}M=Math.ceil(P.get("numItems")/N);P._pages.num=M;P._pages.cur=O;if(M>P.CONFIG.MAX_PAGER_BUTTONS){P._updatePagerMenu()}else{P._updatePagerButtons()}}function a(N){var M=this;if(!K.isObject(N)){return}switch(N.ev){case o:M._syncUiForItemAdd(N);break;case J:M._syncUiForItemRemove(N);break;case k:M._syncUiForLazyLoading(N);break}M.fireEvent(j)}function e(P,N){var R=this,Q=R.get("currentPage"),O,M=R.get("numVisible");O=parseInt(R._firstItem/M,10);if(O!=Q){R.setAttributeConfig("currentPage",{value:O});R.fireEvent(C,O)}if(R.get("selectOnScroll")){if(R.get("selectedItem")!=R._selectedItem){R.set("selectedItem",R._selectedItem)}}clearTimeout(R._autoPlayTimer);delete R._autoPlayTimer;if(R.isAutoPlayOn()){R.startAutoPlay()}R.fireEvent(f,{first:R._firstItem,last:N},R)}q.getById=function(M){return p[M]?p[M].object:false};YAHOO.extend(q,YAHOO.util.Element,{_animObj:null,_carouselEl:null,_clipEl:null,_firstItem:0,_hasFocus:false,_hasRendered:false,_isAnimationInProgress:false,_isAutoPlayInProgress:false,_itemsTable:null,_navBtns:null,_navEl:null,_nextEnabled:true,_pages:null,_prevEnabled:true,_recomputeSize:true,CLASSES:{BUTTON:"yui-carousel-button",CAROUSEL:"yui-carousel",CAROUSEL_EL:"yui-carousel-element",CONTAINER:"yui-carousel-container",CONTENT:"yui-carousel-content",DISABLED:"yui-carousel-button-disabled",FIRST_NAV:" yui-carousel-first-button",FIRST_NAV_DISABLED:"yui-carousel-first-button-disabled",FIRST_PAGE:"yui-carousel-nav-first-page",FOCUSSED_BUTTON:"yui-carousel-button-focus",HORIZONTAL:"yui-carousel-horizontal",ITEM_LOADING:"yui-carousel-item-loading",MIN_WIDTH:"yui-carousel-min-width",NAVIGATION:"yui-carousel-nav",NEXT_NAV:" yui-carousel-next-button",NEXT_PAGE:"yui-carousel-next",NAV_CONTAINER:"yui-carousel-buttons",PAGE_FOCUS:"yui-carousel-nav-page-focus",PREV_PAGE:"yui-carousel-prev",SELECTED_ITEM:"yui-carousel-item-selected",SELECTED_NAV:"yui-carousel-nav-page-selected",VERTICAL:"yui-carousel-vertical",VERTICAL_CONTAINER:"yui-carousel-vertical-container",VISIBLE:"yui-carousel-visible"},CONFIG:{FIRST_VISIBLE:0,HORZ_MIN_WIDTH:180,MAX_PAGER_BUTTONS:5,VERT_MIN_WIDTH:99,NUM_VISIBLE:3},STRINGS:{ITEM_LOADING_CONTENT:"Loading",NEXT_BUTTON_TEXT:"Next Page",PAGER_PREFIX_TEXT:"Go to page ",PREVIOUS_BUTTON_TEXT:"Previous Page"},addItem:function(R,N){var S=this,P,Q,M,O=S.get("numItems");if(!R){return false}if(K.isString(R)||R.nodeName){Q=R.nodeName?R.innerHTML:R}else{if(K.isObject(R)){Q=R.content}else{return false}}P=R.className||"";M=R.id?R.id:A.generateId();if(K.isUndefined(N)){S._itemsTable.items.push({item:Q,className:P,id:M})}else{if(N<0||N>=O){return false}S._itemsTable.items.splice(N,0,{item:Q,className:P,id:M})}S._itemsTable.numItems++;if(O<S._itemsTable.items.length){S.set("numItems",S._itemsTable.items.length)}S.fireEvent(o,{pos:N,ev:o});return true},addItems:function(M){var N,P,O=true;if(!K.isArray(M)){return false}for(N=0,P=M.length;N<P;N++){if(this.addItem(M[N][0],M[N][1])===false){O=false}}return O},blur:function(){this._carouselEl.blur();this.fireEvent(b)},clearItems:function(){var M=this,N=M.get("numItems");while(N>0){if(!M.removeItem(0)){}if(M._itemsTable.numItems===0){M.set("numItems",0);break}N--}M.fireEvent(B)},focus:function(){var V=this,Q,R,S,P,U,W,N,O,M;if(!V._hasRendered){return}if(V.isAnimating()){return}M=V.get("selectedItem");W=V.get("numVisible");N=V.get("selectOnScroll");O=(M>=0)?V.getItem(M):null;Q=V.get("firstVisible");U=Q+W-1;S=(M<Q||M>U);R=(O&&O.id)?A.get(O.id):null;P=V._itemsTable;if(!N&&S){R=(P&&P.items&&P.items[Q])?A.get(P.items[Q].id):null}if(R){try{R.focus()}catch(T){}}V.fireEvent(t)},hide:function(){var M=this;if(M.fireEvent(x)!==false){M.removeClass(M.CLASSES.VISIBLE);M.fireEvent(w)}},init:function(O,N){var P=this,M=O,Q=false;if(!O){return}P._hasRendered=false;P._navBtns={prev:[],next:[]};P._pages={el:null,num:0,cur:0};P._itemsTable={loading:{},numItems:0,items:[],size:0};if(K.isString(O)){O=A.get(O)}else{if(!O.nodeName){return}}q.superclass.init.call(P,O,N);if(O){if(!O.id){O.setAttribute("id",A.generateId())}Q=P._parseCarousel(O);if(!Q){P._createCarousel(M)}}else{O=P._createCarousel(M)}M=O.id;P.initEvents();if(Q){P._parseCarouselItems()}if(!N||typeof N.isVertical=="undefined"){P.set("isVertical",false)}P._parseCarouselNavigation(O);P._navEl=P._setupCarouselNavigation();p[M]={object:P};P._loadItems()},initAttributes:function(M){var N=this;M=M||{};q.superclass.initAttributes.call(N,M);N.setAttributeConfig("carouselEl",{validator:K.isString,value:M.carouselEl||"OL"});N.setAttributeConfig("carouselItemEl",{validator:K.isString,value:M.carouselItemEl||"LI"});N.setAttributeConfig("currentPage",{readOnly:true,value:0});N.setAttributeConfig("firstVisible",{method:N._setFirstVisible,validator:N._validateFirstVisible,value:M.firstVisible||N.CONFIG.FIRST_VISIBLE});N.setAttributeConfig("selectOnScroll",{validator:K.isBoolean,value:M.selectOnScroll||true});N.setAttributeConfig("numVisible",{method:N._setNumVisible,validator:N._validateNumVisible,value:M.numVisible||N.CONFIG.NUM_VISIBLE});N.setAttributeConfig("numItems",{method:N._setNumItems,validator:N._validateNumItems,value:N._itemsTable.numItems});N.setAttributeConfig("scrollIncrement",{validator:N._validateScrollIncrement,value:M.scrollIncrement||1});N.setAttributeConfig("selectedItem",{method:N._setSelectedItem,validator:K.isNumber,value:-1});N.setAttributeConfig("revealAmount",{method:N._setRevealAmount,validator:N._validateRevealAmount,value:M.revealAmount||0});N.setAttributeConfig("isCircular",{validator:K.isBoolean,value:M.isCircular||false});N.setAttributeConfig("isVertical",{method:N._setOrientation,validator:K.isBoolean,value:M.isVertical||false});N.setAttributeConfig("navigation",{method:N._setNavigation,validator:N._validateNavigation,value:M.navigation||{prev:null,next:null,page:null}});N.setAttributeConfig("animation",{validator:N._validateAnimation,value:M.animation||{speed:0,effect:null}});N.setAttributeConfig("autoPlay",{validator:K.isNumber,value:M.autoPlay||0});N.setAttributeConfig("autoPlayInterval",{validator:K.isNumber,value:M.autoPlayInterval||0})},initEvents:function(){var O=this,N=O.CLASSES,M;O.on("keydown",O._keyboardEventHandler);O.on(f,H);O.on(o,a);O.on(J,a);O.on(c,function(){if(O._hasFocus){O.focus()}});O.on(k,a);O.on(B,function(P){O.scrollTo(0);H.call(O);n.call(O)});O.on(C,n,O);O.on(g,function(P){O.set("selectedItem",O.get("firstVisible"));H.call(O,P);n.call(O,P);O._setClipContainerSize()});O.on("selectedItemChange",function(P){I.call(O,P.newValue,P.prevValue);if(P.newValue>=0){O._updateTabIndex(O.getElementForItem(P.newValue))}O.fireEvent(c,P.newValue)});O.on(j,function(P){H.call(O,P);n.call(O,P)});O.on("firstVisibleChange",function(P){if(!O.get("selectOnScroll")){if(P.newValue>=0){O._updateTabIndex(O.getElementForItem(P.newValue))}}});O.on("click",function(P){if(O.isAutoPlayOn()){O.stopAutoPlay()}O._itemClickHandler(P);O._pagerClickHandler(P)});y.onFocus(O.get("element"),function(P,R){var Q=y.getTarget(P);if(Q&&Q.nodeName.toUpperCase()=="A"&&A.getAncestorByClassName(Q,N.NAVIGATION)){if(M){A.removeClass(M,N.PAGE_FOCUS)}M=Q.parentNode;A.addClass(M,N.PAGE_FOCUS)}else{if(M){A.removeClass(M,N.PAGE_FOCUS)}}R._hasFocus=true;R._updateNavButtons(y.getTarget(P),true)},O);y.onBlur(O.get("element"),function(P,Q){Q._hasFocus=false;Q._updateNavButtons(y.getTarget(P),false)},O)},isAnimating:function(){return this._isAnimationInProgress},isAutoPlayOn:function(){return this._isAutoPlayInProgress},getElementForItem:function(M){var N=this;if(M<0||M>=N.get("numItems")){return null}if(N._itemsTable.numItems>M){if(!K.isUndefined(N._itemsTable.items[M])){return A.get(N._itemsTable.items[M].id)}}return null},getElementForItems:function(){var O=this,N=[],M;for(M=0;M<O._itemsTable.numItems;M++){N.push(O.getElementForItem(M))}return N},getItem:function(M){var N=this;if(M<0||M>=N.get("numItems")){return null}if(N._itemsTable.numItems>M){if(!K.isUndefined(N._itemsTable.items[M])){return N._itemsTable.items[M]}}return null},getItems:function(M){return this._itemsTable.items},getItemPositionById:function(P){var N=this,M=0,O=N._itemsTable.numItems;while(M<O){if(!K.isUndefined(N._itemsTable.items[M])){if(N._itemsTable.items[M].id==P){return M}}M++}return -1},getVisibleItems:function(){var O=this,M=O.get("firstVisible"),P=M+O.get("numVisible"),N=[];while(M<P){N.push(O.getElementForItem(M));M++}return N},removeItem:function(N){var P=this,O,M=P.get("numItems");if(N<0||N>=M){return false}O=P._itemsTable.items.splice(N,1);if(O&&O.length==1){P._itemsTable.numItems--;P.set("numItems",M-1);P.fireEvent(J,{item:O[0],pos:N,ev:J});return true}return false},render:function(N){var O=this,M=O.CLASSES;O.addClass(M.CAROUSEL);if(!O._clipEl){O._clipEl=O._createCarouselClip();O._clipEl.appendChild(O._carouselEl)}if(N){O.appendChild(O._clipEl);O.appendTo(N)}else{if(!A.inDocument(O.get("element"))){return false}O.appendChild(O._clipEl)}if(O.get("isVertical")){O.addClass(M.VERTICAL)}else{O.addClass(M.HORIZONTAL)}if(O.get("numItems")<1){return false}O._refreshUi();return true},scrollBackward:function(){var M=this;M.scrollTo(M._firstItem-M.get("scrollIncrement"))},scrollForward:function(){var M=this;M.scrollTo(M._firstItem+M.get("scrollIncrement"))},scrollPageBackward:function(){var N=this,M=N._firstItem-N.get("numVisible");if(N.get("selectOnScroll")){N._selectedItem=N._getSelectedItem(M)}else{M=N._getValidIndex(M)}N.scrollTo(M)},scrollPageForward:function(){var N=this,M=N._firstItem+N.get("numVisible");if(N.get("selectOnScroll")){N._selectedItem=N._getSelectedItem(M)}else{M=N._getValidIndex(M)}N.scrollTo(M)},scrollTo:function(ab,N){var aa=this,M,R,P,Z,X,W,U,V,Q,T,O,S,Y;if(K.isUndefined(ab)||ab==aa._firstItem||aa.isAnimating()){return}R=aa.get("animation");P=aa.get("isCircular");W=aa._firstItem;U=aa.get("numItems");V=aa.get("numVisible");T=aa.get("currentPage");Y=function(){if(aa.isAutoPlayOn()){aa.stopAutoPlay()}};if(ab<0){if(P){ab=U+ab}else{Y.call(aa);return}}else{if(U>0&&ab>U-1){if(aa.get("isCircular")){ab=U-ab}else{Y.call(aa);return}}}X=(aa._firstItem>ab)?"backward":"forward";S=W+V;S=(S>U-1)?U-1:S;O=aa.fireEvent(E,{dir:X,first:W,last:S});if(O===false){return}aa.fireEvent(i,{page:T});Z=W-ab;aa._firstItem=ab;aa.set("firstVisible",ab);aa._loadItems();S=ab+V;S=(S>U-1)?U-1:S;Q=F.call(aa,Z);M=R.speed>0;M=false;if(M){aa._animateAndSetCarouselOffset(Q,ab,S,N)}else{animObj2=new YAHOO.util.Anim(aa._carouselEl,{opacity:{from:1,to:0}},1,YAHOO.util.Easing.easeOut);animObj2.animate();animObj2.onComplete.subscribe(function(){aa._setCarouselOffset(Q);e.call(aa,ab,S);animObj3=new YAHOO.util.Anim(aa._carouselEl,{opacity:{from:0,to:1}},1,YAHOO.util.Easing.easeIn);animObj3.animate()})}},selectPreviousItem:function(){var O=this,N=0,M=O.get("selectedItem");if(M==this._firstItem){N=M-O.get("numVisible");O._selectedItem=O._getSelectedItem(M-1);O.scrollTo(N)}else{N=O.get("selectedItem")-O.get("scrollIncrement");O.set("selectedItem",O._getSelectedItem(N))}},selectNextItem:function(){var N=this,M=0;M=N.get("selectedItem")+N.get("scrollIncrement");N.set("selectedItem",N._getSelectedItem(M))},show:function(){var N=this,M=N.CLASSES;if(N.fireEvent(u)!==false){N.addClass(M.VISIBLE);N.fireEvent(r)}},startAutoPlay:function(){var M=this,N;if(K.isUndefined(M._autoPlayTimer)){N=M.get("autoPlayInterval");if(N<=0){return}M._isAutoPlayInProgress=true;M.fireEvent(v);M._autoPlayTimer=setTimeout(function(){M._autoScroll()},N)}},stopAutoPlay:function(){var M=this;if(!K.isUndefined(M._autoPlayTimer)){clearTimeout(M._autoPlayTimer);delete M._autoPlayTimer;M._isAutoPlayInProgress=false;M.fireEvent(L)}},toString:function(){return m+(this.get?" (#"+this.get("id")+")":"")},_animateAndSetCarouselOffset:function(R,P,N){var Q=this,O=Q.get("animation"),M=null;animObj2=null;if(Q.get("isVertical")){M=new YAHOO.util.Motion(Q._carouselEl,{points:{by:[0,R]}},O.speed,O.effect)}else{M=new YAHOO.util.Motion(Q._carouselEl,{points:{by:[R,0]}},O.speed,O.effect)}animObj2=new YAHOO.util.Anim(Q._carouselEl,{opacity:{from:1,to:0}},O.speed,O.effect);Q._isAnimationInProgress=true;M.onComplete.subscribe(Q._animationCompleteHandler,{scope:Q,item:P,last:N});animObj2.animate();M.animate()},_animationCompleteHandler:function(M,N,O){O.scope._isAnimationInProgress=false;e.call(O.scope,O.item,O.last)},_autoScroll:function(){var N=this,O=N._firstItem,M;if(O>=N.get("numItems")-1){if(N.get("isCircular")){M=0}else{N.stopAutoPlay()}}else{M=O+N.get("numVisible")}N._selectedItem=N._getSelectedItem(M);N.scrollTo.call(N,M)},_createCarousel:function(N){var P=this,M=P.CLASSES,O=A.get(N);if(!O){O=s("DIV",{className:M.CAROUSEL,id:N})}if(!P._carouselEl){P._carouselEl=s(P.get("carouselEl"),{className:M.CAROUSEL_EL})}return O},_createCarouselClip:function(){return s("DIV",{className:this.CLASSES.CONTENT})},_createCarouselItem:function(M){return s(this.get("carouselItemEl"),{className:M.className,content:M.content,id:M.id})},_getValidIndex:function(O){var Q=this,M=Q.get("isCircular"),P=Q.get("numItems"),N=P-1;if(O<0){O=M?P+O:0}else{if(O>N){O=M?O-P:N}}return O},_getSelectedItem:function(Q){var P=this,M=P.get("isCircular"),O=P.get("numItems"),N=O-1;if(Q<0){if(M){Q=O+Q}else{Q=P.get("selectedItem")}}else{if(Q>N){if(M){Q=Q-O}else{Q=P.get("selectedItem")}}}return Q},_itemClickHandler:function(P){var R=this,M=R.get("element"),N,O,Q=YAHOO.util.Event.getTarget(P);while(Q&&Q!=M&&Q.id!=R._carouselEl){N=Q.nodeName;if(N.toUpperCase()==R.get("carouselItemEl")){break}Q=Q.parentNode}if((O=R.getItemPositionById(Q.id))>=0){R.set("selectedItem",R._getSelectedItem(O));R.focus()}},_keyboardEventHandler:function(O){var P=this,N=y.getCharCode(O),M=false;if(P.isAnimating()){return}switch(N){case 37:case 38:P.selectPreviousItem();M=true;break;case 39:case 40:P.selectNextItem();M=true;break;case 33:P.scrollPageBackward();M=true;break;case 34:P.scrollPageForward();M=true;break}if(M){if(P.isAutoPlayOn()){P.stopAutoPlay()}y.preventDefault(O)}},_loadItems:function(){var Q=this,R=Q.get("firstVisible"),N=0,M=Q.get("numItems"),O=Q.get("numVisible"),P=Q.get("revealAmount");N=R+O-1+(P?1:0);N=N>M-1?M-1:N;if(!Q.getItem(R)||!Q.getItem(N)){Q.fireEvent(k,{ev:k,first:R,last:N,num:N-R})}},_pagerClickHandler:function(N){var P=this,R,O=y.getTarget(N),Q;function M(T){var S=P.get("carouselItemEl");if(T.nodeName.toUpperCase()==S.toUpperCase()){T=A.getChildrenBy(T,function(U){return U.href||U.value});if(T&&T[0]){return T[0]}}else{if(T.href||T.value){return T}}return null}if(O){O=M(O);if(!O){return}Q=O.href||O.value;if(K.isString(Q)&&Q){R=Q.lastIndexOf("#");if(R!=-1){Q=P.getItemPositionById(Q.substring(R+1));P._selectedItem=Q;P.scrollTo(Q);if(!O.value){P.focus()}y.preventDefault(N)}}}},_parseCarousel:function(O){var R=this,S,M,N,Q,P;M=R.CLASSES;N=R.get("carouselEl");Q=false;for(S=O.firstChild;S;S=S.nextSibling){if(S.nodeType==1){P=S.nodeName;if(P.toUpperCase()==N){R._carouselEl=S;A.addClass(R._carouselEl,R.CLASSES.CAROUSEL_EL);Q=true}}}return Q},_parseCarouselItems:function(){var Q=this,R,M,N,P,O=Q._carouselEl;M=Q.get("carouselItemEl");for(R=O.firstChild;R;R=R.nextSibling){if(R.nodeType==1){P=R.nodeName;if(P.toUpperCase()==M){if(R.id){N=R.id}else{N=A.generateId();R.setAttribute("id",N)}Q.addItem(R)}}}},_parseCarouselNavigation:function(S){var T=this,R,U=T.CLASSES,N,Q,P,M,O=false;M=A.getElementsByClassName(U.PREV_PAGE,"*",S);if(M.length>0){for(Q in M){if(M.hasOwnProperty(Q)){N=M[Q];if(N.nodeName=="INPUT"||N.nodeName=="BUTTON"){T._navBtns.prev.push(N)}else{P=N.getElementsByTagName("INPUT");if(K.isArray(P)&&P.length>0){T._navBtns.prev.push(P[0])}else{P=N.getElementsByTagName("BUTTON");if(K.isArray(P)&&P.length>0){T._navBtns.prev.push(P[0])}}}}}R={prev:M}}M=A.getElementsByClassName(U.NEXT_PAGE,"*",S);if(M.length>0){for(Q in M){if(M.hasOwnProperty(Q)){N=M[Q];if(N.nodeName=="INPUT"||N.nodeName=="BUTTON"){T._navBtns.next.push(N)}else{P=N.getElementsByTagName("INPUT");if(K.isArray(P)&&P.length>0){T._navBtns.next.push(P[0])}else{P=N.getElementsByTagName("BUTTON");if(K.isArray(P)&&P.length>0){T._navBtns.next.push(P[0])}}}}}if(R){R.next=M}else{R={next:M}}}if(R){T.set("navigation",R);O=true}return O},_refreshUi:function(){var M=this;M._hasRendered=true;M.fireEvent(g)},_setCarouselOffset:function(O){var M=this,N;N=M.get("isVertical")?"top":"left";O+=O!==0?z(M._carouselEl,N):0;A.setStyle(M._carouselEl,N,O+"px")},_setupCarouselNavigation:function(){var R=this,P,N,M,T,Q,S,O;M=R.CLASSES;Q=A.getElementsByClassName(M.NAVIGATION,"DIV",R.get("element"));if(Q.length===0){Q=s("DIV",{className:M.NAVIGATION});R.insertBefore(Q,A.getFirstChild(R.get("element")))}else{Q=Q[0]}R._pages.el=s("UL");Q.appendChild(R._pages.el);T=R.get("navigation");if(K.isString(T.prev)||K.isArray(T.prev)){if(K.isString(T.prev)){T.prev=[T.prev]}for(P in T.prev){if(T.prev.hasOwnProperty(P)){R._navBtns.prev.push(A.get(T.prev[P]))}}}else{O=s("SPAN",{className:M.BUTTON+M.FIRST_NAV});A.setStyle(O,"visibility","visible");P=A.generateId();O.innerHTML='<button type="button" id="'+P+'" name="'+R.STRINGS.PREVIOUS_BUTTON_TEXT+'">'+R.STRINGS.PREVIOUS_BUTTON_TEXT+"</button>";Q.appendChild(O);P=A.get(P);R._navBtns.prev=[P];N={prev:[O]}}if(K.isString(T.next)||K.isArray(T.next)){if(K.isString(T.next)){T.next=[T.next]}for(P in T.next){if(T.next.hasOwnProperty(P)){R._navBtns.next.push(A.get(T.next[P]))}}}else{S=s("SPAN",{className:M.BUTTON+M.NEXT_NAV});A.setStyle(S,"visibility","visible");P=A.generateId();S.innerHTML='<button type="button" id="'+P+'" name="'+R.STRINGS.NEXT_BUTTON_TEXT+'">'+R.STRINGS.NEXT_BUTTON_TEXT+"</button>";Q.appendChild(S);P=A.get(P);R._navBtns.next=[P];if(N){N.next=[S]}else{N={next:[S]}}}if(N){R.set("navigation",N)}return Q},_setClipContainerSize:function(N,P){var U=this,Q,M,R,S,T,V,O;R=U.get("isVertical");T=U.get("revealAmount");O=R?"height":"width";Q=R?"top":"left";N=N||U._clipEl;if(!N){return}P=P||U.get("numVisible");S=l.call(U,O);V=S*P;U._recomputeSize=(V===0);if(U._recomputeSize){U._hasRendered=false;return}if(T>0){T=S*(T/100)*2;V+=T;M=parseFloat(A.getStyle(U._carouselEl,Q));M=K.isNumber(M)?M:0;A.setStyle(U._carouselEl,Q,M+(T/2)+"px")}if(R){V+=z(U._carouselEl,"marginTop")+z(U._carouselEl,"marginBottom")+z(U._carouselEl,"paddingTop")+z(U._carouselEl,"paddingBottom")+z(U._carouselEl,"borderTopWidth")+z(U._carouselEl,"borderBottomWidth");A.setStyle(N,O,(V-(P-1))+"px")}else{V+=z(U._carouselEl,"marginLeft")+z(U._carouselEl,"marginRight")+z(U._carouselEl,"paddingLeft")+z(U._carouselEl,"paddingRight")+z(U._carouselEl,"borderLeftWidth")+z(U._carouselEl,"borderRightWidth");A.setStyle(N,O,V+"px")}U._setContainerSize(N)},_setContainerSize:function(Q,M){var R=this,O=R.CONFIG,N=R.CLASSES,S,P;S=R.get("isVertical");Q=Q||R._clipEl;M=M||(S?"height":"width");P=parseFloat(A.getStyle(Q,M),10);P=K.isNumber(P)?P:0;if(S){P+=z(R._carouselEl,"marginTop")+z(R._carouselEl,"marginBottom")+z(R._carouselEl,"paddingTop")+z(R._carouselEl,"paddingBottom")+z(R._carouselEl,"borderTopWidth")+z(R._carouselEl,"borderBottomWidth")+z(R._navEl,"height")}else{P+=z(Q,"marginLeft")+z(Q,"marginRight")+z(Q,"paddingLeft")+z(Q,"paddingRight")+z(Q,"borderLeftWidth")+z(Q,"borderRightWidth")}if(!S){if(P<O.HORZ_MIN_WIDTH){P=O.HORZ_MIN_WIDTH;R.addClass(N.MIN_WIDTH)}}R.setStyle(M,P+"px");if(S){P=l.call(R,"width");if(P<O.VERT_MIN_WIDTH){P=O.VERT_MIN_WIDTH;R.addClass(N.MIN_WIDTH)}R.setStyle("width",P+"px")}},_setFirstVisible:function(N){var M=this;if(N>=0&&N<M.get("numItems")){M.scrollTo(N)}else{N=M.get("firstVisible")}return N},_setNavigation:function(M){var N=this;if(M.prev){y.on(M.prev,"click",D,N)}if(M.next){y.on(M.next,"click",G,N)}},_setNumVisible:function(N){var M=this;M._setClipContainerSize(M._clipEl,N)},_setNumItems:function(O){var N=this,M=N._itemsTable.numItems;if(K.isArray(N._itemsTable.items)){if(N._itemsTable.items.length!=M){M=N._itemsTable.items.length;N._itemsTable.numItems=M}}if(O<M){while(M>O){N.removeItem(M-1);M--}}return O},_setOrientation:function(O){var N=this,M=N.CLASSES;if(O){N.replaceClass(M.HORIZONTAL,M.VERTICAL)}else{N.replaceClass(M.VERTICAL,M.HORIZONTAL)}N._itemsTable.size=0;return O},_setRevealAmount:function(N){var M=this;if(N>=0&&N<=100){N=parseInt(N,10);N=K.isNumber(N)?N:0;M._setClipContainerSize()}else{N=M.get("revealAmount")}return N},_setSelectedItem:function(M){this._selectedItem=M},_syncUiForItemAdd:function(P){var T=this,R=T._carouselEl,M,U,O=T._itemsTable,N,Q,S;Q=K.isUndefined(P.pos)?O.numItems-1:P.pos;if(!K.isUndefined(O.items[Q])){U=O.items[Q];if(U&&!K.isUndefined(U.id)){N=A.get(U.id)}}if(!N){M=T._createCarouselItem({className:U.className,content:U.item,id:U.id});if(K.isUndefined(P.pos)){if(!K.isUndefined(O.loading[Q])){N=O.loading[Q]}if(N){R.replaceChild(M,N);delete O.loading[Q]}else{R.appendChild(M)}}else{if(!K.isUndefined(O.items[P.pos+1])){S=A.get(O.items[P.pos+1].id)}if(S){R.insertBefore(M,S)}else{}}}else{if(K.isUndefined(P.pos)){if(!A.isAncestor(T._carouselEl,N)){R.appendChild(N)}}else{if(!A.isAncestor(R,N)){if(!K.isUndefined(O.items[P.pos+1])){R.insertBefore(N,A.get(O.items[P.pos+1].id))}}}}if(!T._hasRendered){T._refreshUi()}if(T.get("selectedItem")<0){T.set("selectedItem",T.get("firstVisible"))}},_syncUiForItemRemove:function(R){var Q=this,M=Q._carouselEl,O,P,N,S;N=Q.get("numItems");P=R.item;S=R.pos;if(P&&(O=A.get(P.id))){if(O&&A.isAncestor(M,O)){y.purgeElement(O,true);M.removeChild(O)}if(Q.get("selectedItem")==S){S=S>=N?N-1:S;Q.set("selectedItem",S)}}else{}},_syncUiForLazyLoading:function(S){var R=this,N=R._carouselEl,Q,O,M=R._itemsTable,P;for(O=S.first;O<=S.last;O++){Q=R._createCarouselItem({className:R.CLASSES.ITEM_LOADING,content:R.STRINGS.ITEM_LOADING_CONTENT,id:A.generateId()});if(Q){if(!K.isUndefined(M.items[S.last+1])){P=A.get(M.items[S.last+1].id);if(P){N.insertBefore(Q,P)}else{}}else{N.appendChild(Q)}}M.loading[O]=Q}},_updateNavButtons:function(Q,N){var O,M=this.CLASSES,R,P=Q.parentNode;if(!P){return}R=P.parentNode;if(Q.nodeName.toUpperCase()=="BUTTON"&&A.hasClass(P,M.BUTTON)){if(N){if(R){O=A.getChildren(R);if(O){A.removeClass(O,M.FOCUSSED_BUTTON)}}A.addClass(P,M.FOCUSSED_BUTTON)}else{A.removeClass(P,M.FOCUSSED_BUTTON)}}},_updatePagerButtons:function(){var U=this,S=U.CLASSES,T=U._pages.cur,M,R,P,V,N=U.get("numVisible"),Q=U._pages.num,O=U._pages.el;if(Q===0||!O){return}A.setStyle(O,"visibility","hidden");while(O.firstChild){O.removeChild(O.firstChild)}for(P=0;P<Q;P++){if(K.isUndefined(U._itemsTable.items[P*N])){A.setStyle(O,"visibility","visible");break}V=U._itemsTable.items[P*N].id;M=document.createElement("LI");if(!M){A.setStyle(O,"visibility","visible");break}if(P===0){A.addClass(M,S.FIRST_PAGE)}if(P==T){A.addClass(M,S.SELECTED_NAV)}R='<a href="#'+V+'" tabindex="0"><em>'+U.STRINGS.PAGER_PREFIX_TEXT+" "+(P+1)+"</em></a>";M.innerHTML=R;O.appendChild(M)}A.setStyle(O,"visibility","visible")},_updatePagerMenu:function(){var T=this,S=T._pages.cur,N,Q,U,O=T.get("numVisible"),R=T._pages.num,P=T._pages.el,M;if(R===0){return}M=document.createElement("SELECT");if(!M){return}A.setStyle(P,"visibility","hidden");while(P.firstChild){P.removeChild(P.firstChild)}for(Q=0;Q<R;Q++){if(K.isUndefined(T._itemsTable.items[Q*O])){A.setStyle(P,"visibility","visible");break}U=T._itemsTable.items[Q*O].id;N=document.createElement("OPTION");if(!N){A.setStyle(P,"visibility","visible");break}N.value="#"+U;N.innerHTML=T.STRINGS.PAGER_PREFIX_TEXT+" "+(Q+1);if(Q==S){N.setAttribute("selected","selected")}M.appendChild(N)}N=document.createElement("FORM");if(!N){}else{N.appendChild(M);P.appendChild(N)}A.setStyle(P,"visibility","visible")},_updateTabIndex:function(M){var N=this;if(M){if(N._focusableItemEl){N._focusableItemEl.tabIndex=-1}N._focusableItemEl=M;M.tabIndex=0}},_validateAnimation:function(M){var N=true;if(K.isObject(M)){if(M.speed){N=N&&K.isNumber(M.speed)}if(M.effect){N=N&&K.isFunction(M.effect)}else{if(!K.isUndefined(YAHOO.util.Easing)){M.effect=YAHOO.util.Easing.easeOut}}}else{N=false}return N},_validateFirstVisible:function(O){var N=this,M=N.get("numItems");if(K.isNumber(O)){if(M===0&&O==M){return true}else{return(O>=0&&O<M)}}return false},_validateNavigation:function(M){var N;if(!K.isObject(M)){return false}if(M.prev){if(!K.isArray(M.prev)){return false}for(N in M.prev){if(M.prev.hasOwnProperty(N)){if(!K.isString(M.prev[N].nodeName)){return false}}}}if(M.next){if(!K.isArray(M.next)){return false}for(N in M.next){if(M.next.hasOwnProperty(N)){if(!K.isString(M.next[N].nodeName)){return false}}}}return true},_validateNumItems:function(M){return K.isNumber(M)&&(M>=0)},_validateNumVisible:function(M){var N=false;if(K.isNumber(M)){N=M>0&&M<=this.get("numItems")}return N},_validateRevealAmount:function(M){var N=false;if(K.isNumber(M)){N=M>=0&&M<100}return N},_validateScrollIncrement:function(M){var N=false;if(K.isNumber(M)){N=(M>0&&M<this.get("numItems"))}return N}})})();YAHOO.register("carousel",YAHOO.widget.Carousel,{version:"2.7.0",build:"1799"});
