///////////////////////////////////////////////////////////////////////
//     This script was designed by Erik Arvidsson for WebFX          //
//                                                                   //
//     For more info and examples see: http://webfx.eae.net          //
//     http://www.insidedhtml.com/tips/webfx/ts01/page1.asp          //
//     or send mail to erik@eae.net                                  //
//                                                                   //
//     Feel free to use this code as lomg as this disclaimer is      //
//     intact.                                                       //
///////////////////////////////////////////////////////////////////////

if (is_nav4up){
	document.captureEvents(Event.MouseMove);
	document.captureEvents(Event.MouseDown);
	document.captureEvents(Event.MouseUp);
	}

document.onmousedown = moveme_onmousedown;
document.onmouseup = moveme_onmouseup;
document.onmousemove = moveme_onmousemove;

var checkZIndex = true;
var dragobject = null;
var dragtype = "";
var tx;
var ty;
var wl;
var wr;
var paneleft=null;
var paneright=null;
var ie5 = document.all != null && document.getElementsByTagName != null;


function moveme_onmousedown(e) {
	if (is_nav4up) {
		var el = e.target;
		//document.getElementById("counters").innerText=e.target.id;
		}
	if (is_ie5up) {
		var el = window.event.srcElement;
		}
	if (el.type) {
		switch(el.getAttribute("type")){
			case "handle":
				dragtype = "dialog"
				tmp = el.getAttribute("handlefor");
				if (tmp == null) {
					dragobject = null;
					return;
					}
				else {
					dragobject = document.getElementById(tmp);
					}
				if (checkZIndex){
					makeOnTop(dragobject);
					}
				if (is_nav4up){
					ty = e.screenY - getTopPos(dragobject);
					tx = e.screenX - getLeftPos(dragobject);
					e.returnValue = false;
					e.cancelBubble = true;
					document.getElementById("counters").innerText=tx + ", " + ty;
					}
				if (is_ie5up){
					ty = window.event.clientY - getTopPos(dragobject);
					tx = window.event.clientX - getLeftPos(dragobject);
					window.event.returnValue = false;
					window.event.cancelBubble = true;
					}
				break;
			case "panes":
				dragtype = "panes"
				var paneL = el.getAttribute("leftpane");
				var paneR = el.getAttribute("rightpane");
				paneleft = document.getElementById(paneL);
				paneright = document.getElementById(paneR);
				tx = window.event.clientX ;
				wl = paneleft.style.pixelWidth;
				window.event.returnValue = false;
				window.event.cancelBubble = true;
				break;
			}
		}
	else {
		dragobject = null;
		}
	//document.getElementById("counters").innerText=tx + ", " + ty;
	}

function moveme_onmouseup(e) {
	if(dragobject) {
		dragobject = null;
		}
	if(paneleft) {
		paneleft = null;
		paneright = null;
		}
	}

function moveme_onmousemove(e) {
	if (dragobject) {
		if (is_nav4up){
			if (e.screenX >= 0 && e.screenY >= 0) {
				dragobject.style.left = e.screenX - tx;
				dragobject.style.top = e.screenY - ty;
				}
			e.returnValue = false;
			e.cancelBubble = true;
			}
		if (is_ie5up){
			if (window.event.clientX >= 0 && window.event.clientY >= 0) {
				dragobject.style.left = window.event.clientX - tx;
				dragobject.style.top = window.event.clientY - ty;
				}
			window.event.returnValue = false;
			window.event.cancelBubble = true;
			}
		}
	if (paneleft) {
		if (window.event.clientX >= 0) {
			document.getElementById("content").innerHTML= "width left: "+paneleft.style.pixelWidth + "<br>change: "+(window.event.clientX - tx);
			if (wl + (window.event.clientX - tx) > 20){
				paneleft.style.pixelWidth = wl + (window.event.clientX - tx);
				}
			//paneright.style.pixelWidth = paneleft.style.pixelWidth - (window.event.clientX - tx);
			}
		window.event.returnValue = false;
		window.event.cancelBubble = true;
		}
	}

function getLeftPos(el) {
	if (is_ie5up) {
		if (el.currentStyle.left == "auto"){
			return 0;
			}
		else {
			return parseInt(el.currentStyle.left);
			}
		}
	else {
		return el.style.pixelLeft;
		}
	}

function getTopPos(el) {
	if (is_ie5up) {
		if (el.currentStyle.top == "auto")
			return 0;
		else 
			return parseInt(el.currentStyle.top);
		}
	else {
		return el.style.pixelTop;
		}
	}

function makeOnTop(el) {
	var daiz;
	var max = 0;
	var da = document.all;
	for (var i=0; i<da.length; i++) {
		daiz = da[i].style.zIndex;
		if (daiz != "" && daiz > max)
			max = daiz;
		}
	el.style.zIndex = max + 1;
	}


//document.write("<style>");
//document.write(".mMessage	{cursor: move;}");
//document.write(".handle	{cursor: move; font:11px Sans-serif;color:#ffffff}");
//document.write("</style>");