                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                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(!vp.dialogs){
vp.dialogs=function dialogs(){if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}};
}












vp.dialogs.SelectableImageCollection=function dialogs_SelectableImageCollection(oInPaginatorContainer,oInPaginator,oInImagesContainer,oInNoImagesMessageContainer,oInImageContainerCaption,oInAddImagesButton,iInImagesPerPage,fInImageGenerator,bIsMultiSelect,fnSingleSelectCallback)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}

var me=this;




this.oPaginatorContainer=oInPaginatorContainer;




this.oPaginator=oInPaginator;




this.oImagesContainer=oInImagesContainer;




this.oImageContainerCaption=oInImageContainerCaption;




this.oAddImagesButton=oInAddImagesButton;




this.oNoImagesMessageContainer=oInNoImagesMessageContainer;




this.aImages;




this.oPagedList;




this.aPagesCache=[];




var aImagesInRepository=[];




this.aAllImages=[];




var aSelectedImages=[];




this.aSelectedImageItems=[];


var oPaginatorController;




this.iImagesPerPage=iInImagesPerPage;




this.fImageGenerator=fInImageGenerator;





this.fIsCheckedCallback;




this.fSingleSelectCallback=fnSingleSelectCallback;




this.fCaptionCallback;






this.loadImages=function pb_this_loadImages(aInImages)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}


me.clear();


me.aImages=aInImages;
me.oPagedList=new vp.widget.PagedList(me.aImages,me.iImagesPerPage);



var iNumberOfPages=me.oPagedList.getNumberOfPages();

if(iNumberOfPages===0)
{

me.oPaginatorContainer.style.display="none";
me.oImagesContainer.style.display="none";
me.oNoImagesMessageContainer.style.display="block";
me.oAddImagesButton.style.display="none";
me.oImageContainerCaption.style.display="none";
}
else
{
me.oImagesContainer.style.display="block";
me.oNoImagesMessageContainer.style.display="none";
me.oImageContainerCaption.style.display="block";


if(bIsMultiSelect)
{
me.oAddImagesButton.style.display="block";
}

me.renderImages();

if(iNumberOfPages==1)
{

me.oPaginatorContainer.style.display="none";
}
else
{
me.oPaginatorContainer.style.display="block";


if(me.oPaginator.paginatorControl)
{
oPaginatorController=me.oPaginator.paginatorControl;
oPaginatorController.setPageChangeCallback(me.moveToPage);
}


if(oPaginatorController)
{
oPaginatorController.selectedPageNumber=1;
oPaginatorController.numberOfPages=me.oPagedList.getNumberOfPages();

}
else
{
oPaginatorController=new vp.widget.Paginator(
me.oPaginator,
me.oPagedList.getNumberOfPages(),
me.moveToPage);
me.oPaginator.paginatorControl=oPaginatorController;
}

oPaginatorController.render();
}
}
};






this.moveToPage=function pb_this_moveToPage(iPageNumber)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
me.oPagedList.moveToPage(iPageNumber);
me.renderImages();
};

this.resizeAndDisplayImage=function pb_this_resizeAndDisplayImage(oImage)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
oImage.style.display="block";
vp.ui.scaleImageToFit(oImage,110,110);
};




this.renderImages=function pb_this_renderImages()
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
if(!me.aPagesCache[me.oPagedList.currentPageNumber])
{


var oCachedPageDOM=document.createElement("DIV");

var oCurrentPage=me.oPagedList.getCurrentPage();

var iItemIndex=0;

while(oCurrentPage.moveNext())
{

var oItem=oCurrentPage.getCurrentItem();

var oImage=document.createElement("IMG");

vp.events.add(oImage,"load",function()
{
me.resizeAndDisplayImage(this);
}.getClosure(oImage));

oImage.style.display="none";

oImage.selected=false;

me.fImageGenerator(oImage,oItem);



var oImageContainer=document.createElement("DIV");
oImageContainer.className="multiUploadImageContainer";
oImage.wrapper=oImageContainer;


var oContentSpan=document.createElement("SPAN");
oImageContainer.appendChild(oContentSpan);
var oCheckmarkOverlayContainer=me.addCheckmarkOverlay(oContentSpan);
oImage.checkmarkOverlay=oCheckmarkOverlayContainer;

if(me.fIsCheckedCallback)
{

if(me.fIsCheckedCallback(oItem))
{
oImage.disabled=1;
showCheckmarkOverlay(oImage);
}
}

oImageContainer.onclick=function()
{
me.chooseImage(this);
}.getClosure(oImage);


oContentSpan.appendChild(oImage);


if(me.fCaptionCallback)
{
me.fCaptionCallback(oImageContainer,oItem);
}


me.aAllImages.push(oImage);


if(oItem.docName)
{
var oName=document.createElement("DIV");
oName.className="imageCaption";
oName.innerHTML=vp.web.htmlEncode(oItem.docName);
oImageContainer.appendChild(oName);
}

oImage.ImageItem=oItem;

oCachedPageDOM.appendChild(oImageContainer);

iItemIndex++;
}

me.aPagesCache[me.oPagedList.currentPageNumber]=oCachedPageDOM;
}

var oRootElement=me.oImagesContainer;

if(oRootElement.firstChild)
{
vp.ui.removeFromDOM(oRootElement.firstChild);
}

if(iItemIndex>8)
{


oRootElement.style.overflow="auto";


oRootElement.style.position="relative";
}

oRootElement.appendChild(me.aPagesCache[me.oPagedList.currentPageNumber]);
};






this.chooseImage=function pb_this_chooseImage(oImage)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
if(!oImage.isSelected&&!(oImage.disabled&&oImage.disabled==1))
{
selectImage(oImage);
}
else
{
deselectImage(oImage);
}

};






var selectImage=function pv_selectImage(oImageContainer)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}


oImageContainer.isSelected=true;
aSelectedImages.push(oImageContainer);

if(oImageContainer.ImageItem)
{
me.aSelectedImageItems.push(oImageContainer.ImageItem);
}

if(bIsMultiSelect)
{
vp.ui.addClass(oImageContainer.wrapper,"thumbnail-border");
}
else
{
me.fSingleSelectCallback(oImageContainer);
}

};






var deselectImage=function pv_deselectImage(oImageContainer)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
vp.ui.removeClass(oImageContainer.wrapper,"thumbnail-border");
oImageContainer.isSelected=false;
aSelectedImages.pop(oImageContainer);

if(oImageContainer.ImageItem)
{
me.aSelectedImageItems.pop(oImageContainer.ImageItem);
}
};



this.addCheckmarkOverlay=function pb_this_addCheckmarkOverlay(oImageContainer)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
var oCheckmarkOverlay=document.createElement("IMG");
oCheckmarkOverlay.src="/vp/images/b09/common/icon/used-photo-icon.png";
vp.ui.addClass(oCheckmarkOverlay,"checkmark-overlay");
oImageContainer.appendChild(oCheckmarkOverlay);
vp.ui.addClass(oCheckmarkOverlay,"pngfix");
return oCheckmarkOverlay;
};

var showCheckmarkOverlay=function pv_showCheckmarkOverlay(oImageContainer)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
vp.ui.expandToBlock(oImageContainer.checkmarkOverlay);
};

var hideCheckmarkOverlay=function pv_hideCheckmarkOverlay(oImageContainer)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
vp.ui.collapse(oImageContainer.checkmarkOverlay);
};

this.checkAndDisableImage=function pb_this_checkAndDisableImage(oImage)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
var index=me.aAllImages.indexOf(oImage);

if(index>=0)
{
var image=me.aAllImages[index];
me.aAllImages[index].disabled=1;
deselectImage(image);
showCheckmarkOverlay(oImage);
}
};

this.uncheckAndEnableImage=function pb_this_uncheckAndEnableImage(oImage)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
var index=me.aAllImages.indexOf(oImage);

if(index>=0)
{
var image=me.aAllImages[index];
me.aAllImages[index].disabled=0;
hideCheckmarkOverlay(oImage);
}
};

this.clear=function pb_this_clear()
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
me.aPagesCache.removeAll();
me.aSelectedImageItems.removeAll();
me.aAllImages.removeAll();

me.oPaginatorContainer.style.display="none";
me.oImagesContainer.style.display="none";
me.oNoImagesMessageContainer.style.display="block";
me.oAddImagesButton.style.display="none";
me.oImageContainerCaption.style.display="none";
};
};