////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//   This computer program is protected by copyright law and international treaties.                                                      //
//   Unauthorized reproduction or distribution of the program, or any portion of it, may result in severe civil and criminal penalties,   //
//   and will be prosecuted to the maximum extent possible under law.                                                                     //
//   Copyright(c) Digitomi Corp. All Right Reserved.                                                                                      //
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//   Last Update 2005_02_21 09:45:13 by tews                                                                                              //
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 function Point(){this.x=0;this.y=0;}function Limit(){this.MinLeft=0;this.MinTop=0;this.MaxLeft=0;this.MaxTop=0;}function MiniMap2(){this.id="oMiniMap2";try{this.oParentDiv=oBook.oBookBaseDiv;this.Left=arguments[0];this.Top=arguments[1];this.Movable=arguments[2];}catch(e){}this.oMiniMapBaseDiv=null;this.oMiniMapLeftBGImg=null;this.oMiniMapRightBGImg=null;this.oScaleDiv=null;this.oShadowDiv=null;this.Level=0;this.LeftRightPos=new Point();this.LimitPos=new Limit();this.oBookInfo=oBook.oBookInfo;this.Scale=0;this.DragScaleDivClickPos=new Point();this.ScalePos=new Point();this.DragMiniMapBaseDivClickPos=new Point();this.MiniMapPos=new Point();this.CurrPage=0;this.oBody=oBook.oBody;this.bDraged=false;this.bDown=false;this.ResizeMiniMap=ResizeMiniMap;this.SetDragScaleDivClickPos=SetDragScaleDivClickPos;this.SetDragMiniMapBaseDivClickPos=SetDragMiniMapBaseDivClickPos;this.DragScaleDiv=DragScaleDiv;this.SetMiniMapBGImg=SetMiniMapBGImg;this.DragMiniMapBaseDiv=DragMiniMapBaseDiv;this.dmiInitial=dmiInitial;this.dmiDoRescale=dmiDoRescale;this.dmiDoShow=dmiDoShow;this.dmiDoHide=dmiDoHide;this.dmiDoScroll=dmiDoScroll;this.dmiDoReposition=dmiDoReposition;this.dmiOnShow=dmiOnShow;this.dmiOnHide=dmiOnHide;this.OnMouseDownScaleDiv=OnMouseDownScaleDiv;this.OnMouseMoveScaleDiv=OnMouseMoveScaleDiv;this.OnMouseUpScaleDiv=OnMouseUpScaleDiv;this.OnMouseDownMiniMapBaseDiv=OnMouseDownMiniMapBaseDiv;this.OnMouseMoveMiniMapBaseDiv=OnMouseMoveMiniMapBaseDiv;this.OnMouseUpMiniMapBaseDiv=OnMouseUpMiniMapBaseDiv;this.OnLoadMiniMapBGImg=OnLoadMiniMapBGImg;this.iLoadMiniMapBGImgCount=0;this.dmiInitial();}function dmiInitial(){if(typeof(this.Left)=="undefined"){this.Left=0}if(typeof(this.Top)=="undefined"){this.Top=0}if(typeof(this.Movable)=="undefined"){this.Movable=false}var tmpMiniMap2BaseDiv=document.createElement("DIV");this.oParentDiv.appendChild(tmpMiniMap2BaseDiv);tmpMiniMap2BaseDiv.outerHTML="<div id=\"oMiniMapBaseDiv\" "+"\n"+" onmousedown=\""+this.id+".OnMouseDownMiniMapBaseDiv("+"oMiniMapBaseDiv"+")\" "+"\n"+" onmousemove=\""+this.id+".OnMouseMoveMiniMapBaseDiv("+"oMiniMapBaseDiv"+")\" "+"\n"+" onmouseup=\""+this.id+".OnMouseUpMiniMapBaseDiv("+"oMiniMapBaseDiv"+")\" "+"\n"+"</div>";var iLeft=0;var iTop=0;if(this.Left !=0){iLeft=this.Left;}if(this.Top !=0){iTop=this.Top;}this.oMiniMapBaseDiv=oMiniMapBaseDiv;delete tmpMiniMap2BaseDiv;with(this.oMiniMapBaseDiv.style){position="absolute";width=0;height=0;left=iLeft;top=iTop;visibility="visible";overflow="hidden";border="1 solid black";zIndex=600;backgroundColor="blue";cursor="crosshair";}var tmpLeftImg=document.createElement("IMG");this.oMiniMapBaseDiv.appendChild(tmpLeftImg);tmpLeftImg.outerHTML=" <img id=\"oMiniMapLeftBGImg\""+"\n"+" onload=\""+this.id+".OnLoadMiniMapBGImg()\""+" >";this.oMiniMapLeftBGImg=oMiniMapLeftBGImg;with(this.oMiniMapLeftBGImg){with(style){position="absolute";right=null;left=0;top=0;zIndex=6;}}var tmpRightImg=document.createElement("IMG");this.oMiniMapBaseDiv.appendChild(tmpRightImg);tmpRightImg.outerHTML=" <img id=\"oMiniMapRightBGImg\""+"\n"+" onload=\""+this.id+".OnLoadMiniMapBGImg()\""+" >";this.oMiniMapRightBGImg=oMiniMapRightBGImg;with(this.oMiniMapRightBGImg){with(style){position="absolute";right=null;left=0;top=0;zIndex=5;}}var tmpScaleDiv=document.createElement("DIV");this.oMiniMapBaseDiv.appendChild(tmpScaleDiv);tmpScaleDiv.outerHTML=" <div id=\"oScaleDiv\" "+"\n"+" onmousedown=\""+this.id+".OnMouseDownScaleDiv()\" "+"\n"+" onmousemove=\""+this.id+".OnMouseMoveScaleDiv()\" "+"\n"+" onmouseup=\""+this.id+".OnMouseUpScaleDiv()\" > "+"\n"+" </div>";delete tmpScaleDiv;this.oScaleDiv=oScaleDiv;with(this.oScaleDiv.style){position="absolute";filter="alpha(opacity=0)";cursor="crosshair";backgroundColor="blue";left=0;top=0;width=0;height=0;zIndex=20;}var tmpShadowDiv=document.createElement("DIV");this.oMiniMapBaseDiv.appendChild(tmpShadowDiv);tmpShadowDiv.outerHTML=" <div id=\"oShadowDiv\" "+"\n"+" </div>";delete tmpShadowDiv;this.oShadowDiv=oShadowDiv;with(this.oShadowDiv.style){position="absolute";border="2 solid red";cursor="crosshair";left=0;top=0;width=0;height=0;zIndex=10;}}function OnLoadMiniMapBGImg(){if(giDouble==0){this.iLoadMiniMapBGImgCount=this.iLoadMiniMapBGImgCount+1;if(this.iLoadMiniMapBGImgCount !=2){return;}}this.ResizeMiniMap();this.iLoadMiniMapBGImgCount=0;if(this.Level==0){this.dmiDoHide();}else{this.dmiDoShow();}}
 
 function ResizeMiniMap(){
  
  this.oMiniMapBaseDiv.style.width=(giDouble==0)? this.oMiniMapLeftBGImg.width * 2 : this.oMiniMapLeftBGImg.width;this.oMiniMapBaseDiv.style.height=this.oMiniMapLeftBGImg.height;
  this.oMiniMapRightBGImg.style.left=(giDouble==0)? this.oMiniMapLeftBGImg.width : 0;
  this.Scale=parseInt(this.oMiniMapBaseDiv.style.height)/ this.oBookInfo.aLevelInfo[this.Level][3];
  
  this.oScaleDiv.style.width=parseInt(this.oBody.clientWidth)* this.Scale;
  this.oScaleDiv.style.height=parseInt(this.oBody.clientHeight)* this.Scale;
  this.oScaleDiv.style.left=Math.ceil(this.LeftRightPos.x * this.Scale);
  this.oScaleDiv.style.top=Math.ceil(this.LeftRightPos.y * this.Scale);
  
  
  this.oShadowDiv.style.width=parseInt(this.oScaleDiv.style.width)-4;
  this.oShadowDiv.style.height=parseInt(this.oScaleDiv.style.height)-4;
  this.oShadowDiv.style.left=parseInt(this.oScaleDiv.style.left);
  this.oShadowDiv.style.top=parseInt(this.oScaleDiv.style.top);
  
  }
 
 function dmiDoRescale(arg_Page,arg_Level,arg_X,arg_Y){if(arg_Level==0){return;}this.Level=arg_Level;this.LeftRightPos.x=arg_X;this.LeftRightPos.y=arg_Y;this.CurrPage=arg_Page;this.SetMiniMapBGImg();}function SetMiniMapBGImg(){switch(giDouble){case 0 : this.oMiniMapLeftBGImg.src=oDecoder2.cdeGetThumbNail(this.CurrPage-(0.5 * giLeafDirect));this.oMiniMapRightBGImg.src=oDecoder2.cdeGetThumbNail(this.CurrPage+(0.5 * giLeafDirect));break;default : this.oMiniMapLeftBGImg.src=oDecoder2.cdeGetThumbNail(this.CurrPage);break;}}function dmiDoShow(){this.oMiniMapBaseDiv.style.visibility="visible";this.oMiniMapLeftBGImg.style.visibility="visible";this.oMiniMapRightBGImg.style.visibility="visible";this.oScaleDiv.style.visibility="visible";}function dmiDoHide(){this.oMiniMapBaseDiv.style.visibility="hidden";this.oMiniMapLeftBGImg.style.visibility="hidden";this.oMiniMapRightBGImg.style.visibility="hidden";this.oScaleDiv.style.visibility="hidden";}function SetDragScaleDivClickPos(arg_X,arg_Y){this.DragScaleDivClickPos.x=arg_X;this.DragScaleDivClickPos.y=arg_Y;this.ScalePos.x=parseInt(this.oScaleDiv.style.left);this.ScalePos.y=parseInt(this.oScaleDiv.style.top);if(parseInt(this.oMiniMapBaseDiv.style.width)< parseInt(this.oScaleDiv.style.width)){this.LimitPos.MinLeft=parseInt(this.oScaleDiv.style.left);this.LimitPos.MaxLeft=parseInt(this.oScaleDiv.style.left);}else{this.LimitPos.MinLeft=0;this.LimitPos.MaxLeft=parseInt(this.oMiniMapBaseDiv.style.width)-parseInt(this.oScaleDiv.style.width);}if(parseInt(this.oMiniMapBaseDiv.style.height)< parseInt(this.oScaleDiv.style.height)){this.LimitPos.MinTop=parseInt(this.oScaleDiv.style.top);this.LimitPos.MaxTop=parseInt(this.oScaleDiv.style.top);}else{this.LimitPos.MinTop=0;this.LimitPos.MaxTop=parseInt(this.oMiniMapBaseDiv.style.height)-parseInt(this.oScaleDiv.style.height);}}function SetDragMiniMapBaseDivClickPos(arg_X,arg_Y){this.DragMiniMapBaseDivClickPos.x=arg_X;this.DragMiniMapBaseDivClickPos.y=arg_Y;this.MiniMapPos.x=parseInt(this.oMiniMapBaseDiv.style.left);this.MiniMapPos.y=parseInt(this.oMiniMapBaseDiv.style.top);if(parseInt(this.oBody.clientWidth)< parseInt(this.oMiniMapBaseDiv.style.width)){this.LimitPos.MinLeft=parseInt(this.oMiniMapBaseDiv.style.left);this.LimitPos.MaxLeft=parseInt(this.oMiniMapBaseDiv.style.left);}else{this.LimitPos.MinLeft=0;this.LimitPos.MaxLeft=parseInt(this.oBody.clientWidth)-parseInt(this.oMiniMapBaseDiv.style.width);}if(parseInt(this.oBody.clientHeight)< parseInt(this.oMiniMapBaseDiv.style.height)){this.LimitPos.MinTop=parseInt(this.oMiniMapBaseDiv.style.top);this.LimitPos.MaxTop=parseInt(this.oMiniMapBaseDiv.style.top);}else{this.LimitPos.MinTop=0;this.LimitPos.MaxTop=parseInt(this.oBody.clientHeight)-parseInt(this.oMiniMapBaseDiv.style.height);}}function DragScaleDiv(arg_x,arg_y){var iVariation_X;var iVariation_Y;var ResultDragTop=0;var ResultDragLeft=0;iVariation_X=arg_x;iVariation_Y=arg_y;ResultDragLeft=this.ScalePos.x+iVariation_X-this.DragScaleDivClickPos.x;ResultDragTop=this.ScalePos.y+iVariation_Y-this.DragScaleDivClickPos.y;if(ResultDragLeft < this.LimitPos.MinLeft){ResultDragLeft=this.LimitPos.MinLeft;}if(ResultDragTop < this.LimitPos.MinTop){ResultDragTop=this.LimitPos.MinTop;}if(ResultDragLeft > this.LimitPos.MaxLeft){ResultDragLeft=this.LimitPos.MaxLeft;}if(ResultDragTop > this.LimitPos.MaxTop){ResultDragTop=this.LimitPos.MaxTop;}this.oScaleDiv.style.left=ResultDragLeft;this.oScaleDiv.style.top=ResultDragTop;this.oShadowDiv.style.left=ResultDragLeft;this.oShadowDiv.style.top=ResultDragTop;oBook.DoScroll(-Math.round(ResultDragLeft/this.Scale),-Math.round(ResultDragTop / this.Scale));}function DragMiniMapBaseDiv(arg_X,arg_Y){var iVariation_X;var iVariation_Y;var ResultDragTop=0;var ResultDragLeft=0;iVariation_X=arg_X;iVariation_Y=arg_Y;ResultDragLeft=this.MiniMapPos.x+iVariation_X-this.DragMiniMapBaseDivClickPos.x;ResultDragTop=this.MiniMapPos.y+iVariation_Y-this.DragMiniMapBaseDivClickPos.y;if(ResultDragLeft < this.LimitPos.MinLeft){ResultDragLeft=this.LimitPos.MinLeft;}if(ResultDragTop < this.LimitPos.MinTop){ResultDragTop=this.LimitPos.MinTop;}if(ResultDragLeft > this.LimitPos.MaxLeft){ResultDragLeft=this.LimitPos.MaxLeft;}if(ResultDragTop > this.LimitPos.MaxTop){ResultDragTop=this.LimitPos.MaxTop;}this.oMiniMapBaseDiv.style.left=ResultDragLeft;this.oMiniMapBaseDiv.style.top=ResultDragTop;}function dmiOnShow(){this.SetMiniMapBGImg();this.dmiDoShow();}function dmiOnHide(){this.dmiDoHide();}function dmiDoScroll(arg_X,arg_Y){this.oScaleDiv.style.left=Math.ceil(arg_X * this.Scale);this.oScaleDiv.style.top=Math.ceil(arg_Y * this.Scale);this.oShadowDiv.style.left=this.oScaleDiv.style.left;this.oShadowDiv.style.top=this.oScaleDiv.style.top;}function dmiDoReposition(){var iLimitLeft=parseInt(this.oMiniMapBaseDiv.style.left);var iLimitTop=parseInt(this.oMiniMapBaseDiv.style.top);if(parseInt(this.oMiniMapBaseDiv.style.left)>(parseInt(this.oBody.clientWidth)-parseInt(this.oMiniMapBaseDiv.style.width))){iLimitLeft=parseInt(this.oBody.clientWidth)-parseInt(this.oMiniMapBaseDiv.style.width);}if(parseInt(this.oMiniMapBaseDiv.style.top)>(parseInt(this.oBody.clientHeight)-parseInt(this.oMiniMapBaseDiv.style.height))){iLimitTop=parseInt(this.oBody.clientHeight)-parseInt(this.oMiniMapBaseDiv.style.height);}this.oMiniMapBaseDiv.style.left=iLimitLeft;this.oMiniMapBaseDiv.style.top=iLimitTop;}function OnMouseDownScaleDiv(){switch(event.button){case 1 : this.SetDragScaleDivClickPos(event.clientX,event.clientY);this.oScaleDiv.setCapture();this.oScaleDiv.style.cursor="move";break;case 2 : break;}event.cancelBubble=true;}function OnMouseMoveScaleDiv(){var iXPos=event.clientX;var iYPos=event.clientY;switch(event.button){case 1 : setTimeout(this.id+".DragScaleDiv("+iXPos+","+iYPos+")",1);break;}event.cancelBubble=true;}function OnMouseUpScaleDiv(){switch(event.button){case 1 : this.oScaleDiv.releaseCapture();this.oScaleDiv.style.cursor="crosshair";break;}event.cancelBubble=true;}function OnMouseDownMiniMapBaseDiv(arg_Obj){this.bDowned=true;switch(event.button){case 1 : this.SetDragMiniMapBaseDivClickPos(event.clientX,event.clientY);break;case 2 : break;}}function OnMouseMoveMiniMapBaseDiv(arg_Obj){if(!this.Movable){return false;}var iXPos=event.clientX;var iYPos=event.clientY;switch(event.button){case 1 : if(this.bDowned &&((Math.abs(this.DragMiniMapBaseDivClickPos.x-event.clientX)> 3)||(Math.abs(this.DragMiniMapBaseDivClickPos.y-event.clientY)> 3))){arg_Obj.setCapture();arg_Obj.style.cursor="move";this.bDraged=true;setTimeout(this.id+".DragMiniMapBaseDiv("+iXPos+","+iYPos+")",1);}else{}break;}}function OnMouseUpMiniMapBaseDiv(arg_Obj){switch(event.button){case 1 : if(this.bDraged){arg_Obj.releaseCapture();this.bDraged=false;}else{var iNewLeft=0;var iNewTop=0;var LimitScalePos=new Limit();if(parseInt(this.oMiniMapBaseDiv.style.width)< parseInt(this.oScaleDiv.style.width)){LimitScalePos.MinLeft=parseInt(this.oScaleDiv.style.left);LimitScalePos.MaxLeft=parseInt(this.oScaleDiv.style.left);}else{LimitScalePos.MinLeft=0;LimitScalePos.MaxLeft=parseInt(this.oMiniMapBaseDiv.style.width)-parseInt(this.oScaleDiv.style.width);}if(parseInt(this.oMiniMapBaseDiv.style.height)< parseInt(this.oScaleDiv.style.height)){LimitScalePos.MinTop=parseInt(this.oScaleDiv.style.top);LimitScalePos.MaxTop=parseInt(this.oScaleDiv.style.top);}else{LimitScalePos.MinTop=0;LimitScalePos.MaxTop=parseInt(this.oMiniMapBaseDiv.style.height)-parseInt(this.oScaleDiv.style.height);}iNewLeft=event.x-parseInt(this.oMiniMapBaseDiv.style.left)-Math.ceil(parseInt(this.oScaleDiv.style.width)/ 2);iNewTop=event.y-parseInt(this.oMiniMapBaseDiv.style.top)-Math.ceil(parseInt(this.oScaleDiv.style.height)/ 2);if(iNewLeft < LimitScalePos.MinLeft){iNewLeft=LimitScalePos.MinLeft;}if(iNewTop < LimitScalePos.MinTop){iNewTop=LimitScalePos.MinTop;}if(iNewLeft > LimitScalePos.MaxLeft){iNewLeft=LimitScalePos.MaxLeft;}if(iNewTop > LimitScalePos.MaxTop){iNewTop=LimitScalePos.MaxTop;}this.oScaleDiv.style.left=iNewLeft;this.oScaleDiv.style.top=iNewTop;this.oShadowDiv.style.left=this.oScaleDiv.style.left;this.oShadowDiv.style.top=this.oScaleDiv.style.top;oBook.DoScroll(-Math.round(iNewLeft/this.Scale),-Math.round(iNewTop / this.Scale));}arg_Obj.style.cursor="crosshair";this.bDowned=false;break;}}function IntToStrDigit(arg_Num,arg_Digit){var iIdx;var lngiDigit_S;var iResult;iResult=arg_Num+"";for(iIdx=iResult.length;iIdx< arg_Digit;iIdx++){iResult='0'+iResult;}return iResult;}
