
//ブラウザチェック:
//IE6

//popupNameをname属性に指定したタグに
//onmouseover, onmouseoutをセットし、
//マウスオーバーポップアップを実現します。
//letfPlus, topPlusの分だけ実際のタグの位置からずれます。

var popupName = "popup";
var messageName = "message";
var imageName = "image";
var proxyId = "proxy";
var leftPlus = 12;
var topPlus = 15;
var className = "popup_screen"; //スタイルシート
var rWidth = 200; //折り返しに使用
function PopupScreen() {
  PopupScreen.prototype.show = function (arg1) {
    var message = this.getAttribute(messageName);
    var image = this.getAttribute("image");

    //ポップアップのウィンドウを作成
    var proxy = document.getElementById(proxyId);
    proxy.className = className;
    proxy.style.position = "absolute";
    var event = getEvent(arg1);
    proxy.style.left = getMouseX(event) + leftPlus;
    proxy.style.top = getMouseY(event) + topPlus;
    //右に行き過ぎたときに戻す。
    if (document.body.clientWidth <= (parseInt(proxy.style.left) + 200)) {
      proxy.style.left = document.body.clientWidth - 200;
    }

    //ポップアップのHTML作成
    if (image) {
      message = '<table><tr><td>'
        + '<image src="' + image + '" width="72" height="72">'
          + '</td><td>' + message + '</td></tr><table>';
    }
    proxy.innerHTML = message;
  }

  PopupScreen.prototype.hide = function () {
    var proxy = document.getElementById(proxyId);
    while(proxy.hasChildNodes()) {
      proxy.removeChild(proxy.firstChild);
    }
    proxy.className = "";
  }
}

function setEventToPopupScreen() {
  this._popupScreen = new PopupScreen();
  this.popupItems = document.getElementsByName(popupName);
  for (i = 0; i < popupItems.length; i++) {
    popupItems[i].onmouseover = _popupScreen.show;
    popupItems[i].onmouseout = _popupScreen.hide;
  }
  //divとspan対応, IEだとgetElementsByNameで捕まえない
  var tags = ["div", "span"];
  for (i = 0; i < tags.length; i++) {
    this.popupItems = document.getElementsByTagName(tags[i]);
    for (j = 0; j < popupItems.length; j++) {
      if(popupItems[j].name == popupName) {
        popupItems[j].onmouseover = _popupScreen.show;
        popupItems[j].onmouseout = _popupScreen.hide;
      }
    }
  }
  //<body>に<span>を追加
  var proxy = document.createElement("span");
  proxy.style.position = "absolute";
  proxy.style.top = 0;
  proxy.style.left = 0;
  var body = document.getElementsByTagName("body")[0];
  body.appendChild(proxy);
  proxy.setAttribute("id", proxyId);
}
//var body = document.getElementsByTagName("body")[0];
//     body.onload = setEventToPopupScreen;
var preOnLoadPopupScreen = window.onload;
window.onload = function initPopupScreen() {
  if (preOnLoadPopupScreen != null) { preOnLoadPopupScreen(); }
  setEventToPopupScreen();
}
