// Déclaration des variables var isNav, isIE var offsetX, offsetY var selectedObj // Affectation des valeurs var enlargefactor=5 var largewidth = 455 var largeheight = 523 var largeleft = 250 var largetop = 30 var mapwidth = Math.floor(largewidth/enlargefactor) var mapheight = Math.floor(largeheight/enlargefactor) var mapleft = 50 var maptop = 30 var searchwidth = 32 var searchheight = 32 var searchleft = 470 var searchtop = 218 var difleft= largeleft-mapleft var diftop= largetop-maptop var clippoints var cliptop = (mapheight-searchheight)*enlargefactor var clipbottom = cliptop+(searchheight*enlargefactor) var clipleft =(mapwidth-searchwidth)*enlargefactor var clipright = clipleft+(searchwidth*enlargefactor) if (parseInt(navigator.appVersion) >= 4) { if (navigator.appName == "Netscape") { isNav = true } else { isIE = true } } function setZIndex(obj, zOrder) { obj.zIndex = zOrder } function shiftTo(obj, x, y) { if (isNav) { obj.moveTo(x,y) } else { obj.pixelLeft = x obj.pixelTop = y } cliptop = (y-maptop)*enlargefactor clipbottom = cliptop+(searchheight*enlargefactor) clipleft = (x-mapleft)*enlargefactor clipright = clipleft+(searchwidth*enlargefactor) if (document.layers) { 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 } } function setSelectedElem(evt) { if (isNav) { 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 setZIndex(selectedObj, 100) return } } } else { var imgObj = window.event.srcElement if (imgObj.parentElement.id.indexOf("search") != -1) { selectedObj = imgObj.parentElement.style setZIndex(selectedObj,100) return } } selectedObj = null return } function dragIt(evt) { if (selectedObj) { if (isNav) { shiftTo(selectedObj, (evt.pageX - offsetX), (evt.pageY - offsetY)) } else { document.form1.xy.value = eval(window.event.clientX - offsetX - mapleft) + ';' + eval(window.event.clientY - offsetY - maptop); shiftTo(selectedObj, (window.event.clientX - offsetX), (window.event.clientY - offsetY)) return false } } } function engage(evt) { setSelectedElem(evt) if (selectedObj) { if (isNav) { offsetX = evt.pageX - selectedObj.left offsetY = evt.pageY - selectedObj.top } else { offsetX = window.event.offsetX offsetY = window.event.offsetY } } return false } // Désactive l'activation du drag & drop function release(evt) { if (selectedObj) { setZIndex(selectedObj, 0) selectedObj = null } } // Capture la position de la souris function setNavEventCapture() { if (isNav) { document.captureEvents(Event.MOUSEDOWN | Event.MOUSEMOVE | Event.MOUSEUP) } } function checkPos () { (evt.pageX - offsetX); (evt.pageY - offsetY); } // Initialisation des layers function init() { if (document.layers) { document.map.left=mapleft document.map.top=maptop document.search.left=searchleft document.search.top=searchtop setNavEventCapture() } if (document.all) { document.all.map.style.posLeft=mapleft document.all.map.style.posTop=maptop document.all.search.style.posLeft=searchleft document.all.search.style.posTop=searchtop } // Associe les fonctions aux évenements document.onmousedown = engage document.onmousemove = dragIt document.onmouseup = release }