var cTimer = 0;				// timer for cursor stop
var cX, cY;

function findLivePageWidth() {
	if (window.innerWidth != null) return window.innerWidth;
	if (document.body.clientWidth != null) return document.body.clientWidth;
	return (null);
}

// pops up text at evt location
//		(requires findDOM.js)
function popUp(evt, objectID) {
	if ( (isDHTML) && !(m_zbxZoom.isInProgress) && !(m_iToolMode == 1) ) {

	
		if (evt.x) {
			showMaptip(evt.x, evt.y, objectID)
		} else if (evt.pageX) {
			showMaptip(evt.pageX, evt.pageY, objectID)
		}
	}	
	else {
	
		showMaptipTool(objectID);
		return;
	}
	

}

function showMaptip(x, y, objectID) {
	var livePageWidth = findLivePageWidth();
	var domStyle = findDOM(objectID,1);
	var dom = findDOM(objectID,0);
	var state = domStyle.visibility;
	if (dom.offsetWidth) {
		var elemWidth = dom.offsetWidth;
	} else {
		if (dom.clip.width) var elemWidth = dom.clip.width;
	}
	if (state == "visible" || state == "show") {
		domStyle.visibility = "hidden";
	} else {
		var topVal = y+4;
		var leftVal = x;
		if (isID && isIE) {
			topVal += document.body.scrollTop;
			leftVal += document.body.scrollLeft;
		}
		if (leftVal < 2) {
			leftVal = 2;
		} else {
			if ((leftVal + elemWidth) > livePageWidth) {
				leftVal = leftVal - (elemWidth/2); }
		}
		domStyle.top = topVal; // positions element from the top
		domStyle.left = leftVal // positions element from the left
		domStyle.visibility = "visible";
		//document.getElementById('9LAYER').style.visibility		=   'visible';
	}
	//document.getElementById('tab1').style.visibility		=   'visible';
	//document.getElementById('9LAYER').style.visibility		=   'visible';		
}

function showToolHelp(objectID) {
	var domStyle = findDOM(objectID,1);
	domStyle.visibility = "visible";
	document.getElementById('9LAYER').style.visibility		=   'visible';
	document.getElementById('tab1').style.visibility		=   'visible';

}
function hideToolHelp(objectID) {
	var domStyle = findDOM(objectID,1);
	domStyle.visibility = "hidden";
}

function showMaptipTool(objectID) {
	var livePageWidth = findLivePageWidth();
	var domStyle = findDOM(objectID,1);
	var dom = findDOM(objectID,0);
	var state = domStyle.visibility;
	

	if (state == "visible" || state == "show") {
		domStyle.visibility = "hidden";
	} else {
		domStyle.top = 70;
		domStyle.left = 530;
		domStyle.Width = 300;
		domStyle.visibility = "visible";
	}
}

function hideMaptip(evt, objectID) {
	if (isDHTML) {
		clearTimeout(cTimer);
		var domStyle = findDOM(objectID,1);
		var state = domStyle.visibility;
		if (state == "visible" || state == "show") {
			domStyle.visibility = "hidden";
		}
	}
}

function trackCursor(evt, objectID) {
	if (isDHTML) {
		var newX, newY
		if (evt.pageX) {
			newX = evt.pageX;
			newY = evt.pageY;
		} else {
			newX = evt.x;
			newY = evt.y;
		}
		var pF = "showMaptip(" + newX + "," + newY + ",'" + objectID + "')";
		if (!((newX==cX) && (newY==cY))) {
			clearTimeout(cTimer);
			cTimer = setTimeout(pF,300);
			cX = newX;
			cY = newY;
		}
	}
}