/// ************************************************************************************************///
/// Program pro zobrazeni vyskakovci napovedy vedle kurzoru pri najeti na objekt				 	///
/// pred pouzitim je potreba vytvorit instanti objektu...pr. var ob = new vyskakovaciNapoveda(); 	///
/// pak staci dat do cileneho html tadu udalost onMouseover, onMouseout a pomoci ni spustit funkce	///
///	ob.zobrazOkno(obsah,plovouciDiv) a ob.schovatOkno()												///
///	************************************************************************************************///

function vyskakovaciNapoveda() // halavni konstruktor // ekvivalent tridy v PHP, ale s tim rozdilem ze je zde definice konstruktoru a tridy v jednom
{
	this.offsetxpoint = -30; // verejne promenne objektu
	this.offsetypoint = 20;
	this.ie = document.all;
	this.ns6 = document.getElementById && !document.all;
	this.okno;
	this.zobrazit = false;
	
	this.ietruebody = function()
	{
		return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body;
	};
	
	this.zobrazOkno = function(obsah,plovouciDiv) // zobrazeni dat 'obsah' v definovanem divu 'plovouciDiv'
	{
		if (this.ns6||this.ie)
		{
			this.okno = document.all? document.all[plovouciDiv] : document.getElementById? document.getElementById(plovouciDiv) : "";
			this.okno.innerHTML = obsah;
			this.zobrazit = true;
			return false;
		}
	};
	
	this.schovatOkno = function()
	{
		if (this.ns6||this.ie)
		{
			this.zobrazit = false;
			this.okno.style.visibility = "hidden"; // na zmizeni staci visibility
			this.okno.style.left = "-1000px";		// zbytek parametru pro smazani je jen pro pripad neznameho prohlizece
			this.okno.style.backgroundColor = '';	// aby okno vzdy zmizlo uplne
			this.okno.style.width = '';			// ale nevim jakeho jineho.Fungovalo to vsude... no jen pro pripad :)
		}		
	};
	
}
// nastavi pozici okna ... osetreno pro vsechny prohlizece
function setPozice(e)
{					
	if (ob.zobrazit)
	{
		var mysX = (ob.ns6)?e.pageX : event.clientX + ob.ietruebody().scrollLeft;
		var mysY = (ob.ns6)?e.pageY : event.clientY + ob.ietruebody().scrollTop;
		//Find out how close the mouse is to the corner of the window
		var rightedge = ob.ie&&!window.opera? ob.ietruebody().clientWidth-event.clientX-ob.offsetxpoint : window.innerWidth-e.clientX-ob.offsetxpoint-20;
		var bottomedge = ob.ie&&!window.opera? ob.ietruebody().clientHeight-event.clientY-ob.offsetypoint : window.innerHeight-e.clientY-ob.offsetypoint-20;
		
		var leftedge=(ob.offsetxpoint<0)? ob.offsetxpoint*(-1) : -1000;
		
		//if the horizontal distance isn't enough to accomodate the width of the context menu
		if (rightedge < ob.okno.offsetWidth)
			//move the horizontal position of the menu to the left by it's width
			ob.okno.style.left = ob.ie? ob.ietruebody().scrollLeft + event.clientX-ob.okno.offsetWidth + "px" : window.pageXOffset + e.clientX - tipobj.offsetWidth + "px";
			else if (mysX < leftedge)
			ob.okno.style.left = "5px";
		else
			//pozice okna z leva
			ob.okno.style.left = mysX + ob.offsetxpoint + 53 + "px";
			
			//pozice z vrchu
		if (bottomedge < ob.okno.offsetHeight)
			ob.okno.style.top = ob.ie? ob.ietruebody().scrollTop + event.clientY - ob.okno.offsetHeight - ob.offsetypoint + "px" : window.pageYOffset+e.clientY-ob.okno.offsetHeight-ob.offsetypoint+"px";
		else
			ob.okno.style.top=mysY + ob.offsetypoint - 5 + "px";
			ob.okno.style.visibility = "visible";
	}
}

var ob = new vyskakovaciNapoveda(); // vytvoreni instance objektu

document.onmousemove = setPozice;












