/*
	Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved.
	Available via Academic Free License >= 2.1 OR the modified BSD license.
	see: http://dojotoolkit.org/license for details
*/


if(!dojo._hasResource["ues.core.webui.Lightbox"]){dojo._hasResource["ues.core.webui.Lightbox"]=true;dojo.provide("ues.core.webui.Lightbox");dojo.require("dijit._Widget");dojo.require("dojox.image.Lightbox");dojo.require("dojo.dnd.Moveable");dojo.require("dojox.fx._base");dojo.require("dojo.NodeList-traverse");dojo.require("ues.core.webui.Dialog");dojo.require("ues.platform.security.authn.HandshakeService");(function(){var _1=dojo.declare(dojo.dnd.Mover,{invertX:true,invertY:true,constructor:function(_2,e,_3,_4){dojo.mixin(this,_4);this._scrollOrigin={x:this.node.scrollLeft,y:this.node.scrollTop};this._pageOrigin={x:e.pageX,y:e.pageY};this.scrollBox={};if(this.invertX){this.scrollBox.l=this._scrollOrigin.x+this._pageOrigin.x;}else{this.scrollBox.l=this._scrollOrigin.x-this._pageOrigin.x;}if(this.invertY){this.scrollBox.t=this._scrollOrigin.y+this._pageOrigin.y;}else{this.scrollBox.t=this._scrollOrigin.y-this._pageOrigin.y;}},onMouseMove:function(e){var sb=this.scrollBox;var lt={};if(this.invertX){lt.l=sb.l-e.pageX;}else{lt.l=sb.l+e.pageX;}if(this.invertY){lt.t=sb.t-e.pageY;}else{lt.t=sb.t+e.pageY;}this.host.onMove(this,lt);dojo.stopEvent(e);},onFirstMove:function(){var h=this.host;if(h&&h.onFirstMove){h.onFirstMove(this);}dojo.disconnect(this.events.pop());}});var _5=dojo.declare(dojo.dnd.Moveable,{_moverParams:null,constructor:function(_6,_7){if(!_7.mover){this.mover=_1;}var p=dojo.mixin({invertX:true,invertY:true},_7);this._moverParams={invertX:p.invertX,invertY:p.invertY};},onDragDetected:function(e){new this.mover(this.node,e,this,this._moverParams);},onMove:function(_8,_9){_8.node.scrollLeft=_9.l;_8.node.scrollTop=_9.t;}});var LB=dojo.declare("ues.core.webui.Lightbox",dijit._Widget,{selector:"",groupBy:"",modal:true,_lb:null,_groupId:null,_groupIdPool:{last:0},postCreate:function(){this._lb=[];this._groupId="g"+(++this._groupIdPool.last);if(!this.selector){return;}var _a=this;dojo.addOnLoad(function(){dojo.query(_a.selector).forEach(function(_b,_c){var _d=null;var _e=true;var _f=false;var _10=false;if(_b.tagName=="IMG"){_d=dojo.attr(_b,"src");_e=!_b.getAttribute("usemap")&&dojo.query(_b).parents("a").length==0;}else{if(_b.tagName=="A"){if(_b.href.match(/^javascript:/i)){return;}_d=dojo.attr(_b,"href");_f=true;}}var _11=_a._groupId;if(_a.groupBy){var _12=dojo.string.trim(dojo.attr(_b,_a.groupBy));_10=_12.match(/^galleryYes_/i);if(_10){_11=_12.replace(/^galleryYes_/,"");}else{_11=_12.replace(/^galleryNo_/,"");}}var lb=null;if(_e&&_f){lb=new ues.core.webui.LightboxItem({title:_b.title,href:_d,group:_11,modal:_a.modal,connectOnClick:_e},_b);_a._lb.push(lb);lb.startup();}if(_10){lb=new ues.core.webui.LightboxItem({title:_b.title,href:_d,group:"ues-lb-gallery",modal:_a.modal,connectOnClick:false},null);_a._lb.push(lb);lb.startup();}});});},getItems:function(){return this._lb;},destroy:function(){dojo.forEach(this._lb,function(_13){_13.destroyRecursive();});delete this._lb;this.inherited(arguments);}});LB.show=function(_14){var id="ues-core-LightboxDialog";var _15="ues-lb-gallery";var _16=true;if(_14&&_14.group){_15=_14.group;}if(_14&&_14.fullscreen){_16=_14.fullscreen;}var _17=dijit.byId(id);if(_17!=null){_17.show({group:_15,modal:true,fullscreen:_16});}else{var _18="ues_v5.core_v1.appc_v1.visc_v1.pagecomponents.";var _19=UES.localize(_18+"LLightbox_No_Images_BODY");var _1a=UES.localize(_18+"LLightbox_No_Images_TITLE");new ues.core.webui.InformationDialog({message:_19,title:_1a}).show();}};dojo.declare("ues.core.webui.LightboxItem",dojox.image.Lightbox,{_DIALOG_ID:"ues-core-LightboxDialog",connectOnClick:true,_origScrollY:0,startup:function(){this.title=this.title||"";this._started=true;if(!this._attachedDialog){var dlg=dijit.byId(this._DIALOG_ID);if(!dlg){dlg=new ues.core.webui.LightboxDialog({id:this._DIALOG_ID});dlg.startup();}this._attachedDialog=dlg;}if(!this.store){this._addSelf();if(this.connectOnClick){this.connect(this.domNode,"onclick","_handleClick");dojo.style(this.domNode,"cursor","pointer");}}},_addSelf:function(){this._attachedDialog.addImage({id:this.domNode.id,href:this.href,title:this.title},this.group||null);},_handleClick:function(e){this._origScrollY=getScrollY(e.target);this._offsetParent=e.target.offsetParent;this.inherited(arguments);},_setHrefAttr:function(_1b){if(!this._attachedDialog||!_1b){return;}var _1c=this._attachedDialog.getImage(this.domNode.id,this.group);if(_1c){this["href"]=_1b;_1c.href=_1b;}}});dojo.declare("ues.core.webui.LightboxDialog",ues.core.webui.Dialog,{title:"",inGroup:null,imgUrl:dijit._Widget.prototype._blankGif,errorMessage:"",adjust:true,modal:false,resizeY:false,isFullScreen:false,shadow:false,refocus:false,_groups:{XnoGroupX:[]},_origState:null,duration:dijit.defaultDuration,dragHandleClass:"drag-obj_lightbox",errorImg:dojo.moduleUrl("ues.core","webui/images/lightbox_warning.gif"),_hsService:new ues.platform.security.authn.HandshakeService(),templateString:dojo.cache("ues.core.webui","resources/templates/LightboxDialog.html","<div class=\"ues-core-lightbox dojoxLightbox\" data-dojo-attach-point=\"containerNode\">\n  <div style=\"position:relative\">\n        <div class=\"ues-core-lightbox_bar\" data-dojo-attach-point=\"titleNode\">\n      <div class=\"ues-core-lightbox_headerWrap\">\n                <div class=\"dijitInline ues-core-lightbox_navigation\" data-dojo-attach-point=\"titleTextNode\">\n\t                <span class=\"dijitInline ues-core-lightbox_prev\" data-dojo-attach-point=\"prevNode\"></span>\n\t                <span class=\"dijitInline ues-core-lightbox_next\" data-dojo-attach-point=\"nextNode\"></span>\n                    <span data-dojo-attach-point=\"groupCount\" class=\"dojoxLightboxGroupText\"></span>\n                    <span class=\"ues-core-lightbox_shrink\" data-dojo-attach-point=\"_shrinkNode\" data-dojo-attach-event=\"onclick: _onShrinkClick\"></span>\n          <span class=\"dijitInline\"></span>\n        </div>\n                <div class=\"dijitInline title\" data-dojo-attach-point=\"textNode\">${title}</div>\n      </div>\n      <div class=\"dijitInline ues-core-lightbox_view\" data-dojo-attach-point=\"_fullscreenNode\" data-dojo-attach-event=\"onclick: _onFullScreenClick\"></div>\n      <div class=\"dijitInline ues-core-lightbox_close\" data-dojo-attach-point=\"closeButtonNode\" data-dojo-attach-event=\"ondijitclick: onCancel\"></div>\n    </div>\n    <div class=\"ues-core-lightbox_body\">\n\t        <div class=\"ues-core-lightbox_imgContWrap\" data-dojo-attach-point=\"_imgContWrapNode\">\n\t            <div class=\"ues-core-lightbox_navIn ues-core-lightbox_navInPrev\" data-dojo-attach-event=\"onclick: _prevImage\"><div></div></div>\n\t            <div class=\"ues-core-lightbox_navIn ues-core-lightbox_navInNext\" data-dojo-attach-event=\"onclick: _nextImage\"><div></div></div>\n\t            <div class=\"ues-core-lightbox_imgCont\" data-dojo-attach-point=\"imageContainer\" data-dojo-attach-event=\"onclick: _onImageClick\">\n\t                <img data-dojo-attach-point=\"imgNode\" src=\"${imgUrl}\" class=\"dojoxLightboxImage\" alt=\"${title}\">\n\t                <div data-dojo-attach-point=\"errorNode\" class=\"ues-core-lightbox_errorNode\"></div>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n"),shrinkToViewport:true,inImageNavigation:true,zoomFactor:0.1,isZooming:false,_shrinkNode:null,_imgContWrapNode:null,_imgContWrapExt:null,_adjustSize:null,_usingPan:false,_padBorderExt:null,_SCROLL_H_SIZE:19,_SCROLL_V_SIZE:19,_IMG_FADEOUT_DURATION:175,_CSS_BASE:"ues-core-lightbox",_CSS_PAN:"ues-core-lightbox_withPan",_CSS_LOADING:"ues-core-lightbox_loading",_CSS_WITH_NAV_IN:"ues-core-lightbox_withNavIn",_CSS_SHRINK_ON:"ues-core-lightbox_shrinkOn",_CSS_SHRINK_OFF:"ues-core-lightbox_shrinkOff",_IN_IMAGE_NAV_WIDTH_DIALOG:0.1,_IN_IMAGE_NAV_MIN_WIDTH_DIALOG:100,_IN_IMAGE_NAV_WIDTH_FULLSCREEN:0.1,_IN_IMAGE_NAV_MIN_WIDTH_FULLSCREEN:100,_MIN_IMG_CONT_SIZE:{w:250,h:250},_BOUNDARIES:{l:0,t:0,w:0,h:0},_CSS_FULL_SCREEN:"fullscreen_mode",_CSS_LIGHTBOX_SHOWN:"ues-lightbox-on",cssStateNodes:{closeButtonNode:"ues-core-lightbox_close"},startup:function(){this.inherited(arguments);this._animConnects=[];this.connect(this.nextNode,"onclick","_nextImage");this.connect(this.prevNode,"onclick","_prevImage");this._makeAnims();this._vp=dojo.window.getBox();this.errorMessage=UES.localize("ues_v5.core_v1.appc_v1.visc_v1.pagecomponents.LLightbox_Loading_Error");return this;},postMixInProperties:function(){this.inherited(arguments);this["class"]+=" "+this._CSS_BASE;},_lazyInit:function(){if(this._padBorderExt){return;}this._padBorderExt=dojo._getPadBorderExtents(this.domNode);this._imgContWrapExt=dojo._getPadBorderExtents(this._imgContWrapNode);this._adjustSize={w:this._imgContWrapExt.w,h:this._imgContWrapExt.h};this._lastSize={w:200,h:200};this._currentSize={w:this._lastSize.w,h:this._lastSize.h};this._updateShrinkNode();if(dojo.isIE&&dojo.isIE<=6){var _1d=function(){dojo.toggleClass(this,"ues-core-lightbox_navInOver");};dojo.query(".ues-core-lightbox_navIn",this.domNode).onmouseenter(_1d).onmouseleave(_1d);}dojo.query(".ues-core-lightbox_navIn",this.domNode).style("width",this._getImageNavWidth());},show:function(_1e){var _1f=this.open;this._lazyInit();this._switchPanning(false);dojo.addClass(dojo.doc.documentElement,this._CSS_LIGHTBOX_SHOWN);if(dojo.isOpera&&_1e._offsetParent){_1e._offsetParent.scrollTop=_1e._origScrollY;}if(this.isFullScreen&&this.switched===null&&!_1e.fullscreen){this.shrinkToViewport=true;this.switched=true;}if(dojo.isFF){this.imageContainer.scrollTop=0;}var _20=this;this._lastGroup=_1e;if(!_20.open){_20.inherited(arguments);this._modalconnects.push(dojo.connect(dojo.global,"onscroll",this,"_position"),dojo.connect(dojo.global,"onresize",this,"_position"),dojo.connect(dojo.global,"onresize",this,"_shortenTextNode"),dojo.connect(dojo.body(),"onkeypress",this,"_handleKey"));if(!_1e.modal){this._modalconnects.push(dojo.connect(dijit._underlay.domNode,"onclick",this,"onCancel"));}if(_1e.title){this.title=_1e.title;}}if(this._wasStyled){dojo.destroy(_20.imgNode);_20.imgNode=dojo.create("img",null,_20.imageContainer,"first");_20._makeAnims();_20._wasStyled=false;}dojo.style(_20.imgNode,"opacity","0");dojo.style(_20.titleNode,"opacity","0");var _21=_1e.href;if((_1e.group&&_1e!=="XnoGroupX")||_20.inGroup){if(!_20.inGroup){_20.inGroup=_20._groups[(_1e.group)];dojo.forEach(_20.inGroup,function(g,i){if(g.href==_1e.href){_20._index=i;}},_20);}if(!_20._index){_20._index=0;_21=_20.inGroup[_20._index].href;}_20.groupCount.innerHTML=" ("+(_20._index+1)+" of "+_20.inGroup.length+")";_20.prevNode.style.visibility="visible";_20.nextNode.style.visibility="visible";}else{_20.groupCount.innerHTML="";_20.prevNode.style.visibility="hidden";_20.nextNode.style.visibility="hidden";}if(!_1e.leaveTitle){_20.textNode.innerHTML=_1e.title;_20.title=_1e.title;}if(_1e.fullscreen){_20.title=_20.inGroup[this._index].title;}this._titleSize=dojo.marginBox(this.titleNode);_20._ready(_21);this._updateImageContainer(false,true);this._wasStyled=true;if(dojo.isFF&&!_1f){var ind=this._modalconnects.length-1+(!_1e.modal?-1:0);dojo.disconnect(this._modalconnects[ind]);this._modalconnects.splice(ind,1);this._modalconnects.push(dojo.connect(dojo.doc.documentElement,"onkeypress",this,"_handleKey"));}if(UES.isHandheld&&!_1f){this._removeConnects(0,1,3,4);}dojo.style(this._imgContWrapNode,"opacity","0");dojo.style(this.imgNode,"opacity","1");this._updateBar();},hide:function(){dojo.removeClass(dojo.doc.documentElement,this._CSS_LIGHTBOX_SHOWN);if(dojo.isOpera&&this._lastGroup._offsetParent){this._lastGroup._offsetParent.scrollTop=this._lastGroup._origScrollY;}if(dojo.isChrome){this._updateImageContainer(false,false);}dojo.fadeOut({node:this.titleNode,duration:200,onEnd:dojo.hitch(this,function(){this.imgNode.src=this._blankGif;})}).play(5);this.inherited(arguments);this.inGroup=null;this._index=null;this.switched=null;if(this._lastGroup.fullscreen){this.isFullScreen=false;dojo.removeClass(this.domNode,this._CSS_FULL_SCREEN);if(this._origState!=null){this.set("shadow",this._origState.shadow);this.set("draggable",this._origState.draggable);this._origState=null;}}},_updateBar:function(){var _22="";var _23="none";if(this.inGroup&&this.inGroup.length>1){_22=(this._index+1)+" / "+this.inGroup.length;_23=(dojo.isIE&&dojo.isIE<=7?"inline":"inline-block");}this.groupCount.innerHTML=_22;if(dojo.isIE){this.groupCount.style.display="none";this.groupCount.offsetHeight;}this.groupCount.style.display=_23;this.prevNode.style.display=_23;this.nextNode.style.display=_23;},_makeAnims:function(){dojo.forEach(this._animConnects,dojo.disconnect);this._animConnects=[];this._showImageAnim=dojo.fadeIn({node:this._imgContWrapNode,duration:this.duration});this._animConnects.push(dojo.connect(this._showImageAnim,"onEnd",this,"_finishLoading"));this._loadingAnim=dojo.fx.combine([dojo.fadeOut({node:this._imgContWrapNode,duration:this._IMG_FADEOUT_DURATION}),dojo.fadeOut({node:this.titleNode,duration:this._IMG_FADEOUT_DURATION})]);this._animConnects.push(dojo.connect(this._loadingAnim,"onEnd",this,"_prepNodes"));this._showNavAnim=dojo.fadeIn({node:this.titleNode,duration:225});},_loadImage:function(){if(dojo.isChrome){this._updateImageContainer(false,false);}dojo.addClass(this.domNode,this._CSS_LOADING);this._loadingAnim.play(1);},_ready:function(_24){var t=this;t._imgError=dojo.connect(t.imgNode,"error",t,function(e){dojo.disconnect(t._imgError);t._imgError=null;setTimeout(function(){t._imageLoadError(e);},0);});t._imgConnect=dojo.connect(t.imgNode,"load",t,function(e){dojo.disconnect(t._imgConnect);if(t._imgError){dojo.disconnect(t._imgError);}dojo.style(this.errorNode,"display","none");setTimeout(function(){t._imageLoaded(e);},0);});t._operaSizeFix=0;t.imgNode.src=_24;},_imageLoadError:function(e){var t=this;if(t.imgNode.src!=t.errorImg){t.imgNode.src=t.errorImg;t.textNode.innerHTML=t.errorMessage;}},_updateErrorMessage:function(){var _25=0;var _26=0;this.errorNode.innerHTML=this.errorMessage;var _27=dojo.position(this.imageContainer);_25+=(_27.w-dojo.style(this.errorNode,"width"))/2;_26+=_27.h/2;dojo.style(this.errorNode,{left:_25+"px",top:_26+"px"});dojo.style(this.errorNode,"display","block");},_imageLoaded:function(e){if(dojo.isOpera&&(this.imgNode.width<=1||this.imgNode.height<=1)){if(this._operaSizeFix<2){++this._operaSizeFix;setTimeout(dojo.hitch(this,"_imageLoaded"),500);return;}this._operaSizeFix=0;}var t=this;t._lastSize={w:t.imgNode.width,h:t.imgNode.height,duration:t.duration};this._setMinZoomSize(this._lastSize);this._setMaxZoomSize(this._lastSize);this.scaleUp=this.isImageScaleUpAllowed();if(this._lastGroup.fullscreen===true){this._setFullScreen(true);}else{t.resizeTo(t._lastSize);}if(this.inGroup){var len=this.inGroup.length;var _28=[];if(len>1){_28.push(this.inGroup[(this._index+1)%len].href);}if(len>2){_28.push(this.inGroup[(this._index+len-1)%len].href);}if(_28.length>0){dojox.image.preload(_28);}}},isImageScaleUpAllowed:function(){this._containerSize=this._getSizeForContainer();return (this.isFullScreen&&!this.shrinkToViewport&&(this._lastSize.h<this._containerSize.h&&this._lastSize.w<this._containerSize.w));},resizeTo:function(_29,_2a){var _2b=this._getImageLimitSize();if(!this._isError()){if(this.isZooming||(this.scaleUp&&this.isFullScreen)||_29.h>_2b.h||_29.w>_2b.w){_29=this._scaleToFit(_29,_2b);}}var _2c=(_29.w!=this._lastSize.w||_29.h!=this._lastSize.h);this._currentSize=_29;var _2d=this._getSizeForContainer(_29);this._containerSize=_2d;this._setImageSize(_29,_2d);var _2e,_2f,_30=false;if(this.isFullScreen){_2e=((_2d.w-this._currentSize.w)/2)>Math.max(_2d.w*this._IN_IMAGE_NAV_WIDTH_FULLSCREEN,this._IN_IMAGE_NAV_MIN_WIDTH_FULLSCREEN);_2f=this._currentSize.w>_2d.w;_30=this._currentSize.h>_2d.h;}if(this.isZooming&&(_2f||_30)){this._switchPanning(true);}else{this._switchPanning((_2c||_2f||_30)&&!this.shrinkToViewport&&!this.scaleUp);}if(this.inImageNavigation&&(!_2c||this.shrinkToViewport||this.scaleUp||_2e)&&this.inGroup&&this.inGroup.length>1&&!_2f){dojo.addClass(this.domNode,this._CSS_WITH_NAV_IN);}else{dojo.removeClass(this.domNode,this._CSS_WITH_NAV_IN);}dojo.query(".ues-core-lightbox_navInNext",this.domNode).style({right:(_30?this._SCROLL_H_SIZE+"px":0)});this._updateShrinkNode();var _31={w:0,h:0};if(!this.isFullScreen){_31={w:_2d.w+this._adjustSize.w,h:_2d.h+this._titleSize.h+this._adjustSize.h};}else{_31={w:_2d.w,h:_2d.h+this._titleSize.h};}if(!_2a){var _32=dojox.fx.sizeTo({node:this.containerNode,duration:_29.duration||this.duration,width:_31.w,height:_31.h});this.connect(_32,"onEnd","_showImage");_32.play(15);}else{dojo.style(this.containerNode,{width:_31.w+"px",height:_31.h+"px"});this._showImage();}},_getImageLimitSize:function(){return {w:Math.max(this._vp.w-this._adjustSize.w-this._BOUNDARIES.w-this._padBorderExt.w,1),h:Math.max(this._vp.h-this._adjustSize.h-this._titleSize.h-this._BOUNDARIES.h-this._padBorderExt.h,1)};},_getSizeForContainer:function(_33){if(this.isFullScreen||!_33){return {w:getWindowWidth()-this._padBorderExt.w,h:getWindowHeight()-this._titleSize.h-this._padBorderExt.w};}else{return {w:Math.max(_33.w,this._MIN_IMG_CONT_SIZE.w),h:Math.max(_33.h,this._MIN_IMG_CONT_SIZE.h)};}},_getScaledDimension:function(_34,_35){var ns={w:_34.w,h:_34.h};var vw=_35.w;var vh=_35.h;if(vh*_34.w>vw*_34.h){ns.w=vw;ns.h=ns.w*(_34.h/_34.w);}else{ns.h=vh;ns.w=ns.h*(_34.w/_34.h);}return ns;},_setMinZoomSize:function(_36){var _37={w:_36.w,h:_36.h};if(_36.w<=this._vp.w&&_36.h<=this._vp.h){this._minZoomSize={w:_37.w,h:_37.h};}else{var _38=this._getImageLimitSize();var _39=this._getScaledDimension(_37,_38);this._minZoomSize={w:Math.round(_39.w),h:Math.round(_39.h)};}},_setMaxZoomSize:function(_3a){var _3b={w:_3a.w,h:_3a.h};if(_3a.w<=this._vp.w&&_3a.h<=this._vp.h){var _3c=this._getImageLimitSize();var _3d=this._getScaledDimension(_3b,_3c);this._maxZoomSize={w:Math.round(_3d.w),h:Math.round(_3d.h)};}else{this._maxZoomSize={w:_3b.w,h:_3b.h};}},_zoomIn:function(){if(!this.isFullScreen){return;}if(this._currentSize.w>=this._maxZoomSize.w||this._currentSize.h>=this._maxZoomSize.h){return;}this.isZooming=true;var _3e=this.imgNode.width+((this.imgNode.width/100)*(this.zoomFactor*100));var _3f=this.imgNode.height+((this.imgNode.height/100)*(this.zoomFactor*100));this.resizeTo({w:Math.min(Math.round(_3e),this._maxZoomSize.w),h:Math.min(Math.round(_3f),this._maxZoomSize.h)},true);this.isZooming=false;},_zoomOut:function(){if(!this.isFullScreen){return;}if(this._currentSize.w<=this._minZoomSize.w||this._currentSize.h<=this._minZoomSize.h){return;}this.isZooming=true;var _40=this.imgNode.width-((this.imgNode.width/100)*(this.zoomFactor*100));var _41=this.imgNode.height-((this.imgNode.height/100)*(this.zoomFactor*100));this.resizeTo({w:Math.max(Math.round(_40),this._minZoomSize.w),h:Math.max(Math.round(_41),this._minZoomSize.h)},true);this.isZooming=false;},_scaleToFit:function(_42,_43){var ns={h:_42.h,w:_42.w};ns.duration=_42.duration;var vw=_43.w;var vh=_43.h;if((!this.isFullScreen&&!this.shrinkToViewport)||(this.isFullScreen&&!this.shrinkToViewport&&!this.scaleUp)||this.isZooming){if(this.isZooming){ns.w=Math.min(Math.round(ns.w),Math.max(this._lastSize.w,vw));ns.h=Math.min(Math.round(ns.h),Math.max(this._lastSize.h,vh));}var _44=false;if(ns.w>vw){ns.h+=this._SCROLL_H_SIZE;_44=true;}if(ns.h>vh){ns.w+=this._SCROLL_V_SIZE;}if(!_44&&ns.w>vw){ns.h+=this._SCROLL_H_SIZE;}if(this.isZooming){ns.w=Math.round(ns.w-(_44?this._SCROLL_V_SIZE:0));ns.h=Math.round(ns.h-(_44?this._SCROLL_H_SIZE:0));return ns;}}else{var _45=this._getScaledDimension(ns,_43);ns.w=_45.w;ns.h=_45.h;}if(!this.shrinkToViewport&&this.isFullScreen&&!this.scaleUp){ns.w=Math.round(ns.w);ns.h=Math.round(ns.h);}else{ns.w=Math.min(Math.round(ns.w),vw);ns.h=Math.min(Math.round(ns.h),vh);}return ns;},_position:function(e){if(e&&e.type=="resize"){this._vp=dojo.window.getBox();this._setMinZoomSize(this._lastSize);this._setMaxZoomSize(this._lastSize);this.resizeTo(this._lastSize,true);this.scaleUp=this.isImageScaleUpAllowed();this._vp=dojo.window.getBox();this.inherited(arguments,[null]);this._position0(arguments,[null]);if(this._isError()){this._updateErrorMessage();}}else{this._vp=dojo.window.getBox();this.inherited(arguments);}},_position0:function(e){if(e&&e.type=="resize"){if(this._wasStyled){this._setImageSize(this._lastSize);this.resizeTo(this._lastSize);}else{if(this.imgNode.height+80>this._vp.h||this.imgNode.width+60>this._vp.h){this.resizeTo({w:this.imgNode.width,h:this.imgNode.height});}}}},_setImageSize:function(_46,_47){if(!this.isFullScreen){dojo.style(this.imageContainer,{width:_47.w+"px",height:_47.h+"px"});}else{dojo.style(this.imageContainer,{width:"100%",height:"100%"});dojo.style(this._imgContWrapNode,{height:_47.h+"px"});}this._updateInImageNav(_47);var _48=(this.shrinkToViewport||this.scaleUp||this.isZooming?_46:this._lastSize);var s=this.imgNode;s.height=_48.h;s.width=_48.w;if(UES.isHandheld){dojo.style(s,{width:_48.w+"px",height:_48.h+"px"});}s.style.marginTop=Math.floor(Math.max(0,(this.isFullScreen?_47.h-_48.h:this._MIN_IMG_CONT_SIZE.h-_48.h)/2))+"px";s.style.marginLeft=(this.isFullScreen?"auto":Math.floor(Math.max(0,this._MIN_IMG_CONT_SIZE.w-_48.w)/2)+"px");},_showImage:function(){if(dojo.isSafari&&this._currentSize.w==this._lastSize.w&&this._currentSize.h==this._lastSize.h){this._updateImageContainer(false,false);}else{if(!dojo.isChrome){this._updateImageContainer(true,false);}}this._position();this._showImageAnim.play(1);},_showNav:function(){this._showNavAnim.play(1);this._shortenTextNode();},_shortenTextNode:function(){var _49=dojo.query(".ues-core-lightbox_headerWrap",this.domNode)[0];var _4a=this;dojo.query(".title",this.domNode).forEach(function(_4b){_4b.innerHTML=_4a.title;var _4c=new UES.Util.NodeShortener(_49,1,_4b,20,5).execute();var _4d=dojo.query(".drag-obj_lightbox",this.domNode)[0];if(_4d==null){_4d=_4a.textNode;}if(_4d){if(_4c.visibleChars<_4c.totalChars){_4d.setAttribute("title",_4a.title);}else{_4d.removeAttribute("title");}}});},_finishLoading:function(){dojo.removeClass(this.domNode,this._CSS_LOADING);if(dojo.isChrome){this._updateImageContainer(true,false);}if(this._isError()){this._updateErrorMessage();}this._showNav();this._setDragHandlePosition();},_handleKey:function(e){if(!this.open){return;}if(e.ctrlKey||e.altKey||e.shiftKey){return;}var dk=dojo.keys;var _4e=false;switch(e.charOrCode){case dk.ESCAPE:this.hide();_4e=true;break;case dk.SPACE:case " ":if(!this.isFullScreen){break;}case dk.UP_ARROW:case dk.RIGHT_ARROW:case 78:this._nextImage();_4e=true;break;case dk.DOWN_ARROW:case dk.LEFT_ARROW:case 80:this._prevImage();_4e=true;break;case dk.NUMPAD_PLUS:case "+":this._zoomIn();_4e=true;break;case dk.NUMPAD_MINUS:case "-":this._zoomOut();_4e=true;break;}if(_4e){dojo.stopEvent(e);}},_extendSession:function(){this._hsService.handshake(function(_4f,_50){});},_nextImage:function(e){this._extendSession();if(!this.inGroup||this.inGroup.length<=1){return;}if(e&&this._skipClick&&e.type=="click"){return;}if(e){dojo.stopEvent(e);}if(this._index+1<this.inGroup.length){this._index++;}else{this._index=0;}this._loadImage();},_prevImage:function(e){this._extendSession();if(!this.inGroup||this.inGroup.length<=1){return;}if(e&&this._skipClick&&e.type=="click"){return;}if(e){dojo.stopEvent(e);}if(this._index==0){this._index=this.inGroup.length-1;}else{this._index--;}this._loadImage();},_updateImageContainer:function(_51,_52){var _53=_51&&(!this.shrinkToViewport||this.isZooming);var o=(_53?"auto":"hidden");if(this.imageContainer.style.overflow!=o){dojo.style(this.imageContainer,"overflow",o);}if(_52){this.imageContainer.scrollTop=0;this.imageContainer.scrollLeft=0;}},_removeConnects:function(){for(var i=arguments.length-1;i>=0;--i){var ind=arguments[i];dojo.disconnect(this._modalconnects[ind]);this._modalconnects.splice(ind,1);}},_onShrinkClick:function(_54){var _55=(this._lastSize.w!=this._currentSize.w||this._lastSize.h!=this._currentSize.h);if(!_55&&!this.isFullScreen){return;}this.shrinkToViewport=!this.shrinkToViewport;this._updateShrinkNode();this._loadImage();},_onFullScreenClick:function(_56){if(this.isFullScreen){this.textNode.removeAttribute("title");}this._setFullScreen(!this.isFullScreen);},_updateShrinkNode:function(){var _57=(this._lastSize.w!=this._currentSize.w||this._lastSize.h!=this._currentSize.h);dojo.removeClass(this.domNode,this._CSS_SHRINK_ON+" "+this._CSS_SHRINK_OFF);if(_57||this.isFullScreen){if(!this.shrinkToViewport){dojo.addClass(this.domNode,this._CSS_SHRINK_OFF);}else{dojo.addClass(this.domNode,this._CSS_SHRINK_ON);}}},_updateInImageNav:function(_58){if(!this.inImageNavigation){return;}dojo.query(".ues-core-lightbox_navIn",this.domNode).style({height:_58.h+"px",width:this._getImageNavWidth()});},_onImageClick:function(e){if(this.inImageNavigation&&this._usingPan){if((this._panEndTime&&new Date().getTime()-this._panEndTime<500)||this._panMoveDone){this._panEndTime=null;dojo.stopEvent(e);return;}}if(e&&e.target==this.imgNode){this.onClick(this._lastGroup);if(this._lastGroup.declaredClass){this._lastGroup.onClick(this._lastGroup);}}if(this.inImageNavigation&&this._usingPan){var p=dojo.position(this.imageContainer,true);var _59=(this.isFullScreen?this._IN_IMAGE_NAV_WIDTH_FULLSCREEN:this._IN_IMAGE_NAV_WIDTH_DIALOG);if(p.x<=e.pageX&&e.pageX<p.x+_59*p.w){this._prevImage(e);}else{if(p.x+(1-_59)*p.w<e.pageX&&e.pageX<p.x+p.w){this._nextImage(e);}}}},addImage:function(_5a,_5b){var g=_5b;if(!_5a.href){return;}var _5c=_5a.id||null;if(g){if(!this._groups[g]){this._groups[g]=[];}this._groups[g].push(_5a);}else{this._groups["XnoGroupX"].push(_5a);}},getImage:function(aId,_5d){if(!aId){return null;}var g=_5d||"XnoGroupX";var _5e=this;if(g){if(!this._groups[g]){return null;}else{return _5f();}}function _5f(){var _60=_5e._groups[g];var _61=null;dojo.forEach(_60,function(_62,i){if(_62.id==aId){_61=_62;return;}},_5e);return _61;};},onClick:function(){},_size:function(){},_prepNodes:function(){this._imageReady=false;this.show({href:this.inGroup[this._index].href,title:this.inGroup[this._index].title});},_setDragHandlePosition:function(){var _63=this.titleTextNode.offsetWidth;var _64=dojo.position(this.titleTextNode,true);var _65=dojo.position(this.containerNode,true);var pos={x:_64.x-_65.x+_63,y:_64.y-_65.y};var _66=dojo.query(".ues-core-lightbox_headerWrap",this.domNode)[0];var _67=dojo.style(_66,"width");var _68=dojo.style(_66,"height");dojo.query("."+this.dragHandleClass,this.domNode).style({left:pos.x-this._adjustSize.w+"px",top:pos.y-this._adjustSize.h+"px",width:_67-_63+"px",height:_68+"px"});},_getImageNavWidth:function(){if(this.isFullScreen){var _69=(this._imgContWrapNode.offsetWidth/100)*this._IN_IMAGE_NAV_WIDTH_FULLSCREEN*100;return ((_69&&_69>this._IN_IMAGE_NAV_MIN_WIDTH_FULLSCREEN)?this._IN_IMAGE_NAV_WIDTH_FULLSCREEN*100+"%":this._IN_IMAGE_NAV_MIN_WIDTH_FULLSCREEN+"px");}else{var _69=(this._imgContWrapNode.offsetWidth/100)*this._IN_IMAGE_NAV_WIDTH_DIALOG*100;return ((_69&&_69>this._IN_IMAGE_NAV_MIN_WIDTH_DIALOG)?this._IN_IMAGE_NAV_WIDTH_DIALOG*100+"%":this._IN_IMAGE_NAV_MIN_WIDTH_DIALOG+"px");}},_setFullScreen:function(_6a){this.isFullScreen=_6a;if(_6a){var _6b=this.domNode;this._origState={top:dojo.style(_6b,"top")||"0",left:dojo.style(_6b,"left")||"0",draggable:this.draggable||false,shadow:this.shadow||false};this.set("shadow",false);this.set("draggable",false);dojo.addClass(this.domNode,this._CSS_FULL_SCREEN);this._vp=dojo.window.getBox();dojo.style(this.domNode,{position:"absolute",top:"0",left:"0",width:this._vp.w-this._adjustSize.w+"px",height:this._vp.h-this._adjustSize.h+"px"});if(!this.switched){this.shrinkToViewport=true;}this.switched=true;this.resizeTo({w:this.imgNode.width,h:this.imgNode.height});}else{dojo.removeClass(this.domNode,this._CSS_FULL_SCREEN);this.set("shadow",this._origState.shadow);this.set("draggable",this._origState.draggable);this._origState=null;this._loadImage();}if(this._isError()){this._updateErrorMessage();}},_isError:function(){return (this.imgNode.src.indexOf(this.errorImg)!=-1);},_switchPanning:function(_6c){if(_6c===this._usingPan){return;}this._usingPan=_6c;if(!this._usingPan){this.disconnect(this._panable,"onMoveStart","_panStart");this.disconnect(this._panable,"onFirstMove","_panFirstMove");this.disconnect(this._panable,"onMoveStop","_panStop");this._panable.destroy();dojo.removeClass(this.domNode,this._CSS_PAN);delete this._panable;}else{this._panable=new _5(this.imageContainer,{handle:this.imgNode});dojo.addClass(this.domNode,this._CSS_PAN);this.connect(this._panable,"onMoveStart","_panStart");this.connect(this._panable,"onFirstMove","_panFirstMove");this.connect(this._panable,"onMoveStop","_panStop");}},_panStart:function(){this._panMoveDone=false;},_panFirstMove:function(){this._panMoveDone=true;},_panStop:function(){if(this._panMoveDone){this._panEndTime=new Date().getTime();}else{this._panEndTime=null;}this._panMoveDone=false;}});})();}/* UES7-00-R1-FP1 */

