
// ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
// 
// Coded by Travis Beckham
// http://www.squidfingers.com | http://www.podlob.com
// If want to use this code, feel free to do so, but please leave this message intact.
//
// ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
// --- version date: 06/13/04 ---------------------------------------------------------


/*
	Mod: Marek 'juneau' Klusak (2005)
	http://rs.reality-show.net
*/

var pole_a = new Array();
var pole_acro = new Array();
var pole_abbr = new Array();
var pole_span = new Array();

tooltip = {
	name : "tooltipDiv",
	offsetX : 25,
	offsetY : 0,
	tip : null
};
tooltip.init = function () {
	if (!document.getElementById) return;
	
	// It would be nice to be able to generate the tooltip div, 
	// but when using document.createElement Explorer5/MacOS9, 
	// the tooltip div becomes 100% of the window height.
	// Therefore, we have to use document.getElementById to access
	// a div that is already in the body.
	
	// this.tip = document.createElement ("div");
	// this.tip.setAttribute ("id", this.name);
	// document.body.appendChild (this.tip);
	
	this.tip = document.getElementById (this.name);
	if (this.tip) document.onmousemove = function (evt) {tooltip.move (evt)};
	
	var a;
	var anchors = document.getElementsByTagName ("a");
	for (var i = 0; i < anchors.length; i ++) {
		a = anchors[i];
		if (a.className == "tooltip") {
			pole_a[i] = a.title; // aby se nezobrazil i typicky popisek prohlizece
			a.title = '';
			a.cislo = i;
			a.onmouseover = function () {tooltip.show (1,this.cislo)};
			a.onmouseout = function () {tooltip.hide ()};
		}
	}
	
	
	var acro;
	var acro = document.getElementsByTagName ("acronym");
	for (var i = 0; i < acro.length; i ++) {
		ac = acro[i];
		if (ac.title != "") {
			pole_acro[i] = ac.title;
			ac.title= '';
			ac.cislo = i;
			ac.onmouseover = function () {tooltip.show (2,this.cislo)};
			ac.onmouseout = function () {tooltip.hide ()};
		}
	}
	
	
	var abbr;
	var abbr = document.getElementsByTagName ("abbr");
	for (var i = 0; i < abbr.length; i ++) {
		ab = abbr[i];
		if (ab.title != "") {
			pole_abbr[i] = ab.title;
			ab.title= '';
			ab.cislo = i;
			ab.onmouseover = function () {tooltip.show (3,this.cislo);};
			ab.onmouseout = function () {tooltip.hide ()};
		}
	}

	
	var span;
	var span = document.getElementsByTagName ("span");
	for (var i = 0; i < span.length; i ++) {
		sp = span[i];
		if (sp.className == 'co') {
			pole_span[i] = sp.title;
			sp.title= '';
			sp.cislo = i;
			sp.onmouseover = function () {tooltip.show (4,this.cislo);};
			sp.onmouseout = function () {tooltip.hide ()};
		}
	}




};
tooltip.move = function (evt) {
	var x=0, y=0;
	if (document.all) {// Explorer
	
		// Explorer5 contains the documentElement object but it's empty, 
		// so we must check if the scrollLeft property is available.
		
		// If Explorer6 is in Quirks mode, the documentElement properties 
		// will still be defined, but they will contain the number 0.
		
		// If Explorer6 is in Standards compliant mode, the document.body 
		// properties will still be defined, but they will contain the number 0.
		
		x = (document.documentElement && document.documentElement.scrollLeft) ? document.documentElement.scrollLeft : document.body.scrollLeft;
		y = (document.documentElement && document.documentElement.scrollTop) ? document.documentElement.scrollTop : document.body.scrollTop;
		x += window.event.clientX;
		y += window.event.clientY;
		
	} else {// Mozilla
		x = evt.pageX;
		y = evt.pageY;
	}
	// If the style property value is not a string containing the unit measurement,
	// browsers in standard compliant mode will not set the property.
	this.tip.style.left = (x + this.offsetX) + "px";
	//this.tip.style.left = ((x + this.offsetX + this.tip.offsetWidth > document.documentElement.offsetWidth) ? (x + this.offsetX - this.tip.offsetWidth - 40) : (x + this.offsetX)) + "px";
	this.tip.style.top = (y + this.offsetY) + "px";
};



tooltip.show = function (typ, text) {
	if (!this.tip) return;

	if(typ == 1)
		this.tip.innerHTML = pole_a[text];
	if(typ == 2)
		this.tip.innerHTML = pole_acro[text];
	if(typ == 3)
		this.tip.innerHTML = pole_abbr[text];
	if(typ == 4)
		this.tip.innerHTML = pole_span[text];
		
	// Without the next line, Explorer5/Mac has a redraw problem.
	this.tip.style.visibility = "visible";
	this.tip.style.display = "block";
};




tooltip.hide = function () {
	if (!this.tip) return;
	// Without the next line, Explorer5/Mac has a redraw problem.
	this.tip.style.visibility = "hidden";
	this.tip.style.display = "none";
	this.tip.innerHTML = "";
};

window.onload = function () {
	tooltip.init ();
}

