//***************************************COOL HOVER JAVASCRIPT***************************

// TODO: It's kludgey to hardwire them here, as it makes it difficult for multiple pages
// to use different styles.  Come up with a better way of doing this.
var hoverXoffset= -180;        // modify these values to ...
var hoverYoffset= -265;        // change the popup position.
var popwidth=260;       // popup width
var bcolor="black";  // popup border color
var fcolor="black";     // popup font color
var fface="verdana";    // popup font face

// create content box
document.write('<DIV class="bodya" ID="pop"></DIV>');

// id browsers
var iex=(document.all);
var nav=(document.layers);
var old=(navigator.appName=="Netscape" && !document.layers && !document.getElementById);
var n_6=(window.sidebar);
if(navigator)
{
	if (navigator.userAgent)
	{
		if	(	(navigator.userAgent.indexOf("WebKit") > -1)
			||	(navigator.userAgent.indexOf("Safari") > -1)
			||	(navigator.userAgent.indexOf("Chrome") > -1)
			)		
		{
			iex = true;
			nav = undefined;
			old = undefined;
			n_6 = undefined;
		}
	}
}


// assign object
var skin;
if(nav) skin=document.pop;
if(iex) skin=pop.style;
if(n_6) skin=document.getElementById("pop").style;

// capture pointer
if(nav)document.captureEvents(Event.MOUSEMOVE);
if(n_6) document.addEventListener("mousemove",get_mouse,true);
if(nav||iex)document.onmousemove=get_mouse;

// set dynamic coords
function get_mouse(e)
{
  var x,y;
  
  if(nav || n_6)
  {
  	x=e.pageX;
  }
  if(iex)
  {
  	x=event.clientX+document.body.scrollLeft; 
  }
  
  if(nav || n_6)
  {
  	y=e.pageY;
  }

  if(iex)
  {
    y=event.clientY+document.body.scrollTop;
  }

  if(iex || nav)
  {
    skin.top=(y+hoverYoffset);
    skin.left=x+hoverXoffset; 
  }

  if(n_6)
  {
    skin.top=(y+hoverYoffset)+"px";
    skin.left=x+hoverXoffset+"px";
  }    

  nudge(x);
}

// avoid edge overflow
function nudge(x)
{
  var extreme,overflow,temp;

  // right
  if(iex) extreme=(document.body.clientWidth-popwidth);
  if(n_6 || nav) extreme=(window.innerWidth-popwidth);

  if(parseInt(skin.left)>extreme)
  {
    overflow=parseInt(skin.left)-extreme;
    temp=parseInt(skin.left);
    temp-=overflow;
    if(nav || iex) skin.left=temp;
    if(n_6)skin.left=temp+"px";
  }

  // left
  if(parseInt(skin.left)<1)
  {
    overflow=parseInt(skin.left)-1;
    temp=parseInt(skin.left);
    temp-=overflow;
    if(nav || iex) skin.left=temp;
    if(n_6)skin.left=temp+"px";
  }
}

// write content & display
function popup(msg,bak)
{
  var content='<TABLE WIDTH="'+popwidth+'" BORDER="1" BORDERCOLOR="'+bcolor+'" CELLPADDING="2" CELLSPACING="0" BGCOLOR="'+bak+'"><TD ALIGN="center"><FONT COLOR="'+fcolor+'" FACE="'+fface+'" SIZE="2">'+msg+'</FONT></TD></TABLE>';
  
  if(old)
  {
    alert(msg);
    return;
  } 
   
  skin.width=popwidth;

  if(nav)
  { 
    skin.document.open();
    skin.document.write(content);
    skin.document.close();
    skin.visibility="visible";
  }

  if(iex)
  {        
    pop.innerHTML=content;
    skin.visibility="visible";
  }  

  if(n_6)
  {   
    document.getElementById("pop").innerHTML=content;
    skin.visibility="visible";
  }
}


// park content box
function kill()
{
  if(!old)
  {
    skin.visibility="hidden";
    skin.width=0;
  }
}
