var tooltip = null
var tooltipHide = null;

// przesunięcie tooltipa
var LEFT_OFFSET = 57;
var TOP_OFFSET = 13;

/**
 * lazy pobranie boxa z tooltipem
 */
function getTooltip()
{
	if (tooltip==null) {
		tooltip = $('tooltipdiv');
		addListener(tooltip, 'mousemove', function(){
				clearTimeout(tooltipHide);
			}
		);
		addListener(tooltip, 'mouseout', function(obj){
				tooltipHide = setTimeout("hideToolTip()",500);
		});
	}
	return tooltip;
}

/**
 * Ukrywa tooltipa
 */
function hideToolTip()
{
	setClass(getTooltip(), 'hidden', true);
}

var tmp;
/**
 * Wyświetla tooltipa
 * @param {Object} element obrazke nad którym ma być wyświetlony tooltip.
 */
function showToolTip(obj)
{	
	var left = 0;
	var top = 0;
	var myobj = false;
	if(obj.originalTarget){
		myobj = obj.originalTarget;
	}
	else if(obj.srcElement) {
		myobj = obj.srcElement;
	}
	left = getAbsoluteLeft(myobj);	
	top = getAbsoluteTop(myobj);
	
	tooltip = getTooltip();
	
	elements = tooltip.getElementsByTagName('a');
	for(i=0;i<elements.length;i++){
		if(elements[i].className=='username'){
			my_a = elements[i];
			my_a.href=myobj.attributes.getNamedItem('gery:href').value;
			my_a.innerHTML=myobj.attributes.getNamedItem('gery:username').value;
		}
	} 
	elements = tooltip.getElementsByTagName('div');
	for (i = 0; i < elements.length; i++) {
		if(elements[i].className=='city'){
			my_div = elements[i];
			while(my_div.childNodes.length) my_div.removeChild(my_div.childNodes[0]);
			my_div.appendChild(document.createTextNode(myobj.attributes.getNamedItem('gery:miasto').value));
		}else if(elements[i].className=='age'){
			my_div = elements[i];
			while(my_div.childNodes.length) my_div.removeChild(my_div.childNodes[0]);
			my_div.appendChild(document.createTextNode(myobj.attributes.getNamedItem('gery:wiek').value));
		}else if(elements[i].className=='state'){
			my_div = elements[i];
			while(my_div.childNodes.length) my_div.removeChild(my_div.childNodes[0]);
			my_div.appendChild(document.createTextNode(myobj.attributes.getNamedItem('gery:wojewodztwo').value));
		}
	}
	
	
	setStyle(getTooltip(), 'left', left+LEFT_OFFSET, 'px');
	setStyle(getTooltip(), 'top', top+TOP_OFFSET, 'px');
	unsetClass(getTooltip(),'hidden');
}

/**
 * Inicjacja tooltipów obrazkowych
 * 
 * obrazki, które mają tooltipa powinny mieć klase tip_image.
 */
function init_img_tip()
{
	elements = document.getElementsByTagName('img');
	count = elements.length;
	for (i = 0; i < count; i++) 
		if (obtainClass(elements[i], 'tip_image')) {
			addListener(elements[i], 'mouseout', function(obj){
				tooltipHide = setTimeout("hideToolTip()",500);
			});
			addListener(elements[i], 'mouseover', function(obj){
				showToolTip(obj);				
				clearTimeout(tooltipHide);
			});
		}
}
