// nastavení pozice a rozměrů
var VATip_offsetX = 10;
var VATip_offsetY = 2;
var VATip_timeout = 1500;
var VATip_minWidth = 100;
var VATip_maxWidth = 500;


var VATip_mouseY;
var VATip_mouseX;
var VATip_isDiv = false;
var VATip_descArr = new Array();
var VATip_timer;
var VATip_IFrame = 'VATip_IFrame'; //nazev pomocneho IFRAMu, ktery se zobrazuje pod DIVem kvuli 
                                   // prekryvaní SELECTu
var VATip_ZIndex = 1000;
																	 
function VATip_getElementPos(el){
	var SL = 0, ST = 0;
	var is_div = /^div$/i.test(el.tagName);
	if (is_div && el.scrollLeft)
		SL = el.scrollLeft;
	if (is_div && el.scrollTop)
		ST = el.scrollTop;
	var r = { x: el.offsetLeft - SL, y: el.offsetTop - ST };
	if (el.offsetParent) {
		var tmp = VATip_getElementPos(el.offsetParent);
		r.x += tmp.x;
		r.y += tmp.y;
	}
	return r;
};

function VATip_screenSize(){
		var cp = document.createElement("div");
		var s = cp.style;
		s.position = "absolute";
		s.right = s.bottom = s.width = s.height = "0px";
		document.body.appendChild(cp);
		var br = VATip_getElementPos(cp);
		document.body.removeChild(cp);
		return br;
}

function VATip_getMousePos(e){
	var posx = 0;
	var posy = 0;
	if (!e) var e = window.event;
	if (e.pageX || e.pageY)
	{
		VATip_mouseX = e.pageX;
		VATip_mouseY = e.pageY;
	}
	else if (e.clientX || e.clientY)
	{
		VATip_mouseX = e.clientX + document.body.scrollLeft;
		VATip_mouseY = e.clientY + document.body.scrollTop;
	}
}



function VATip_show(id){
	helpDiv = document.getElementById('VA-help');
	tmpIFrame = document.getElementById(VATip_IFrame);
	element = document.getElementById(id);
	helpDiv.innerHTML = VATip_descArr[id];
	pos = VATip_getElementPos(element);
	
	//zjisti pozici X, bere ji podle podle pozice myši. Pokud je by ovšem TIP měl být zobrazen mimo
	// šířku obrazovky, upraví X tak, aby byl viditelne zobrazen
	screenPos = VATip_screenSize();
	var x = (VATip_mouseX + VATip_offsetX)
	if ((x + helpDiv.offsetWidth) > screenPos.x){
		x = x - ( x + helpDiv.offsetWidth - screenPos.x);
		if (x < 0) x = VATip_offsetX;
	}
	
	helpDiv.style.left = x + "px";
	tmpIFrame.style.left = helpDiv.style.left;
	
	helpDiv.style.top = (pos.y + VATip_offsetY + element.offsetHeight) + "px";
	tmpIFrame.style.top = helpDiv.style.top;
	
	helpDiv.style.zIndex = VATip_ZIndex;
	tmpIFrame.style.zIndex = VATip_ZIndex - 1;
	
	tmpIFrame.style.width = helpDiv.offsetWidth;
	tmpIFrame.style.height = helpDiv.offsetHeight;
	
	if (helpDiv.style.visibility != "visible"){
    if (helpDiv.filters && helpDiv.filters["DXImageTransform.Microsoft.Fade"]){
			helpDiv.filters["DXImageTransform.Microsoft.Fade"].apply();
			tmpIFrame.filters["DXImageTransform.Microsoft.Fade"].apply();
		}
    helpDiv.style.visibility = "visible";
		tmpIFrame.style.visibility = "visible";
    if(helpDiv.filters && helpDiv.filters["DXImageTransform.Microsoft.Fade"]){
			helpDiv.filters["DXImageTransform.Microsoft.Fade"].play();
			tmpIFrame.filters["DXImageTransform.Microsoft.Fade"].play();
		}
  }
	
}

function VATip_showWait(id, e){
	VATip_timer = setTimeout("VATip_show('" + id + "');", VATip_timeout);
}

function VATip_hide(id){
	clearTimeout(VATip_timer);
	helpDiv = document.getElementById('VA-help');
	tmpIFrame = document.getElementById(VATip_IFrame);
	helpDiv.style.visibility = 'hidden';
	tmpIFrame.style.visibility = 'hidden';
}

function VATip_initByArr(idArr){
	for (var id in idArr){
		VATip_initById(id, idArr[id]);
	}
}

function VATip_initById(id, desc){
	if (!VATip_isDiv){
		VATip_writeDiv();
		VATip_writeIframe();
		var VATip_old = (document.onmouseover) ? document.onmouseover : function () {};
		document.onmousemove = function (e) {VATip_old();  VATip_getMousePos(e)};
	}
	if (element = document.getElementById(id)){
		eval("var overOld_" + id + " = (element.onmouseover) ? element.onmouseover : function () {};");
		eval("element.onmouseover = function (e) { overOld_" + id + "(); VATip_showWait('" + id + "', e)}");
		eval("var outOld_" + id + " = (element.onmouseout) ? element.onmouseout : function () {};");
		eval("element.onmouseout = function () { outOld_" + id + "(); VATip_hide('" + id + "')}");
		VATip_descArr[id] = desc;
	}
}

function VATip_writeDiv(){
	document.write('<div id="VA-help"></div>');
	VATip_isDiv = true;
}

function VATip_writeIframe(){
	document.write('<iframe style="position: absolute;filter: progid:DXImageTransform.Microsoft.Fade(Overlap=1.00);" name="'+
		VATip_IFrame+'" id="'+VATip_IFrame+'" width="0" height="0" marginwidth="0" marginheight="0" scrolling="no" frameborder="0"></iframe>');
}
