﻿/*Skrypt do pokazywania okienka z informacja
-Maszrum
*/

//[+] by Peter-Paul Koch & Alex Tingle (http://blog.firetree.net/2005/07/04/javascript-find-position/)

function findPosX(obj)
  {
    var curleft = 0;
    if(obj.offsetParent)
        while(1) 
        {
          curleft += obj.offsetLeft;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.x)
        curleft += obj.x;
    return curleft;
  }

  function findPosY(obj)
  {
    var curtop = 0;
    if(obj.offsetParent)
        while(1)
        {
          curtop += obj.offsetTop;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.y)
        curtop += obj.y;
    return curtop;
  }

//[-]

//[+] http://www.softcomplex.com/docs/get_window_size_and_scrollbar_position.html

function f_clientWidth() {
	return f_filterResults (
		window.innerWidth ? window.innerWidth : 0,
		document.documentElement ? document.documentElement.clientWidth : 0,
		document.body ? document.body.clientWidth : 0
	);
}
function f_clientHeight() {
	return f_filterResults (
		window.innerHeight ? window.innerHeight : 0,
		document.documentElement ? document.documentElement.clientHeight : 0,
		document.body ? document.body.clientHeight : 0
	);
}

function f_scrollLeft() {
	return f_filterResults (
		window.pageXOffset ? window.pageXOffset : 0,
		document.documentElement ? document.documentElement.scrollLeft : 0,
		document.body ? document.body.scrollLeft : 0
	);
}

function f_scrollTop() {
	return f_filterResults (
		window.pageYOffset ? window.pageYOffset : 0,
		document.documentElement ? document.documentElement.scrollTop : 0,
		document.body ? document.body.scrollTop : 0
	);
}


function f_filterResults(n_win, n_docel, n_body) {
	var n_result = n_win ? n_win : 0;
	if (n_docel && (!n_result || (n_result > n_docel)))
		n_result = n_docel;
	return n_body && (!n_result || (n_result > n_body)) ? n_body : n_result;
}

//[-]


function InfoShow(e, txt)
{
	info=document.getElementById("info")
	x=window.opera?e.clientX:document.all?e.x:e.pageX
	y=window.opera?e.clientY:document.all?e.y:e.pageY
	x+=15
	y+=15
	if (screen.height<2*(y-f_scrollTop()))
	{
		y-=(screen.height/2)
	}
	info.style.top=y+'px'
	info.style.left=x+'px'
	
	info.className="info"
	info.innerHTML=txt

}

function InfoUpdate(e)
{
	info=document.getElementById("info")
	x=window.opera?e.clientX:document.all?e.x:e.pageX
	y=window.opera?e.clientY:document.all?e.y:e.pageY
	x+=15
	y+=15
	//if (screen.height<2*(y-f_scrollTop()))
	//{
	//	y-=(screen.height/2)
	//}
	info.style.top=y+'px'
	info.style.left=x+'px'
}

function InfoHide()
{
	document.getElementById("info").className="infoh"
}
