/*
 Laserfiche - Copyright (C) 2008 Compulink Management Center.
 */
var DocViewer8=function(d,h,c,s,l,e,j,k,b){this._attachPointDiv=document.getElementById(d);this._viewport=document.getElementById(h);$(this._viewport).css("outline-width","0px");this._imageArea=document.getElementById(c);this._imageArea.style.paddingLeft="6px";this._pubID="TheDocViewer";this.UniqueID=MyHelpers.randomString();this.SearchID=!!b?b:$.getQueryString({id:"searchid"});if(!this.SearchID||this.SearchID=="null"){this.SearchID=""}if(!this._viewport){this._skipInit=true;return}this.fitToWidthMargin=8+($.browser.msie?1:0);this._loadTime=new Date();this._docInfo=s;var p={borderHeight:4,marginHeight:15,edocLinkHeight:20,zoomIncrement:DocViewerPageConfig.zoomIncrement,zoomMax:DocViewerPageConfig.maxZoom,zoomMin:DocViewerPageConfig.minZoom,showAnn:true,showText:false,fullScreen:false,cursorMode:0};this._config=$.extend(p,l||{});this._pageviews=[null,null,null,null,null];this._pageviewsHead=0;this._setViewportDims();if(this._docInfo.NumPages==0){this._firstLoadedPage=0;this.AnnotationInfo=e;this._enablePub=false;return}this._firstLoadedPage=1;var v=this._viewportHeight-this._config.borderHeight;var m=this._viewportWidth-this._config.borderHeight*2-this.fitToWidthMargin;var r=0;var o=0;for(var q=1;q<this._docInfo.PageDims.length;q++){o=Math.max(this._docInfo.PageDims[q][0],o);r=Math.max(this._docInfo.PageDims[q][1],r)}this._docInfo.HasImage=[null];for(var q=1;q<this._docInfo.PageDims.length;q++){if(this._docInfo.PageDims[q][0]==0&&this._docInfo.PageDims[q][1]==0){var g=Math.max(v,o);this._docInfo.PageDims[q][0]=g;this._docInfo.PageDims[q][1]=r==0?Math.floor(g*(8.5/11)):Math.max(m-12,r);this._docInfo.HasImage[q]=false}else{this._docInfo.HasImage[q]=true}}var u=Math.min(10000,Math.floor((v*10000/this._docInfo.PageDims[1][0])))/100;var t=Math.min(10000,Math.floor((m*10000/this._docInfo.PageDims[1][1])))/100;var w=Math.min(u,t);var a="";if(j=="P"||j=="p"){this._config.scale=w/100;a="P"+w*100}else{if(j=="H"||j=="h"){this._config.scale=u/100;a="H"+u*100}else{if(j=="W"||j=="w"){this._config.scale=t/100;a="W"+t*100}else{if(typeof(j-0)=="number"){this._config.scale=(j-0)/100;a=(j-0)}else{this._config.scale=w/100;a="P"+w*100}}}}var n=this._pubID;setTimeout(function(){$.publish("ZoomChange",n,{newZoom:a})},0);this.SetImageAreaHW(this._config.scale);var f=this._pageviews.length;for(var q=this._docInfo.NumPages;q<f;q++){this._pageviews.shift()}this.PageTops=this.GetPageTops(this._config.scale);this.AnnotationInfo=MyHelpers.makeArray(e);this._enablePub=true;document.body.style.overflow="hidden"};DocViewer8.prototype={initialize:function(c){if(!!this._skipInit){return}var e=this._pubID;this._sendDocInitPubMsg();this._showEdocLink();var d='<div style="position:relative;margin-top:5px;margin-bottom:5px;font-weight:bold;">{0}</div>';if(!this._docInfo.HasVolRead){var a=$.format(d,this.localizedStrings.STR_DOCUMENT_NO_VOLUME_READ_RIGHTS);$(this._imageArea).prepend(a);return}if(this._docInfo.NumPages==0){var b=$.format(d,this.localizedStrings.STR_DOCUMENT_NO_PAGES);$(this._imageArea).prepend(b);return}this._subscribe();this._attachScrollHandlers();this._attachKeyPressHandlers();this._attachPanningHandlers();this._attachMouseWheelZoomHandlers();this._attachDoubleClickHandlers();this._attachWindowResizeHandlers();if(!this._docInfo.HasImage[c]){this._config.showText=true}this._createPageViewControls(c);this._sendInitPubMsg(c);this.UpdateDimensions()},setLocalizedStrings:function(a){this.localizedStrings=a},disablePub:function(){this._enablePub=false},enablePub:function(){this._enablePub=true},_sendDocInitPubMsg:function(){var e=false;if(this._docInfo&&this._docInfo.HasImage&&this._docInfo.HasImage.length){for(var d=1;d<this._docInfo.HasImage.length;d++){if(!!this._docInfo.HasImage[d]){e=true;break}}}var b=this._pubID;var a={pages:this._docInfo.NumPages,hasAnnotations:!!this._docInfo.HasAnnotations,hasImages:e,hasVolRead:!!this._docInfo.HasVolRead};setTimeout(function(){$.publish("DocInitProps",b,a)},0)},_sendInitPubMsg:function(a){var d=(this._config.cursorMode==0)?"PAN":"ZOOM";this.ScrollModeChange(d,true);var e=this._pubID;setTimeout(function(){$.publish("ScrollModeChange",e,{newMode:d})},0);var b=this._config.showAnn;setTimeout(function(){$.publish("ShowAnnChange",e,{newShowAnn:b})},0);if(!this._docInfo.HasImage[a]){var c=this._pubID;setTimeout(function(){$.publish("ShowTextChange",c,{newShowText:true})},0)}},_showEdocLink:function(){if(this._docInfo.HasEdoc&&this._docInfo.AllowEdocExport&&!this._docInfo.NumPages){var a=document.createElement("a");$(a).css("color","").attr("href",this._docInfo.EdocUrl).click(function(){window.location=$(this).attr("href")}).html(this.localizedStrings.STR_EDOC_LINK_TEXT);this._imageArea.appendChild(a)}},_attachScrollHandlers:function(){this._scroller=new DocViewer8Scroller(this._viewport);this._scroller.initialize(this.GetOnScroll(),this.GetOnMouseWheel())},_attachPanningHandlers:function(){this._panner=new DocViewer8Panner(this._viewport,this._imageArea);this._panner.initialize(this.GetOnMousePan())},_attachMouseWheelZoomHandlers:function(){this._mousewheelZoomCtrl=new MouseWheelZoom8(this._viewport,this._imageArea);this._mousewheelZoomCtrl.initialize(this.GetOnMouseWheelZoom())},_attachDoubleClickHandlers:function(){this._doubleClickZoomCtrl=new DoubleClickZoom8(this._viewport,this._imageArea);this._doubleClickZoomCtrl.initialize(this.GetOnClickZoom())},_attachWindowResizeHandlers:function(){this._resizeHandler=new WindowResizeHandler8(this._viewport,this._imageArea);this._resizeHandler.initialize(this.GetOnWindowResize())},_attachKeyPressHandlers:function(){$(this._viewport).attr("tabindex",1000);$(this._viewport).keypress(this.GetOnKeyPressHandler())},_createPageViewControls:function(c){var f=65;var g=this._getPageRange(c);this._firstLoadedPage=g.s;var b=0;for(var a=g.s;a<=g.e;a++){var e=document.createElement("div");e.id="Page"+String.fromCharCode(f);e.className="dropshadow";$(this._imageArea).append(e);this._pageviews[b]=new PageViewer8(e,String.fromCharCode(f),this.ErrorTileUrl,this.TransparentTileUrl);this._pageviews[b].initialize(a,this);this.GetAnnotationByPage(a,this._pageviews[b]);f++;b++}this._viewport.scrollTop=this.PageTops[c]},_subscribe:function(){this._listener=new DocViewerListener(this);this._listener.initialize()},_getPageRange:function(b){var a=this._docInfo.NumPages;retVal=(b<3)?{s:1,e:Math.min(5,a)}:(((b+2)>a)?{s:Math.max(1,a-4),e:a}:{s:Math.max(b-2,1),e:Math.min(b+2,a)});return retVal},GetLoadTime:function(){return this._loadTime.getTime()},IsPageVisible:function(a){var b=this.GetVisiblePageRange();return(a>=b.first&&a<=b.last)},GetVisiblePageRange:function(){return{first:this.GetPageByYPos(this._viewport.scrollTop),last:this.GetPageByYPos(this._viewport.scrollTop+this._viewport.offsetHeight)}},GetScrollMiddlePage:function(){return this.GetPageByYPos(Math.floor(this._viewport.scrollTop+this._viewport.offsetHeight/2))},GetPageByYPos:function(e){var b=Math.max(1,Math.floor(this.PageTops.length/2));var d=Math.max(1,Math.floor(this.PageTops.length/2));if(this.PageTops.length==0){return 0}if(this.PageTops.length<=2){return 1}var a=0;while(true&&a<150){a++;var c=Math.max(b-1,1);if(e>=this.PageTops[c]&&e<=this.PageTops[c+1]){return c}else{if(e>=this.PageTops[this.PageTops.length-1]){return this.PageTops.length-1}}d=Math.max(1,Math.floor(d/2));b=b+((e>this.PageTops[c])?1:-1)*d}return this.PageTops.length-1},SetFirstLoadedPage:function(g){for(var e=0;e<this._pageviews.length;e++){this._pageviews[e].ClearThumbnail()}this._pageviewsHead=0;this._firstLoadedPage=(this._docInfo.NumPages<=5)?1:g;var h=this;var f=this.GetScrollMiddlePage();var d=this._firstLoadedPage;var c=$.map(this._pageviews,function(j,a){return{i:a,distance:Math.abs(d+a-f)}});c.sort(function(j,i){return j.distance-i.distance});var b=$.map(c,function(a){return a.i});$.each(b,function(){if(h._firstLoadedPage+this<=h._docInfo.NumPages){h._pageviews[this].reposition(h._firstLoadedPage+this)}})},GetPageTops:function(c){var d=new Date();var f=(this._docInfo.HasEdoc&&!this._docInfo.NumPages)?this._config.edocLinkHeight:0;var j=[0];this._heightAlloc=[0];var a=$(this._viewport).height();for(var e=1;e<=this._docInfo.NumPages;e++){j.push(f);var b=(this._docInfo.PageDims[e][0]*c);var h=Math.max(b,Math.floor(a/3));this._heightAlloc.push(h);f+=Math.ceil(h+this._config.borderHeight+this._config.marginHeight)}var g=new Date();return j},GetImageAreaHW:function(d){var e=new Date();var k=0;var l=0;var g=$(this._viewport).height();var c=0;for(var f=1;f<this._docInfo.PageDims.length;f++){var b=(this._docInfo.PageDims[f][0]*d);c+=this._docInfo.PageDims[f][0];var j=Math.max(b,Math.floor(g/3));k+=j+this._config.borderHeight+this._config.marginHeight;k=Math.ceil(k);l=Math.floor(Math.max(l,this._docInfo.PageDims[f][1]*d))}var h=new Date();var a=this;if($.browser.mozilla&&k>17895600){k=17895600;if(!this._hasPromptedSizeLimit){setTimeout(function(){a._hasPromptedSizeLimit=true;var m=$.format("{0}\n{1}",[a.localizedStrings.STR_MOZILLA_DIV_TOO_BIG_LINE_1,a.localizedStrings.STR_MOZILLA_DIV_TOO_BIG_LINE_2]);var i=confirm(m);if(i){var n=17895600-(a._docInfo.PageDims.length)*(a._config.borderHeight+a._config.marginHeight)-300;var o=Math.floor(n/c*10000)/10000;k=(a._config.borderHeight+a._config.marginHeight)*(a._docInfo.PageDims.length)+o*c;if(a._config.scale!=o){setTimeout(function(){$.publish("ZoomChange","All",{newZoom:o*100})},1000)}}},1000)}}return{height:k+(this._docInfo.HasEdoc?this._config.edocLinkHeight:0),width:l}},SetImageAreaHW:function(c){var b=this.GetImageAreaHW(c);this._imageArea.style.height=b.height+"px";this._imageArea.style.width="100%";var a=$(this._imageArea).width()-18-($.browser.msie?6:0);this._imageArea.style.width=Math.max(b.width-5,a)+"px"},GetImageAreaCenter:function(){return{x:Math.floor(this._viewport.scrollLeft+(this._viewport.offsetWidth/2)),y:Math.floor(this._viewport.scrollTop+(this._viewport.offsetHeight/2))}},SetImageAreaCenter:function(c){var a=Math.max(0,Math.floor(c.y-(this._viewport.offsetHeight/2)));if(a!=this._viewport.scrollTop){this._discardNextScrollEv();this._viewport.scrollTop=a}var b=Math.max(0,Math.floor(c.x-(this._viewport.offsetWidth/2)));if(b!=this._viewport.scrollLeft){this._discardNextScrollEv();this._viewport.scrollLeft=b}},GetCurrentPage:function(){if(this._viewport.scrollTop==0){return this._docInfo.NumPages?1:NaN}var a=this.GetImageAreaCenter();return this.GetPageByYPos(a.y)},GetCurrentPageCoord:function(){if(this._viewport.scrollTop==0){return this._docInfo.NumPages?{Page:1,xPos:0,yPos:0}:{Page:0,xPos:NaN,yPos:NaN}}var a=this.GetImageAreaCenter();return this.AreaCoordsToPageCoord(a)},PageCoordToAreaCoord:function(b){var a=this.PageTops[b.Page];var c=Math.floor(this._config.borderHeight/2);var d=b.xPos*this._config.scale;var e=b.yPos*this._config.scale;return{y:Math.floor(a+e),x:Math.floor(c+d)}},AreaCoordsToPageCoord:function(c){var h=this.GetPageByYPos(c.y);var b=this.PageTops[h];var a=Math.floor(this._config.borderHeight/2);var d=this._docInfo.PageDims[h][1];var g=this._docInfo.PageDims[h][0];var e=Math.max(0,Math.min(g,Math.floor((c.y-b)/this._config.scale)));var f=Math.max(0,Math.min(d,Math.floor((c.x-a)/this._config.scale)));return{Page:h,xPos:f,yPos:e}},GetViewportLocation:function(){return{tl:this.AreaCoordsToPageCoord({x:this._viewport.scrollLeft,y:this._viewport.scrollTop}),br:this.AreaCoordsToPageCoord({x:this._viewport.scrollLeft+this._viewport.offsetWidth,y:this._viewport.scrollTop+this._viewport.offsetHeight})}},SetNewScale:function(f,e,a){a=!!a;if(this._config.scale==f/100){return}if(e&&this._enablePub){$.publish("ZoomChange",this._pubID,{newZoom:f})}if(f/100<this._config.scale){var d=this.GetScrollMiddlePage();if(this._config.scale*this._docInfo.PageDims[d][0]<$(this._viewport).height()/3){$.publish("ZoomChange",this._pubID,{newZoom:Math.floor(this._config.scale*100)});return}}MyTileManager.clear();var c=this.GetCurrentPageCoord();this._config.scale=f/100;this.SetImageAreaHW(this._config.scale);this.PageTops=this.GetPageTops(this._config.scale);var b=this.PageCoordToAreaCoord(c);this._imageArea.style.visibility="hidden";if(!a){this.SetImageAreaCenter(b)}this.SetFirstLoadedPage(Math.max(1,c.Page-2));this._imageArea.style.visibility="";this.UpdateDimensions()},ZoomToPageDims:function(a,h){var e=this.GetScrollMiddlePage();var d=this._viewportHeight-this._config.borderHeight;var i=Math.min(10000,Math.floor((d*10000/this._docInfo.PageDims[e][0])));var f=this._viewportWidth-this._config.borderHeight*2-this.fitToWidthMargin;var c=Math.min(10000,Math.floor((f*10000/this._docInfo.PageDims[e][1])));var b=Math.min(i,c);switch(a){case"H":case"h":this.SetNewScale(i/100,h,false);$.publish("ZoomChange",this._pubID,{newZoom:"H"+i});break;case"W":case"w":this.SetNewScale(c/100,h,false);$.publish("ZoomChange",this._pubID,{newZoom:"W"+c});break;case"P":case"p":var g={page:e,zoom:b/100,position:PositionEnum.TOPLEFT,autoscroll:true};this.ScrollTo(g,h);$.publish("ZoomChange",this._pubID,{newZoom:"P"+b});break;default:break}},_getOuterHeight:function(a){return $(a).outerHeight({margin:true})},_getHeight:function(a){return $(a).height()},_getHeaderFooterHeight:function(){var b=10;var d=4;var a=this._getOuterHeight($get("MainTable"))-this._getHeight($get("MainTable"));b+=a;d+=a;var e=$("#MainTable > tbody > tr");b+=$.browser.msie?this._getHeight(e[0]):this._getOuterHeight(e[0]);var c=$get("ToolbarDiv").parentNode.parentNode;b+=this._getOuterHeight(c);d+=this._getOuterHeight(c);b+=(($.browser.safari||$.browser.opera)?3:0);d+=(($.browser.safari||$.browser.opera)?3:0);return{reg:b,fs:d}},_setViewportDims:function(){var c=this._config.fullScreen;if(c){return false}var h=$(window).height()-0;var e=$(window).width()-0;var f=this._getHeaderFooterHeight();var b=c?f.fs:f.reg;var a=c?20:(270+(($.browser.safari||$.browser.opera)?3:0));var g=Math.max(h-b,250);var d=Math.max(e-a,250);this._viewportWidth=d;this._viewportHeight=g;this._viewport.style.height=this._viewportHeight+"px";this._viewport.style.width=this._viewportWidth+"px"},GetOnScroll:function(){var a=this;return function(b){MyTileManager.reprioritize(a.GetViewportLocation());a._firePageVisibleEvent();a._onScroll(b);a.UpdateDimensions()}},GetOnMouseWheel:function(){var a=this;a.startTilingTimeout=0;return function(b,c){MyTileManager.stopTileLoading();a._firePageVisibleEvent();c=c*($.browser.opera?-1:1);if(c<0){a._onMouseWheelDown(b,c);if((this._viewport.scrollTop+this._viewport.offsetHeight)<this._viewport.scrollHeight){a._discardNextScrollEv()}else{a._undiscardNextScrollEv()}}else{if(c>0){a._onMouseWheelUp(b,c);if(this._viewport.scrollTop>0){a._discardNextScrollEv()}else{a._undiscardNextScrollEv()}}}a.UpdateDimensions();clearTimeout(a.startTilingTimeout);a.startTilingTimeout=setTimeout(function(){MyTileManager.startTileLoading()},350)}},_onScroll:function(a){if(this._bDiscardScroll){this._bDiscardScroll=false;return}var b=this.GetScrollMiddlePage();this._onPageChangeRaw(b);if(this._docInfo.NumPages<=5){return}if((this._firstLoadedPage==b-2)||(this._firstLoadedPage==1&&b<=3)){return}if(b>=Math.max(this._firstLoadedPage,1)&&b<Math.min(this._firstLoadedPage+5,this._docInfo.NumPages)){while(this._firstLoadedPage!=(Math.max(1,b-2))){if((Math.max(1,b-2))<this._firstLoadedPage){if(!this._rewindView1()){break}}else{if((Math.max(1,b-2))>this._firstLoadedPage){if(!this._advanceView1()){break}}}}return}this.SetFirstLoadedPage(Math.min(Math.max(1,b-2),this._docInfo.NumPages-4))},_onMouseWheelDown:function(a,c){var b=this.GetScrollMiddlePage();this._onPageChangeRaw(b);if(this._docInfo.NumPages<=5){return}if(b>=(this._firstLoadedPage+3)){this._advanceView1()}},_onMouseWheelUp:function(a,c){var b=this.GetScrollMiddlePage();this._onPageChangeRaw(b);if(this._docInfo.NumPages<=5){return}if(b<=(this._firstLoadedPage+1)){this._rewindView1()}},_advanceView1:function(){if(this._firstLoadedPage+this._pageviews.length>this._docInfo.NumPages){return false}var a=this._pageviews[this._pageviewsHead];a.reposition(this._firstLoadedPage+this._pageviews.length);this._pageviewsHead=(this._pageviewsHead+1)%this._pageviews.length;this._firstLoadedPage++;return true},_rewindView1:function(){if(this._firstLoadedPage<=1){return false}var a=(this._pageviewsHead+this._pageviews.length-1)%this._pageviews.length;var b=this._pageviews[a];b.reposition(this._firstLoadedPage-1);this._pageviewsHead=(this._pageviewsHead+this._pageviews.length-1)%this._pageviews.length;this._firstLoadedPage--;return true},_discardNextScrollEv:function(){this._bDiscardScroll=true},_undiscardNextScrollEv:function(){this._bDiscardScroll=false},_onPageChangeRaw:function(d){if(d!=this._displayPage){if(this._enablePub){$.publish("PageChange",this._pubID,{newPage:d})}var a=(this.AnnotationInfo[d]&&this.AnnotationInfo[d].Attachments);var b=(this.AnnotationInfo[d]&&this.AnnotationInfo[d].StickyNotes);var c=(this.AnnotationInfo[d]&&this.AnnotationInfo[d].AnnCtrlInnerHTML);if(a&&b){$.publish("AnnChange",this._pubID,{Page:d,AnnInnerHTML:c,Attachments:a,StickyNotes:b})}else{this._annInfoWaitingPage=d}}this._displayPage=d},_firePageVisibleEvent:function(){var a=this;$.each(this._pageviews,function(){var b=this;if(a.IsPageVisible(b._pagenum)){b.OnPageVisible()}})},GetOnMousePan:function(){var a=this;return function(b,c){if($.browser.msie){$(a._viewport).css("overflow","hidden")}a._viewport.scrollTop=c.scrollTopTarget;a._viewport.scrollLeft=c.scrollLeftTarget}},GetOnWindowResize:function(){var a=this;return function(b,c){a._setViewportDims()}},GetOnMouseWheelZoom:function(){var a=this;return function(g,e){var b=a._viewport.scrollLeft+g.pageX-a._viewport.offsetLeft;var i=a._viewport.scrollTop+g.pageY-a._viewport.offsetTop;var c={x:b,y:i};var d=a.AreaCoordsToPageCoord(c);if($.browser.opera){e=e*-1}var h=Math.floor(a._config.scale*100*Math.pow(a._config.zoomIncrement,(e>0)?1:-1));h=Math.max(Math.min(h,a._config.zoomMax),a._config.zoomMin);var f={page:d.Page,x:d.xPos,y:d.yPos,zoom:h,position:PositionEnum.CENTER,autoscroll:false};a.ScrollTo(f,true);return false}},GetOnClickZoom:function(){var a=this;return function(g){if($(g.originalTarget||g.srcElement).hasClass("AttachmentAnnotation")){return false}if(a._config.showText){return false}var b=a._viewport.scrollLeft+g.pageX-a._viewport.offsetLeft;var i=a._viewport.scrollTop+g.pageY-a._viewport.offsetTop;var c={x:b,y:i};var d=a.AreaCoordsToPageCoord(c);var f=(g.ctrlKey||g.shiftKey)?(1/a._config.zoomIncrement):a._config.zoomIncrement;var h=Math.floor(a._config.scale*100*f);h=Math.max(Math.min(h,a._config.zoomMax),a._config.zoomMin);var e={page:d.Page,x:d.xPos,y:d.yPos,zoom:h,position:PositionEnum.CENTER,autoscroll:false};a.ScrollTo(e,true);return false}},GetOnKeyPressHandler:function(){var a=this;return function(c){var b=String.fromCharCode(c.which||c.charCode);if(b==a.localizedStrings.STR_DOC_VIEW_KEY_ZOOMIN||b=="+"||b=="1"){if(a._config.scale==a._config.zoomMax/100){return}a.SetNewScale(Math.min(a._config.scale*100*a._config.zoomIncrement,a._config.zoomMax),true,false)}else{if(b==a.localizedStrings.STR_DOC_VIEW_KEY_ZOOMOUT||b=="-"||b=="2"){if(a._config.scale==a._config.zoomMin/100){return}a.SetNewScale(Math.max(a._config.scale*100/a._config.zoomIncrement,a._config.zoomMin),true,false)}else{if(b==a.localizedStrings.STR_DOC_VIEW_KEY_TOGGLE_ANN){a.ToggleAnnotations(true)}else{if(b==a.localizedStrings.STR_DOC_VIEW_KEY_TOGGLE_TEXT){a.ToggleTextMode(true)}else{if(b==a.localizedStrings.STR_DOC_VIEW_KEY_TOGGLE_FULL_SCREEN){a.ToggleFullScreenMode(true)}else{if(b==a.localizedStrings.STR_DOC_VIEW_KEY_RESET_TO_PAGE){a.ResetToPage(true)}}}}}}}},SetShowText:function(a,c){this._config.showText=!!a;if(c&&this._enablePub){$.publish("ShowTextChange",this._pubID,{newShowText:this._config.showText})}var b=(this._config.cursorMode==0)?"PAN":"ZOOM";if(this._config.showText){MyTileManager.clear();MyTileManager.stopTileLoading();this._panner.disable(b)}else{MyTileManager.clear();this._panner.enable(b)}$.each(this._pageviews,function(){if(this._config.showText){this.LoadText()}else{this.ShowImage()}})},ToggleTextMode:function(a){this.SetShowText(!this._config.showText,true)},ResetToPage:function(b){this.ZoomToPageDims("P",true);var a={page:this.GetCurrentPage(),position:PositionEnum.TOPLEFT,autoscroll:true};this.ScrollTo(a,true)},OnPDFDialogClose:function(){$(this._viewport).css("z-index","")},OnPDFDialogOpen:function(){$(this._viewport).css("z-index","-1")},ToggleFullScreenMode:function(f){var g=this;this._config.fullScreen=!this._config.fullScreen;var d=$("#MainTable > tbody > tr");var c=$get("MainTable");var e=$get("TheRightPanel");var b=$get("ToolbarDiv").parentNode;if(this._config.fullScreen){$(d[0]).css("display","none");$(d[1]).children("td:first-child").css("display","none");e.style.paddingLeft="0px";e.style.paddingRight="0px";b.style.paddingLeft="0px";b.style.paddingRight="3px";c.style.marginLeft="-1px";c.style.marginTop="-2px";this._viewportWidth=$(window).width()-0;this._viewportHeight=$(window).height()-28;this._viewport.style.height=this._viewportHeight+"px";this._viewport.style.width=this._viewportWidth+"px"}else{$(d[0]).css("display","");$(d[1]).children("td:first-child").css("display","");e.style.paddingLeft="10px";e.style.paddingRight="10px";b.style.paddingLeft="10px";b.style.paddingRight="10px";c.style.marginLeft="8px";c.style.marginTop="15px";this._setViewportDims()}if(this._config.fullScreen){var a=g.GetViewportLocation();g.ZoomToPageDims("W",true);g.ScrollTo({page:a.tl.Page,x:0,y:a.tl.yPos},true)}if(f){$.publish("FullScreenToggle",g._pubID,{})}},SetShowAnnotations:function(a,b){this._config.showAnn=!!a;if(b&&this._enablePub){$.publish("ShowAnnChange",this._pubID,{newShowAnn:this._config.showAnn})}$.each(this._pageviews,function(){if(this.RefreshAnnDisplay){this.RefreshAnnDisplay()}})},ToggleAnnotations:function(a){this.SetShowAnnotations(!this._config.showAnn,true)},ScrollModeChange:function(a,b){if(a=="ZOOM"){this._mousewheelZoomCtrl.enable();this._panner.enable(a);this._config.cursorMode=1}else{if(a=="PAN"){this._mousewheelZoomCtrl.disable();this._panner.enable(a);this._config.cursorMode=0}}},GetAnnotationByPage:function(a,c){var f=this;if(typeof(this.AnnotationInfo[a])=="undefined"||this.AnnotationInfo[a]==null){var b="AnnotationInfo.aspx";var e={r:this._docInfo.Repository,i:this._docInfo.Id,dbid:(this._docInfo.DBID-0),p:a};var d={cache:false,data:e,dataType:"json",error:function(){$.publish("ConnectionError",f._pubID,{reason:"Annotation"})},success:this.GetAnnInfoReceiveFunc(c),url:b};$.ajax(d)}else{if(!this.AnnotationInfo[a].DocumentInfo.HasAnn){c.ClearAnnLayer()}else{c.BuildAnnLayer(this.AnnotationInfo[a])}}},GetAnnInfoReceiveFunc:function(a){var b=a;var c=this;return function(d,e){$.publish("ConnectionSuccess",c._pubID,{});c.AnnotationInfo[d.DocumentInfo.PageNum]=d;if(d.DocumentInfo.PageNum==c._annInfoWaitingPage){c._annInfoWaitingPage=0;$.publish("AnnChange",c._pubID,{Page:d.DocumentInfo.PageNum,AnnInnerHTML:d.AnnCtrlInnerHTML,Attachments:d.Attachments,StickyNotes:d.StickyNotes})}if(d.DocumentInfo.HasAnn){b.BuildAnnLayer(d)}else{b.ClearAnnLayer()}}},ScrollTo:function(a,e){var c={page:this.GetCurrentPage(),x:0,y:0,position:PositionEnum.TOPLEFT,zoom:Math.floor(this._config.scale*100),autoscroll:true};var b=$.extend(c,a);if(b.zoom!=Math.floor(this._config.scale*100)){this.SetNewScale(b.zoom,e,b.autoscroll)}var d=this.PageCoordToAreaCoord({Page:b.page,xPos:b.x,yPos:b.y});switch(b.position){case PositionEnum.CENTER:d.x-=Math.floor(this._viewport.offsetWidth/2);d.y-=Math.floor(this._viewport.offsetHeight/2);break;case PositionEnum.BOTTOMRIGHT:d.x-=Math.floor(this._viewport.offsetWidth);d.y-=Math.floor(this._viewport.offsetHeight);break;case PositionEnum.TOPLEFT:if(d.x<=this._config.borderHeight/2){d.x=0}default:break}this._viewport.scrollTop=Math.min(Math.max(0,d.y),this._viewport.scrollHeight-this._viewport.offsetHeight);this._viewport.scrollLeft=Math.min(Math.max(0,d.x),this._viewport.scrollWidth-this._viewport.offsetWidth);this.UpdateDimensions()},UpdateDimensions:function(){var b=this.GetScrollMiddlePage();var e=this._pubID;var f=this._docInfo.PagePhysSizes[b][0];var c=this._docInfo.PagePhysSizes[b][1];var d=this._docInfo.PagePhysSizes[b][2];var a=!!this._docInfo.HasImage[b];setTimeout(function(){$.publish("DisplayDimChange",e,{widthString:f,heightString:c,hasImage:a,separator:d})},0)}};function DocViewer8Panner(a,b){this._viewport=a;this._imageArea=b}DocViewer8Panner.prototype={_enabled:true,_zoomMode:"PAN",initialize:function(a){this.onMouseMove=(typeof(a)=="function")?a:function(){};this._setCursor(this._getClosedCursorUrl());$(this._imageArea).mousedown(this._getMouseDownHandler());$(this._imageArea).mouseup(this._getMouseUpHandler());$(this._imageArea).mouseout(this._getMouseOutHandler())},_setCursor:function(b){if(!!b){var a=(window.location.pathname.toLowerCase().indexOf("docview.aspx")==-1)?"../../../":"";$(this._viewport).css("cursor",'url("'+a+b+'"), default')}},_getOpenCursorUrl:function(){return(this._zoomMode=="ZOOM")?"cursors/panzoom_open.cur":"cursors/handopen.cur"},_getClosedCursorUrl:function(){return(this._zoomMode=="ZOOM")?"cursors/panzoom_close.cur":"cursors/handclose.cur"},disable:function(a){this._enabled=false},enable:function(a){this._enabled=true;this._zoomMode=a||"PAN";this._setCursor(this._getOpenCursorUrl())},_getMouseDownHandler:function(){var a=this;return function(b){$(a._viewport).focus();if(!a._enabled){return}if(b.type!="mousedown"){return false}a._setCursor(a._getClosedCursorUrl());a.mouseDownLoc={mouseScreenX:b.screenX,mouseScreenY:b.screenY,viewportScrollTop:a._viewport.scrollTop,viewportScrollLeft:a._viewport.scrollLeft};this._lastMouseMoveTime=0;$(a._viewport).bind("mousemove",null,a._getMouseMoveHandler());return false}},_getMouseUpHandler:function(){var a=this;return function(b){if(!a._enabled){return}clearTimeout(a._mousemoveTimeoutId);$(a._viewport).unbind("mousemove");if($.browser.mozilla||$.browser.msie){$(a._viewport).css("overflow","auto")}a._setCursor(a._getOpenCursorUrl());return false}},_getMouseOutHandler:function(){var a=this;return function(b){if(!a._enabled){return}}},_mousemoveThrottlePeriod:100,_mousemoveTimeoutId:0,_lastMouseMoveTime:new Date(),_onMouseMoveTail:function(){this._mousemoveTimeoutId=0;this._lastMouseMoveTime=new Date()},_getMouseMoveHandler:function(){var a=this;return function(e){var c=e.screenX-a.mouseDownLoc.mouseScreenX;var b=e.screenY-a.mouseDownLoc.mouseScreenY;var d=Math.min(a._viewport.scrollHeight-a._viewport.offsetHeight,Math.max(0,(a.mouseDownLoc.viewportScrollTop-b)));var g=Math.min(a._viewport.scrollWidth-a._viewport.offsetWidth,Math.max(0,(a.mouseDownLoc.viewportScrollLeft-c)));if(Math.abs(d-a._viewport.scrollTop)<=3&&Math.abs(g-a._viewport.scrollLeft)<=3){return}var i={scrollTopTarget:d,scrollLeftTarget:g};var f=new Date();if(this._lastMouseMoveTime==0||f-a._lastMouseMoveTime>=a._mousemoveThrottlePeriod){clearTimeout(a._mousemoveTimeoutId);a.onMouseMove(e,i);a._onMouseMoveTail()}else{var h=a._mousemoveThrottlePeriod-(f-a._lastMouseMoveTime);clearTimeout(a._mousemoveTimeoutId);a._mousemoveTimeoutId=setTimeout(function(){a.onMouseMove(e,i);a._onMouseMoveTail()},h)}}}};function MouseWheelZoom8(a,b){this._viewport=a;this._imageArea=b;this._enabled=false}MouseWheelZoom8.prototype={enable:function(){this._enabled=true;var a=(window.location.pathname.toLowerCase().indexOf("docview.aspx")==-1)?"../../../":"";$(this._viewport).css("cursor",'url("'+a+'cursors/zoom.cur"), default')},disable:function(){this._enabled=false;$(this._viewport).css("cursor","")},initialize:function(a){this.onMouseWheel=a;$(this._viewport).mousewheel(this._getRawMouseWheelFunc())},_wheelScrollThrottlePeriod:100,_mousewheelTimeoutId:0,_lastMouseWheelEv:new Date(),_onMouseWheelTail:function(){this._mousewheelTimeoutId=0;this._lastMouseWheelEv=new Date()},_getRawMouseWheelFunc:function(){var a=this;return function(b,e){if(!a._enabled){return true}var c=new Date();if(c-a._lastMouseWheelEv>=a._wheelScrollThrottlePeriod){clearTimeout(a._mousewheelTimeoutId);a.onMouseWheel(b,e);a._onMouseWheelTail()}else{var d=a._wheelScrollThrottlePeriod-(c-a._lastMouseWheelEv);clearTimeout(a._mousewheelTimeoutId);a._mousewheelTimeoutId=setTimeout(function(){a.onMouseWheel(b,e);a._onMouseWheelTail()},d)}return false}},_getRawMouseClickFunc:function(){var a=this;return function(b,c){if(!a._enabled){return true}a.onMouseClick(b);return false}}};function DoubleClickZoom8(a,b){this._viewport=a;this._imageArea=b;this._enabled=true}DoubleClickZoom8.prototype={enable:function(){this._enabled=true},disable:function(){this._enabled=false},initialize:function(a){this.zoomFunction=a;$(this._viewport).dblclick(this._getRawMouseClickFunc())},_getRawMouseClickFunc:function(){var a=this;return function(b,c){if(!a._enabled){return true}a.zoomFunction(b);return false}}};function DocViewer8Scroller(a){this._viewport=a}DocViewer8Scroller.prototype={_wheelScrollThrottlePeriod:250,_scrollThrottlePeriod:250,initialize:function(b,a){$(this._viewport).scroll(this._getRawScrollFunc());$(this._viewport).mousewheel(this._getRawMouseWheelFunc());this.onScroll=b;this.onMouseWheel=a},_scrollTimeoutId:0,_getRawScrollFunc:function(){var a=this;return function(b){clearTimeout(a._scrollTimeoutId);a._scrollTimeoutId=setTimeout(a._getOnScrollFunc(b),a._scrollThrottlePeriod)}},_getOnScrollFunc:function(a){var b=this;return function(){b.onScroll(a)}},_mousewheelTimeoutId:0,_lastMouseWheelEv:new Date(),_onMouseWheelTail:function(){this._mousewheelTimeoutId=0;this._lastMouseWheelEv=new Date()},_getRawMouseWheelFunc:function(){var a=this;return function(b,e){var c=new Date();if(c-a._lastMouseWheelEv>=a._wheelScrollThrottlePeriod){clearTimeout(a._mousewheelTimeoutId);a.onMouseWheel(b,e);a._onMouseWheelTail()}else{var d=a._wheelScrollThrottlePeriod-(c-a._lastMouseWheelEv);clearTimeout(a._mousewheelTimeoutId);a._mousewheelTimeoutId=setTimeout(function(){a.onMouseWheel(b,e);a._onMouseWheelTail()},d)}}}};function WindowResizeHandler8(a,b){this._viewport=a;this._imageArea=b}WindowResizeHandler8.prototype={initialize:function(a){var b=this;this.onResize=a;b.resizeTimer=null;$(window).bind("resize",null,function(){if(b.resizeTimer){clearTimeout(b.resizeTimer)}b.resizeTimer=setTimeout(function(){b.onResize();b.resizeTimer=null},100)})}};function TileManager(){this._queue=new PriorityQueue();this._openSlots=this.TILES_TO_LOAD}TileManager.prototype={TILES_TO_LOAD:3,clear:function(){this._queue.clear();this._openSlots=this.TILES_TO_LOAD},stopTileLoading:function(){this._openSlots=0},startTileLoading:function(){var a=DocViewer.GetViewportLocation();this._queue.reprioritize(a);this._openSlots=this.TILES_TO_LOAD;for(var b=0;b<Math.min(this._queue.getCount(),this._openSlots);b++){this.dequeue()}},reprioritize:function(a){this._openSlots=0;this._queue.reprioritize(a);this._openSlots=this.TILES_TO_LOAD;for(var b=0;b<Math.min(this._queue.getCount(),this._openSlots);b++){this.dequeue()}},dequeue:function(){if(this._openSlots==0){return}if(this._queue.getLoadingCount()==0){return}var d=this._queue.dequeue();if(typeof(d)=="undefined"||d==null){return}var b=document.getElementById(d.tileId);if(b){var a=DocViewer.GetViewportLocation();var c=d.coord;var e=MyHelpers.GetViewDistanceInTiles(a,c,d.tileSize);if(e<2){this._openSlots=Math.max(0,this._openSlots-1);b.onload=this.onImageLoad;b.onerror=this.onImageError;b.onremove=this.onImageRemoved;b.src=d.imUrl}}},enqueue:function(d){var b=document.getElementById(d.tileId);b.onload=null;b.error=null;b.src=DocViewer.TransparentTileUrl;var a=DocViewer.GetViewportLocation();var c=d.coord;var e=MyHelpers.GetViewDistanceInTiles(a,c,d.tileSize);this._queue.enqueue(e,d);if(this._openSlots>0){this.dequeue()}},onImageRemoved:function(){this.onload=null;this.error=null;this.onremove=null;MyTileManager._openSlots=Math.min(MyTileManager.TILES_TO_LOAD,MyTileManager._openSlots+1);MyTileManager.dequeue()},onImageLoad:function(a){var b=(a&&a.currentTarget)||(event&&event.srcElement);b.onload=null;b.error=null;b.onremove=null;MyTileManager._openSlots=Math.min(MyTileManager.TILES_TO_LOAD,MyTileManager._openSlots+1);$.publish("ConnectionSuccess","ImageTiler",{});MyTileManager.dequeue()},onImageError:function(a){var b=(a&&a.currentTarget)||(event&&event.srcElement);if(b){b.onload=null;b.onerror=null;b.onremove=null}MyTileManager._openSlots=Math.min(MyTileManager.TILES_TO_LOAD,MyTileManager._openSlots+1);$.publish("ConnectionError","ImageTiler",{reason:"ImageTile"});MyTileManager.dequeue()}};function PriorityQueue(){var d=[];var c=[];var b=[];var a=[];this.enqueue=function(e,f){if(e==0){d.push(f)}else{if(e==1){c.push(f)}else{if(e==2){b.push(f)}else{a.push(f)}}}};this.dequeue=function(){if(d.length){return d.shift()}if(c.length){return c.shift()}return null};this.reprioritize=function(e){var g=this;var f=[].concat(d,c,b,a);this.clear();$.each(f,function(){var h=MyHelpers.GetViewDistanceInTiles(e,this.coord,this.tileSize);g.enqueue(h,this)})};this.clear=function(){d=[];c=[];b=[];a=[]};this.getCount=function(){return(d.length+c.length+b.length+a.length)};this.getLoadingCount=function(){return(d.length+c.length)}}function Helpers(){this.randomString=function(){var f="0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";var g=8;var e="";for(var d=0;d<g;d++){var c=Math.floor(Math.random()*f.length);e+=f.substring(c,c+1)}return e};this.makeArray=function(c){var d=[];$.each(c,function(f,e){d[f-0]=e});return d};this.GetViewDistanceInTiles=function(d,c,e){if((d.tl.Page!=c.tl.Page)&&(d.tl.Page!=c.br.Page)&&(d.br.Page!=c.tl.Page)&&(d.br.Page!=c.br.Page)){return 3}if(b({start:d.tl.xPos,end:d.br.xPos},{start:c.tl.xPos,end:c.br.xPos})&&a({pageStart:d.tl.Page,start:d.tl.yPos,pageEnd:d.br.Page,end:d.br.yPos},{pageStart:c.tl.Page,start:c.tl.yPos,pageEnd:c.br.Page,end:c.br.yPos})){return 0}var f=e;if(b({start:d.tl.xPos-f,end:d.br.xPos+f},{start:c.tl.xPos,end:c.br.xPos})&&a({pageStart:d.tl.Page,start:d.tl.yPos-f,pageEnd:d.br.Page,end:d.br.yPos+f},{pageStart:c.tl.Page,start:c.tl.yPos,pageEnd:c.br.Page,end:c.br.yPos})){return 1}var f=2*e;if(b({start:d.tl.xPos-f,end:d.br.xPos+f},{start:c.tl.xPos,end:c.br.xPos})&&a({pageStart:d.tl.Page,start:d.tl.yPos-f,pageEnd:d.br.Page,end:d.br.yPos+f},{pageStart:c.tl.Page,start:c.tl.yPos,pageEnd:c.br.Page,end:c.br.yPos})){return 2}return 3};var b=function(d,c){var f=(d.start<=c.start)?d:c;var e=(d.start<=c.start)?c:d;return(f.end>=e.start)};var a=function(d,c){var f=null;var e=null;if(d.pageStart<c.pageStart){f=d;e=c}else{if(d.pageStart==c.pageStart){f=(d.start<=c.start)?d:c;e=(d.start<=c.start)?c:d}else{f=c;e=d}}if(f.pageEnd>e.pageStart){return true}else{if(f.pageEnd==e.pageStart){return(f.end>=e.start)}else{return false}}}}PositionEnum={TOPLEFT:0,CENTER:1,BOTTOMRIGHT:2};function DocViewerListener(a){this._docviewer=a;this._pubID=a._pubID}DocViewerListener.prototype={initialize:function(){var a=this;this._onShowAnnChange=this.GetOnShowAnnChange();this._onZoomChange=this.GetOnZoomChange();this._onPageChange=this.GetOnPageChange();this._onShowTextChange=this.GetOnShowTextChange();this._onAnnChange=this.GetOnAnnChange();this._onFullScreenToggle=this.GetOnFullScreenToggle();this._onSelectionModeChange=this.GetOnSelectionModeChange();this._onPDFDialogOpen=this.GetOnPDFDialogOpen();this._onPDFDialogClose=this.GetOnPDFDialogClose();$.subscribe("ShowAnnChange",a,"_onShowAnnChange");$.subscribe("ZoomChange",a,"_onZoomChange");$.subscribe("PageChange",a,"_onPageChange");$.subscribe("ShowTextChange",a,"_onShowTextChange");$.subscribe("AnnChange",a,"_onAnnChange");$.subscribe("FullScreenToggle",a,"_onFullScreenToggle");$.subscribe("ScrollModeChange",a,"_onSelectionModeChange");$.subscribe("PDFDialogOpen",a,"_onPDFDialogOpen");$.subscribe("PDFDialogClose",a,"_onPDFDialogClose")},GetOnSelectionModeChange:function(){var a=this;return function(c,b){if(c==a._pubID){return}a._docviewer.disablePub();a._docviewer.ScrollModeChange(b.newMode,false);a._docviewer.enablePub()}},GetOnFullScreenToggle:function(){var a=this;return function(c,b){if(c==a._pubID){return}a._docviewer.disablePub();a._docviewer.ToggleFullScreenMode(false);a._docviewer.enablePub()}},GetOnShowAnnChange:function(){var a=this;return function(c,b){if(c==a._pubID){return}a._docviewer.disablePub();a._docviewer.SetShowAnnotations(b.newShowAnn,false);a._docviewer.enablePub()}},GetOnZoomChange:function(){var a=this;return function(c,b){if(c==a._pubID){return}a._docviewer.disablePub();if(!isNaN(b.newZoom-0)){a._docviewer.SetNewScale(b.newZoom-0,false)}else{a._docviewer.ZoomToPageDims(b.newZoom,false)}a._docviewer.enablePub()}},GetOnPageChange:function(){var a=this;return function(c,b){if(c==a._pubID){return}a._docviewer.disablePub();a._docviewer.ScrollTo({page:b.newPage},false);a._docviewer.enablePub()}},GetOnShowTextChange:function(){var a=this;return function(c,b){if(c==a._pubID){return}a._docviewer.disablePub();a._docviewer.SetShowText(b.newShowText,false);a._docviewer.enablePub()}},GetOnAnnChange:function(){var a=this;return function(c,b){if(c==a._pubID){return}a._docviewer.disablePub();a._docviewer.enablePub()}},GetOnPDFDialogOpen:function(){var a=this;return function(c,b){if(c==a._pubID){return}a._docviewer.OnPDFDialogOpen()}},GetOnPDFDialogClose:function(){var a=this;return function(c,b){if(c==a._pubID){return}a._docviewer.OnPDFDialogClose()}}};var MyTileManager=new TileManager();var MyHelpers=new Helpers();var PageViewer8=function(a,b,d,c){this._parentContainer=a.parentNode;this._pageviewDiv=a;this._viewerIndex=b;this._tilingConfig={ErrorTileUrl:d,TransparentTileUrl:c,ActiveLayer:1,usingTiling:false,needsTiling:false};this._pubID="ThePageViewer"};PageViewer8.prototype={LIMIT_THUMB_RES:true,MAX_THUMB_SIZE:640000,TILE_DIM:256,initialize:function(a,b){this._docviewer=b;this._config=b._config;this._docid=b._docInfo.Id;this._repository=b._docInfo.Repository;this._pagenum=a;this._pageDims=b._docInfo.PageDims;this._pageIds=b._docInfo.PageIds;this._pageRotations=b._docInfo.PageRotations;this._totalBorderHeight=this._config.borderHeight;this._totalMarginHeight=this._config.marginHeight;this._urlPrefix=(window.location.pathname.toLowerCase().indexOf("docview.aspx")==-1)?"../../../":"";this._initializeContainer();this._initializeLayers();this._LoadingLayers=[this._loadingLayer];this._ImageLayers=[this._thumbLayer,this._tileLayer1,this._tileLayer2,this._annLayer];this._TextLayers=[this._textLayer];this.reposition(a)},_initializeContainer:function(){var a=this._getCurDim();$(this._pageviewDiv).css("width",a.curWidth+"px").css("height",a.curHeight+"px").css("borderWidth",a.borderHeight+"px "+a.borderHeight+"px "+a.borderHeight+"px "+a.borderHeight+"px ").css("borderStyle","none").css("marginTop","6px").css("marginLeft","6px").css("marginBottom",this._totalMarginHeight+"px").css("top",this._docviewer.PageTops[this._pagenum]+"px").css("position","absolute")},_initializeLayers:function(){var e=this;var g=this._getCurDim();var a=Math.floor(this._totalBorderHeight/2)||0;var b=Math.floor(this._pageDims[this._pagenum][1]*this._config.scale);var f=Math.floor(this._pageDims[this._pagenum][0]*this._config.scale);var d=this.GetThumbImageUrl(this._pagenum,this.GetEffThumbScale(this._pagenum));this._thumbLayer=document.createElement("img");this._thumbLayer.className="PageImage";$(this._thumbLayer).css("width","100%").css("height","100%").css("display","none").css("position","absolute").css("z-index","1").attr("unselectable","on");this._pageviewDiv.appendChild(this._thumbLayer);$(this._thumbLayer).bind("load",null,function(c){var h=c.target;if(h.tagName!="IMG"){h=c.currentTarget}$(h).css("display","");$(e._LoadingLayers).css("display","none");$.publish("ConnectionSuccess",e._pubID,{})});$(this._thumbLayer).bind("error",null,function(c){$.publish("ConnectionError",e._pubID,{reason:"Thumbnail"})});if(this._docviewer._docInfo.HasImage[this._pagenum]){this._thumbLayer.src=d;$(e._LoadingLayers).css("display","")}$(this._pageviewDiv).append('<div class="TileLayer1" style="position:absolute" />');this._tileLayer1=this._pageviewDiv.lastChild;$(this._tileLayer1).css("display",this._config.showText?"none":"");this._tileLayer1.style.width=g.curWidth+"px";this._tileLayer1.style.height=g.curHeight+"px";this._tileLayer1.onclick=function(){};$(this._pageviewDiv).append('<div class="TileLayer2" style="position:absolute" />');this._tileLayer2=this._pageviewDiv.lastChild;$(this._tileLayer2).css("display",this._config.showText?"none":"");this._tileLayer2.style.width=g.curWidth+"px";this._tileLayer2.style.height=g.curHeight+"px";this._tileLayer2.onclick=function(){};$(this._pageviewDiv).append('<div class="AnnLayer" style="position:absolute;z-index:5;" />');this._annLayer=this._pageviewDiv.lastChild;$(this._annLayer).css("display",this._config.showText?"none":"");this._annLayer.style.width=g.curWidth+"px";this._annLayer.style.height=g.curHeight+"px";$(this._pageviewDiv).append('<div class="TextLayer" style="position:absolute;z-index:1" />');this._textLayer=this._pageviewDiv.lastChild;$(this._textLayer).css("display",this._config.showText?"":"none");this._textLayer.style.width=g.curWidth+"px";this._textLayer.style.height=g.curHeight+"px";this._textLayer.style.display="none";$(this._pageviewDiv).append('<div class="VShadowLayer" style="position:absolute;">&nbsp;</div>');$(this._pageviewDiv).append('<div class="HShadowLayer" style="position:absolute;">&nbsp;</div>');$(this._pageviewDiv).append('<div class="PageMsgBackground" style="position:absolute;z-index:0;" />');this._loadingBGLayer=this._pageviewDiv.lastChild;this._loadingBGLayer.style.width=g.curWidth+"px";this._loadingBGLayer.style.height=g.curHeight+"px";if(this._docviewer._docInfo.HasImage[this._pagenum]){$(this._pageviewDiv).append('<span style="position:absolute;top:3px;left:3px;z-index:0">'+this._docviewer.localizedStrings.STR_LOADING+"</span>")}else{$(this._pageviewDiv).append('<span style="position:absolute;top:3px;left:3px;z-index:0">'+this._docviewer.localizedStrings.STR_NO_IMAGE_DATA+"</span>")}this._loadingLayer=this._pageviewDiv.lastChild;if(this._config.showText){$(this._loadingLayer).css("display","none")}},LoadText:function(){var b=this;$(this._textLayer).children().remove();var a={type:"GET",url:this.GetTextUrl(),data:{r:this._repository,i:this._docid,dbid:(this._docviewer._docInfo.DBID-0),p:this._pagenum,showAnn:(this._config.showAnn?"1":"0"),search:this._docviewer.SearchID},dataType:"html",cache:true,success:function(c){$(b._textLayer).html("<div>"+c+"</div>");b.ShowText();$.publish("ConnectionSuccess",b._pubID,{})},error:function(){$(b._textLayer).html("<div>"+b._docviewer.localizedStrings.STR_TEXT_RETRIEVAL_FAILED+"</div>");$.publish("ConnectionError",b._pubID,{reason:"Text"})}};$.ajax(a)},_resizeAnnLayer:function(){var b=this;var d=this._getCurDim();this._annLayer.style.width=d.curWidth+"px";this._annLayer.style.height=d.curHeight+"px";var a=1;$("div.StickyNote").each(function(){var e=$(this).data("displayX");var c=$(this).data("displayY");$(this).css("top",Math.floor(c*b._config.scale*a)).css("left",Math.floor(e*b._config.scale*a))});$("div.AttachmentAnnotation").each(function(){var e=$(this).data("displayX");var c=$(this).data("displayY");$(this).css("top",Math.floor(c*b._config.scale*a)).css("left",Math.floor(e*b._config.scale*a))})},_resizeLayerDivs:function(){var a=this._getCurDim();this._loadingBGLayer.style.width=a.curWidth+"px";this._loadingBGLayer.style.height=a.curHeight+"px";this._tileLayer1.style.width=a.curWidth+"px";this._tileLayer1.style.height=a.curHeight+"px";this._tileLayer2.style.width=a.curWidth+"px";this._tileLayer2.style.height=a.curHeight+"px";this._resizeAnnLayer();this._textLayer.style.width=a.curWidth+"px";this._textLayer.style.height=a.curHeight+"px"},ClearThumbnail:function(){this._thumbLayer.style.display="none"},reposition:function(a,c){if(this._pagenum!=a||!!c){this.ClearThumbnail();this.ClearAllTiles();this.ClearAnnLayer();this._docviewer.GetAnnotationByPage(a,this)}this._pagenum=a;this._resizeLayerDivs();this._pageviewDiv.style.top=this._docviewer.PageTops[a]+"px";this._pageviewDiv.style.width=Math.floor(this._pageDims[a][1]*this._config.scale)+"px";this._pageviewDiv.style.height=Math.floor(this._pageDims[a][0]*this._config.scale)+"px";if(this._config.showText){this.LoadText();if(this._docviewer._docInfo.HasImage[a]){var b=this.GetThumbImageUrl(a,this.GetEffThumbScale(a));this._thumbLayer.src=b;$(this._LoadingLayers).css("display","")}else{}return}else{if(!this._docviewer._docInfo.HasImage[this._pagenum]){$(this._loadingLayer).children().remove();$(this._loadingLayer).html(this._docviewer.localizedStrings.STR_NO_IMAGE_DATA);this._thumbLayer.style.display="none"}else{$(this._loadingLayer).children().remove();$(this._loadingLayer).html(this._docviewer.localizedStrings.STR_LOADING);var b=this.GetThumbImageUrl(a,this.GetEffThumbScale(a));this._thumbLayer.src=b;$(this._LoadingLayers).css("display","");if(this._docviewer.IsPageVisible(this._pagenum)){if(this._tilingConfig.needsTiling){this._doTiling()}else{this.ClearAllTiles()}}else{this.ClearAllTiles()}}}},BuildAnnLayer:function(b){var c=this;$(this._annLayer).children().remove();if(this._config.showAnn){$(this._annLayer).removeClass("AnnHidden")}else{$(this._annLayer).addClass("AnnHidden")}var a=1;$.each(b.StickyNotes,function(){var f=document.createElement("span");var e=document.createElement("div");var d=document.createElement("div");f.appendChild(e);e.appendChild(d);d.appendChild(document.createTextNode(this.AnnIndex));var g="url("+c._urlPrefix+"images/stickies/"+this.AnnColor+".gif)";$(e).addClass("StickyNote").css("top",Math.floor(this.displayY*c._config.scale*a)).css("left",Math.floor(this.displayX*c._config.scale*a)).css("background-image",g).css("position","absolute").data("displayX",this.displayX).data("displayY",this.displayY).dblclick(function(h){var i=$get("AnnotationsTab");if(i){$(i).click()}h.stopPropagation();h.preventDefault()});$(d).addClass("StickyNoteNumber");c._annLayer.appendChild(f)});$.each(b.Attachments,function(){var f=document.createElement("span");var e=document.createElement("div");var d=document.createElement("div");f.appendChild(e);e.appendChild(d);d.appendChild(document.createTextNode(this.AnnIndex));$(e).addClass("AttachmentAnnotation").css("top",Math.floor(this.displayY*c._config.scale*a)).css("left",Math.floor(this.displayX*c._config.scale*a)).css("position","absolute").dblclick(function(g){if($(this).data("rawSize")>0){window.location=$(this).data("dlUrl")}else{var h=c._docviewer.localizedStrings.STR_NO_ATTACHMENT_DATA_PROMPT;alert(h)}g.stopPropagation();g.preventDefault()}).data("dlUrl",this.AnnLinkRef).data("displayX",this.displayX).data("displayY",this.displayY).data("rawSize",this.AnnFileSizeRaw);$(d).addClass("AttachmentNumber");c._annLayer.appendChild(f)})},ClearAnnLayer:function(a){$(this._annLayer).children().remove()},ShowText:function(){$(this._ImageLayers).css("display","none");$(this._TextLayers).css("display","");$(this._LoadingLayers).css("display","");if($(this._pageviewDiv).height()<this._docviewer._heightAlloc[this._pagenum]){$(this._textLayer).css("height",this._docviewer._heightAlloc[this._pagenum]+"px");$(this._pageviewDiv).css("height",this._docviewer._heightAlloc[this._pagenum]+"px")}var a=Math.min(500,$(this._pageviewDiv.parentNode).width());if($(this._pageviewDiv).width()<a){$(this._textLayer).width(a+"px");$(this._pageviewDiv).width(a+"px")}},ShowImage:function(){var a=this;$(this._ImageLayers).css("display",this._docviewer._docInfo.HasImage[this._pagenum]?"":"none");$(this._TextLayers).css("display","none");$(this._LoadingLayers).css("display","");this.reposition(this._pagenum,true);if($.browser.chrome){$(this._ImageLayers).css("display",this._docviewer._docInfo.HasImage[this._pagenum]?"":"none");$(this._TextLayers).css("display","none")}},RefreshAnnDisplay:function(){var f=this;var a=this._docviewer.AnnotationInfo[this._pagenum].DocumentInfo;if(!this._config.showText){if(a.HasAnnLayer){if(this._intermediateDiv){var d=this._intermediateDiv.firstChild;if(d){if((this._config.showAnn&&d.src.match("showAnn=0"))||(!this._config.showAnn&&d.src.match("showAnn=1"))){this._clearTilesByLayer(this._intermediateDiv)}}}}if(a.HasAnnImage&&this._docviewer._docInfo.HasImage[this._pagenum]){var e=this.GetThumbImageUrl(this._pagenum,this.GetEffThumbScale(this._pagenum));if(this._thumbLayer.src!=e){this._thumbLayer.style.display="none";this._thumbLayer.src=e;$(this._LoadingLayers).css("display","")}}if(a.HasAnnLayer){if(this._config.showAnn){$(this._annLayer).removeClass("AnnHidden")}else{$(this._annLayer).addClass("AnnHidden")}}if(a.HasAnnImage){var b="showAnn="+(this._config.showAnn?"0":"1");var c="showAnn="+(this._config.showAnn?"1":"0");if(this._loadingDiv){MyTileManager.clear();$(this._loadingDiv).children().each(function(){var l=$(this).data("ts");var k=$(this).data("i");var h=$(this).data("j");var g=f._getTileQueryString(k,h);MyTileManager.enqueue({imUrl:g,tileId:this.id,tileSize:l,coord:{tl:{Page:f._pagenum,xPos:k*l,yPos:h*l},br:{Page:f._pagenum,xPos:(k+1)*l,yPos:(h+1)*l}}})})}}}else{if(a.HasAnnLayer){if(this._config.showAnn){$(this._annLayer).removeClass("AnnHidden")}else{$(this._annLayer).addClass("AnnHidden")}}this.LoadText()}},GetEffThumbScale:function(a){var c=this._pageDims[a][1]*this._pageDims[a][0];if(this.LIMIT_THUMB_RES&&c*this._config.scale*this._config.scale>this.MAX_THUMB_SIZE){var b=Math.sqrt(this.MAX_THUMB_SIZE/c);this._tilingConfig.needsTiling=true;return Math.floor(b*100*100)}else{this._tilingConfig.needsTiling=false;return Math.floor(this._config.scale*100*100)}},GetTextUrl:function(){var a=this._urlPrefix+"PageTextData.aspx";return a},GetThumbImageUrl:function(a,c){var b=this._urlPrefix+"PageImageData.aspx?";b+="scale="+c;b+="&dID="+this._docid;b+="&pageNum="+a;b+="&ann=";b+=(this._config.showAnn?"1":"0");b+="&r="+this._docviewer.UniqueID;b+="&search="+this._docviewer.SearchID;return b},_getTileQueryString:function(a,b){return(this._urlPrefix+"Helper/TileData.aspx?reposName="+this._repository+"&docID="+this._docid+"&x="+a+"&y="+b+"&pageNum="+this._pagenum+"&scale="+Math.floor(this._config.scale*100*100)+"&ro="+this._pageRotations[this._pagenum]+"&time="+this._docviewer.GetLoadTime()+"&showAnn="+(this._config.showAnn?"1":"0")+("&pageID="+this._pageIds[this._pagenum])+("&search="+this._docviewer.SearchID))},OnPageVisible:function(){if(this._tilingConfig.needsTiling&&!this._tilingConfig.usingTiling){this._doTiling()}},ClearAllTiles:function(){this._clearTilesByLayer(this._tileLayer1);this._clearTilesByLayer(this._tileLayer2);this._tileLayer1.style.zIndex=-1;this._tileLayer2.style.zIndex=-1;this._tilingConfig.ActiveLayer=1;this._loadingDiv=null;this._intermediateDiv=null;this._tilingConfig.usingTiling=false},_doTiling:function(){if(this._docviewer._docInfo.HasImage[this._pagenum]){this._countPanels();this._resizeLayerDivs();this._swapTileDivs();this._clearTilesByLayer(this._loadingDiv);this._resizeIntermediateTiles();this._loadTilesByLayer(this._loadingDiv);this._tilingConfig.usingTiling=true}},_countPanels:function(){var a=Math.floor(this._pageDims[this._pagenum][1]*this._config.scale);var b=Math.floor(this._pageDims[this._pagenum][0]*this._config.scale);var c=Math.ceil(this.TILE_DIM/this._config.scale);this._tilingConfig.xPanelCount=Math.ceil(this._pageDims[this._pagenum][1]*1/c);this._tilingConfig.yPanelCount=Math.ceil(this._pageDims[this._pagenum][0]*1/c);this._tilingConfig.rightEdgeWidth=this.TILE_DIM-((this._tilingConfig.xPanelCount*this.TILE_DIM)-a);this._tilingConfig.bottomEdgeHeight=this.TILE_DIM-((this._tilingConfig.yPanelCount*this.TILE_DIM)-b)},_swapTileDivs:function(){if(this._tilingConfig.ActiveLayer==1){this._tilingConfig.ActiveLayer=0;this._loadingDiv=this._tileLayer1;this._intermediateDiv=this._tileLayer2}else{this._tilingConfig.ActiveLayer=1;this._loadingDiv=this._tileLayer2;this._intermediateDiv=this._tileLayer1}this._loadingDiv.style.zIndex=3;this._intermediateDiv.style.zIndex=2},_loadTilesByLayer:function(a){this._clearTilesByLayer(a);for(var c=0;c<this._tilingConfig.xPanelCount;c++){for(var b=0;b<this._tilingConfig.yPanelCount;b++){this._addTile(c,b,a)}}},_resizeIntermediateTiles:function(){var b=Math.ceil(this.TILE_DIM/this._config.scale);var a=this.TILE_DIM;$(this._intermediateDiv).children().each(function(){var e=$(this).data("i");var d=$(this).data("j");var c=$(this).data("ts");var g=(1*c/b);var f=Math.ceil(a*g);this.style.left=(f*e-6)+"px";this.style.top=(f*d-6)+"px";this.style.width=Math.ceil(parseInt(this.style.width)*g)+"px";this.style.height=Math.ceil(parseInt(this.style.height)*g)+"px"})},_clearTilesByLayer:function(a){$(a).children().each(function(){if(typeof(this.onremove)=="function"){this.onremove()}}).remove()},_addTile:function(c,b,h){var g=this;var f=this._viewerIndex+"_T"+this._tilingConfig.ActiveLayer+"_"+c+"_"+b;if(document.getElementById(f)){return}if(c>=this._tilingConfig.xPanelCount||b>=this._tilingConfig.yPanelCount){return}var e=document.createElement("img");e.zIndex=3;e.id=f;e.style.position="absolute";e.style.left=(this.TILE_DIM*c-6)+"px";e.style.top=(this.TILE_DIM*b-6)+"px";e.style.width=(c==this._tilingConfig.xPanelCount-1)?(this._tilingConfig.rightEdgeWidth+"px"):(this.TILE_DIM+"px");e.style.height=(b==this._tilingConfig.yPanelCount-1)?(this._tilingConfig.bottomEdgeHeight+"px"):(this.TILE_DIM+"px");$(e).attr("unselectable","on");var d=Math.ceil(this.TILE_DIM/this._config.scale);$(e).data("i",c);$(e).data("j",b);$(e).data("ts",d);h.appendChild(e);var a=this._getTileQueryString(c,b);MyTileManager.enqueue({imUrl:a,tileId:f,tileSize:d,coord:{tl:{Page:this._pagenum,xPos:c*d,yPos:b*d},br:{Page:this._pagenum,xPos:(c+1)*d,yPos:(b+1)*d}}})},_getCurDim:function(){return{borderHeight:(Math.floor(this._totalBorderHeight/2)||0),curWidth:Math.floor(this._pageDims[this._pagenum][1]*this._config.scale),curHeight:Math.floor(this._pageDims[this._pagenum][0]*this._config.scale)}}};