
YAHOO.namespace('Media.Dtk');YAHOO.Media.Dtk.CarouselMgr=new function(){var collections=new Array;return{init:function(id){var tScroller=YAHOO.util.Dom.get(id);var hashId=YAHOO.util.Dom.generateId(tScroller);if(!collections[hashId]){collections[hashId]=YAHOO.Media.Dtk.Carousel;collections[hashId].init(tScroller);}},initAll:function(){var scrollers=YAHOO.util.Dom.getElementsByClassName('dtk-carousel','div',document);for(var x=0;x<scrollers.length;x++){YAHOO.Media.Dtk.CarouselMgr.init(scrollers[x]);}}}}();YAHOO.Media.Dtk.Carousel=function(){function init(obj){s=YAHOO.util.Dom.getElementsByClassName('scrollbody','div',obj);var list=YAHOO.util.Dom.getElementsByClassName('dtk-list','ul',obj);var len=list.length;var r=YAHOO.util.Dom.getRegion(list[0]);s[0].scrollDistance=r.right-r.left;s[0].pages=len;s[0].current=0;if(len>1){addNavButtons(obj,s[0]);addPageIndicators(obj,s[0]);updateNavState(s[0]);}}
function getDataSuccess(o){if(o.responseText){var oArr=eval(o.responseText);var list=YAHOO.util.Dom.getElementsByClassName('dtk-list','ul',YAHOO.util.Dom.get(o.argument.id));if(oArr){var numPostLoad=oArr.length;var numPages=list.length;for(var i=0;i<numPostLoad;i++){var pg=oArr[i].pgIdx;var html=oArr[i].pgHtml;if(pg<numPages){list[pg].innerHTML=html;}}}}}
function getDataFailure(o){}
function getData(id,url){var callback={success:getDataSuccess,failure:getDataFailure,argument:{id:id}}
var oConObj=YAHOO.util.Connect.asyncRequest('GET',url,callback,null);}
function addPageIndicators(obj,scrollBody){scrollBody.navList=document.createElement('div');YAHOO.util.Dom.addClass(scrollBody.navList,'scrollnav');var len=scrollBody.pages;for(var x=0;x<len;x++){var linkItem=document.createElement('a');linkItem.setAttribute("href","pg:"+(x+1));YAHOO.util.Event.addListener(linkItem,"click",scrollToPage,{scrollBody:scrollBody,targetPage:x});if(x==scrollBody.current){YAHOO.util.Dom.addClass(linkItem,'current');}
scrollBody.navList.appendChild(linkItem);}
scrollBody.parentNode.insertBefore(scrollBody.navList,scrollBody);}
function addNavButtons(obj,scrollBody){scrollBody.prev=document.createElement('a');scrollBody.prev.setAttribute("href","#");scrollBody.next=scrollBody.prev.cloneNode(true);YAHOO.util.Dom.addClass(scrollBody.prev,"prev");YAHOO.util.Dom.addClass(scrollBody.next,"next");YAHOO.util.Event.addListener(scrollBody.prev,"click",scrollPrev,{scrollBody:scrollBody});YAHOO.util.Event.addListener(scrollBody.next,"click",scrollNext,{scrollBody:scrollBody});scrollBody.parentNode.insertBefore(scrollBody.prev,scrollBody);scrollBody.parentNode.insertBefore(scrollBody.next,scrollBody);}
function scrollNext(e,obj){this.blur();YAHOO.util.Event.stopEvent(e);if(!obj.scrollBody.anim){obj.scrollBody.anim=new YAHOO.util.Scroll(obj.scrollBody,{scroll:{}},0.25,YAHOO.util.Easing.easeOut);}
if(!obj.scrollBody.anim.isAnimated()){if(obj.scrollBody.current<obj.scrollBody.pages-1){var end=(++obj.scrollBody.current)*obj.scrollBody.scrollDistance;obj.scrollBody.anim.attributes.scroll.to=[end,0];obj.scrollBody.anim.animate();}
updateNavState(obj.scrollBody);}}
function scrollPrev(e,obj){this.blur();YAHOO.util.Event.stopEvent(e);if(!obj.scrollBody.anim){obj.scrollBody.anim=new YAHOO.util.Scroll(obj.scrollBody,{scroll:{}},0.25,YAHOO.util.Easing.easeOut);}
if(!obj.scrollBody.anim.isAnimated()){if(obj.scrollBody.current>0){var end=(--obj.scrollBody.current)*obj.scrollBody.scrollDistance;obj.scrollBody.anim.attributes.scroll.to=[end,0];obj.scrollBody.anim.animate();}
updateNavState(obj.scrollBody);}}
function scrollToPage(e,obj){this.blur();YAHOO.util.Event.stopEvent(e);if(!obj.scrollBody.anim){obj.scrollBody.anim=new YAHOO.util.Scroll(obj.scrollBody,{scroll:{}},0.25,YAHOO.util.Easing.easeOut);}
if(!obj.scrollBody.anim.isAnimated()){if(obj.scrollBody.current!=obj.targetPage){var end=obj.targetPage*obj.scrollBody.scrollDistance;obj.scrollBody.current=obj.targetPage;obj.scrollBody.anim.attributes.scroll.to=[end,0];obj.scrollBody.anim.animate();}
updateNavState(obj.scrollBody);}}
function updateNavState(obj){var len=obj.navList.childNodes.length;for(var x=0;x<len;x++){YAHOO.util.Dom.removeClass(obj.navList.childNodes[x],'current');if(x==obj.current){YAHOO.util.Dom.addClass(obj.navList.childNodes[x],'current');}}
if(obj.current==0){YAHOO.util.Dom.addClass(obj.prev,'off');YAHOO.util.Dom.setStyle(obj.prev,'opacity',0.6);YAHOO.util.Dom.removeClass(obj.next,'off');YAHOO.util.Dom.setStyle(obj.next,'opacity',1);}
else if(obj.current==(len-1)){YAHOO.util.Dom.removeClass(obj.prev,'off');YAHOO.util.Dom.setStyle(obj.prev,'opacity',1);YAHOO.util.Dom.addClass(obj.next,'off');YAHOO.util.Dom.setStyle(obj.next,'opacity',0.6);}else{YAHOO.util.Dom.removeClass(obj.prev,'off');YAHOO.util.Dom.setStyle(obj.prev,'opacity',1);YAHOO.util.Dom.removeClass(obj.next,'off');YAHOO.util.Dom.setStyle(obj.next,'opacity',1);}}
return{init:init,getData:getData}}();
