/**
Copyright (C) 2003-2008 AJLSM, Anaphore
Voir le fichier LICENCE
**/
var PivViewer=Class.create();PivViewer.prototype={IMAGETOOL_PAN:0,IMAGETOOL_ZOOMIN:1,IMAGETOOL_ZOOMOUT:2,IMAGETOOL_ZOOMSELECT:3,zoomInFactor:1.2,zoomOutFactor:0.8333333,bgImgW:null,cursorMoveHFactor:null,currentZoom:1,initialize:function(a){YAHOO.util.Event.addListener(window,"resize",this.resize);if(a){if(a.zoomInFactor){this.zoomInFactor=a.zommInFactor}if(a.zoomOutFactor){this.zoomoutFactor=a.zoomOutFactor}if(a.bgImgW){this.bgImgW=a.bgImgW}if(a.cursorMoveHFactor){this.cursorMoveHFactor=a.cursorMoveHFactor}}},init:function(){this.initWidgets();this.initPnlOverview();this.resize()},initSeries:function(a){this.series=a;this.slider.init(this.series);$("span-imageselect-last").update(this.series.getSize());pivCreateTooltip("txt-imageselect_tt","txt-imageselect",pivGetMessage("tt_txt_imageselect",{max:this.series.getSize()}));if($("txt-download-to")){$("txt-download-to").setAttribute("value",this.series.getSize())}},resize:function(){var a=Position.page($("piv-mcol-frame"))[1];var c=$("piv-body-bottom").getHeight();if($$(".pl-pg-brdr-b")[0]!=null){c+=$$(".pl-pg-brdr-b")[0].getHeight()}if($("pl-pg-footer")){c+=$("pl-pg-footer").getHeight()}$("piv-mcol-frame").setStyle({height:(YAHOO.util.Dom.getClientHeight()-a-c)+"px"});var b=$("piv-mcol-frame");var d=b.getDimensions();var e=Position.cumulativeOffset(b);_pivViewer.viewport={x:e[0],y:e[1],width:d.width,height:d.height,ratio:d.width/d.height}},initPnlOverview:function(){this.pnlOverview=new YAHOO.widget.Panel("pnl-overview",{underlay:"none",width:"200px",visible:false,constraintoviewport:true,context:["piv-mcol-frame","br","br"]});var b=this.btnOverview;this.pnlOverview.hideEvent.subscribe(function(){b.set("checked",false)});var a=this.pnlOverview;this.btnOverview.subscribe("click",function(){if(b.get("checked")){a.render();a.show()}else{a.hide()}});this.dndOverviewMask=new YAHOO.util.DD("pnl-overview-mask","pnl-overview-mask",{scroll:false});this.dndOverviewMask.endDrag=this.dndOverviewMaskOnDrag;this.dndOverviewMask.startDrag=this.dndOverviewMaskStartDrag},initWidgets:function(){this.createButton("btn-help-span","push","btn-help");if(window.opener){$("btn-home-span").hide();this.createButton("btn-goto-opener-span","push","btn-goto-opener")}else{$("btn-goto-opener-span").hide();this.createButton("btn-home-span","push","btn-home")}this.createButton("btn-close-window-span","push","btn-close-window");this.btnMvFirst=this.createButton("btn-mv-first-span","push","btn-mv-first");this.btnMvStepBackward=this.createButton("btn-mv-stepbackward-span","push","btn-mv-stepbackward");this.btnMvPrevious=this.createButton("btn-mv-previous-span","push","btn-mv-previous");this.btnMvNext=this.createButton("btn-mv-next-span","push","btn-mv-next");this.btnMvStepForward=this.createButton("btn-mv-stepforward-span","push","btn-mv-stepforward");this.btnMvLast=this.createButton("btn-mv-last-span","push","btn-mv-last");var b=this.createButton("btn-imageselect-span","push","btn-imageselect");this.createButton("btn-download-span","push","btn-download");this.createButton("btn-lockzoom-span","checkbox","btn-lockzoom");this.createButton("btn-realsize-span","push","btn-realsize");this.createButton("btn-fitscreen-span","push","btn-fitscreen");this.createButton("btn-contrast-span","push","btn-contrast");this.createButton("btn-rotate-span","push","btn-rotate");this.btnOverview=this.createButton("btn-overview-span","checkbox","btn-overview");this.btnMosaic=this.createButton("btn-mosaic-span","checkbox","btn-mosaic");this.btnMosaic.set("disabled",true);this.btnMosaic.subscribe("click",this.handleBtnMosaicClick,this.btnMosaic);this.btngrpImageTools=new YAHOO.widget.ButtonGroup("btngrp-imagetools");var c=this.btngrpImageTools.getButtons();for(i=0;i<c.length;i++){c[i].on("checkedChange",this.imageToolsChanged,c[i],this);if(c[i]._button.id=="btn-pan"){var a=c[i]._button.title;c[i].set("checked",true);c[i].set("title",a)}}pivCreateTooltip("btn-pan_tt","btn-pan");pivCreateTooltip("btn-zoomin_tt","btn-zoomin");pivCreateTooltip("btn-zoomout_tt","btn-zoomout");pivCreateTooltip("btn-zoomselect_tt","btn-zoomselect");this.mnuVersions=new YAHOO.widget.Menu("mnu-versions",{lazyLoad:true});this.btnVersions=this.createButton("btn-versions-span","menu","btn-versions",null,this.mnuVersions);this.mnuPrint=new YAHOO.widget.Menu("mnu-print",{lazyLoad:true});this.createButton("btn-print-span","menu","btn-print",null,this.mnuPrint);pivCreateTooltip("txt-download-from_tt","txt-download-from");pivCreateTooltip("txt-download-to_tt","txt-download-to");pivCreateTooltip("rad-download-type-pdf_tt","rad-download-type-pdf");pivCreateTooltip("rad-download-type-zip_tt","rad-download-type-zip");pivCreateTooltip("link-pleade_tt","link-pleade");this.slider=new PivImageSelectSlider({bgImgW:this.bgImgW,cursorMoveHFactor:this.cursorMoveHFactor});pivCreateTooltip("btn-imageselect_tt","btn-imageselect",pivGetMessage("tt_btn_imageselect",{no:$F("txt-imageselect")}));YAHOO.util.Event.addListener("txt-imageselect","change",function(){pivCreateTooltip("btn-imageselect_tt","btn-imageselect",pivGetMessage("tt_btn_imageselect",{no:$F("txt-imageselect")}))});this.pnlLoading=$("pnl-loading");pivCenterOnScreen(this.pnlLoading);this.pnlNoImg=$("pnl-no-img");pivCenterOnScreen(this.pnlNoImg);this.pnlImage=$("pnl-picture");this.pnlZoomSelect=$("pnl-zoomselect");if(_pivSeries!=null&&_pivSeries.getSize()<2){$$("div.piv-body-hmenu-navigation").invoke("hide");$$("div.piv-body-hmenu-slider").invoke("hide")}},dndOverviewMaskStartDrag:function(a,c){var b=Position.positionedOffset($("pnl-overview-mask"));_pivViewer.overviewMaskPosition={originalX:b[0],originalY:b[1],f:1/($("pnl-overview-img").width/$("img-main").width)}},dndOverviewMaskOnDrag:function(g){var d=Position.positionedOffset($("pnl-overview-mask"));var b=$("img-main");var c=_pivViewer.overviewMaskPosition.f*(d[0]-_pivViewer.overviewMaskPosition.originalX);var a=_pivViewer.overviewMaskPosition.f*(d[1]-_pivViewer.overviewMaskPosition.originalY);var f=Position.positionedOffset(b);b.setStyle({left:(f[0]-c)+"px",top:(f[1]-a)+"px"});_pivViewer.visibleImageChanged(false)},dndImageZoomSelectStartDrag:function(a,b){_pivViewer.zoomSelect={originalX:a,originalY:b};_pivViewer.pnlZoomSelect.setStyle({left:a+"px",top:b+"px",width:"1px",height:"1px"});_pivViewer.pnlZoomSelect.show()},dndImageZoomSelectOnDrag:function(j){var d=Event.pointerX(j)-_pivViewer.zoomSelect.originalX;var a=d>0?_pivViewer.zoomSelect.originalX:Event.pointerX(j);var c=Event.pointerY(j)-_pivViewer.zoomSelect.originalY;var k=c>0?_pivViewer.zoomSelect.originalY:Event.pointerY(j);var b=Math.abs(d);var f=Math.abs(c);var g=b/k;_pivViewer.pnlZoomSelect.setStyle({left:a+"px",top:k+"px",width:b+"px",height:f+"px"})},dndImageZoomSelectEndDrag:function(g){var b=_pivViewer.pnlZoomSelect.getDimensions();var d=parseInt(_pivViewer.pnlZoomSelect.getStyle("left"));var c=parseInt(_pivViewer.pnlZoomSelect.getStyle("top"));var f=$("img-main");var j=parseInt(f.getStyle("left"));var h=parseInt(f.getStyle("top"));var a=_pivViewer.viewport;var k=pivScreenToImage({x:d-a.x,y:c-a.y,width:b.width,height:b.height},{x:j,y:h},_pivViewer.imageDimensions,_pivViewer.currentZoom);_pivViewer.displayRect(k);_pivViewer.pnlZoomSelect.hide()},dndImagePanOnDrag:function(a){_pivViewer.visibleImageChanged()},dndImagePanEndDrag:function(a){_pivViewer.visibleImageChanged()},updateSlider:function(a){this.slider.update(a)},displayRect:function(c){var a=_pivViewer.viewport;var d=_pivViewer.imageDimensions;var b=Math.min(a.width/c.width,a.height/c.height);$("img-main").setStyle({left:-c.x*b+"px",top:-c.y*b+"px",width:d.width*b+"px",height:d.height*b+"px"});_pivViewer.currentZoom=b;_pivViewer.visibleImageChanged()},fitScreen:function(){var a=_pivViewer.imageDimensions;_pivViewer.displayRect({x:0,y:0,width:a.width,height:a.height});_pivViewer.visibleImageChanged()},realSize:function(){$("img-main").setStyle({left:"0px",top:"0px",width:_pivViewer.imageDimensions.width+"px",height:_pivViewer.imageDimensions.height+"px"});_pivViewer.currentZoom=1;_pivViewer.visibleImageChanged()},onButtonClick:function(a,d){if(d==undefined){d=_pivViewer}var e=this.get("id");switch(this.get("id")){case"btn-realsize-span":d.realSize();break;case"btn-fitscreen-span":d.fitScreen();break;case"btn-lockzoom-span":d.lockZoom=this.get("checked");break;case"btn-imageselect-span":d.doImgSelectSpan();break;case"btn-mv-first-span":d.gotoFirst();break;case"btn-mv-stepbackward-span":d.gotoStepBackward();break;case"btn-mv-previous-span":d.gotoPrevious();break;case"btn-mv-next-span":d.gotoNext();break;case"btn-mv-stepforward-span":d.gotoStepForward();break;case"btn-mv-last-span":d.gotoLast();break;case"btn-close-window-span":window.close();break;case"btn-goto-opener-span":if(window.opener){window.opener.focus()}break;case"btn-rotate-span":d.rotate(90);break;case"btn-download-span":var c="zip";if($("rad-download-type-pdf")!=null&&$("rad-download-type-pdf").checked==true){c="pdf"}pivDoDownload(c,$F("txt-download-from"),$F("txt-download-to"));break;case"btn-help-span":var b=window.open(_pivViewer.baselink+"pages/help-viewer.html","help");b.focus();break}},updateImageTools:function(d){var e="auto";var f="btn-pan-span";if(d){f=d.get("id")}else{var a=_pivViewer.btngrpImageTools.get("checkedButton");if(a){f=a.get("id")}}_pivViewer.currentImageTool=_pivViewer.IMAGETOOL_PAN;switch(f){case"btn-pan-span":e="move";_pivViewer.currentImageTool=_pivViewer.IMAGETOOL_PAN;if(_pivViewer.dndImageZoomSelect){_pivViewer.dndImageZoomSelect.lock()}if(_pivViewer.dndImagePan){_pivViewer.dndImagePan.unlock()}break;case"btn-zoomin-span":_pivViewer.currentImageTool=_pivViewer.IMAGETOOL_ZOOMIN;e="-moz-zoom-in";if(_pivViewer.dndImagePan){_pivViewer.dndImagePan.lock()}if(_pivViewer.dndImageZoomSelect){_pivViewer.dndImageZoomSelect.lock()}break;case"btn-zoomout-span":_pivViewer.currentImageTool=_pivViewer.IMAGETOOL_ZOOMOUT;e="-moz-zoom-out";if(_pivViewer.dndImagePan){_pivViewer.dndImagePan.lock()}if(_pivViewer.dndImageZoomSelect){_pivViewer.dndImageZoomSelect.lock()}break;case"btn-zoomselect-span":_pivViewer.currentImageTool=_pivViewer.IMAGETOOL_ZOOMSELECT;e="crosshair";var c=_pivViewer.dndImageZoomSelect;if(_pivViewer.dndImagePan){_pivViewer.dndImagePan.lock()}if(_pivViewer.dndImageZoomSelect){_pivViewer.dndImageZoomSelect.unlock()}break}if($("img-main")){$("img-main").setStyle({cursor:e})}},imageToolsChanged:function(a,b){_pivViewer.updateImageTools(b)},createButton:function(g,e,c,d,f){if($(g)){if(!e){e="push"}var a;if(e!="menu"){a=new YAHOO.widget.Button(g,{type:e,onclick:{fn:this.onButtonClick,obj:this}})}else{a=new YAHOO.widget.Button(g,{type:e,menu:f,onclick:{fn:this.onButtonClick,obj:this}})}if(c&&$(c)){pivCreateTooltip(c+"_tt",c,d)}return a}return null},gotoImage:function(b,a){this.uSlider=true;if(a==false){this.uSlider=false}this.startLoading();this.saveDisplayMetrics();_pivSeries.fetchImageSet(b,this.displayImage)},gotoNamedImage:function(b,a){this.uSlider=true;if(a==false){this.uSlider=false}this.startLoading();this.saveDisplayMetrics();_pivSeries.fetchNamedImageSet(b,this.displayImage)},_updateAfterChange:function(){_pivViewer.currentImageNo=_pivSeries.getCurrentImage();if(_pivViewer.uSlider){_pivViewer.slider.update(_pivSeries.getCurrentImage())}_pivViewer.adjustMoveButtons()},gotoVersion:function(b,a){_pivViewer.startLoading();_pivViewer.saveDisplayMetrics();_pivViewer.displayImage(b,a)},rotate:function(e){if((e>0)&&(e<=360)){if(_pivSeries!=null){var g=_pivSeries.getCurrentImageSet();var d=((g)?g.getCurrentVersion():null);if(d!=null){var c=null;if(e<0){c=360+e}else{c=e}d.setRotation(c);_pivViewer.startLoading();_pivViewer.saveDisplayMetrics();var a=$(document.createElement("img"));a.setAttribute("id","img-main");a.observe("click",_pivViewer.imageClick);var b=_pivViewer.imageLoaded(a,d,g);a.observe("load",b);var f=d.getUrl();a.setAttribute("src",f)}}}},saveDisplayMetrics:function(){var a=$("img-main");if(a){var b=a.getDimensions();if(_pivViewer.lockZoom){_pivViewer.displayMetrics={screenX:parseInt(a.getStyle("left")),screenY:parseInt(a.getStyle("top"))};if(_pivViewer.imageDimensions&&_pivViewer.imageDimensions.width){_pivViewer.displayMetrics.zoom=b.width/_pivViewer.imageDimensions.width}else{_pivViewer.displayMetrics.zoom=1}}else{_pivViewer.displayMetrics=_pivViewer.resetDisplayMetrics()}_pivViewer.displayMetrics.screenWidth=b.width;_pivViewer.displayMetrics.screenHeight=b.height}else{_pivViewer.displayMetrics=_pivViewer.resetDisplayMetrics()}},resetDisplayMetrics:function(){return{screenX:0,screenY:0,screenWidth:0,screenHeight:0,zoom:1}},doImgSelectSpan:function(){var b=$F("txt-imageselect");var a=_pivViewer.series.getSize();if(b<0){b=0}else{if(b>a){b=a}}_pivViewer.gotoImage(b,true);pivCreateTooltip("btn-imageselect_tt","btn-imageselect",pivGetMessage("tt_btn_imageselect",{no:$F("txt-imageselect")}))},sliderEnd:function(b){var a=_pivViewer.slider.xslider.valueChangeSource;var c=null;c=((a==1)?_pivViewer.slider.getImageNo():_pivSeries.getCurrentImage());$("txt-imageselect").value=c;pivCreateTooltip("btn-imageselect_tt","btn-imageselect",pivGetMessage("tt_btn_imageselect",{no:$F("txt-imageselect")}));if(a==1){_pivViewer.gotoImage(c,false)}},handleBtnMosaicClick:function(a,b){_pivViewer.showMosaicGrid=b.get("checked");var c=_pivViewer.btngrpImageTools.getButtons();for(i=0;i<c.length;i++){c[i].set("disabled",b.get("checked"))}var d=_pivSeries.getCurrentImageSet();_pivViewer.gotoVersion(d,d.getDefaultVersion())},adjustMosaicButton:function(a){_pivViewer.btnMosaic.set("disabled",!a.hasMosaic())},adjustMoveButtons:function(){if(this.currentImageNo==_pivSeries.getSize()){this.btnMvFirst.set("disabled",false);this.btnMvStepBackward.set("disabled",false);this.btnMvPrevious.set("disabled",false);this.btnMvNext.set("disabled",true);this.btnMvStepForward.set("disabled",true);this.btnMvLast.set("disabled",true)}else{if(this.currentImageNo==1){this.btnMvFirst.set("disabled",true);this.btnMvStepBackward.set("disabled",true);this.btnMvPrevious.set("disabled",true);this.btnMvNext.set("disabled",false);this.btnMvStepForward.set("disabled",false);this.btnMvLast.set("disabled",false)}else{this.btnMvFirst.set("disabled",false);this.btnMvStepBackward.set("disabled",false);this.btnMvPrevious.set("disabled",false);this.btnMvNext.set("disabled",false);this.btnMvStepForward.set("disabled",false);this.btnMvLast.set("disabled",false)}}},gotoFirst:function(){this.gotoImage(1)},gotoStepBackward:function(){this.gotoImage((this.currentImageNo-_pivSeries.getStepSize())>=1?(this.currentImageNo-_pivSeries.getStepSize()):1)},gotoPrevious:function(){this.gotoImage((this.currentImageNo-1)>=1?(this.currentImageNo-1):1)},gotoNext:function(){this.gotoImage((this.currentImageNo+1)<=_pivSeries.getSize()?(this.currentImageNo+1):_pivSeries.getSize())},gotoStepForward:function(){this.gotoImage((this.currentImageNo+_pivSeries.getStepSize())<=_pivSeries.getSize()?(this.currentImageNo+_pivSeries.getStepSize()):_pivSeries.getSize())},gotoLast:function(){this.gotoImage(_pivSeries.getSize())},imageClick:function(a){switch(_pivViewer.currentImageTool){case _pivViewer.IMAGETOOL_PAN:break;case _pivViewer.IMAGETOOL_ZOOMIN:_pivViewer.zoomIn();break;case _pivViewer.IMAGETOOL_ZOOMOUT:_pivViewer.zoomOut();break}},imageMouseDown:function(a){switch(_pivViewer.currentImageTool){case _pivViewer.IMAGETOOL_ZOOMSELECT:_pivViewer.pnlZoomSelect.startSelect({x:Event.pointerX(a),y:Event.pointerY(a)});break}},zoomIn:function(){_pivViewer.saveDisplayMetrics();$("img-main").setStyle({width:(_pivViewer.zoomInFactor*_pivViewer.displayMetrics.screenWidth)+"px",height:(_pivViewer.zoomInFactor*_pivViewer.displayMetrics.screenHeight)+"px"});_pivViewer.currentZoom=_pivViewer.currentZoom*_pivViewer.zoomInFactor;_pivViewer.visibleImageChanged()},zoomOut:function(){_pivViewer.saveDisplayMetrics();$("img-main").setStyle({width:(_pivViewer.zoomOutFactor*_pivViewer.displayMetrics.screenWidth)+"px",height:(_pivViewer.zoomOutFactor*_pivViewer.displayMetrics.screenHeight)+"px"});_pivViewer.currentZoom=_pivViewer.currentZoom*_pivViewer.zoomOutFactor;_pivViewer.visibleImageChanged()},zoomSelect:function(b,d,c,a){},getImageInfos:function(a){a=a.substring(_pivSeries.serverUrl.length+1);var d=new RegExp("^_ead/functions/ead/relative");if(a.match(d)){a=a.substring(a.lastIndexOf("/")+1)}var c=new RegExp("[?]");if(a.match(c)){a=a.substring(0,a.indexOf("?"))}var b=this.baselink+"functions/ead/infosimage.ajax";var e=this._fetchImageInfos();new Ajax.Request(b,{method:"GET",parameters:{path:a},onSuccess:e})},_fetchImageInfos:function(){return function(b){var a=b.responseText;if($("piv-localisation")!=null){$("piv-localisation").update(a)}}},displayImage:function(e,c){e.setCurrentVersion(c);var a=$(document.createElement("img"));a.setAttribute("id","img-main");a.observe("click",_pivViewer.imageClick);var b=_pivViewer.imageLoaded(a,c,e);a.observe("load",b);var d=c.getUrl();a.setAttribute("src",d);if($("piv-localisation")!=null){_pivViewer.getImageInfos(d)}},resetMnuPrint:function(d){var a=_pivViewer.mnuPrint;a.clearContent();var c=this.baselink+"img-server/"+_pivSeries.getSummary()+"/"+d.getNameWithoutQueryString()+".pdf";var b=new YAHOO.widget.MenuItem("dummy",{text:pivGetMessage("mnu_print_complete_text"),url:c,target:"_blank"});a.addItem(b);b=new YAHOO.widget.MenuItem("dummy",{text:pivGetMessage("mnu_print_asviewed_text"),url:c,target:"_blank"});a.addItem(b);a.render("btn-print");_pivViewer.updateMnuPrintAsViewed()},updateMnuPrintAsViewed:function(){var c=_pivViewer.mnuPrint.getItem(1);var a=c.cfg.getProperty("url");if(a.indexOf("?")>-1){a=a.substring(0,a.indexOf("?"))}var b=_pivSeries.getCurrentImageSet().getOriginalRegion(_pivViewer.getVisibleRegion());var d=_pivSeries.getCurrentImageSet().getCurrentVersion();c.cfg.setProperty("url",a+"?s="+_pivSeries.getSummary()+"/"+d.getNameWithoutQueryString()+"&x="+Math.round(b.x1)+"&y="+Math.round(b.y1)+"&w="+Math.round(b.x2-b.x1)+"&h="+Math.round(b.y2-b.y1)+((d.getRotation()>0&&d.getRotation()<360)?"&r="+d.getRotation():""))},resetMnuVersions:function(g,f){if(g.getVersions().size()>1){_pivViewer.btnVersions.set("disabled",false);var b=_pivViewer.mnuVersions;b.clearContent();var a=g.getVersions();for(i=0;i<a.size();i++){var c=a[i];var e=(c.getUrl()==f.getUrl());var d=new YAHOO.widget.MenuItem(c.getSummary(),{checked:e,text:c.getSummary(),onclick:{fn:_pivViewer.handleMnuVersionsClick,obj:c,scope:g}});b.addItem(d)}b.render("btn-versions")}else{_pivViewer.btnVersions.set("disabled",true)}},handleMnuVersionsClick:function(b,c,a){_pivViewer.gotoVersion(this,a)},updateStatus:function(){var a=_pivViewer.getVisiblePart();var b=_pivViewer.getVisibleRegion();pivSetStatus(_pivViewer.imageStatus+" \u2022 Zoom : "+Math.floor(100*_pivViewer.currentZoom)+"%")},visibleImageChanged:function(a){var b=true;if(arguments.length>0){b=a}if(b){_pivViewer.setOverviewMaskSize()}_pivViewer.updateStatus();_pivViewer.updateMnuPrintAsViewed()},getVisiblePart:function(){var b=this.viewport;var a=$("img-main");var d=parseInt(a.getStyle("left"));var c=parseInt(a.getStyle("top"));var e=pivScreenToImage({x:b.x,y:b.y,width:b.width,height:b.height},{x:d,y:c},this.imageDimensions,this.currentZoom);return e},imageLoaded:function(a,b,c){return function(){var g=$("pnl-picture");g.immediateDescendants().invoke("remove");_pivViewer.imageDimensions={width:a.width,height:a.height,ratio:a.width/a.height};a.setStyle({position:"relative",left:_pivViewer.displayMetrics.screenX+"px",top:_pivViewer.displayMetrics.screenY+"px"});if(_pivViewer.displayMetrics.zoom!=1){a.setStyle({width:parseInt(_pivViewer.imageDimensions.width*_pivViewer.displayMetrics.zoom)+"px",height:parseInt(_pivViewer.imageDimensions.height*_pivViewer.displayMetrics.zoom)+"px"})}_pivViewer.currentZoom=_pivViewer.displayMetrics.zoom;g.appendChild(a);_pivViewer.dndImagePan=new YAHOO.util.DD("img-main","img-main",{});_pivViewer.dndImagePan.endDrag=_pivViewer.dndImagePanEndDrag;_pivViewer.dndImagePan.onDrag=_pivViewer.dndImagePanOnDrag;_pivViewer.dndImageZoomSelect=new YAHOO.util.DragDrop("img-main","img-main");_pivViewer.dndImageZoomSelect.startDrag=_pivViewer.dndImageZoomSelectStartDrag;_pivViewer.dndImageZoomSelect.onDrag=_pivViewer.dndImageZoomSelectOnDrag;_pivViewer.dndImageZoomSelect.endDrag=_pivViewer.dndImageZoomSelectEndDrag;_pivViewer.initOverview();_pivViewer.updateImageTools();_pivViewer.stopLoading();b.setFileSize(a.fileSize);_pivViewer.resetMnuVersions(c,b);_pivViewer.resetMnuPrint(b);_pivViewer.adjustMosaicButton(c);if(_pivViewer.showMosaicGrid){_pivViewer.fitScreen();var h=$("pnl-picture");var n=window.document.createElement("div");n.setAttribute("id","piv-mosaic-grid");n=$(n);n.makePositioned();n.setStyle({zIndex:10,position:"absolute",left:0+"px",top:0+"px"});h.appendChild(n);var e=(_pivViewer.currentZoom*b.getWidth())/c.getOriginalVersion().getWidth();c.getMosaic().drawGrid(n,e);_pivViewer.showMosaicGrid=false}else{if(!_pivViewer.lockZoom){_pivViewer.fitScreen()}}if(b.getTile()){var f=c.getMosaic();var q=b.getTile();var h=$("pnl-picture");var j=25;var m=75;var o=_pivViewer.viewport.width;var l=_pivViewer.viewport.height;var k=f.above(q);if(k){var n=_pivViewer.getTileNavigationControl("top");n.setStyle({top:0+"px",left:(o/2)-(m/2)+"px"});n.observe("click",_pivViewer.handleBtnMosaicNavigationClick(k));h.appendChild(n)}k=f.right(q);if(k){var n=_pivViewer.getTileNavigationControl("right");n.setStyle({top:(l/2)-(m/2)+"px",left:(o-j)+"px"});n.observe("click",_pivViewer.handleBtnMosaicNavigationClick(k));h.appendChild(n)}k=f.below(q);if(k){var n=_pivViewer.getTileNavigationControl("bottom");n.setStyle({top:(l-j)+"px",left:(o/2)-(m/2)+"px"});n.observe("click",_pivViewer.handleBtnMosaicNavigationClick(k));h.appendChild(n)}k=f.left(q);if(k){var n=_pivViewer.getTileNavigationControl("left");n.setStyle({top:(l/2)-(m/2)+"px",left:0+"px"});n.observe("click",_pivViewer.handleBtnMosaicNavigationClick(k));h.appendChild(n)}}_pivViewer.imageStatus="Image n° "+_pivViewer.currentImageNo+" : "+b.getName()+" \u2022 "+b.getSummary();_pivViewer.updateStatus()}},handleBtnMosaicNavigationClick:function(a){return function(){_pivViewer.gotoVersion(a.set,a.getVersion())}},getTileNavigationControl:function(b){var a=$(window.document.createElement("div"));a.setAttribute("id","piv-mosaic-navigation-"+b);a.addClassName("piv-mosaic-navigation-"+b);return a},initOverview:function(){var g=$("pnl-overview-vp");var c=$(document.createElement("img"));c.setAttribute("id","pnl-overview-img");c.setAttribute("src",$("img-main").getAttribute("src"));var b=180;var f=b/_pivViewer.imageDimensions.ratio;c.setStyle({left:"0px",top:"0px",width:b+"px",height:f+"px"});$A(g.getElementsByTagName("img")).each(function(h){$(h).remove()});g.appendChild(c);_pivViewer.setOverviewMaskSize(b/_pivViewer.imageDimensions.width,{width:b,height:f});var e=_pivViewer.dndOverviewMask;var a=$("pnl-overview-mask");var d=Position.cumulativeOffset(a);e.setXConstraint(d[0])},setOverviewMaskSize:function(a,d){if(!d){var e=$("pnl-overview-img");d={width:e.width,height:e.height}}if(!a){a=d.width/_pivViewer.imageDimensions.width}var f=_pivViewer.getVisibleRegion();var b=Position.positionedOffset($("pnl-overview-img"));var h=a*f.x1+b[0];var g=a*f.y1+b[1];var k=Math.min(a*(f.x2-f.x1),d.width+b[0]-h);var c=Math.min(a*(f.y2-f.y1),d.height+b[1]-g);var j=$("pnl-overview-mask");j.setStyle({left:Math.round(h)+"px",top:Math.round(g)+"px",width:Math.round(k)+"px",height:Math.round(c)+"px"})},getVisibleRegion:function(){var h=_pivViewer.currentZoom;var b=$("img-main");var g=parseInt(b.getStyle("left"));var e=parseInt(b.getStyle("top"));var c=Math.max(-g/h,0);var f=Math.max(-e/h,0);var a=Math.min(_pivViewer.imageDimensions.width,(_pivViewer.viewport.width-g)/h);var d=Math.min(_pivViewer.imageDimensions.height,(_pivViewer.viewport.height-e)/h);return{x1:c,y1:f,x2:a,y2:d}},startLoading:function(){this.pnlLoading.show();if(this.pnlNoImg){this.pnlNoImg.hide()}},stopLoading:function(){_pivViewer.pnlLoading.hide()},identify:function(){return"Classe PivViewer"}};var PivImageSelectSlider=Class.create();PivImageSelectSlider.prototype={bgImgW:160,cursorMoveHFactor:10,nbImages:0,initialize:function(a){if(a){if(a.bgImgW){this.bgImgW=a.bgImgW}if(a.cursorMoveHFactor){this.cursorMoveHFactor=a.cursorMoveHFactor}}},init:function(c){var b="sld-imageselect-bg";var a="sld-imageselect-hdl";var e="txt-imageselect";var d=this.bgImgW-this.cursorMoveHFactor;this.nbImages=c.getSize();this.pixelsPerImage=parseFloat(d)/parseFloat(this.nbImages-1);this.xslider=YAHOO.widget.Slider.getHorizSlider(b,a,0,d);this.xslider.animate=false;if($(b)){$(b).setStyle({height:"20px",width:this.bgImgW})}this.addSubscription();pivCreateTooltip("sld-imageselect-bg_tt","sld-imageselect-bg");pivCreateTooltip("txt-imageselect_tt","txt-imageselect")},removeSubscription:function(){},addSubscription:function(){this.xslider.subscribe("change",_pivViewer.slider._onChange);this.xslider.subscribe("slideEnd",_pivViewer.sliderEnd)},_onChange:function(a){},getImageNo:function(){var b=(this.xslider.getValue()/_pivViewer.slider.pixelsPerImage);var a=(1+Math.ceil(b));if(a>=0&&a<=this.nbImages){return a}else{if(a<0){return 0}else{return this.nbImages}}},update:function(a){this.xslider.setValue((a-1)*this.pixelsPerImage)}};
