//create onDomReady Event
window.onDomReady = DomReady;

//Setup the event
function DomReady(fn) {
  //W3C
  if(document.addEventListener){
    document.addEventListener("DOMContentLoaded", fn, false);
  }
  //IE
  else {
    document.onreadystatechange = function(){readyState(fn)}
  }
}
//IE execute function
function readyState(fn) {
  //dom is ready for complete
  if(document.readyState == "complete") {
    fn();
  }
}

//execute as soon as DOM is loaded
window.onDomReady(onReady);

//do on ready
function onReady() {
  var el = new Array();

  var el1 = document.body.getElementsByTagName("*");
  for (var i = 0; i < el1.length; i++) {
    var classes = el1[i].className;
    if (classes == "tip") {
      el.push(el1[i]);
    }
  }

  for (var i in el) {
    if (el[i].tagName == "A") {
      el[i].onmouseover = tip_over;
      el[i].onmousemove = tip_over;
      el[i].onmouseout = tip_out;
    }
    else if (el[i].tagName == "DIV") {
      el[i].style.display = "none";
    }
  }
}

function tip_next(t) {
  var el = t.nextSibling;
  if (el.className == "tip") {
    return el;
  }
  else {
    return tip_next(el);
  }
}

function tip_over(e) {
  var posx = 0;
  var posy = 0;
  if (!e) var e = window.event;
  if (e.pageX || e.pageY)   {
    posx = e.pageX;
    posy = e.pageY;
  }
  else if (e.clientX || e.clientY)  {
    posx = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
    posy = e.clientY + document.body.scrollTop + document.documentElement.scrollTop;
  }
  posy = (posy - 20) + "px";
  posx = (posx + 20) + "px";

  //opera Netscape 6 Netscape 4x Mozilla 
  if (window.innerWidth){ 
    docwidth = window.innerWidth;  
  } 
  //IE Mozilla 
  if (document.body.clientWidth){ 
    docwidth = document.body.clientWidth;  
  }

  if (parseInt(posx) + 300 > docwidth) {
    posx = (parseInt(posx) - 330) + "px";
  }
  var el = tip_next(this);
  el.style.top = posy;
  el.style.left = posx;
  el.style.display = "block";
  return false;
}
function tip_out() {
  var el = tip_next(this);
  el.style.display = "none";
}
