/*--------------------------------------------------------------------------*
 * 
 * Alternate Photos Quick Preview (Diversion)
 * 
 * Version 1.0.4
 * 
 * Copyright (C) 2010 Brand Labs LLC
 * 
 *--------------------------------------------------------------------------*/
var DiversionSettings={ENABLED:true,PHOTOS_PATH:'/v/vspfiles/photos',MAIN_PHOTO_ID:'product_photo',ALTERNATE_PHOTO_ID_TEMPLATE:new Template('alternate_product_photo_#{photoIndex}'),NOT_EQUAL_SIZE_IGNORE:false,FORCE_QUICK_PREVIEW_WINDOW:false,FORCE_MAIN_PREVIEW:false,QUICK_PREVIEW_WINDOW_OFFSET_TOP:0,QUICK_PREVIEW_WINDOW_OFFSET_LEFT:0,PHOTO_SIZE_NAME:'T'};var Diversion={load:function(){if(!DiversionSettings.ENABLED){return;}
if(location.pathname.toLowerCase()=='/productdetails.asp'||location.pathname.toLowerCase().indexOf('-p/')!=-1||location.pathname.toLowerCase().indexOf('_p/')!=-1){Diversion.setup();}},setup:function(){var aa=2;var ba=null;var ca=new Array();var da;var ea;var fa=true;var ga=null;var ha=null;try{ha=$(DiversionSettings.MAIN_PHOTO_ID);if(ha==null){return;}
ba=$(DiversionSettings.ALTERNATE_PHOTO_ID_TEMPLATE.evaluate({photoIndex:aa}));if(ba==null||!ba.getWidth||!ba.getHeight){return;}
da=ba.getWidth();ea=ba.getHeight();while($(DiversionSettings.ALTERNATE_PHOTO_ID_TEMPLATE.evaluate({photoIndex:aa}))!=null){ba=$(DiversionSettings.ALTERNATE_PHOTO_ID_TEMPLATE.evaluate({photoIndex:aa}));ca.push(ba);if(ba.getWidth()!=da||ba.getHeight()!=ea){fa=false;}
aa++;}
if(DiversionSettings.FORCE_QUICK_PREVIEW_WINDOW&&DiversionSettings.FORCE_MAIN_PREVIEW){throw 'Incorrect configuration for Diversion';}
if(DiversionSettings.FORCE_QUICK_PREVIEW_WINDOW){fa=false;}
if(DiversionSettings.FORCE_MAIN_PREVIEW){fa=true;}
ca.each(function(ia,ja){var ka=null;ka=ia.readAttribute('src').match(/\/v\/vspfiles\/.*\/(.*)\-\d+S\.\w*/i);if(ka!=null&&ka.length>0&&ka[1]!=null){ga=ka[1];}
else{return;}
if(fa){new DiversionMainImageQuickPreview(ga,(ja+2),ia,ha);}
else{if(!DiversionSettings.NOT_EQUAL_SIZE_IGNORE){new DiversionQuickPreview(ga,(ja+2),ia);}}});}
catch(e){}}};Event.observe(window,'load',Diversion.load);var DiversionQuickPreview=Class.create({initialize:function(la,ma,na){var oa;var pa;try{oa=$$('body').first();}
catch(e){}
if(oa==null){return;}
if(na==null){return;}
this.productCode=la;this.alternateElement=na;this.photoNumber=ma;this.fileExtension=this.extractFileExtension(na.src);this.fileExtension=this.fileExtension==null?'jpg':this.fileExtension;this.thumbnailElement=new Element('div',{id:'diversion_quick_preview_'+ma});this.thumbnailElement.addClassName('diversion_quick_preview');this.thumbnailElement.setStyle({position:'absolute',display:'none',zIndex:102});pa=new Element('img',{src:this.getThumbnailFileName(),alt:this.alternateElement.alt,title:this.alternateElement.title});this.thumbnailElement.update(pa);oa.insert(this.thumbnailElement);Event.observe(na,'mouseover',this.mouseOver.bindAsEventListener(this));Event.observe(na,'mouseout',this.mouseOut.bindAsEventListener(this));},mouseOver:function(){var qa;if(this.alternateElement==null||this.thumbnailElement==null){return;}
qa=this.alternateElement.positionedOffset();this.thumbnailElement.setStyle({top:(qa.top+DiversionSettings.QUICK_PREVIEW_WINDOW_OFFSET_TOP)+'px',left:(qa.left+this.alternateElement.getWidth()+DiversionSettings.QUICK_PREVIEW_WINDOW_OFFSET_LEFT)+'px'});this.showElement(this.thumbnailElement);},mouseOut:function(){if(this.thumbnailElement==null){return;}
this.hideElement(this.thumbnailElement);},getThumbnailFileName:function(){var ra;ra=DiversionSettings.PHOTOS_PATH+"/"+this.productCode+"-"+this.photoNumber+DiversionSettings.PHOTO_SIZE_NAME+'.'+this.fileExtension;return ra;},extractFileExtension:function(sa){var ta;try{if(sa==null||!sa.lastIndexOf){return null;}
ta=sa.lastIndexOf('.');if(ta<0){return null;}
return sa.substring(ta+1);}
catch(e){}
return null;},showElement:function(ua){ua.show();},hideElement:function(va){va.hide();}});var DiversionMainImageQuickPreview=Class.create(DiversionQuickPreview,{initialize:function(wa,xa,ya,za){if(za==null||ya==null){return;}
this.productCode=wa;this.photoNumber=xa;this.mainElement=za;this.fileExtension=this.extractFileExtension(ya.src);this.fileExtension=this.fileExtension==null?'jpg':this.fileExtension;this.originalFileName=za.src;Event.observe(ya,'mouseover',this.mouseOver.bindAsEventListener(this));Event.observe(ya,'mouseout',this.mouseOut.bindAsEventListener(this));Event.observe(ya,'click',this.click.bindAsEventListener(this));},mouseOver:function(){if(this.mainElement==null){return;}
this.originalFileName=this.mainElement.src;this.mainElement.src=this.getThumbnailFileName();},mouseOut:function(){if(this.mainElement==null){return;}
this.mainElement.src=this.originalFileName;},click:function(){this.originalFileName=this.getThumbnailFileName();}});
