function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_showHideLayers() { //v6.0
var i,p,v,obj,args=MM_showHideLayers.arguments;
for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
if (obj.style) { obj=obj.style; v=(v=='show')?'':(v=='hide')?'none':v; }
obj.display=v; }  
}

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}

function ManageHelp(divName,searchTab)
{
	chk_obj = MM_findObj(divName)
	chk_obj_sty = chk_obj.style;
	chk_obj_dis = chk_obj_sty.display;
	var obj = MM_findObj("tab");
	
	//alert(searchTab)
	if (searchTab)
	{ 
		if(!readCookie('rememberpage') || readCookie('rememberpage') == "")
		{
			if(searchTab == readCookie('rememberpage'))
			{
			}
			else
			{
				obj.value = searchTab; 
				createCookie('rememberpage',searchTab,'365');
			}
		}
		else
		{
			if(searchTab == readCookie('rememberpage'))
			{
				obj.value = readCookie('rememberpage'); 
			}
			else
			{
				obj.value = searchTab; 
				createCookie('rememberpage',searchTab,'365');
			}
		}
	}
	if(!obj.value)
	{
		if(chk_obj_dis == 'none')
		{ 
			MM_showHideLayers(divName,'','show'); 
			chk_obj 			= 	MM_findObj(divName+"ptag");
			chk_obj.className	=	'QuickSearchText';
			chk_obj 			= 	MM_findObj(divName+"div");
			chk_obj.className	=	'ExpertSearchBox';
		}
		else
		{ 
			chk_obj1	 		= 	MM_findObj(divName+"ptag");
			chk_obj1.className	=	'ExpertSearchText';
			chk_obj1	 		= 	MM_findObj(divName+"div");
			chk_obj1.className	=	'QuickSearchBox';
			MM_showHideLayers(divName,'','hide'); 
		}
	}
	else
	{
		if(obj.value == "ES")
		{
			MM_showHideLayers('tabPage1','','show'); 
			chk_obj 			= 	MM_findObj('tabPage1'+"ptag");
			chk_obj.className	=	'QuickSearchText';
			chk_obj 			= 	MM_findObj('tabPage1'+"div");
			chk_obj.className	=	'ExpertSearchBox';

			chk_obj1	 		= 	MM_findObj('tabPage2'+"ptag");
			chk_obj1.className	=	'ExpertSearchText';
			chk_obj1	 		= 	MM_findObj('tabPage2'+"div");
			chk_obj1.className	=	'QuickSearchBox';
			MM_showHideLayers('tabPage2','','hide'); 
		}
		else
		{
			MM_showHideLayers('tabPage2','','show'); 
			chk_obj 			= 	MM_findObj('tabPage2'+"ptag");
			chk_obj.className	=	'QuickSearchText';
			chk_obj 			= 	MM_findObj('tabPage2'+"div");
			chk_obj.className	=	'ExpertSearchBox';

			chk_obj1	 		= 	MM_findObj('tabPage1'+"ptag");
			chk_obj1.className	=	'ExpertSearchText';
			chk_obj1	 		= 	MM_findObj('tabPage1'+"div");
			chk_obj1.className	=	'QuickSearchBox';
			MM_showHideLayers('tabPage1','','hide'); 
		}
	}
}

function addToFavorites()
{
	var urlAddress = "http://localhost:9000/nih/web/";
	var pageName = "NIH Project"; 
	
	if(window.sidebar) 
          window.sidebar.addPanel(pageName,urlAddress,"");
	else if(window.opera && window.print){
          var elem = document.createElement('a');
          elem.setAttribute('href',urlAddress);
          elem.setAttribute('title',pageName);
          elem.setAttribute('rel','sidebar');
          elem.click();
	}
	else if (window.external)
         window.external.AddFavorite(urlAddress,pageName); 
}

function rePopulate(c, form_id)
{	 	
	if (form_id=="apn") 
	{ 	
	    opener.document.getElementById(form_id).value=c+"/";
	}
	else
	{    
	    opener.document.getElementById(form_id).value=c;	
	}    
	window.close();
	opener.document.getElementById(form_id).focus();
}

function ietruebody()
{
	return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}
function ddrivetip(_19,_1a,_1b){
document.onmousemove=positiontip;
var ns6=document.getElementById&&!document.all;
if(ns6||ie){
if(typeof _1b!="undefined"){
tipobj.style.width=_1b+"px";
}
if(typeof _1a != "undefined" && _1a != ""){
tipobj.style.backgroundColor=_1a;
}
tipobj.innerHTML=_19;
enabletip=true;
return false;
}
};
function positiontip(e){
var _1c={init:function(){
this.browser=this.searchString(this.dataBrowser)||"An unknown browser";
this.version=this.searchVersion(navigator.userAgent)||this.searchVersion(navigator.appVersion)||"an unknown version";
this.OS=this.searchString(this.dataOS)||"an unknown OS";
},searchString:function(_1d){
for(var i=0;i<_1d.length;i++){
var _1e=_1d[i].string;
var _1f=_1d[i].prop;
this.versionSearchString=_1d[i].versionSearch||_1d[i].identity;
if(_1e){
if(_1e.indexOf(_1d[i].subString)!=-1){
return _1d[i].identity;
}
}else{
if(_1f){
return _1d[i].identity;
}
}
}
},searchVersion:function(_20){
var _21=_20.indexOf(this.versionSearchString);
if(_21==-1){
return;
}
return parseFloat(_20.substring(_21+this.versionSearchString.length+1));
},dataBrowser:[{string:navigator.userAgent,subString:"OmniWeb",versionSearch:"OmniWeb/",identity:"OmniWeb"},{string:navigator.vendor,subString:"Apple",identity:"Safari"},{prop:window.opera,identity:"Opera"},{string:navigator.vendor,subString:"iCab",identity:"iCab"},{string:navigator.vendor,subString:"KDE",identity:"Konqueror"},{string:navigator.userAgent,subString:"Firefox",identity:"Firefox"},{string:navigator.vendor,subString:"Camino",identity:"Camino"},{string:navigator.userAgent,subString:"Netscape",identity:"Netscape"},{string:navigator.userAgent,subString:"MSIE",identity:"Explorer",versionSearch:"MSIE"},{string:navigator.userAgent,subString:"Gecko",identity:"Mozilla",versionSearch:"rv"},{string:navigator.userAgent,subString:"Mozilla",identity:"Netscape",versionSearch:"Mozilla"}],dataOS:[{string:navigator.platform,subString:"Win",identity:"Windows"},{string:navigator.platform,subString:"Mac",identity:"Mac"},{string:navigator.platform,subString:"Linux",identity:"Linux"}]};
_1c.init();
if(enabletip){
var _22=(ns6)?e.pageX:event.clientX+ietruebody().scrollLeft;
var _23=(ns6)?e.pageY:event.clientY+ietruebody().scrollTop;
var _24=ie&&!window.opera?ietruebody().clientWidth-event.clientX-offsetxpoint:window.innerWidth-e.clientX-offsetxpoint-20;
var _25=ie&&!window.opera?ietruebody().clientHeight-event.clientY-offsetypoint:window.innerHeight-e.clientY-offsetypoint-20;
var _26=(offsetxpoint<0)?offsetxpoint*(-1):-1000;
if(_24<tipobj.offsetWidth){
tipobj.style.left=ie?ietruebody().scrollLeft+event.clientX-tipobj.offsetWidth+"px":window.pageXOffset+e.clientX-tipobj.offsetWidth+"px";
}else{
if(_22<_26){
tipobj.style.left="5px";
}else{
tipobj.style.left=_22+offsetxpoint+"px";
}
}
if(_25<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=_23+offsetypoint+"px";
}
tipobj.style.visibility="visible";
}
};
function hideddrivetip(){
//	alert("out");
if(ns6||ie){
enabletip=false;
tipobj.style.visibility="hidden";
tipobj.style.left="-1000px";
tipobj.style.backgroundColor="";
tipobj.style.width="";
}
};

function toggleMenuSection(unique)
{
	action = "toggleType = toggleDiv('div_" + unique + "', '" + unique + "_div');";
	eval(action);
	action = "thisImage = document.getElementById('img_" + unique + "');";
	eval(action);
	if (document.getElementById('div_' + unique).offsetHeight > 0)
	{
        thisImage.src = "/images/menu_tree_open.gif";
        thisImage.title = "Click to fold";
    }
    else
	{
       	thisImage.src = "/images/menu_tree_closed.gif";
       	thisImage.title = "Click to expand";
    }
}

function toggleDiv(divName, hiddenBoxName)
{
    thisDiv = document.getElementById(divName);
	
    if (thisDiv)
    {
			
       	if (thisDiv.style.display == "none")
		{
        	thisDiv.style.display = "block";
    		for(i=1;i<4;i++)
    		{
   				//document.getElementById(hiddenBoxName+i).value = true;
    		}
        }
        else
		{		
    		thisDiv.style.display = "none";
    		for(i=1;i<4;i++)
    		{
				//document.getElementById(hiddenBoxName+i).value = false;
    		}
        }
    }
    else
	{
    	errorString = "Error: Could not locate div with id: " + divName;

    }
}

function hideAllDocComments(min, max)
{
	var localMin = parseInt(min);
	var localMax = parseInt(max);
	var i = localMax;

	for (i=localMin; i<=localMax; i++)
	{
		divName = "div_docComments" + i;
		thisDiv = document.getElementById(divName);
		if (thisDiv)
		{
			thisDiv.style.display = "none";			
		} 
		else
		{
			continue;
		}
	}
}

function viewAllDocComments(min, max)
{
	var localMin = parseInt(min);
	var localMax = parseInt(max);
	var i = localMax;

	for (i=localMin; i<=localMax; i++)
	{
		divName = "div_docComments" + i;
		thisDiv = document.getElementById(divName);
		if (thisDiv)
		{
			thisDiv.style.display = "block";			
		} 
		else
		{
			continue;
		}
	}
}

function Tutorial(divName)
{
	chk_obj = MM_findObj(divName)
	chk_obj_sty = chk_obj.style;
	chk_obj_dis = chk_obj_sty.display;

	if(chk_obj_dis == 'none')
	{ MM_showHideLayers(divName,'','show'); }
	else
	{ MM_showHideLayers(divName,'','hide'); }
}

function Tutorial_out(divName)
{
	chk_obj = MM_findObj(divName)
	chk_obj_sty = chk_obj.style;
	chk_obj_dis = chk_obj_sty.display;

	if(chk_obj_dis != 'none')
	{ MM_showHideLayers(divName,'','hide'); }
	else
	{ MM_showHideLayers(divName,'','show'); }
}

function openpopup(popurl)
{
	var winpops=window.open(popurl,"","top=50,left=150,width=570,height=680,status=no,toolbar=no,scrollbars=no,resizable=no");
}

//Trim the leading and ending white spaces.
function stripBlank(id) {
	var oldValue = document.getElementById(id).value;
	var newValue = oldValue.replace(/^\s*|\s*$/g, "");
	document.getElementById(id).value = newValue;
}

// Create a hidden input tag to enable IE pick up submit tag name and value
// which would not be picked up otherwise when "enter" key is pressed. 
function createHiddenInput(insertTagId, tagValue, tagName) {
	var browser = navigator.appName;
 	if (browser == "Microsoft Internet Explorer") {	 		
		var keycode;
		if (window.event) {
			keycode = window.event.keyCode;				
		} 
		// If "ENTER" is pressed, generate a hidden input tag that 
		// can enable the browser to get the "commit" request parameter.
		if (keycode == 13) {
	 		document.getElementById(insertTagId).innerHTML = "<input type='hidden' value='" + tagValue + "' name='" + tagName +"' />";
		}
 	} 	
}

/**
 * Generates an XMLHttpObject. 
 * 
 * @return an XMLHttpObject.
 */
function getHTTPObject() {
	var xhr = false;
	if (window.XMLHttpRequest) {
		xhr = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		try {
			xhr = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				xhr = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {
				xhr = false;
			}
		}
	}
	return xhr;	
}

/**
 * Get the full text link for the document
 * @return
 */
function getFullTextLink(doc_num, coll)
{
	// Get an XMLHttpRequest first
	var request = getHTTPObject();
	if (request) {
		// Attach a function called "parseResponse" to the "onreadystatechange" 
		// event handler.
		request.onreadystatechange = function() {
			parseResponse(request);
		};
		// The request will be "GET", and will be asynchronous.
		request.open("GET", "/fullTextLink.html?doc_num=" + doc_num + "&coll=" + coll, true);
		request.send(null);
	}
}

/**
 * Parse the response from the server
 * 
 * @param request HTTPRequest object
 * @return 
 */
function parseResponse(request) {
	// Server has finished sending response.
	if (request.readyState == 4) {
		// The server status code is successful or no change found.
		if (request.status == 200 || request.status == 304) {
			// HTTPRequest object.
			var data = (request.responseText).split(" ");
			var link = data[0];	
			var freeFlag = data[1];			
			if (link.length > 0) {
				var image = document.createElement("img");
				if (freeFlag == true) {
					image.setAttribute("src", "/images/free_full_text.gif");
				} else {					
				image.setAttribute("src", "/images/full_text.gif");
				}
				image.setAttribute("border", 0);
				var fullTextLink = document.createElement("a");
				fullTextLink.setAttribute("href", link.replace(/&amp;/g,"&"));
				fullTextLink.setAttribute("rel", "nofollow");
				fullTextLink.setAttribute("title", "Full Text Available");
				fullTextLink.setAttribute("target", "_blank");
				fullTextLink.appendChild(image);
				
				// Ensure the "fulltextlink" div is empty
				var fullTextLinkDiv = document.getElementById("fulltextlink");
				while (fullTextLinkDiv.hasChildNodes()) {
					fullTextLinkDiv.removeChild(fullTextLinkDiv.lastChild);
				}
				fullTextLinkDiv.appendChild(fullTextLink);
			}
		}
	}
}
