                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                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(typeof vp.image=="undefined")
{
vp.image=function(){};
}






vp.image.Image=function $vpfn_GvxUOAeG6D$B$GTL9IVZzg28$17(type,id)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}





var me=this;






this.type=(typeof type=="undefined"?vp.image.Image.Type.Upload:parseInt(type));




this.id=(id?parseInt(id):vp.image.Image.InvalidId);





this.fileId=null;







this.previewUrl=null;




this.languageId=1;







this.width=null;





this.height=null;





this.name=null;





this.dateCreated=null;





this.dateTaken=null;





this.isPaid=null;




this.isLogo=null;
this.isPhoto=null;
this.isStamp=null;
this.isFoil=null;
this.isEmbroidery=null;
this.isThermography=null;





this.equals=function $vpfn_aUcCj_sARDaGUP8tsrL1TQ120$18(oImage)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
if(oImage)
{

return me.id==oImage.id&&
me.type==oImage.type;

}
return false;
};
};





vp.image.Image.Type={
Library:0,
Upload:1,
Logo:2,
CustomerSiteUpload:7,
Document:11,
Caricature:12,
Partner:13
};




vp.image.Image.InvalidId=-1;






vp.image.EditedImage=function $vpfn_6Ky3Xs2eGJF7DFfdTqIMmg157$23(type,id)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}



var me=this;





this.inheritFrom=vp.image.Image;
this.inheritFrom(type,id);





this.rotation=vp.image.EditedImage.Rotation.None;





this.cropInfo={};
this.cropInfo.left=0;
this.cropInfo.right=0;
this.cropInfo.top=0;
this.cropInfo.bottom=0;




this.isCropped=function $vpfn_J1oyGIxupBjAlN9P$q0lPg190$21()
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
return((me.cropInfo.left!==0)||
(me.cropInfo.right!==0)||
(me.cropInfo.top!==0)||
(me.cropInfo.bottom!==0));
};




this.serializeJSON=function $vpfn_RqZDdPRiaeWg7XqC_RTmfQ201$25()
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
var json={};
json.id=this.id;
json.type=this.type;
json.cropInfo=this.cropInfo;
json.rotation=this.rotation;
return vp.http.serializeJSON(json);
};
};






vp.image.parseJSON=function $vpfn_6hpGrdda64wQsIJhjnYurg217$21(vData)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}

var json=typeof(vData)==="string"?vp.http.parseJSON(vData):vData;


var oImage=new vp.image.EditedImage(parseInt(json.type),parseInt(json.id));
if(json.fileId)
{
oImage.fileId=json.fileId;
}


if(json.previewUrl)
{
oImage.previewUrl=json.previewUrl;
}



oImage.width=json.width;
oImage.height=json.height;
oImage.name=json.name;
oImage.dateCreated=json.dateCreated;
if(json.dateTaken)
{
oImage.dateTaken=json.dateTaken;
}
oImage.isPaid=json.isPaid||false;
oImage.isLogo=json.isLogo||false;
oImage.isStamp=json.isStamp||false;
oImage.isPhoto=json.isPhoto||false;
oImage.isFoil=json.isFoil||false;
oImage.isEmbroidery=json.isEmbroidery||false;
oImage.isThermography=json.isThermography||false;


if(json.cropInfo)
{
oImage.cropInfo={};
oImage.cropInfo.left=parseFloat(json.cropInfo.left);
oImage.cropInfo.right=parseFloat(json.cropInfo.right);
oImage.cropInfo.top=parseFloat(json.cropInfo.top);
oImage.cropInfo.bottom=parseFloat(json.cropInfo.bottom);
}
if(json.rotation)
{
oImage.rotation=parseInt(json.rotation);
}

return oImage;
};



vp.image.EditedImage.Rotation={
None:0,
Rotation90:90,
Rotation180:180,
Rotation270:270
};






vp.image.EditedImageOnDocument=function $vpfn_cjbdSvJDqfEkEgCED7gbrQ284$33(type,id)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}




var me=this;





this.inheritFrom=vp.image.EditedImage;
this.inheritFrom(type,id);





this.container=null;





this.externalId="";





this.locked=true;











this.goodPrintPixelRatio=null;





this.acceptableDPI=null;
};







vp.image.StudioDocItemTypeToImageType=function $vpfn_t2HmkZmRDndBBDEpd3NLyQ342$40(eDocItemType)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
switch(eDocItemType)
{
case DOCITEM_TYPE_LIBRARY_IMAGE:
case DOCITEM_TYPE_PLACEHOLDER:
return vp.image.Image.Type.Library;
case DOCITEM_TYPE_UPLOADED_IMAGE:
return vp.image.Image.Type.Upload;
case DOCITEM_TYPE_LOGO:
return vp.image.Image.Type.Logo;
case DOCITEM_TYPE_CARICATURE:
return vp.image.Image.Type.Caricature;
default:
throw"vp.image.StudioDocItemTypeToImageType: invalid document item type";
}
return null;
};







vp.image.ImageTypeToStudioDocItemType=function $vpfn_4Z3PRhA$uVHKEMmzbi1nTQ367$40(eImageType)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
switch(eImageType)
{
case vp.image.Image.Type.Library:
return DOCITEM_TYPE_LIBRARY_IMAGE;
case vp.image.Image.Type.Upload:
return DOCITEM_TYPE_UPLOADED_IMAGE;
case vp.image.Image.Type.Logo:
return DOCITEM_TYPE_LOGO;
case vp.image.Image.Type.Caricature:
return DOCITEM_TYPE_CARICATURE;
default:
throw"vp.image.StudioDocItemTypeToImageType: invalid document item type";
}
return null;
};







vp.image.convertStudioImageToEditedImageOnDocument=function $vpfn_Xbc7Flkg6jQwYfWnEWLSPg391$53(oDocItemImage,oEditor)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}

var imageType=vp.image.StudioDocItemTypeToImageType(oDocItemImage.type);


var image=new vp.image.EditedImageOnDocument(imageType,oDocItemImage.getItemID());





image.cropInfo={};
vp.core.applyProperties(oDocItemImage.cropInfo,image.cropInfo);

image.container=oDocItemImage.imageContainer.parentNode;
image.externalId=oDocItemImage.id;
image.locked=oDocItemImage.locked;
image.rotation=oDocItemImage.coordinates.rotation.angleInDegrees;




image.goodPrintPixelRatio=(oEditor.productAcceptableDPI/300.0)/(oEditor.zoomFactor);
image.acceptableDPI=oEditor.productAcceptableDPI;



return image;
};









vp.image.ImagePreview=function $vpfn_6C7iCGYauvqDuAWG6BVGUg430$24(image)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}




var me=this;




this.image=image;




this.previewSize={};
this.previewSize.width=0;
this.previewSize.height=0;




this.imagePreviewUrl='/vp/ns/imagepreview.aspx';




this.useCropInfo=true;




this.color=vp.image.ImagePreview.Color.FullColor;




this.outputType=vp.image.ImagePreview.OutputType.Default;




this.getPreviewUrl=function $vpfn_Dcj0m2h4M4E_or7Djloolw473$25()
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
if(!(me.image.cropInfo&&me.image.isCropped())||(me.image.rotation&&me.image.rotation!==vp.image.EditedImage.Rotation.None))
{
if(me.image.previewUrl)
{
return me.image.previewUrl;
}
else if(me.image.type==vp.image.Image.Type.Library&&!me.useCropInfo&&me.previewSize.width===0&&me.previewSize.height===0)
{
return me.getLibraryThumbnailUrl();
}
else if(me.image.type==vp.image.Image.Type.Caricature)
{
return me.getCaricaturePreviewUrl();
}
else if(me.image.type==vp.image.Image.Type.CustomerSiteUpload)
{
return"/vp/util/image_preview.aspx?thumb=true&type=CustomerSiteUpload&image_id="+me.image.id;
}
}

return me.getImagePreviewUrl();
};




this.getLogoPreviewUrl=function $vpfn_2ch4RKmUduhi0Kd5C1EF$w501$29()
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}

var url=new vp.web.URL('/vp/ns/logos/ViewLogo.aspx');


url.setItem('logo_id',me.image.id);


url.setItem('width',me.previewSize.width);
url.setItem('height',me.previewSize.height);


url.setItem('langid',me.image.languageId);

return url.toString();

};




this.getImagePreviewUrl=function $vpfn_kBJgFIlkiUwjaGq0aV5K5A523$30()
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}

var url=new vp.web.URL(me.imagePreviewUrl);


var imageType="invalid";
switch(me.image.type)
{
case vp.image.Image.Type.Library:
url=new vp.web.URL(vp.ui.imageUrl(me.imagePreviewUrl.replace('.aspx','.caspx')));
imageType="image";
break;
case vp.image.Image.Type.Upload:
imageType="upload";
break;
case vp.image.Image.Type.Logo:
imageType="logo";
break;
default:

break;
}
url.setItem('image_type',imageType);


url.setItem('image_id',me.image.id);


url.setItem('trim',1);


if(me.previewSize.width>0)
{
url.setItem('maxwidth',me.previewSize.width);
}
if(me.previewSize.height>0)
{
url.setItem('maxheight',me.previewSize.height);
}


url.setItem('trypng',1);


if(me.outputType===vp.image.ImagePreview.OutputType.Png)
{
url.setItem('png',1);
}
else if(me.outputType===vp.image.ImagePreview.OutputType.Gif)
{
url.setItem('gif',1);
}


if(me.color==vp.image.ImagePreview.Color.GrayScale)
{
url.setItem('gs',1);
}

switch(me.image.rotation)
{
case vp.image.EditedImage.Rotation.None:
case vp.image.EditedImage.Rotation.Rotation90:
case vp.image.EditedImage.Rotation.Rotation180:
case vp.image.EditedImage.Rotation.Rotation270:
url.setItem('rotation',me.image.rotation);
break;
default:
break;
}


if(me.image.cropInfo&&me.image.isCropped()&&me.useCropInfo)
{
url.setItem('use_crop',1);
if(me.image.cropInfo.left!==0)
{
url.setItem('cropleft',me.image.cropInfo.left);
}
if(me.image.cropInfo.top!==0)
{
url.setItem('croptop',me.image.cropInfo.top);
}
if(me.image.cropInfo.right!==0)
{
url.setItem('cropright',me.image.cropInfo.right);
}
if(me.image.cropInfo.bottom!==0)
{
url.setItem('cropbottom',me.image.cropInfo.bottom);
}
}

if(vp.web.getQueryString("admin"))
{
url.setItem("admin",vp.web.getQueryString("admin"));
}

return url.toString();
};

this.getLibraryThumbnailUrl=function $vpfn_wbGDfEyYIL7HuWYkCs_0wQ625$34()
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
return'/library/image/th/'+me.image.id+'.jpg';
};

this.getCaricaturePreviewUrl=function $vpfn_doFcJY0w4kJ5TNjvCbh9UQ630$35()
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
var url=new vp.web.URL('/vp/ns/caricatures/caricature_preview.aspx');


url.setItem('caricature_id',me.image.id);


url.setItem('width',me.previewSize.width);
url.setItem('height',me.previewSize.height);

return url.toString();
};
};




vp.image.ImagePreview.Color={
FullColor:0,
GrayScale:1
};




vp.image.ImagePreview.OutputType={
Default:0,
Png:1,
Gif:2
};







vp.image.ImageInfo=function $vpfn_SaYzlfhQ_k7XHF_o8nBUlg668$21()
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}



var me=this;





var my={};






my.image=null;





my.callbackFnOK=null;





my.callbackFnError=null;






this.intrinsicWidth=null;





this.intrinsicHeight=null;





this.name=null;





this.loadImageInfo=function $vpfn_rA5DzXIcHs_5ZYVAD8QVJw723$25(oImage,cbOK,cbError)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}

this.intrinsicWidth=null;
this.intrinsicHeight=null;
this.name=null;

my.image=oImage;
my.callbackFnOK=cbOK;
my.callbackFnError=cbError;

var url=new vp.web.URL('/vp/ns/imageinfo.caspx');


url.setItem('image_id',my.image.id);



var imageType="invalid";
switch(my.image.type)
{
case vp.image.Image.Type.Library:
imageType="image";
break;
case vp.image.Image.Type.Upload:
imageType="upload";
break;
default:
throw"invalid image type";
break;
}
url.setItem('image_type',imageType);

try{
vp.http.getAsync(url,loadImageCallback);
}catch(oError){
my.callbackFnError();
}
};





var loadImageCallback=function $vpfn_raLFDij89wjLStk22wLOBQ767$28(sResponse)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
try{
var oInfo=vp.http.parseJSON(sResponse);
if(oInfo.error)
{
my.callbackFnError();
}
else
{
me.intrinsicWidth=oInfo.intrinsicWidth;
me.intrinsicHeight=oInfo.intrinsicHeight;
me.name=oInfo.name;

my.callbackFnOK();
}
}catch(oError){
alert(oError);
my.callbackFnError();
}
};
};










vp.image.ImageAndInfoLoader=function $vpfn_RI1fVcDhxr95O9LB5zz_qA799$30(aElements,aUrls,aImageInfos,aImages,fnLoad,fnError)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}



var me=this;





var my={};




my.cbLoad=fnLoad;
my.cbError=fnError;




my.arrayImgElements=aElements;
my.arrayImgUrls=aUrls;
my.arrayImageInfos=aImageInfos?aImageInfos:new Array();
my.arrayImages=aImages?aImages:new Array();




my.loadCounter=0;
my.loadCounterGoal=0;





this.id=Math.random();




var LoadOK=function $vpfn_lb7Nap7RpyN$dKFECkdy9g841$17()
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
my.loadCounter=my.loadCounter+1;
if(my.loadCounter<my.loadCounterGoal)
{
return;
}

ClearHandlers();
my.cbLoad(me.id);
};




var LoadError=function $vpfn_lvZNTYHm8XHMO1kvRKYU$g856$20()
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}

ClearHandlers();
my.cbError(me.id);
};




var ClearHandlers=function $vpfn_g4nFnDEMIMNIKeiME4ZbOA866$24()
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}

for(var i=0;i<my.arrayImgUrls.length;i++)
{
vp.events.remove(my.arrayImgElements[i],"error",LoadError);
vp.events.remove(my.arrayImgElements[i],"load",LoadOK);
}
};






this.Load=function $vpfn_7gtPLlIJOKXZLonyvSdlIA881$16()
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
if(my.arrayImgElements.length!=my.arrayImgUrls.length)
{
throw"ImageAndInfoLoader: array of elements be as long as array of urls";
}
if(my.arrayImageInfos.length!=my.arrayImages.length)
{
throw"ImageAndInfoLoader: array of ImageInfo objects must be as long as array of Image objects";
}

my.loadCounter=0;
my.loadCounterGoal=my.arrayImgUrls.length+my.arrayImages.length;

var i;

for(i=0;i<my.arrayImgUrls.length;i++)
{
vp.events.add(my.arrayImgElements[i],"error",LoadError);
vp.events.add(my.arrayImgElements[i],"load",LoadOK);
my.arrayImgElements[i].src=my.arrayImgUrls[i];
}

for(i=0;i<my.arrayImages.length;i++)
{
my.arrayImageInfos[i].loadImageInfo(my.arrayImages[i],LoadOK,LoadError);
}
};
};

