var __adwordData = new Array();
var __adwordDiv;
var __adwordVisible = false;
var __adwordShowTimeout;
var __adwordHideTimeout;
var __adwordX;
var __adwordY;

addLoadEvent(Adword_InitKeywords);

function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      if (oldonload) {
        oldonload();
      }
      func();
    }
  }
}

function Adword_OnMouseOver(e)
{
	e = Adword_GetEvent(e);

	if(__adwordVisible)
	{
		if(__adwordHideTimeout)
		{
			clearTimeout(__adwordHideTimeout);
			__adwordHideTimeout = null;
		}

		if(__adwordDiv.adSpan != e.srcElement)
		{
			if(__adwordShowTimeout)
			{
				clearTimeout(__adwordShowTimeout);
				__adwordShowTimeout = null;
			}
		}
	}

	__adwordDiv.adSpanNext = e.srcElement;
	__adwordShowTimeout = setTimeout(Adword_ShowAd, 800);
}

function Adword_OnMouseOut(e)
{
	e = Adword_GetEvent(e);

	if(__adwordShowTimeout)
	{
		clearTimeout(__adwordShowTimeout);
		__adwordShowTimeout = null;
	}

	if(__adwordVisible)
		__adwordHideTimeout = setTimeout(Adword_HideAd, 800);
}

function Adword_Ad_OnMouseOver()
{
	if(__adwordHideTimeout)
	{
		clearTimeout(__adwordHideTimeout);
		__adwordHideTimeout = null;
	}
}

function Adword_Ad_OnMouseOut()
{
	__adwordHideTimeout = setTimeout(Adword_HideAd, 800);
}

function Adword_ShowAd()
{
	if(__adwordData.length == 0)
		return;

	__adwordDiv.adSpan = __adwordDiv.adSpanNext;
	__adwordDiv.style.display = "block";

	// set adtext
	var index = __adwordDiv.adSpan.getAttribute("keywordIndex");
	document.getElementById("Adword_Div_Title").innerHTML = __adwordData[index].Title;
	document.getElementById("Adword_Div_Summary").innerHTML = __adwordData[index].Summary;
	 
	document.getElementById("Adword_Div_LinkText").innerHTML = "<a target=\"_blank\" href=\"" + __adwordData[index].Url +  "\">" + __adwordData[index].LinkText + "</a>" ;
 	if(__adwordData[index].Image.length > 0)
		document.getElementById("Adword_Div_Image").innerHTML = "<img src=\"" + __adwordData[index].Image + "\" />";
	else
		document.getElementById("Adword_Div_Image").innerHTML = "";

	Adword_MoveAd();

	__adwordVisible = true;
}

function Adword_HideAd()
{
	__adwordDiv.style.display = "none";
	__adwordVisible = false;
}

function Adword_InitKeywords()
{
	__adwordDiv = document.getElementById("Adword_Div");
	__adwordDiv.onmouseout = Adword_Ad_OnMouseOut;
	__adwordDiv.onmouseover = Adword_Ad_OnMouseOver;
	document.onmousemove = Adword_OnMouseMove;

	var arySpans = document.getElementsByTagName("SPAN");
	for(i = 0; i < arySpans.length; i++)
	{
		if(arySpans[i].className == "Adword_Word")
		{
			arySpans[i].onmouseover = Adword_OnMouseOver;
			arySpans[i].onmouseout = Adword_OnMouseOut;
		}
	}
}

function Adword_OnMouseMove(e)
{
	e = Adword_GetEvent(e);

	var x,y;
	if (e.pageX)
	{
		x = e.pageX;
		y = e.pageY;
	}
	else
	{
		x = e.clientX + document.body.scrollLeft;
		y = e.clientY + document.body.scrollTop;
	}

	__adwordY = y - parseInt(__adwordDiv.style.height) - 2;
	__adwordX = x + 2;

	if(__adwordY < 0)
		__adwordY = 0;

	if(e.srcElement == __adwordDiv || __adwordVisible)
		return;

	Adword_MoveAd();
}

function Adword_MoveAd()
{
	__adwordDiv.style.top = (__adwordY + 60) + "px";
	__adwordDiv.style.left = __adwordX + "px";
}

function Adword_GetEvent(e)
{
	if(!e)
		return event;

	if(e.srcElement)
		return e;

	e.srcElement = e.target;
	e.offsetY = e.pageY;
	e.offsetX = e.pageX;
	return e;
}

function Adword_Item(word, title, summary, linkText, url, image)
{
	this.Word = word;
	this.Title = title;
	this.Summary = summary;
	this.LinkText = linkText;
	this.Url = url;
	this.Image = image;
}
