  wmtt = null;
  
  document.onmousemove = updateWMTT;


  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 updateWMTT(e) {
  	x = (document.all) ? window.event.clientX + f_scrollLeft() : e.pageX;
  	y = (document.all) ? window.event.clientY + f_scrollTop()  : e.pageY;
  	if (wmtt != null) {
  		wmtt.style.left = (x + 20) + "px";
  		wmtt.style.top 	= (y - 370) + "px";
  	}
  	if (wmtt != null) {
    	if((parseInt(wmtt.style.left)+parseInt(wmtt.style.width))+15 > f_clientWidth()){
        // switch x-position of tooltip to avoid vertical overflow
        wmtt.style.left = (x - parseInt(wmtt.style.width) - 40) + "px";
      }
    }
  }
  
  function showWMTT(id) {
  	wmtt = document.getElementById(id);
  	wmtt.style.display = "block"
  }
  
  function hideWMTT() {
  	wmtt.style.display = "none";
  }

