﻿function enableTooltips(btcID, targetFiled)
{
  var links,i,h;
  if(!document.getElementById || !document.getElementsByTagName) return;
  h=document.createElement("span");
  h.id=btcID;
  h.setAttribute("id",btcID);
  h.style.position="absolute";
  document.getElementsByTagName("body")[0].appendChild(h);
  Prepare(btcID, targetFiled);
}

function Prepare(btcID, el)
{
  var tooltip, t, b, s, l;

  var cl = document.createElement("a");
  cl.innerHTML = "閉じる";
  /*
  cl.setAttribute("href","javascript:void(0);");
  cl.onclick = function(event)
  {
    event = event || window.event;
    var id = event.srcElement ? event.srcElement.rel: event.target.rel;
    //alert(id);
    hideTooltip(id)
  };
  */
  cl.setAttribute("href","javascript:saveScroll();location.reload();");
  cl.setAttribute("rel", btcID);

  t="";
  tooltip=CreateEl("span","tooltip");
  s=CreateEl("span","top");
  //s.appendChild(cl);
  s.appendChild(document.createTextNode(t));
  tooltip.appendChild(s);
  l=""
  b=CreateEl("b","bottom");
  b.appendChild(document.createTextNode(l));
  b.appendChild(cl);//bottom
  tooltip.appendChild(b);
  setOpacity(tooltip);
  el.tooltip=tooltip;
}

function showTooltip(btcID, field, msg)
{
  field.tooltip.childNodes[0].lastChild.nodeValue = " " + msg;
  
  
  /*
  alert(field.tooltip.childNodes[0].lastChild.name);
  var reg = new RegExp("ヨシケイ");
  if (msg.match(reg)) {
    if (document.getElementById(btcID + '_a') == null){
      var cl = document.createElement("a");
      cl.innerHTML = "http://www.yoshikei-dvlp.co.jp/";
      cl.id = btcID + '_a';
      cl.setAttribute("href","http://www.yoshikei-dvlp.co.jp/");
      
      field.tooltip.childNodes[0].appendChild(cl);
    }
  }
  */
  document.getElementById(btcID).appendChild(field.tooltip);
  Locate(btcID, field);
}

function hideTooltip(trgID)
{
  var d=document.getElementById(trgID);
  if(d.childNodes.length>0) d.removeChild(d.firstChild);
}

function setOpacity(el)
{
  el.style.filter="alpha(opacity:95)";
  el.style.KHTMLOpacity="0.95";
  el.style.MozOpacity="0.95";
  el.style.opacity="0.95";
}

function CreateEl(t,c)
{
  var x=document.createElement(t);
  x.className=c;
  x.style.display="block";
  return(x);
}

function Locate(btcID, field)
{
  var btc = document.getElementById(btcID);
  var offset = Position.offset(field);
  //var t = offset.y;
  var t = offset.y + 30;
  //var l = offset.x;
  var l = offset.x - field.offsetWidth;
  //alert("t =" + t);
  //alert("l =" + l);
  btc.style.top  = t + 'px';
  btc.style.left = l + 'px';
}

var Position = {
   offset: function(elm) {
      var pos = {};
      pos.x = this.getOffset('Left', elm);
      pos.y = this.getOffset('Top', elm);
      return pos;
   },

   getOffset: function(prop, el) {
      if(!el.offsetParent || el.offsetParent.tagName.toLowerCase() == "body")
         return el['offset'+prop];
      else
         return el['offset'+prop]+ this.getOffset(prop, el.offsetParent);
   }
};