
var gaDiv;
var gaDivShadow;
var offsetEl;
var width = 750;

var currentpmid = null;

function createBWXHR()
{
	var bwXHR;
	
	if (window.ActiveXObject) {
		bwXHR = new ActiveXObject("Microsoft.XMLHTTP");
	} 
	else if (window.XMLHttpRequest) {
		bwXHR = new XMLHttpRequest();
	}
	
	return bwXHR;
}

function storyAbstract(pmid)  // kpg 02.07.06
{ var x = createBWXHR();
  x.open("GET","redir.php?pmid=" + pmid,false);
  x.send(null);
  var s = x.responseText;
  var a = s.split("@@");
	document.write(a[1]);
}

var getAbstractPMID = 0;   // kpg 12.14.06

function getAbstract(element, pmid) {
/*	alert(currentpmid)
	if(currentpmid == pmid)
		return;
	currentpmid = pmid;
	alert(currentpmid)
*/
  getAbstractPMID = pmid;   // kpg 12.14.06

	var gaXHR = createBWXHR();
	var gaUrl;
	gaDiv = document.getElementById("gaDiv");
	gaDivShadow = document.getElementById("gaDivShadow");
	offsetEl = element;
	gaXHR.onreadystatechange = gaHandleStateChange;
	gaUrl = "redir.php?pmid=" + pmid;
	gaXHR.open("GET", gaUrl, true);
	gaXHR.send(null);

	function gaHandleStateChange() {
		if(gaXHR.readyState == 4) {
			if(gaXHR.status == 200) {
				setData(gaXHR.responseText);
			}
		}
	}
}


function setData(Data) {            
	clearData();
	setOffsets();
	var gaTemp;
	var row, title, abs, iframe, iframeValue;
	var innerValue = "";
		
	gaTemp = Data.split("@@");
	title = gaTemp[0];
	abs = gaTemp[1];
		
	
	//row1
	iframeValue = "/templates/mollio-beat/abspreviewAd.inc.html";
	iframe = "<IFRAME src=" + iframeValue + " height=\"90\" width=\"728\" hspace=\"0\" vspace=\"0\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\">";
	iframe = iframe + "</IFRAME>";
	row ="<tr><td align=\"center\" colspan=\"2\">" + iframe + "</td></tr>";
	innerValue = innerValue + row; 
	
	//row2
	row = "<tr><td class=\"gaTitle\" colspan=\"2\">" + title + "</td></tr>";
	innerValue = innerValue + row;
	

	//row3
	row = "<tr><td class=\"gaAbs\" colspan=\"2\">" + abs + "</td></tr>";
	innerValue = innerValue + row;

	//row4
	row = "<tr><td align=\"center\" class=\"gaClose\">(Click anywhere outside the box to close the Abstract Preview window.)</td><td valign=\"bottom\" align=\"right\"><img style=\"cursor: pointer;\" src=\"img/dagger.gif\" width=\"11\" height=\"10\" alt=\"Close\" onclick=\"clearDataForce()\" /></td><tr>";
	innerValue = innerValue + row;

  // kpg 12.14.06
  //var stats = "<iframe src=\"abspreview.php?pmid=" + getAbstractPMID + "\" width=\"0\" height=\"0\" hspace=\"0\" vspace=\"0\" border=\"0\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"></iframe>";
  var stats = "<iframe src=\"abspreview.php\" width=\"0\" height=\"0\" hspace=\"0\" vspace=\"0\" border=\"0\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"></iframe>";

	//add the rows to the table
	innerValue = "<table id=\"gaTable\" bgcolor=\"#ffffe1\" border=\"0\" cellspacing=\"2\" cellpadding=\"2\" width=\"" + width + "\">" + innerValue + "</table>";
	gaDiv.innerHTML = innerValue + stats;

	gaDivShadow.style.height = gaDiv.clientHeight + "px";
	gaDivShadow.style.display = "";

	
}


function setOffsets() {
	
	gaDiv.style.border = "black 1px solid";


//	var end = calculateOffsetTop(offsetEl, "offsetLeft");
	var top = calculateOffsetTop(offsetEl, "offsetTop");

	end = 11;
	gaDiv.style.left = end + "px";
	gaDivShadow.style.left = end-9 + "px";
//
//	end = end + width;
//	var limit = screen.width - 50;
//
//	if ( end > limit )
//	{
//		end = screen.width - width - 50;
//		gaDiv.style.left = end + "px";
//
//	}
	top = top - 78;
	gaDiv.style.top = top + "px";
	gaDivShadow.style.top = top + 15 + "px";
	gaDiv.style.width = width  + "px";
	gaDivShadow.style.width = width -5 + "px";
	
	//gaDivShadow.style.width = gaDiv.clientHeight + "px";
//	alert(gaDiv.clientHeight);
	str = "";
	for(i in gaDiv)
		str += " " + i;
	//alert(str);
	
	//alert(gaDiv.style.height)
	
	
	
}

function calculateOffsetTop(field, offset) {
  return calculateOffset(field, offset);
}

function calculateOffset(field, attr) {
  var offset = 0;
  while(field) {
	offset += field[attr]; 
	field = field.offsetParent;
  }
  return offset;
}



function clearData(e) {
	
	if(document.all){
		e = event;
	}
	if(e){
		obj = null;
		if(e.target)
			obj = e.target;
		else
			obj = e.srcElement
		while(obj){
			if(obj.id == "gaDiv"){
				return;
			}
			obj = obj.parentNode;
		}
	}
	if(gaDiv)
	{
		gaDivShadow.style.display = "none";
		gaDiv.innerHTML = "";
		gaDiv.style.border = "none";
	}
}
function clearDataForce(e) {
	if(gaDiv){
		gaDivShadow.style.display = "none";
		gaDiv.innerHTML = "";
		gaDiv.style.border = "none";
	}

}