// Feb - 2004
// webmaster - Martin Gayer

// -------------------------------------------
// --- declaration of variables ---
// -------------------------------------------
var browserNS4 = false;
var browserNS6 = false;
var browserIE4 = false;
var browserIE5 = false;
var browserIE6 = false;
var browserOP7 = false;
var browserNotDefined = false;
// global variable for browser_splitLinkForLanguage()
var laSign;



var offsetX, offsetY
var selectedObj 

var enlargefactor=3

var largewidth = 732
var largeheight = 564
var largeleft = 575
var largetop = 330

var thumbwidth = Math.floor(largewidth/enlargefactor)
var thumbheight = Math.floor(largeheight/enlargefactor)
var thumbleft = 175
var thumbtop = 330

var mglasswidth = 112
var mglassheight = 112
var mglassleft = 395
var mglasstop = 500

var difleft= largeleft-thumbleft
var diftop= largetop-thumbtop

var clippoints

var cliptop = (thumbheight-mglassheight)*enlargefactor
var clipbottom = cliptop+(mglassheight*enlargefactor)
var clipleft =(thumbwidth-mglasswidth)*enlargefactor
var clipright = clipleft+(mglasswidth*enlargefactor)


function loupe_setZIndex(obj, zOrder)
{
   obj.zIndex = zOrder
}

function loupe_shiftTo(obj, x, y)
{
   if (browserNS4)
   {
      obj.moveTo(x,y)
   }
   else if(browserNS6)
   {
      obj.left = x
      obj.top = y
   }
   else
   {
      obj.pixelLeft = x
      obj.pixelTop = y
   }


   cliptop = (y-thumbtop)*enlargefactor
   clipbottom = cliptop+(mglassheight*enlargefactor)
   clipleft = (x-thumbleft)*enlargefactor
   clipright = clipleft+(mglasswidth*enlargefactor)

	
   if (document.all)
   {
      clippoints ="rect("+cliptop+" "+clipright+" "+clipbottom+" "+clipleft+")"
      document.all.large.style.posTop=largetop-cliptop
      document.all.large.style.posLeft=largeleft-clipleft
      document.all.large.style.clip=clippoints
   }
   else
   {
      if(browserNS4)
      {
         //until netscape version 4
         document.large.top=largetop-cliptop
         document.large.left=largeleft-clipleft
         document.large.clip.left = clipleft
         document.large.clip.right = clipright
         document.large.clip.top = cliptop
         document.large.clip.bottom = clipbottom
      }
      else
      {
         // for netscape version 6, 7 and mozilla (css-style like w3c !!)
         clippoints ="rect("+cliptop+" "+clipright+" "+clipbottom+" "+clipleft+")"
         document.getElementById("large").style.top=largetop-cliptop
         document.getElementById("large").style.left=largeleft-clipleft
         document.getElementById("large").style.clip=clippoints
      }
   }
}

function loupe_setSelectedElem(evt)
{
   if(browserNS4)
   {
      var testObj
      var clickX = evt.pageX
      var clickY = evt.pageY

      for (var i = document.layers.length - 1; i >= 0; i--)
      {
         testObj = document.layers[i]
         if ((clickX > testObj.left) && 
		 (clickX < testObj.left + testObj.clip.width) && 
		 (clickY > testObj.top) && 
		 (clickY < testObj.top + testObj.clip.height))
         {
            selectedObj = testObj
            loupe_setZIndex(selectedObj, 100)
            return
         }
      }
   }
   else if(browserNS6)
   {
      var imgObj = evt.target
      if (imgObj.parentNode.id.indexOf("mglass") != -1)
      {
         selectedObj = imgObj.parentNode.style
         loupe_setZIndex(selectedObj,100)
         return
      }
   }
   else
   {
      var imgObj = window.event.srcElement
      if (imgObj.parentElement.id.indexOf("mglass") != -1)
      {
         selectedObj = imgObj.parentElement.style
         loupe_setZIndex(selectedObj,100)
         return
      }
   }

   selectedObj = null
   return
}

function loupe_dragIt(evt)
{
   if (selectedObj)
   {
      if(browserNS4) loupe_shiftTo(selectedObj, (evt.pageX - offsetX), (evt.pageY - offsetY))
      else if(browserNS6) loupe_shiftTo(selectedObj, (evt.clientX - offsetX), (evt.clientY - offsetY))
      else
      {
         loupe_shiftTo(selectedObj, (window.event.clientX - offsetX), (window.event.clientY - offsetY))
         return false
      }
   }
}

function loupe_engage(evt)
{
   loupe_setSelectedElem(evt)
   if (selectedObj)
   {
      if(browserNS4)
      {
         offsetX = evt.pageX - selectedObj.left
         offsetY = evt.pageY - selectedObj.top
      }
      else if(browserNS6)
      {
         offsetX = evt.clientX - parseInt(selectedObj.left)
         offsetY = evt.clientY - parseInt(selectedObj.top)
      }
      else
      {
         offsetX = window.event.offsetX
         offsetY = window.event.offsetY
      }
   }
   return false
}

function loupe_release(evt)
{
   if (selectedObj)
   {
      loupe_setZIndex(selectedObj, 0)
      selectedObj = null
   }
}

function loupe_setNavEventCapture()
{
   document.captureEvents(Event.MOUSEDOWN | Event.MOUSEMOVE | Event.MOUSEUP)
}

function loupe_init()
{
   browser_checkNavigator();
   //browser_splitLinkForLanguage();
   
   // position grafics on screen
   if(browserNS4)   //until netscape version 4
   { 
      document.large.left=largeleft
      document.large.top=largetop

      document.framegif.left=largeleft-15
      document.framegif.top=largetop-15

      document.thumb.left=thumbleft
      document.thumb.top=thumbtop
	
      document.mglass.left=mglassleft
      document.mglass.top=mglasstop
		
      document.large.clip.left = 0
      document.large.clip.right = 0
      document.large.clip.top = 0
      document.large.clip.bottom = 0
      
      loupe_setNavEventCapture();
   }
   else if(browserNS6)   // for netscape version 6, 7 and mozilla (css-style like w3c !!)
   {
      document.getElementById("large").style.left=largeleft
      document.getElementById("large").style.top=largetop

      document.getElementById("framegif").style.left=largeleft-15
      document.getElementById("framegif").style.top=largetop-15
		
      document.getElementById("thumb").style.left=thumbleft
      document.getElementById("thumb").style.top=thumbtop

      document.getElementById("mglass").style.left=mglassleft
      document.getElementById("mglass").style.top=mglasstop

      document.getElementById("large").style.clip="rect(0 0 0 0)"

      loupe_setNavEventCapture();
   }
   else
   {
      document.all.large.style.posLeft=largeleft
      document.all.large.style.posTop=largetop
		
      document.all.framegif.style.posLeft=largeleft-15
      document.all.framegif.style.posTop=largetop-15
	
      document.all.thumb.style.posLeft=thumbleft
      document.all.thumb.style.posTop=thumbtop
	
      document.all.mglass.style.posLeft=mglassleft
      document.all.mglass.style.posTop=mglasstop
      document.all.large.style.clip="rect(0 0 0 0)"
   }
	
   // main functions
   document.onmousedown = loupe_engage
   document.onmousemove = loupe_dragIt
   document.onmouseup = loupe_release
}

