// Mouse Movement Begin // Determine browser and version. function Browser() { var ua, s, s2, i; this.isIE = false; this.isNS = false; this.version = null; ua = navigator.userAgent; s = "MSIE"; s2 = "Opera"; if (((i = ua.indexOf(s)) >= 0) || ((i = ua.indexOf(s2)) >= 0)) { this.isIE = true; this.version = parseFloat(ua.substr(i + s.length)); return; } s = "Netscape6/"; if ((i = ua.indexOf(s)) >= 0) { this.isNS = true; this.version = parseFloat(ua.substr(i + s.length)); return; } // Treat any other "Gecko" browser as NS 6.1. s = "Gecko"; if ((i = ua.indexOf(s)) >= 0) { this.isNS = true; this.version = 6.1; return; } } var browser = new Browser(); // Global object to hold drag information. var dragObj = new Object(); function dragStart(event, id) { nn++; dragObj.zIndex = nn; document.getElementById(id).style.zIndex = nn; dragObj.id=id; try{ if(document.getElementById(dragObj.id).childNodes[1].childNodes[0].tagName.toLowerCase()=="iframe"){ document.getElementById(dragObj.id).childNodes[1].style.backgroundColor="#F8F8F8"; document.getElementById(dragObj.id).childNodes[1].childNodes[0].style.visibility="hidden"; } }catch(ex1){/*ignore*/} var el; var x, y; // If an element id was given, find it. Otherwise use the element being // clicked on. if (id) dragObj.elNode = document.getElementById(id); else { if (browser.isIE) dragObj.elNode = window.event.srcElement; if (browser.isNS) 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 (browser.isIE) { x = window.event.clientX + document.documentElement.scrollLeft + document.body.scrollLeft; y = window.event.clientY + document.documentElement.scrollTop + document.body.scrollTop; } if (browser.isNS) { 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 = 0; if (isNaN(dragObj.elStartTop)) dragObj.elStartTop = 0; // Update element's z-index. dragObj.elNode.style.zIndex = ++dragObj.zIndex; // Capture mousemove and mouseup events on the page. if (browser.isIE) { document.attachEvent("onmousemove", dragGo); document.attachEvent("onmouseup", dragStop); window.event.cancelBubble = true; window.event.returnValue = false; } if (browser.isNS) { document.addEventListener("mousemove", dragGo, true); document.addEventListener("mouseup", dragStop, true); event.preventDefault(); } } var xx, yy; function dragGo(event) { // var x, y; // Get cursor position with respect to the page. if (browser.isIE) { xx = window.event.clientX + document.documentElement.scrollLeft + document.body.scrollLeft; yy = window.event.clientY + document.documentElement.scrollTop + document.body.scrollTop; } if (browser.isNS) { xx = event.clientX + window.scrollX; yy = event.clientY + window.scrollY; } // Move drag element by the same amount the cursor has moved. dragObj.elNode.style.left = (dragObj.elStartLeft + xx - dragObj.cursorStartX) + "px"; dragObj.elNode.style.top = (dragObj.elStartTop + yy - dragObj.cursorStartY) + "px"; if (browser.isIE) { window.event.cancelBubble = true; window.event.returnValue = false; } if (browser.isNS) event.preventDefault(); } function dragStop(event) { PopUp[dragObj.id.substring(0,(dragObj.id.length-3))]["x"] = (dragObj.elStartLeft + xx - dragObj.cursorStartX); PopUp[dragObj.id.substring(0,(dragObj.id.length-3))]["y"] = (dragObj.elStartTop + yy - dragObj.cursorStartY); try{ if(document.getElementById(dragObj.id).childNodes[1].childNodes[0].tagName.toLowerCase()=="iframe"){ document.getElementById(dragObj.id).childNodes[1].style.backgroundColor="#FFFFFF"; document.getElementById(dragObj.id).childNodes[1].childNodes[0].style.visibility="visible"; } }catch(ex2){/*ignore*/} // Clear the drag element global. dragObj.elNode = null; // Stop capturing mousemove and mouseup events. if (browser.isIE) { document.detachEvent("onmousemove", dragGo); document.detachEvent("onmouseup", dragStop); } if (browser.isNS) { document.removeEventListener("mousemove", dragGo, true); document.removeEventListener("mouseup", dragStop, true); } }// Mouse Movement End |