//		RIESKY-online [www.riesky.sk] JS functions

// MOUSE FUNCTIONS
// - moving cursor, showing and hidding hints

function AccessObj(id) 
{
	if (id) {
		if (document.getElementById) {
			return document.getElementById(id);
		} else if (document.all) {
			return document.all[id];
		}
	}
}

function getObjXY(o) {
	c= new Object();
	c.x=0;
	c.y=0;
	while (o != null) {
		c.x+= o.offsetLeft;
		c.y+= o.offsetTop;
		o= o.offsetParent;
	}
	return c;
}

function getMouseXY(o,e) 
{
	c=new Object();
	if (event.pageX) {
		c.x = e.pageX;
		c.y = e.pageY;
	} else {
		c= getObjXY(o);
		c.x+= e.offsetX;
		c.y+= e.offsetY;
	}
	return c;
}

function getHint(objekt) {
	var triedy= objekt.alt;
	var hint= AccessObj(triedy);
	if (hint) {
		return hint;
	}
}

function showHint(e) {
	var evt= e || event;
	var objekt= evt.target || evt.srcElement;
	var hint= getHint(objekt);
	var cord= getObjXY(objekt);
	if (objekt.width) {
		cord.x+= objekt.width;
	}
	hint.style.left= cord.x + 'px';
	hint.style.top= cord.y + 'px';
	hint.style.visibility= 'visible';
}

function hideHint(e) {
	var evt= e || event;
	var objekt= evt.target || evt.srcElement;
	var hint= getHint(objekt);
	var cord= getObjXY(objekt);
	hint.style.left= cord.x + 'px';
	hint.style.top= cord.y + 'px';
	hint.style.visibility= 'hidden';
}

function narviEvent(objekt, nazov, funkcia) {
	if (objekt.addEventListener) {
		objekt.addEventListener(nazov, funkcia, true);
	} else if (objekt.attachEvent) {
		objekt.attachEvent('on' + nazov, funkcia);
	} else {
		objekt['on' + nazov] = funkcia;
	}
}

function narviHinty() {
	var imgs= document.getElementsByTagName('img');
	var hint;
	var i;
	for (i in imgs) {
		hint= getHint(imgs[i]);
		if (hint) {
			narviEvent(imgs[i], 'mouseover', showHint);
			narviEvent(imgs[i], 'mouseout', hideHint);
		}
		hint= null;
	}
}
