// drag management START ----------------------------------------------- var actualStyle=""; var dragObj = new Object(); var zIndex = 1; function dragStart(event, id) { var el; var x, y; // If an element id was given, find it. Otherwise use the element being // clicked on. if (id) dragObj.elNode = obj(id); else { if (isExplorer) dragObj.elNode = window.event.srcElement; else dragObj.elNode = event.target; // If this is a text node, use its parent element. if (dragObj.elNode.nodeType == 3) dragObj.elNode = dragObj.elNode.parentNode; } // Get cursor position with respect to the page. if (isExplorer) { x = window.event.clientX + document.documentElement.scrollLeft + document.body.scrollLeft; y = window.event.clientY + document.documentElement.scrollTop + document.body.scrollTop; } else { x = event.clientX + window.scrollX; y = event.clientY + window.scrollY; } // Save starting positions of cursor and element. dragObj.cursorStartX = x; dragObj.cursorStartY = y; dragObj.elStartLeft = parseInt(dragObj.elNode.style.left, 10); dragObj.elStartTop = parseInt(dragObj.elNode.style.top, 10); if (isNaN(dragObj.elStartLeft)) dragObj.elStartLeft = getAbsoluteLeft(dragObj.elNode); if (isNaN(dragObj.elStartTop)) dragObj.elStartTop = getAbsoluteTop(dragObj.elNode); // Update element's z-index. function findContainer(theEl){ while (theEl.getAttribute("type")!="container") { theEl= theEl.parentNode; } return theEl; } var theContainer=findContainer(dragObj.elNode); //dragObj.elNode.style.zIndex = dragObj.zIndex++; zIndex++; theContainer.style.zIndex = zIndex; //scriptDebugger(theContainer.id,theContainer.style.zIndex); // Capture mousemove and mouseup events on the page. actualStyle= dragObj.elNode.className; if (isExplorer) { document.attachEvent("onmousemove", dragGo); document.attachEvent("onmouseup", dragStop); window.event.cancelBubble = true; window.event.returnValue = false; }else { document.addEventListener("mousemove", dragGo, true); document.addEventListener("mouseup", dragStop, true); event.preventDefault(); } } function dragGo(event) { var x, y, candidateLeft, candidateTop; // Get cursor position with respect to the page. if (isExplorer) { x = window.event.clientX + document.documentElement.scrollLeft + document.body.scrollLeft; y = window.event.clientY + document.documentElement.scrollTop + document.body.scrollTop; } else { x = event.clientX + window.scrollX; y = event.clientY + window.scrollY; } // Move drag element by the same amount the cursor has moved. candidateLeft = dragObj.elStartLeft + x - dragObj.cursorStartX; dragObj.elNode.style.left = ((candidateLeft>=0)?candidateLeft:0) + "px"; candidateTop = dragObj.elStartTop + y - dragObj.cursorStartY; dragObj.elNode.style.top = ((candidateTop>=0)?candidateTop:0) + "px"; dragObj.elNode.className = actualStyle+" drag"; if (isExplorer) { window.event.cancelBubble = true; window.event.returnValue = false; } else event.preventDefault(); } function dragStop(event) { dragObj.elNode.className = actualStyle; // Stop capturing mousemove and mouseup events. if (isExplorer) { document.detachEvent("onmousemove", dragGo); document.detachEvent("onmouseup", dragStop); } else { document.removeEventListener("mousemove", dragGo, true); document.removeEventListener("mouseup", dragStop, true); } } // drag management END ----------------------------------------------- function contractContent(contId){ theContent=obj(contId); if (theContent.style.display=="block" || theContent.style.display=="") { theContent.style.display="none"; } else { theContent.style.display=""; } } function swapStatusImage(contId,imgId,maxPicture,minPicture){ theContent=obj(contId); img=obj(imgId); if (theContent.style.display=="block" || theContent.style.display==""){ img.src=minPicture; }else { img.src=maxPicture; } }