
// options = {hideElementOnResize: false, horizontal: false, vertical: false, minWidth: 100, minHeight: 45}
	function resizeElement(e, element, options)
	{
		if(!element) return false;

		if(e == null) e = window.event;
		if(e.preventDefault) e.preventDefault();

		if(options.hideElementOnResize == undefined)	options.hideElementOnResize = false;
		if(options.horizontal == undefined)				options.horizontal = false;
		if(options.vertical == undefined)				options.vertical = false;
		if(options.minWidth == undefined)				options.minWidth = 100;
		if(options.minHeight == undefined)				options.minHeight = 45;

		var resizing = new Object();

		resizing.element = element;
		resizing.startX = e.clientX;
		resizing.startY = e.clientY;
		resizing.startH = element.offsetHeight;
		resizing.startW = element.offsetWidth;
		resizing.options = options;
		resizing.oldMouseMove = document.onmousemove;
		resizing.oldMouseUp = document.onmouseup;

		if(options.hideElementOnResize)
		{
			if(options.horizontal) resizing.element.style.width = element.offsetWidth + 'px';
			if(options.vertical) resizing.element.style.height = element.offsetHeight + 'px';
			resizing.element.className = resizing.element.className + ' hidden';
		}

		document.onmousemove = resizeElement_moveHandler;
		document.onmouseup = resizeElement_cleanup;
		document.resizing = resizing;
		return false;
	}

	function resizeElement_moveHandler(e)
	{
		if(!document.resizing.element) return false;
		if(e == null) e = window.event;

		if(document.resizing.options.horizontal)
		{
			var curW = document.resizing.startW + e.clientX - document.resizing.startX;
			if(curW < document.resizing.options.minWidth) curW = document.resizing.options.minWidth;
			document.resizing.element.style.width = curW + 'px';
		}
		
		if(document.resizing.options.vertical)
		{
			var curH = document.resizing.startH + e.clientY - document.resizing.startY;
			if(curH < document.resizing.options.minHeight) curH = document.resizing.options.minHeight;
			document.resizing.element.style.height = curH + 'px';
		}
		
		return false;
	}

	function resizeElement_cleanup(e)
	{
		if(!document.resizing.element) return false;

		if(document.resizing.options.hideElementOnResize)
			document.resizing.element.className = document.resizing.element.className.replace(/ ?hidden/g, '');

		document.onmousemove = document.resizing.oldMouseMove;
		document.onmouseup = document.resizing.oldMouseUp;
		document.resizing = new Object();
	}
