
smashion.xui.ImageScroll=Class.create(smashion.common.global.AjaxHandler,{initialize:function(container,url,options){this.container=$(container);this.url=url;this.options=Object.extend({arrowClass:"arrow",panelClass:"imgpanel",imgAnchorClass:"imgs",leftArrow:"/images/scroll_arrow_left.gif",rightArrow:"/images/scroll_arrow_right.gif",leftArrowDisabled:"/images/scroll_arrow_left_disable.gif",rightArrowDisabled:"/images/scroll_arrow_right_disable.gif"},options||{});this.pageNo=0;this.initUI();this.fetchImages(null,1);},initUI:function(){this.container.hide();},fetchImages:function(event,pageNo){var req=new Ajax.Request(this.url,{parameters:{"pageNo":pageNo},method:"post",onSuccess:this.refreshImages.bind(this),onFailure:this.handleAjaxFailure.bind(this),onException:this.handleAjaxException.bind(this)});},refreshImages:function(transport,json){if(!this.validateResponse(json)){return;}
var images=json.body.items;var paginator=json.body.paginator;this.pageNo=paginator.currentPage;this.container.update();var prevDiv=new Element("div",{"class":this.options.arrowClass});if(paginator.hasPrevPage){var anchor=new Element("a",{href:"javascript:void(0)"});var arrow=new Element("img",{src:this.options.leftArrow});anchor.appendChild(arrow);prevDiv.appendChild(anchor);Event.observe(anchor,'click',this.fetchImages.bindAsEventListener(this,paginator.prevPage));}else{var arrow=new Element("img",{src:this.options.leftArrowDisabled});prevDiv.appendChild(arrow);}
this.container.appendChild(prevDiv);var panel=new Element("div",{"class":this.options.panelClass});for(var i=0;i<images.length;i++){var anchor=new Element("a",{href:images[i].url,"class":this.options.imgAnchorClass});anchor.appendChild(new Element("img",{src:images[i].src,alt:images[i].caption,title:images[i].title==null?images[i].caption:images[i].title}));panel.appendChild(anchor);}
panel.appendChild(new Element("div",{"class":"clear"}));this.container.appendChild(panel);var nextDiv=new Element("div",{"class":this.options.arrowClass});if(paginator.hasNextPage){var anchor=new Element("a",{href:"javascript:void(0)"});var arrow=new Element("img",{src:this.options.rightArrow});anchor.appendChild(arrow);nextDiv.appendChild(anchor);Event.observe(anchor,'click',this.fetchImages.bindAsEventListener(this,paginator.nextPage));}else{var arrow=new Element("img",{src:this.options.rightArrowDisabled});nextDiv.appendChild(arrow);}
this.container.appendChild(nextDiv);this.container.appendChild(new Element("div",{"class":"clear"}));this.clearStatus();this.container.show();},dispose:function(){}})