var dragObject = null;
var floatDiv = null;

function mouseCoords(ev) {
	if (ev.pageX || ev.pageY)
		return { x: ev.pageX, y: ev.pageY };
	return {
		x: ev.clientX + document.body.scrollLeft - document.body.clientLeft,
		y: ev.clientY + document.body.scrollTop - document.body.clientTop
	};
}

function mouseMove(ev) {
	ev = ev || window.event;
	var target = ev.target || ev.srcElement;
	var mousePos = mouseCoords(ev);

	if (dragObject) {
		if (floatNode) {
			floatNode.style.display = 'block';
			if (floatNode.style && (typeof(floatNode.style.left) == 'string')) {
				floatNode.style.top = (mousePos.y) + 'px';
				floatNode.style.left = (mousePos.x + 2) + 'px';
			} else if (floatNode.style) {
				floatNode.style.top = mousePos.y;
				floatNode.style.left = (mousePos.x + 2);
			}
		}
		return false;
	}
}

function mouseUp(ev) {
	ev = ev || window.event;

	if (dragObject) {
		if (document.removeEventListener) { // W3C
			document.removeEventListener('mousemove', mouseMove, false);
			document.removeEventListener('mouseup', mouseUp, false);
		} else if (document.detachEvent) { // IE
			document.detachEvent('onmousemove', mouseMove);
			document.detachEvent('onmouseup', mouseUp);
		}

		var mousePos = mouseCoords(ev);
		var porownaj = e('porownaj');
		var por_tl = getPosition(porownaj);
		var por_br = { x: por_tl.x, y: por_tl.y };

		por_br.x += porownaj.offsetWidth.asInteger();
		por_br.y += porownaj.offsetHeight.asInteger();

		if ( (mousePos.x > por_tl.x) && (mousePos.x < por_br.x) && (mousePos.y > por_tl.y) && (mousePos.y < por_br.y) ) {
			var a = Ajax('/ajax/porownaj-' + floatNode.tel_id + '.html');
			loadingShow('pcont', 'Ładuję...');
			a.onSuccess = function () {
				loadingHide('pcont');
				setInner(this.HTTP.responseText, 'pcont');
			}
			a.GET();
		}

		if (floatNode) {
			e('container').removeChild(floatNode);
			floatNode = null;
		}
		
	}
	dragObject = null;
}

function makeDraggable(item, id, name, img) {
	if (!item) return;

	if (id.indexOf('t_') == 0) id = id.substring(2, id.length);

	item.onmousedown = function(ev) {
		dragObject = this;
		document.onmousemove = mouseMove;
		document.onmouseup = mouseUp;
		
		floatNode = document.createElement('div');
		floatNode.id = 'float_' + id;
		floatNode.className = 'floatNode';
		floatNode.tel_id = id;
		floatNode.innerHTML = name + '<br /><img src="' + img + '" alt="' + name + '" />';
		floatNode.style.display = 'none';
		e('container').insertBefore(floatNode, e('container').firstChild);
		
		return false;
	}
}

