/***********************************************
* Cool DHTML tooltip script- © Dynamic Drive DHTML code library (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit Dynamic Drive at http://www.dynamicdrive.com/dynamicindex5/dhtmltooltip.htm for full source code
***********************************************/
/***********************************************
* Image tooltip extensions, text color support and code reorganization by Pony99CA
***********************************************/

var bgColorDefault = 'white';
var txtColorDefault = 'black';
var bgColorError = '#FF8080';
var txtColorError = 'black';
var widthDefault = 200;
var textInvalid = '<b>INVALID IMAGE</b>';

function ProcessText(text){
   if (text != '') {
   	text = text.replace(/ /ig,'_');
   	text = text.replace(/[^a-z0-9 _]/ig,'');
      text = BuildHTML(text);
   }
   return text;
}

function BuildHTML(text){
var imagePath = 'http://www.wizards.com/global/images/magic/general/';
var imageSuffix = '.jpg';

   if (text != '') {
      text = '<img src="' + imagePath + text + imageSuffix + '" />';
   }

   return text;
}

function Tooltip(text, txtColor, bgColor, width){

// Process the input text
   text = ProcessText(text);

// Display the tooltip

   if (bgColor == '') bgColor = bgColorDefault;
   if (txtColor == '') txtColor = txtColorDefault;
   if (width == 0) width = widthDefault;
   if (text == '') {
      text = textInvalid;
      bgColor = bgColorError;
      txtColor = txtColorError;
   }

   DisplayTooltip(text, txtColor, bgColor, width);
}

/***********************************************
* Original tooltip code from Dynamic Drive
***********************************************/

var offsetxpoint=-60 //Customize x offset of tooltip
var offsetypoint=20 //Customize y offset of tooltip
var ie;
var ns6;
var enabletip;
var tipobj;


function InitTooltip(){
   ie=document.all
   ns6=document.getElementById && !document.all
   enabletip=false
   if (ie||ns6)
      tipobj=document.all? document.all["dhtmltooltip"] : document.getElementById? document.getElementById("dhtmltooltip") : ""

   document.onmousemove=PositionTooltip;
}


function ietruebody(){
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function DisplayTooltip(thetext, txtColor, bgColor, tipWidth){
if (ns6||ie){
   if (typeof tipWidth == "undefined" || tipWidth == 0) tipWidth = widthDefault;
   tipobj.style.width=tipWidth+"px"
   if (typeof bgColor!="undefined" && bgColor!="") tipobj.style.backgroundColor=bgColor
   if (typeof txtColor!="undefined" && txtColor!="") tipobj.style.color=txtColor
   tipobj.innerHTML=thetext;
   enabletip=true
   return false
   }
}

function PositionTooltip(e){
if (enabletip){
var curX=(ns6)?e.pageX : event.clientX+ietruebody().scrollLeft;
var curY=(ns6)?e.pageY : event.clientY+ietruebody().scrollTop;
//Find out how close the mouse is to the corner of the window
var rightedge=ie&&!window.opera? ietruebody().clientWidth-event.clientX-offsetxpoint : window.innerWidth-e.clientX-offsetxpoint-20
var bottomedge=ie&&!window.opera? ietruebody().clientHeight-event.clientY-offsetypoint : window.innerHeight-e.clientY-offsetypoint-20

var leftedge=(offsetxpoint<0)? offsetxpoint*(-1) : -1000

//if the horizontal distance isn't enough to accomodate the width of the context menu
if (rightedge<tipobj.offsetWidth)
//move the horizontal position of the menu to the left by it's width
tipobj.style.left=ie? ietruebody().scrollLeft+event.clientX-tipobj.offsetWidth+"px" : window.pageXOffset+e.clientX-tipobj.offsetWidth+"px"
else if (curX<leftedge)
tipobj.style.left="5px"
else
//position the horizontal position of the menu where the mouse is positioned
tipobj.style.left=curX+offsetxpoint+"px"

//same concept with the vertical position
if (bottomedge<tipobj.offsetHeight)
tipobj.style.top=ie? ietruebody().scrollTop+event.clientY-tipobj.offsetHeight-offsetypoint+"px" : window.pageYOffset+e.clientY-tipobj.offsetHeight-offsetypoint+"px"
else
tipobj.style.top=curY+offsetypoint+"px"
tipobj.style.visibility="visible"
}
}

function HideTooltip(){
   if (ns6||ie){
      enabletip=false
      tipobj.style.visibility="hidden"
      tipobj.style.left="-1000px"
      tipobj.style.backgroundColor=''
      tipobj.style.color=''
      tipobj.style.width=''
   }
}

