                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                

if(!window.__td){window.__MT=100;window.__ti=0;window.__td=[];window.__td.length=__MT;window.__noTrace=false;}
if(typeof vp=="undefined")
{var vp={};}
if(typeof vp.image=="undefined")
{vp.image=function image(){if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}};}
vp.image.Image=function image_Image(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.languageId=1;this.fileId=null;this.previewUrl=null;};vp.image.Image.Type={Library:0,Upload:1,Logo:2,Caricature:3,Adjustment:4,Partner:5};vp.image.Image.InvalidId=-1;vp.image.EditedImage=function image_EditedImage(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 pb_this_isCropped()
{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));};};vp.image.EditedImage.Rotation={None:0,Rotation90:90,Rotation180:180,Rotation270:270};vp.image.EditedImageOnDocument=function image_EditedImageOnDocument(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 image_StudioDocItemTypeToImageType(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 image_ImageTypeToStudioDocItemType(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 image_convertStudioImageToEditedImageOnDocument(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 image_ImagePreview(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.useCropInfo=true;this.color=vp.image.ImagePreview.Color.FullColor;this.outputType=vp.image.ImagePreview.OutputType.Default;this.getPreviewUrl=function pb_this_getPreviewUrl()
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
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.Adjustment)
{return me.getImageAdjustmentPreviewUrl();}
else
{return me.getImagePreviewUrl();}};this.getImageAdjustmentPreviewUrl=function pb_this_getImageAdjustmentPreviewUrl()
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
var url=new vp.web.URL(vp.image.adjustments.serviceUrl+'/atmosimagepreview.aspx');url.setItem('adjustment_id',me.image.id);url.setItem('width',me.previewSize.width);url.setItem('height',me.previewSize.height);};this.getLogoPreviewUrl=function pb_this_getLogoPreviewUrl()
{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 pb_this_getImagePreviewUrl()
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
var url=new vp.web.URL('/vp/ns/imagepreview.caspx');var imageType="invalid";switch(me.image.type)
{case vp.image.Image.Type.Library:imageType="image";break;case vp.image.Image.Type.Upload:imageType="upload";break;case vp.image.Image.Type.Adjustment:imageType="adjustment";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);}}
return url.toString();};this.getLibraryThumbnailUrl=function pb_this_getLibraryThumbnailUrl()
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
return'/library/image/th/'+me.image.id+'.jpg';};this.getCaricaturePreviewUrl=function pb_this_getCaricaturePreviewUrl()
{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 image_ImageInfo()
{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 pb_this_loadImageInfo(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 pv_loadImageCallback(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 image_ImageAndInfoLoader(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 pv_LoadOK()
{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 pv_LoadError()
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
ClearHandlers();my.cbError(me.id);};var ClearHandlers=function pv_ClearHandlers()
{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 pb_this_Load()
{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);}};};