                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                if(!window.__td){window.__MT=100;window.__ti=0;window.__td=[];window.__td.length=window.__MT;window.__noTrace=false;

}





if(typeof vp=="undefined"){
var vp={};
}

if(!vp.gallery)
{
vp.gallery=function(){};
}




vp.gallery.threeDPreview={};

vp.gallery.threeDPreview.numOfRotations=6;
vp.gallery.threeDPreview.isEngravedPen=false;
vp.gallery.threeDPreview.substarteColor=1;

vp.gallery.threeDPreview.getUpdatedRollURL=function $vpfn_LCUAJ43v0yk_eGAfTIrWLA27$45(sURL,iRollAngleDelta,fnCalculateRoll)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
var oURL=new vp.web.URL(sURL);
var i3DRollAngle=vp.core.getNumber(oURL.getItem("3drollangle"));
var iNew3DRollAngle=fnCalculateRoll(i3DRollAngle,iRollAngleDelta);
oURL.setItem("3drollangle",iNew3DRollAngle);
return oURL.toString();
};





vp.gallery.threeDPreview.roll=function $vpfn_NaiJmg_YQfqbd4WdES55yw40$32(iRollAngleDelta)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}

var oPreviewImage=document.getElementById("studioMiniPreviewImage");
if(!oPreviewImage)
{
oPreviewImage=document.getElementById("threeDPreview");
}

var fnCalculateRoll=function $vpfn_PLrvzruFcLrkXOLzWVhk_Q49$26(i3DRollAngle,iRollAngleDelta)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
return(i3DRollAngle+iRollAngleDelta)%360;
};

oPreviewImage.src=vp.gallery.threeDPreview.getUpdatedRollURL(oPreviewImage.src,iRollAngleDelta,fnCalculateRoll);
};





vp.gallery.threeDPreview.rollEngravedPen=function $vpfn_BdRlHTiEVj435uPb2vnUcQ61$43(iRollAngleDelta)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}

var oPreviewImage=document.getElementById("studioMiniPreviewImage");
if(!oPreviewImage)
{
oPreviewImage=document.getElementById("threeDPreview");
}


var fnCalculateRoll=function $vpfn_PLrvzruFcLrkXOLzWVhk_Q71$26(i3DRollAngle,iRollAngleDelta)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
if(i3DRollAngle===0)
{
i3DRollAngle=360;
}

var iNew3DRollAngle=(i3DRollAngle+iRollAngleDelta)%90;

if(iNew3DRollAngle===60)
{
iNew3DRollAngle=330;
}

return iNew3DRollAngle;
};

oPreviewImage.src=vp.gallery.threeDPreview.getUpdatedRollURL(oPreviewImage.src,iRollAngleDelta,fnCalculateRoll);
};

vp.gallery.threeDPreview.rollPanoramicMug=function $vpfn_IdtiGaWdJCMUZSKDRmJVDg91$44(iRollAngleDelta,imageId){if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
var oPreviewImage=document.getElementById(imageId);

var fnCalculateRoll=function $vpfn_PLrvzruFcLrkXOLzWVhk_Q94$26(i3DRollAngle,iRollAngleDelta)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
var iNew3DRollAngle=(i3DRollAngle+iRollAngleDelta)%270;
if(iNew3DRollAngle<0)
{
iNew3DRollAngle+=270;
}
return iNew3DRollAngle;
};

oPreviewImage.src=vp.gallery.threeDPreview.getUpdatedRollURL(oPreviewImage.src,iRollAngleDelta,fnCalculateRoll);
};

vp.gallery.threeDPreview.rollMug=function $vpfn_zyQmVXmyP$NN_11Utq9w_Q107$35(iRollAngleDelta,imageId)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
var oPreviewImage=document.getElementById(imageId);
var sSrc=oPreviewImage.src;
var oURL=new vp.web.URL(sSrc);
var i3DRollAngle=vp.core.getNumber(oURL.getItem("3drollangle"));
var iNew3DRollAngle=(i3DRollAngle+iRollAngleDelta)%180;
var oViewLargerLink=document.getElementById("divMiniPreviewViewLarger");
var iPageNumber=1;

if(iNew3DRollAngle>0)
{
iPageNumber=2;
}

oURL.setItem("3drollangle",iNew3DRollAngle);
oURL.setItem("page",iPageNumber);

if(oViewLargerLink)
{
vp.studio.ui._showPreviewURL.setItem("page_id",iPageNumber);
vp.studio.ui._showPreviewURL.setItem("3drollangle",iNew3DRollAngle);
}

oPreviewImage.src=oURL.toString();
};







vp.gallery.threeDPreview.AGroll=function $vpfn_zRSqVH1LDULnsjGwxuR1fA140$34(iDirection,sComboId,sComboHash,pfId,pgId,sUrls,iSubtrateColor){if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
vp.gallery.threeDPreview.substarteColor=iSubtrateColor;
if(sUrls!==null&&parseInt(sComboId)>0){
this.oUrls=sUrls;
this.sCombo=sComboId+sComboHash;
}
if(this.sCombo!==null&&this.sCombo==(sComboId+sComboHash)&&this.oUrls!==null){
vp.gallery.threeDPreview.swapImage(this.oUrls,iDirection);
return;
}


var oRequest=new vp.gallery.WebRequest();
oRequest.addParameter("request_type",2);
if(isNaN(sComboId)){
oRequest.addParameter("combo_hash",sComboId);
}
else{
oRequest.addParameter("combo_id",sComboId);
}
oRequest.addParameter("pf_id",pfId);
oRequest.addParameter("pg",pgId);


var fnErrorHandler=function(oResponse){

};
var me=this;

var fnCallback=function $vpfn_2gGFX8_piJQokymlx46LsA169$21(oResponse){if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
if(oResponse.rc<0){

fnErrorHandler(oResponse);
return;
}

me.sCombo=sComboId+sComboHash;
me.oUrls=oResponse.urls;
vp.gallery.threeDPreview.swapImage(oResponse.urls,iDirection);

};

oRequest.callbackFunction=fnCallback;
oRequest.errorHandlerFunction=fnErrorHandler;

try{
oRequest.executeAsync();
}
catch(e){
fnErrorHandler(e);
}
};

vp.gallery.threeDPreview.swapImage=function $vpfn_LTkl_PVT0WwqkieQ2X6O5Q193$37(oUrls,iDirection)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}

if(this.penIndex===undefined)
{
this.penIndex=0;
}
var oPreviewImage=document.getElementById("studioMiniPreviewImage");

if(vp.gallery.threeDPreview.substarteColor!=1)
{
vp.gallery.threeDPreview.isEngravedPen=true;
vp.gallery.threeDPreview.numOfRotations=3;
}

this.penIndex=(this.penIndex+iDirection+vp.gallery.threeDPreview.numOfRotations)%vp.gallery.threeDPreview.numOfRotations;

if(vp.gallery.threeDPreview.isEngravedPen)
{
vp.gallery.threeDPreview.getEngravedPenGalleryImage(oUrls,oPreviewImage);
}
else
{
oPreviewImage.src=oUrls[this.penIndex];
}
};





vp.gallery.threeDPreview.getEngravedPenGalleryImage=function $vpfn_UmS79VMF6hd8WY2DU7NhBA224$54(oUrls,oPreviewImage){if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}

var previewArray=new Array();
var count=0;
if(vp.gallery.threeDPreview.substarteColor==5){
count=oUrls.length/2;
}
for(var i=0;i<vp.gallery.threeDPreview.numOfRotations;i++){
previewArray[i]=oUrls[count];
count++;
}
oPreviewImage.src=previewArray[this.penIndex];

};





vp.gallery.threeDPreview.update=function $vpfn_Jhnpxgr_NCT71Hy8ruDBOg243$34(iDocID)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
var oPreviewImage=document.getElementById("threeDPreview");
var oURL=new vp.web.URL(oPreviewImage.src);
oURL.setItem("doc_id",iDocID);
oURL.removeItem("combo");
oURL.removeItem("combo_id");
oURL.setItem("u",new Date().valueOf());
oPreviewImage.src=oURL.toString();
};










vp.gallery.threeDPreview.nextImage=function $vpfn_ohVGcHz78I861nrcUPEHZA263$37(iNextImage,iNumberOfPreviewPerRotations,sRollAngleParam,sPreviewURLs)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
var oPreviewImage=document.getElementById("threeDPreview");
var oURL=new vp.web.URL(oPreviewImage.src);


var vPreviewURLs=[];
vPreviewURLs=sPreviewURLs.split(" ");



var s3DRollAngle=oURL.getItem(sRollAngleParam);

if(typeof s3DRollAngle=="undefined"){
var iRollAngleIndex=oPreviewImage.src.indexOf(sRollAngleParam+".");
s3DRollAngle=oPreviewImage.src.substring(iRollAngleIndex+12,iRollAngleIndex+16);
s3DRollAngle=s3DRollAngle.substring(0,s3DRollAngle.indexOf("."));
}

var i3DRollAngle=vp.core.getNumber(s3DRollAngle);
var iCurrentImageIndex=0;


var iDivisor=360/iNumberOfPreviewPerRotations;
iCurrentImageIndex=vp.core.getNumber(i3DRollAngle/iDivisor);

var iNextImageIndex=vp.core.getNumber(iNextImage);
iNextImageIndex=iCurrentImageIndex+iNextImageIndex;

if(iNextImageIndex==-1){
iNextImageIndex=vPreviewURLs.length-1;
}else if(iNextImageIndex==iNumberOfPreviewPerRotations){
iNextImageIndex=0;
}

if(iNextImageIndex<0){
throw new Error("vp.gallery.threeDPreview.nextImage(): iNextImageIndex is negative and is "+iNextImageIndex);
}


oPreviewImage.src=vPreviewURLs[iNextImageIndex];
};

vp.gallery.threeDPreview.nextImageForEngravedPens=function $vpfn_zhQsdLyIYc5ZDCUCeR6iHA306$52(iNextImage,sRollAngleParam,sPreviewURLs){if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}

var oPreviewImage=document.getElementById("threeDPreview");
var oURL=new vp.web.URL(oPreviewImage.src);


var vPreviewURLs=[];
vPreviewURLs=sPreviewURLs.split(" ");



var s3DRollAngle=oURL.getItem(sRollAngleParam);

if(typeof s3DRollAngle=="undefined"){
var iRollAngleIndex=oPreviewImage.src.indexOf(sRollAngleParam+".");
s3DRollAngle=oPreviewImage.src.substring(iRollAngleIndex+12,iRollAngleIndex+16);
s3DRollAngle=s3DRollAngle.substring(0,s3DRollAngle.indexOf("."));
}

var iRollAngleDelta=0;
var iRollAngle=vp.core.getNumber(s3DRollAngle);
if(iNextImage>0){
iRollAngleDelta=-30;
}
else{
iRollAngleDelta=30;
}

if(iRollAngle===0){
iRollAngle=360;
}
var i3DRollAngle=(iRollAngle+iRollAngleDelta)%90;
if(i3DRollAngle===60){
i3DRollAngle=330;
}

for(var i=0;i<vPreviewURLs.length;i++){
var temp=vPreviewURLs[i].split("&");
var iAngle=0;

for(var j=0;j<temp.length;j++){
if(temp[j].startsWith(sRollAngleParam)){
iAngle=temp[j].split("=")[1];
break;
}
}
if(iAngle==i3DRollAngle){
oPreviewImage.src=vPreviewURLs[i];
break;
}
}

};

vp.gallery.threeDPreview.nextImageForMugs=function $vpfn_fORkPIjbyhY0yPcnzrNlzw360$44(iNextImage,iNumberOfPreviewPerRotations,sRollAngleParam,sPreviewURLs){if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}

var oPreviewImage=document.getElementById("threeDPreview");
var oURL=new vp.web.URL(oPreviewImage.src);


var vPreviewURLs=[];
vPreviewURLs=sPreviewURLs.split(" ");



var s3DRollAngle=oURL.getItem(sRollAngleParam);

if(typeof s3DRollAngle=="undefined"){
var iRollAngleIndex=oPreviewImage.src.indexOf(sRollAngleParam+".");
s3DRollAngle=oPreviewImage.src.substring(iRollAngleIndex+12,iRollAngleIndex+16);
s3DRollAngle=s3DRollAngle.substring(0,s3DRollAngle.indexOf("."));
}

var i3DRollAngle=vp.core.getNumber(s3DRollAngle);
var iCurrentImageIndex=0;

var iDivisor=90;
iCurrentImageIndex=vp.core.getNumber(i3DRollAngle/iDivisor);

var iNextImageIndex=vp.core.getNumber(iNextImage);
iNextImageIndex=iCurrentImageIndex+iNextImageIndex;

if(iNextImageIndex==-1){
iNextImageIndex=vPreviewURLs.length-1;
}else if(iNextImageIndex==iNumberOfPreviewPerRotations){
iNextImageIndex=0;
}

if(iNextImageIndex<0){
throw new Error("vp.gallery.threeDPreview.nextImage(): iNextImageIndex is negative and is "+iNextImageIndex);
}


oPreviewImage.src=vPreviewURLs[iNextImageIndex];
};