/*
 * drag.js
 * Draggable Dom Elements
 * Written By Dean Forrest
 *
 * $Date: 2008-10-01 $
 * $Rev: 1 $
 */
var browser=new Browser();var dragObj=new Object();dragObj.zIndex=0;function Browser(){var ua,s,i;this.isIE=false;this.isNS=false;this.version=null;ua=navigator.userAgent;s="MSIE";if((i=ua.indexOf(s))>=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;}s="Gecko";if((i=ua.indexOf(s))>=0){this.isNS=true;this.version=6.1;return;}}function opacity(value,obj){if(browser.isIE){obj.style.filter="alpha(opacity="+value+")";}else{obj.style.mozOpacity=(value/100);}}function dragStart(event,id){var el;var x,y;if(id){dragObj.elNode=document.getElementById(id);}else{if(browser.isIE){dragObj.elNode=window.event.srcElement;}if(browser.isNS){dragObj.elNode=event.target;}if(dragObj.elNode.nodeType==3){dragObj.elNode=dragObj.elNode.parentNode;}}opacity(50,dragObj.elNode);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;}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=dragObj.elNode.offsetLeft;if(isNaN(dragObj.elStartTop))dragObj.elStartTop=dragObj.elNode.offsetTop;dragObj.elNode.style.zIndex=++dragObj.zIndex;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();}}function dragGo(event){var x,y;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;}dragObj.elNode.style.left=(dragObj.elStartLeft+x-dragObj.cursorStartX)+"px";dragObj.elNode.style.top=(dragObj.elStartTop+y-dragObj.cursorStartY)+"px";if(browser.isIE){window.event.cancelBubble=true;window.event.returnValue=false;}if(browser.isNS)event.preventDefault();}function dragStop(){opacity(99,dragObj.elNode);if(browser.isIE){document.detachEvent("onmousemove",dragGo);document.detachEvent("onmouseup",dragStop);}if(browser.isNS){document.removeEventListener("mousemove",dragGo,true);document.removeEventListener("mouseup",dragStop,true);}}function pushToFront(id){dragObj.elNode=document.getElementById(id);dragObj.elNode.style.zIndex=++dragObj.zIndex;}
