var batchCheck = new Hash();
var numChecked = 0;


function toggleChildPriorEd(divid, anchid, year, uri, terms)
{	   		
	var div = $(divid);
	div.innerHTML = "";
	var a = $(anchid);
	if (div.style.display == 'none')
	  a.firstChild.nodeValue = "Hide";
	else
	  a.firstChild.nodeValue = "Show Detailed Summary";	   
	   			   	 
	   
	if (div.style.display == 'none')
	   {		   		   
		   div.show();		   
		   getPage('PriorEditionsChild','year='+year+'&uri='+uri+'&terms='+terms,'GET',divid,fixLeftPaneHeight,true);		   
	   }
	   else
	   {
		   div.hide();
		   fixLeftPaneHeight();
	   }	   
		   	  
   }


function togglePriorEdAbstract(divid, anchid, uri, terms,accessionNum, docID, abstractLibFile,color)
{	   		
	var div = $(divid);
	div.innerHTML = "";
	var a = $(anchid);
	if (div.style.display == 'none')
	  a.firstChild.nodeValue = "Hide Abstract";
	else
	  a.firstChild.nodeValue = "Show Abstract";	   
	   			   	 
	   
	if (div.style.display == 'none')
	   {		   
		   abisEntry("Abstract-prevedition-click",accessionNum,docID,abstractLibFile,null);
		   div.show();		   
		   getPage('Abstract','divid='+divid+'&uri='+uri+'&terms='+terms+'&priorEd=true&background='+color,'GET',divid,fixLeftPaneHeight,true);		   
	   }
	   else
	   {
		   div.hide();
		   fixLeftPaneHeight();
	   }	   
		   	  
   }

function toggleX(divid, anchid, uri, terms, open, close)
{	   		
	var div = $(divid);
	div.innerHTML = "";
	var a = $(anchid);
	if (div.style.display == 'none')
	  a.firstChild.nodeValue = close;
	else
	  a.firstChild.nodeValue = open;	   
	   			   	 
	   
	if (div.style.display == 'none')
	   {		   
		   div.show();		   
		   getPage('ImgSel','uri='+uri+'&terms='+terms,'GET',divid,fixLeftPaneHeight);		   
	   }
	   else
	   {
		   div.hide();
		   fixLeftPaneHeight();
	   }	   
		   	  
   }


function toggleAnalytic(id, anchorID)
{	
	var ob = $(id);	
	var a =$(anchorID);
	if (ob.style.display == 'none')
	{
	  a.firstChild.nodeValue = "Hide";
	  ob.style.display = 'block';
	}
	else
	{
	  a.firstChild.nodeValue = "Abstract";
	  ob.style.display = 'none';
	}	
}




function toggleAbstract(id, topdivid, spanid, queryString, accessionNum, docID, abstractLibFile, color)
   {	   	   
	   setSelectionHighlight(id, topdivid, spanid, color);	   
	   
	   var div = $(id);
	   div.innerHTML = "";
	   
	   if (div.style.display == 'none' || !isContentSame(div,"abstract"))
	   {		   		   
		   abisEntry("Abstract-click",accessionNum,docID, abstractLibFile,null);
		   div.show();
		   setContentType(div,"abstract");
		   getPage('Abstract',queryString+"&divid="+id+"&topdivid="+topdivid+"&spanid="+spanid+"&background="+color,'GET',id,fixLeftPaneHeight,true);		   
	   }
	   else
	   {
		   clearColorOnItem(id,spanid);
		   div.hide();
		   fixLeftPaneHeight();
	   }	   
		   	  
   }

function toggleDetails(ancid,divid)
{	   	
	var a = $(ancid);
	var div = $(divid);
	div.innerHTML = "";
	if (div.style.display == 'block')
	{	   
	   div.style.display='none';
	}
	else
	{			 
	   div.style.display='block';
	   getPage('ProductDetail',"",'GET',divid,null,true);
	}		   	  
}


   
   function togglePriorEditions(id, topdivid, spanid, queryString, color)
   {	
	   setSelectionHighlight(id, topdivid,spanid,color);	   
	   
	   var showclose = (color == "#FFFFFF" ? "&showclose=false" : "&showclose=true");
	   
	   var div = $(id);
	   div.innerHTML = "";
	   
	   if (div.style.display == 'none' ||  !isContentSame(div,"priorEd"))
	   {		   
		   div.innerHTML = "<h5 style='color:gray;' align='center'>Prior Editions Loading...</h5>";
		   div.show();
		   setContentType(div,"priorEd");
		   getPage('PriorEditions',queryString+"&divid="+id+"&topdivid="+topdivid+"&spanid="+spanid+showclose,'GET',id,fixLeftPaneHeight,true);		  
	   }
	   else
	   {
		   clearColorOnItem(id,spanid);
		   div.hide();
		   fixLeftPaneHeight();
	   }	   
		   	  
   }
   
   function setSelectionHighlight(contentid, id, spanid, color)
   {
	   var div = $(id);
	   if (div.hasChildNodes())
	   {
		   var children = div.childNodes;
		   for (var i = 0; i < children.length; i=i+1) 
		   {
			   if (children[i].nodeName == "INPUT")
			   {				   				
				  children[i].style.background = "#FFFFFF";						   	
			   }
				   
		   };
	   };
	   
	   setColorOnItem(spanid,color);
	   setColorOnItem(contentid,color);
		 

   }
   
   function setColorOnItem(id, color)
   {
	   var span = $(id);	   
	   span.style.background = color;
   }
   
   function clearColorOnItem(contentid,id)
   {
	   var span = $(id);	   
	   span.style.background = "#FFFFFF";
	   var c = $(contentid);	   
	   c.style.background = "#FFFFFF";
   }
   
   function isContentSame(div, doctype)
   {
	   return div.className == "TAGDIV_"+doctype;
   }
   
   function setContentType(div, doctype)
   {
	   div.className = "TAGDIV_"+doctype;
   }
   
   function showDoc(divid, topdivid, spanid, doctype, uri, accessionNum, terms, abstDocID, color)
   {
	   setSelectionHighlight(divid, topdivid, spanid, color);
	   
	   var showclose = (color == "#FFFFFF" ? "&showclose=false" : "&showclose=true");  
	   
	   var div = $(divid);
	   div.innerHTML = "";
	   if (div.style.display == 'none' || !isContentSame(div,doctype))
	   {
		   div.show();	   	 
		   div.innerHTML = "<h5 style='color:gray;' align='center'>Loading...</h5>";
		   setContentType(div,doctype);
		   		   
		   if (doctype == "pdf")
		     getPage('Preview_PDF','accessionNum='+accessionNum+'&uri='+uri+'&terms='+terms+'&abstDocID='+abstDocID+'&divid='+divid+'&topdivid='+topdivid+'&spanid='+spanid+'&background='+color+showclose,'GET',divid,fixLeftPaneHeight,true);
		   else if (doctype == "excel")
			 getPage('Preview_Table','view=search&accessionNum='+accessionNum+'&uri='+uri+'&terms='+terms+'&abstDocID='+abstDocID+'&divid='+divid+'&topdivid='+topdivid+'&spanid='+spanid+showclose,'GET',divid,fixLeftPaneHeight,true);		   
		   else if (doctype == "prior")
			 getPage('Preview_Prior','accessionNum='+accessionNum+'&uri='+uri+'&divid='+divid+'&topdivid='+topdivid+'&spanid='+spanid+showclose,'GET',divid,fixLeftPaneHeight,true);
		   else if (doctype == "datasets")
				 getPage('Preview_Datasets','accessionNum='+accessionNum+'&uri='+uri+'&divid='+divid+'&topdivid='+topdivid+'&spanid='+spanid+showclose,'GET',divid,fixLeftPaneHeight,true);
	   }
	   else
	   {
		   clearColorOnItem(divid,spanid);
		   div.hide();
		   fixLeftPaneHeight();
	   }	   
   }
   
   function closeAttchDoc(divid, topdivid, spanid)
   {	   
	   setSelectionHighlight(divid, topdivid, spanid,"#FFFFFF");	  
	   
	   var div = $(divid);
	   div.innerHTML = "";
	   
	   clearColorOnItem(divid,spanid);
	   div.hide();
	   fixLeftPaneHeight();	   	  
   }
   
   function showPDFDoc(divid, uri, pdfID, abstractURI, abstractTerms,abstractLibFile, attchLibFile, accessionNum, docID, abstDocID)
   {	   	   
	   var div = $(divid);
	   div.innerHTML = "";
	   	   	  
	   if (div.style.display == 'none' ||  !isContentSame(div,"PDFPREV"+pdfID))
	   {
		   abisEntry("PDF_Initial_Abstract",accessionNum,abstDocID,abstractLibFile,null);
		   div.show();
		   div.innerHTML = "<h5 style='color:gray;' align='center'>PDF Preview Loading...</h5>";
		   
		   setContentType(div,"PDFPREV"+pdfID);
		   var a = "&numAbsLibFiles=";
	        a = a + abstractLibFile.length;
	        for (var i = 0; i < abstractLibFile.length; i = i +1)
	        {
	        	a = a + "&AB"+i+"="+c_urlencode(abstractLibFile[i]);
	        }
	        a = a + "&numAttchLibFiles=";
	        a = a + attchLibFile.length;
	        for (var i = 0; i < attchLibFile.length; i = i + 1)
	        {
	        	a = a + "&AT"+i+"="+c_urlencode(attchLibFile[i]);
	        }	   
			   			  
		   getPage('PreviewItem_PDF','pageNum=0&uri='+uri+'&div='+divid+'&abstractURI='+abstractURI+'&abstractTerms='+abstractTerms+a+"&accessionNum="+c_urlencode(accessionNum)+"&docID="+c_urlencode(docID)+"&abstDocID="+c_urlencode(abstDocID),'GET',divid,fixLeftPaneHeight,true);		  
	   }
	   else
	   {
		   div.hide();
		   fixLeftPaneHeight();
	   }	   
   }
   
   function showExcelDoc(divid, uri)
   {	   
	   var div = $(divid);
	   div.innerHTML = "";
	   if (div.style.display == 'none')
	   {
		   div.show();	   	 		   		  
		   getPage('PreviewItem_Excel','uri='+uri,'GET',divid,fixLeftPaneHeight);		  
	   }
	   else
	   {
		   div.hide();
		   fixLeftPaneHeight();
	   }	
   }
   
   function showImageDoc(divid, uri)
   {	   
	   var div = $(divid);
	   div.innerHTML = "";
	   if (div.style.display == 'none')
	   {
		   div.show();	   	 		   		  
		   getPage('PreviewItem_Image','uri='+c_urlencode(uri),'GET',divid,fixLeftPaneHeight);		  
	   }
	   else
	   {
		   div.hide();
		   fixLeftPaneHeight();
	   }	   
   }
   
   function showPriorDoc(divid, uri)
   {	   
	   var div = $(divid);
	   div.innerHTML = "";
	   if (div.style.display == 'none')
	   {
		   div.show();	   	 		   		  
		   getPage('PreviewItem_Prior','uri='+c_urlencode(uri),'GET',divid,fixLeftPaneHeight);		  
	   }
	   else
	   {
		   div.hide();
		   fixLeftPaneHeight();
	   }	 
   }
   
   function hideDoc(divid)
   {
	 $(divid).hide();   
	 fixLeftPaneHeight();
   }
   
   function clearBatch()
   {
	   batchCheck.each(function(pair) {
		   batchCheck.unset(pair.key);	
		 })
		 
		 numChecked = 0;	   	   
   }
   
   function addBatchItem(itemNum, terms, uri)
   {
	  
	      var obj = $("CBX_"+itemNum);
		   
		   if (batchCheck.get(itemNum))
		   {
			   obj.checked = false;
			   batchCheck.unset(itemNum);
			   numChecked = numChecked -1;
		   }
		   else
		   {
			   obj.checked = true;
			   batchCheck.set(itemNum,terms+"~~"+uri);
			   numChecked = numChecked +1;
		   }		   	   		 
   }      
   
   function getNumChecked()
   {
	   return numChecked;
   }
   
   function checkBatch()
   {
	   if (numChecked == 0)
	   {
		   alert("You must select at least one checkbox in the search results");
		   return false;
	   }
	   else
	   {
		   return true;
	   }
   }
   
   function getBatchURIs()
   {	   	  
	  //return batchCheck.toQueryString();
	  
	  var s = "";
	  
	  batchCheck.each(function(pair) {
		   s = s + pair.value + "||";
	  })	  	  	    	  	  
	  
	  if (s.length >= 2)
		  s = s.substring(0,s.length-2);
	  return s;	  
   }
   
   function setBatchChecked(start,end)
   {	   
	   var itemnum;
	   
	   for (var i = start; i < end; i = i+1)
	   {
		   itemnum = "" + i;	
		   var obj = $("CBX_"+itemnum);
		   if (obj)
		   {
			   //alert(obj);
			   if (batchCheck.get(itemnum))		       
				   obj.checked = true;
			   else
				   obj.checked = false;
		   }
	   }
   }      
   
   function getBatchParams()
   {
	   var id = getDataXMLHttp("LinkIdentifier","identifier=" + getBatchURIs(),"POST");	   	   
	   return "?identifier=" + id;
   }
   
   function getFullAbstractUrl()
   {
	   return "jsp/BatchAbstract.jsp" + getBatchParams();
   }
         
   function getCitationUrl()
   {
	   return "jsp/BatchCitations.jsp" + getBatchParams();
   }      
   
   function getEmailUrl()
   {
	   return "jsp/BatchEmail.jsp" + getBatchParams();
   }
   
   function getRefworksUrl(serverName)
   {
	   return "http://www.refworks.com/express/ExpressImport.asp?vendor=Conquest&filter=RefWorks%20Tagged%20Format&encoding=65001&url="+c_urlencode(serverName+"/RefworksCallback")+getBatchParams();	   	
   }
   
   function getEndNoteUrlLocal(serverName)
   {	   
	   return "EndNoteLocalExport" + getBatchParams();	   
   }
   
   function getEndNoteUrlWeb(serverName)
   {
	    var u = "http://www.myendnoteweb.com/?func=directExport&partnerName=LexisNexis&dataIdentifier=1&dataRequestUrl="+c_urlencode(serverName+"/EndNoteCallback"+getBatchParams());
	    LogMessage(u);	    
		return u;		   
   }
   
   function printAbstract(identifier)
   {	  	  	  	  	   	  		  
	   
	  var id = getDataXMLHttp("LinkIdentifier","identifier=" + identifier,"POST");	   	   
	  var id2 = "?identifier=" + id;	   
	  var url = "jsp/BatchAbstract.jsp" + id2;
	  	  
	  var newwindow = window.open(url,'Title','resizable=no,width=600,height=400, top=10, left=10');
	  if (window.focus) {newwindow.focus()} 

	  
   }              
   
   function invokePreviewTable(uri,accessionNum,terms,divid,topdivid,spanid,view,showclose)
   {
	   $(divid).innerHTML = "";
	   getPage("Preview_Table","uri="+uri+"&accessionNum="+accessionNum+"&terms="+terms+"&divid="+divid+"&topdivid="+topdivid+"&spanid="+spanid+"&view="+view+"&showclose="+showclose,"POST",divid,fixLeftPaneHeight);
   }

