

function getToolTipName(id) {
	var idParts = id.split('-');
	id = idParts[0];
	return '#'+id+'-tooltip';
}


$(document).ready(function(){

	$('.hover-tooltip-link').mouseover(function(e) {
		var toolTipName = getToolTipName($(this).attr('id'));
			
		$(toolTipName).css('position', 'absolute');
		$(toolTipName).show();
	});

	$('.hover-tooltip-link').mousemove(function(e) {
		var toolTipName = getToolTipName($(this).attr('id'));

		if (!$(toolTipName).hasClass('dont-change-pos')) {
			var position = $(this).offset();
			position.left = e.pageX;
			position.top = e.pageY - 5;
			
			$(toolTipName).css(position);
		}
	});

	$('.hover-tooltip-link').mouseout(function(e) {
		var toolTipName = getToolTipName($(this).attr('id'));
		
		var mouseX = e.pageX;
		var mouseY = e.pageY;
		
		var position = $(this).offset();
		var left = position.left;
		var right = left + Number($(this).css('width').replace('px', ''));
		var top = position.top;
		var bottom = top + Number($(this).css('height').replace('px', ''));

		if (
			mouseX < left || mouseX > right || mouseY < top || mouseY > bottom || !$(toolTipName).hasClass('dont-change-pos')
		) {
			$(toolTipName).hide();
		}
	});

	$('.hover-tooltip').mouseout(function(e) {
		var id = $(this).attr('id');
		var parentName = '#'+id.replace('-tooltip', '');

		var mouseX = e.pageX;
		var mouseY = e.pageY;

		var position = $(parentName).offset();
		var left = position.left;
		var right = left + Number($(parentName).css('width').replace('px', ''));
		var top = position.top;
		var bottom = top + Number($(parentName).css('height').replace('px', ''));

		if (
			(mouseX < left || mouseX > right || mouseY < top || mouseY > bottom)
		) {
			$(this).hide();
		}
	});



	$('.hover-tooltip').hide();


	/* Global Product Search Bar */
	var rootOffset = $('#root').offset();
	var searchOffset = $('#globalPrdSearch').offset();
	$('#globalPrdSearch-tooltip').css("cssText", 'left: ' + (searchOffset.left-rootOffset.left) + 'px !important');
})