/*
    Copyright (c) Aram, 2006
    E-Mail: arnix.at@gmail.com
*/


var is_gecko = /gecko/i.test(navigator.userAgent);
var is_ie    = /MSIE/.test(navigator.userAgent);

function EBI(id)
{
	var ob = document.getElementById(id);
	if (ob) { return ob; } else { return false; } 
}

function movdiv(l_divname)
{
	var dobj = EBI(l_divname);
	var headobj = EBI(l_divname+'_head');
	if (headobj == false) headobj = EBI(l_divname);
	var bodyobj = EBI(l_divname+'_body');
	var clobj = EBI(l_divname+'_close');
	var minobj = EBI(l_divname+'_minimize');
	var difX, difY;
	var oldLeft, oldTop;
	var canMove = false;
	var minimized = false;
	
	var handleMouseDown = function(e)
	{
		difX = e.clientX - parseInt(dobj.style.left);
		difY = e.clientY - parseInt(dobj.style.top);
		canMove = true;
		if (!is_ie)
			e.preventDefault();
		else
		{
		    window.event.cancelBubble = true;
		    window.event.returnValue = false;
		}
	}
	var handleMouseUp = function(e)
	{
		canMove = false;
	}
	var handleMouseMove = function(e)
	{
		if (canMove == true)
		{
			if (is_gecko)
			{
				if (((e.clientX - difX) > window.scrollX) && ((e.clientX - difX + parseInt(dobj.style.width)) < (window.innerWidth + window.scrollX - 25)))
					dobj.style.left = e.clientX - difX + 'px';
				if (((e.clientY - difY) > window.scrollY) && ((e.clientY - difY + parseInt(dobj.style.height)) < window.innerHeight + window.scrollX))
					dobj.style.top = e.clientY - difY + 'px';
			}
			else
			{
				if (((e.clientX - difX) > document.body.scrollLeft) && ((e.clientX - difX + parseInt(dobj.style.width)) < (document.body.clientWidth + document.body.scrollTop - 25)))
					dobj.style.left = e.clientX - difX + 'px';
				if (((e.clientY - difY) > document.body.scrollTop) && ((e.clientY - difY + parseInt(dobj.style.height)) < document.body.clientHeight + document.body.scrollLeft))
					dobj.style.top = e.clientY - difY + 'px';				
			}
			if (!is_ie)
				e.preventDefault();
			else
			{
			    window.event.cancelBubble = true;
			    window.event.returnValue = false;
			}
		}
	}
	var handleCloseBtn = function(e)
	{
		dobj.style.display = "none";
	}
	var handleMinimizeBtn = function(e)
	{
		if (minimized == false)
		{
			bodyobj.style.display = "none";
			oldLeft = dobj.style.left;
			oldTop = dobj.style.top;
			dobj.style.left = document.body.scrollLeft;
			dobj.style.top = document.body.scrollTop + document.body.scrollHeight - headobj.offsetHeight - 5;
			minimized = true;
		}
		else
		{
			bodyobj.style.display = "";
			dobj.style.left = oldLeft;
			dobj.style.top = oldTop;
			minimized = false;
		}
	}

	if (is_gecko)
	{
		if (headobj) headobj.addEventListener("mousedown", handleMouseDown, true);
		document.addEventListener("mouseup", handleMouseUp, true);
		document.addEventListener("mousemove", handleMouseMove, true);
		if (clobj) clobj.addEventListener("click", handleCloseBtn, true);
		if (minobj) minobj.addEventListener("click", handleMinimizeBtn, true);
	}
	else
	{
		if (headobj) headobj.attachEvent("onmousedown", handleMouseDown);
		document.attachEvent("onmouseup", handleMouseUp);
		document.attachEvent("onmousemove", handleMouseMove);
		if (clobj) clobj.attachEvent("onclick", handleCloseBtn);
		if (minobj) minobj.attachEvent("onclick", handleMinimizeBtn);		
	}
}
