function RichTooltip(args){var link=document.createElement("link");link.setAttribute("type","text/css");link.setAttribute("rel","stylesheet");link.setAttribute("href","http://i.yimg.jp/images/finance/common/css/tooltipstyle.css");document.getElementsByTagName("head")[0].appendChild(link);var elm=document.getElementById(args.elm);var a=elm.getElementsByTagName("a");for (var i=0;i<a.length;i++){if(a[i].className=="richToolTip"){a[i].onmouseover=this.onMouseOver;a[i].onmouseout=this.onMouseOut;a[i].onclick=function(e){window.location.href="http://stocks.finance.yahoo.co.jp/stocks/detail/?code="+this.firstChild.nodeValue;};a[i].removeAttribute("href");}}}RichTooltip.createDelegate=function(instance,method){return function(){return method.apply(instance,arguments);}};RichTooltip.prototype.onMouseOver=function(e){if(this.className=="richToolTip"){if(this.childNodes.length<2){var code=this.firstChild.nodeValue;var req;var mousePos={x:this.offsetLeft,y:this.offsetTop};if(!e&&document.documentMode!=8){var node=this.parentNode;while(node.offsetTop){mousePos.y+=node.offsetTop;node=node.parentNode;}mousePos.y-=40;}if(window.XMLHttpRequest){req=new XMLHttpRequest();}else if(window.ActiveXObject){try{req=new ActiveXObject("Msxml2.XMLHTTP");}catch(err){try{req=new ActiveXObject("Microsoft.XMLHTTP");}catch(err){}}}req.open("get","/popup/"+code.substr(0,1)+"/"+code+".html",true);req.onreadystatechange=RichTooltip.createDelegate(this,function(){if(req.readyState==4&&req.status==200){var span=document.createElement("span");span.className="richToolTipOuter";span.innerHTML=req.responseText;this.appendChild(span);span.onclick=function(e){if(e){e.stopPropagation();}else{window.event.cancelBubble=true;}};var elm=document.getElementById("richToolTipArea");var bound={top:elm.offsetTop,bottom:elm.offsetTop+elm.offsetHeight,left:elm.offsetLeft,right:elm.offsetLeft+elm.offsetWidth,width:elm.offsetWidth,height:elm.offsetHeight};var objOffset={left:-10,top:-20};if(mousePos.x+span.offsetWidth>bound.right){objOffset.left=span.offsetWidth-20;}if(mousePos.y+span.offsetHeight>bound.bottom){objOffset.top=span.offsetHeight+2;if(mousePos.y-span.offsetHeight<bound.top){objOffset.top=-20;}}span.style.left=mousePos.x-objOffset.left+"px";span.style.top=mousePos.y-objOffset.top+"px";}});req.send("");}if(this.mouseOverTimerId){clearTimeout(this.mouseOverTimerId);}this.mouseOverTimerId=setTimeout(RichTooltip.createDelegate(this,function(){this.className="richToolTip_ON";}),500);}else if(this.mouseOutTimerId){clearTimeout(this.mouseOutTimerId);}};RichTooltip.prototype.onMouseOut=function(e){if(this.mouseOverTimerId){clearTimeout(this.mouseOverTimerId);}this.mouseOutTimerId=setTimeout(RichTooltip.createDelegate(this,function(){this.className="richToolTip";}),500);};

