var savedreqdata;

function showTip(reqdata,caller,targetId,tipPosition) {

	var r;
	var h;
	var e = $('tipbox');
	var targets = Array('tipserver','watchserver','finduserbyitem');
	var target;
		
	if (e) {
		if (reqdata !== savedreqdata) {
			closeTip();
		} else if (reqdata == savedreqdata && (Element.visible(e) == true)) {
			closeTip();
			return;
		}

		if (targetId == 2) {
			target = targets[1];
		} else if (targetId == 3) {
			target = targets[2];
		} else {
			target = targets[0];
		}
	
		if (caller) {
			Position.prepare();
			var offset = Position.cumulativeOffset(caller);
		}

		if (Element.visible(e) == false) {
			var myAjax = new Ajax.Request(server+'daemon_'+target+'.php', {
							method: 'get',
							parameters: 'reqdata='+reqdata,
							onComplete:	function(request) {
							//alert(request.responseText);
											Element.update(e,request.responseText);
							 				positionTip(offset[0],offset[1],tipPosition);
										}
			});
		}
		savedreqdata = reqdata;
	}
}

function positionTip (targetx,targety,tipPosition) {

	var e = $('tipbox');
	
	Position.prepare();
	var h = Element.getDimensions(e);

	e.style.top		= Math.ceil((targety-(h.height/2)))+'px';

	if (tipPosition == 'l') {
		e.style.left	= Math.ceil((targetx-10-h.width))+'px';		
	} else {
		e.style.left	= Math.ceil((targetx+30))+'px';
	}
	Element.show(e);
}

function closeTip() {
	var e;
	e = $('tipbox');
	Element.empty(e);
	Element.hide(e);
}