var tooltips_count = 0;
var tooltips = new Array;
var tt_coord = new Array;
var tt_additional = new Array;
var moved = 0;
var last_tt_coords = new Array(0, 0);

function setOpacity(el) {
	el.style.filter="alpha(opacity:95)";
	el.style.KHTMLOpacity="0.95";
	el.style.MozOpacity="0.95";
	el.style.opacity="0.95";
}

function showTooltip(el_name, text, px, py) {
	var x = document.getElementById(el_name).getBoundingClientRect().top;
	var y = document.getElementById(el_name).getBoundingClientRect().left;
	var div = document.createElement("div");
	setOpacity(div);
	div.style.zIndex = 10000 + tooltips_count;
	div.className = ' bubble_tooltip';
	div.id = 'bTooltip' + tooltips_count;
	div.style.display = "block";

	TooltipLocate(div, x, y);
	
	var container = document.createElement("div");
	container.className = ' bubble_container';
	var bottom = document.createElement("span");
	bottom.className = ' bubble_bottom';	

	container.appendChild(document.createTextNode(text));	
	div.appendChild(container);	
	div.appendChild(bottom);	

	tooltips[tooltips_count] = div;
	tt_coord[tooltips_count] = el_name;
	tt_additional[tooltips_count] = Array(px, py);
	tooltips_count++;
}

function hideTooltips(){
	while(tooltips_count > 0)
	{
		var el = document.getElementById('bTooltip' + (tooltips_count - 1));
		document.body.removeChild(el);
		tooltips_count--;
	}
}

function regTooltipMove(div, i) {
	if(moved >= tooltips_count) moved = 0;
	else moved++;

	var el = document.getElementById(tt_coord[i]);
	var el_offsetTop = parseInt(div.style.top.split('px'));
	var lt_top = el_offsetTop;
	var lt_left = 0;

	if(!tt_additional[i][0]) tt_additional[i][0] = 0;	
	if(!tt_additional[i][1]) tt_additional[i][1] = 0;
	if(last_tt_coords[1] - lt_top < -100)  moved = 0;
	
	lt_left = ( parseInt(div.style.left.split('px')) + tt_additional[i][0] + ( moved * 35 ));
	lt_top = (el_offsetTop - el.offsetHeight - div.offsetHeight) + 17 + tt_additional[i][1];

	last_tt_coords = Array(lt_top, lt_left);

	div.style.top = lt_top + 'px';
	div.style.left = lt_left + 'px';
}

function TooltipLocate(div, x, y){
	if(!div.id) return;
	div.style.top=(x)+"px";
	div.style.left=(y)+"px";
}

function showTooltips() {
	for(var i =0 ; i<tooltips_count; i++){
		var m = document.body.appendChild(tooltips[i]);
		regTooltipMove(m, i);
	}
}

function tt_hide() {
	hideTooltips();
}

srAddEvent(window, 'load', showTooltips);
srAddEvent(window, 'resize', hideTooltips);
//srAddEvent(window, 'click', hideTooltips);
