/********************************************************
*    copyright (c) Label Technologies SA, 2001-2004     *
*    http://www.labeltechnologies.com                   *
*****************************************************BS*/

var g_objFrame,
    g_objZoom,
    g_objImgModel,
    g_objImgZoomFrame,
    g_objCache,
    g_objOverflow,
    g_intSrcX,
    g_intSrcY,
    g_intZoomX,
    g_intZoomY,
    g_intRatioX,
    g_intRatioY,
    g_bolLocked=false,
    g_bolClickListen=true,
    g_intTimer;


function initZoom(intDecal, xPos, yPos) {
  if(!intDecal) var intDecal=0;

  g_intRatioX=IMG_ZOOM_WIDTH / IMG_MODEL_WIDTH,
  g_intRatioY=IMG_ZOOM_HEIGHT / IMG_MODEL_HEIGHT,
  
  loadImageZoom();
  g_objFrame=getE("divFrame");
  g_objOverflow=getE("divOverflow");
  g_objCache=getE("divCache");
  g_objZoom=getE("divZoom",g_objOverflow);
  g_objImgModel=getI("imgModel");
//  g_objImgZoomFrame=getI("imgZoomFrame");
  g_intSrcX=getIPageX(g_objImgModel);
  g_intSrcY=getIPageY(g_objImgModel);
//  g_intZoomX=getIPageX(g_objImgZoomFrame);
//  g_intZoomY=getIPageY(g_objImgZoomFrame);

  g_intZoomX = xPos;
  g_intZoomY = yPos;

  var x,y,x2,y2

  x=IMG_MODEL_WIDTH/2  + g_intSrcX-220;
  y=IMG_MODEL_HEIGHT/2 + g_intSrcY;
  if(g_objOverflow) {
    setX(g_objOverflow,g_intZoomX);
    setY(g_objOverflow,g_intZoomY);
    setW(g_objOverflow,INT_ZOOM_WIDTH);
    setH(g_objOverflow,INT_ZOOM_HEIGHT);
  }
  setX(g_objCache,g_intZoomX-5);
  setY(g_objCache,g_intZoomY-5);
  
  showE(g_objCache);
  y+=intDecal;
  if(!mac) positionFrame(x,y);
}

function positionFrame(x,y) {
  x-=INT_FRAME_WIDTH/2;
  y-=INT_FRAME_HEIGHT/2;
  
  if(x<g_intSrcX) return;
  if(y<g_intSrcY) return;
  if(x>g_intSrcX+IMG_MODEL_WIDTH-INT_FRAME_WIDTH) return;
  if(y>g_intSrcY+IMG_MODEL_HEIGHT-INT_FRAME_HEIGHT) return;

  if(g_objFrame) {
    setX(g_objFrame,x);
    setY(g_objFrame,y);
    showE(g_objFrame);
  }
  positionZoom(x,y);
}

function positionZoom(x,y) {
  x2=- g_intRatioX*(x-g_intSrcX)
  y2=- g_intRatioY*(y-g_intSrcY)
  if(g_objZoom) {
    setX(g_objZoom,x2);
    setY(g_objZoom,y2);
    setClip(g_objZoom,g_intRatioY*(y-g_intSrcY),g_intRatioX*(x-g_intSrcX)+INT_ZOOM_WIDTH,g_intRatioY*(y-g_intSrcY)+INT_ZOOM_HEIGHT,g_intRatioX*(x-g_intSrcX));
    showE(g_objZoom);
  }
}

function mouseMoveManager(x,y) {
//  window.status=g_bolLocked;
  if(g_bolLocked) return;
  positionFrame(x,y);
}

function mouseDownManager(x,y) {
  var x,y;
  if(x-INT_FRAME_WIDTH/2<g_intSrcX || y-INT_FRAME_HEIGHT/2<g_intSrcY || x-INT_FRAME_WIDTH/2>g_intSrcX+IMG_MODEL_WIDTH-INT_FRAME_WIDTH || y-INT_FRAME_HEIGHT/2>g_intSrcY+IMG_MODEL_HEIGHT-INT_FRAME_HEIGHT) return;
  if(g_bolClickListen) {
    if(g_bolLocked) {
      g_bolLocked=false;
      positionFrame(x,y);
      clearTimeout(g_intTimer);
      g_bolClickListen=false;
      setTimeout("releaseClickListen();",200);
    } else {
      g_bolLocked=true;
      g_bolClickListen=false;
      setTimeout("releaseClickListen();",200);
      g_intTimer=setTimeout("unlock();",5000);
    }
  }
}

function releaseClickListen() {
  g_bolClickListen=true;
}
function unlock() {
  g_bolLocked=false;
}

