
TradeMe.namespace("ImageLoader");TradeMe.ImageLoader=function(imgSrc,properties){this._init(imgSrc,properties);}
TradeMe.ImageLoader.prototype={_init:function(imgSrc,properties){this._imgSrc=imgSrc;for(p in properties){this[p]=properties[p];}
var img=new Image();if(this.onStart)this.onStart();jQuery(img).bind("load",this,this.onLoad);jQuery(img).bind("error",this,this.onError);img.src=this._imgSrc;},getImageSrc:function(){return this._imgSrc;}}
TradeMe.namespace("GalleryPhotoController");TradeMe.GalleryPhotoController=function(){this.init();}
TradeMe.GalleryPhotoController.prototype={init:function(){this._iniDomPointers();this._iniEvents();},_iniDomPointers:function(){this._scrollLeftControllers=jQuery("img.galleryPhotoScrollLeft");this._scrollRightControllers=jQuery("img.galleryPhotoScrollRight");},_iniEvents:function(){this._scrollLeftControllers.bind("click",this,this._onScrollLeftClick);this._scrollRightControllers.bind("click",this,this._onScrollRightClick);this._scrollLeftControllers.mouseover(this._onScrollHover);this._scrollRightControllers.mouseover(this._onScrollHover);this._scrollLeftControllers.mouseout(this._onScrollHover);this._scrollRightControllers.mouseout(this._onScrollHover);},_onScrollHover:function(e){if(this.src.indexOf('_hover.gif')>0){this.src=this.src.replace(/_hover.gif/,'.gif')}
else{this.src=this.src.replace(/.gif/,'_hover.gif')}},_onScrollLeftClick:function(e){if(e.data.imageLoader)e.data.imageLoader.destroy();var ids=e.data._getPhotoIDs(e.target);var image=e.data._getImage(e.target);var gvImagePathUrl=e.data._getGvImagePathUrl(image);var currentId=e.data._getCurrentPhotoID(image);var previousPhotoId=e.data._getPreviousPhotoID(currentId,ids);var previousPhotoUrl=e.data._getPhotoUrl(previousPhotoId,gvImagePathUrl);var previousPhotoCounterText=e.data._getPhotoCounterText(ids,previousPhotoId);var photoCounter=e.data._getPhotoCounter(e.target);e.data.imageLoader=e.data._loadImage(previousPhotoUrl,document.getElementById(image.attr("id")),previousPhotoCounterText,photoCounter);},_onScrollRightClick:function(e){if(e.data.imageLoader)e.data.imageLoader.destroy();var ids=e.data._getPhotoIDs(e.target);var image=e.data._getImage(e.target);var gvImagePathUrl=e.data._getGvImagePathUrl(image);var currentId=e.data._getCurrentPhotoID(image);var nextPhotoId=e.data._getNextPhotoID(currentId,ids);var nextPhotoUrl=e.data._getPhotoUrl(nextPhotoId,gvImagePathUrl);var nextPhotoCounterText=e.data._getPhotoCounterText(ids,nextPhotoId);var photoCounter=e.data._getPhotoCounter(e.target);e.data.imageLoader=e.data._loadImage(nextPhotoUrl,document.getElementById(image.attr("id")),nextPhotoCounterText,photoCounter);},_loadImage:function(photoUrl,image,photoCounterText,photoCounter){return new TradeMe.ImageLoader(photoUrl,{image:image,photoCounterText:photoCounterText,photoCounter:photoCounter,_thread:null,onStart:function(){this.onLoadStart._oScope=this;this._thread=setTimeout(this.onLoadStart,600);},onLoadStart:function(){if(this!=arguments.callee._oScope){return arguments.callee.apply(arguments.callee._oScope,arguments);};var region=jQuery(this.image.parentNode.parentNode).offset();var divMask=document.createElement('div');divMask.style.cssText='position:absolute;width:236px;height:177px;z-index:100;opacity: 0.6;-moz-opacity: 0.6;filter: alpha(opacity=60);background-color:#000;'
if(jQuery.browser.msie&&jQuery.browser.version>5){divMask.style.top=(region.top-2)+'px';divMask.style.left=(region.left-2)+'px';}else{divMask.style.top=(region.top+1)+'px';divMask.style.left=(region.left+1)+'px';}
document.body.appendChild(divMask);this.divMask=divMask;var imgLoadingText=new Image();imgLoadingText.src='/images/NewSearchCards/GVIcons/loadingText.PNG';imgLoadingText.style.cssText='position:absolute;z-index:101;';imgLoadingText.style.top=(region.top+67)+'px';imgLoadingText.style.left=(region.left+55)+'px';document.body.appendChild(imgLoadingText);this.imgLoadingText=imgLoadingText;},onLoad:function(e){if(e.data._thread!=null){e.data.image.src=e.data.getImageSrc();e.data.photoCounter.innerHTML=e.data.photoCounterText;e.data.destroy();}},onError:function(e){},destroy:function(){if(this.divMask){document.body.removeChild(this.divMask);this.divMask=null;}
if(this.imgLoadingText){document.body.removeChild(this.imgLoadingText);this.imgLoadingText=null;}
if(this._thread!=null){clearTimeout(this._thread);this._thread=null;}}});},_getPhotoIDs:function(e){try{var input=jQuery(e).parent("td:first").children(":first-child");return input.attr("value").split(';');}catch(err){return[];}},_getCurrentPhotoID:function(image){var parts=image.attr("src").split('/');return parts[parts.length-1].replace(".jpg","");},_getPreviousPhotoID:function(currentId,ids){for(var i=0;i<ids.length;i++){if(currentId==ids[i]){return(i==0)?ids[ids.length-1]:ids[i-1];}}
return ids[0];},_getNextPhotoID:function(currentId,ids){for(var i=0;i<ids.length;i++){if(currentId==ids[i]){return(i==ids.length-1)?ids[0]:ids[i+1];}}
return ids[0];},_getPhotoUrl:function(id,gvImagePathUrl){var hash1=id.substring(id.length-2,id.length-1);if(hash1=='0'){hash1=''}
var hash2=id.substring(id.length-1,id.length);return gvImagePathUrl+'/'+hash1+hash2+'/'+id+'.jpg';},_getGvImagePathUrl:function(image){var parts=image.attr("src").split('/');return parts.slice(0,parts.length-2).join('/');},_getImage:function(e){try{var card=jQuery(e).parents("div:first");return card.find("img.galleryImage:first");}catch(err){return null;}},_getPhotoCounter:function(e){try{var photoControl=jQuery(e).parents("td:first");return document.getElementById(photoControl.find("div:first").attr("id"));}catch(err){return null;}},_getPhotoCounterText:function(ids,nextPhotoId){for(var i=0;i<ids.length;i++){if(nextPhotoId==ids[i]){return((i+1)+'/'+ids.length);}}}}
jQuery(document).ready(function(){new TradeMe.GalleryPhotoController()});