function setTreeFolderClick(folderId,param1,value)
{	
	var primFacet = function()
	{		
		if ($(folderId).className == "liOpen")   		
			addFacetQuery(param1,value);
	}	
	$(folderId).observe("click", primFacet);
	 	
}

function removeFacetType(type,terms)
{	
	if (terms)
	{		
		var arr = terms.value.split(/~/);	
		for (var i = 0; i < arr.length; i = i + 1)
		{			
			if (arr[i].startsWith(type+"@"))
			{				
				removeFacetQuery(arr[i],false);			
			}
		}
	}
		
}


var setDates = function(start,end,datetype,fullrange) 
{				
		var dates = [];		
		dates.push(start+"-"+end);		
								
		if (dates && !fullrange)
		{							
			if (datetype == "DatePub")
			{
				removeFacetType("DATEP",$('facets'));
				addFacetQueryArray("DATEP",dates);
			}
			else
			{
				removeFacetType("DATEC",$('facets'));
				addFacetQueryArray("DATEC",dates);				
			}
		}
		else
		{			
			loadSearchPage(true);	
		}			
}

            
function removeFacetQuery(facetStr, load) 
{            		
     var ctrlFacet = $("facets");
     var strFacet = ctrlFacet.value;     
            	     
     if(strFacet.indexOf(facetStr + "") != -1) 
     {
        strFacet = strFacet.replace(facetStr, "");
        strFacet = strFacet.replace("~~", "~");
        
        if(strFacet.startsWith("~")) 
        {        	
        
           strFacet = strFacet.substring(1,strFacet.length);
        }              
	        
        ctrlFacet.value = strFacet;
		if (load)     
		{						
			loadSearchPage(true);
		}
	}            	
}

function afq(qname1, value) {
	
	if (qname1 === "S")
			qname1 = "SUBJECT-TERM";
		else if (qname1 === "G")
			qname1 = "GEOGRAPHIC";
		else if (qname1 === "D")
			qname1 = "DATABASE";
		else if (qname1 ===  "B")
			qname1 = "BREAKDOWN";
		
	addFacetQuery(qname1,value);
	
}

function subjecttermclick() {
		
	var th = this;
	var qname1 = "SUBJECT-TERM";
	var value = getText(th);
	var pos = value.indexOf("[");
	
	var s = value.substring(0,pos);
		
	addFacetQuery(qname1,s);
	return false;
	
}

function getText(el)
{
var x = el.childNodes;
var txt = '';
var node;

for (var i=0, len=x.length; i<len; ++i){
node = x[i];

if (3 == node.nodeType) {
txt += node.data;
} else if (1 == node.nodeType){

if (node.tagName && node.tagName.toLowerCase() != 'script') {
txt += arguments.callee(node);
}
}
}
return txt.replace(/\s+/g,' '); // Maybe trim leading
// and trailing whitespace too
}






            
function addFacetQuery(qname1, value) {
            	
          var qstr = qname1 + "@" + value;            		

          var ctrlFacet = $("facets");
          var strFacet = ctrlFacet.value;
            
          if(strFacet.indexOf(qstr) == -1) 
          {
        	  if(strFacet.length > 0) {
            		strFacet = strFacet + "~";
			  }
           	  strFacet = strFacet + qstr;
			
			  ctrlFacet.value = strFacet;
			  loadSearchPage(true);
		  }            	
}

function addFacetQueryArray(qname1, valueArray) 
{

	var added = false;
	var ctrlFacet = $("facets");
	var strFacet = ctrlFacet.value;	
	
	for (var i = 0; i < valueArray.length; i = i + 1)
	{
	    var qstr = qname1 + "@" + valueArray[i];            		
		    	    	      
	    if(strFacet.indexOf(qstr) == -1) 
	    {
		  	  if(strFacet.length > 0) 
		  	  {
		      		strFacet = strFacet + "~";
			  }
		      strFacet = strFacet + qstr;							  
			  added = true;		  
		}
	}
	    
	if (added)
	{
		ctrlFacet.value = strFacet;
	    loadSearchPage(true);
	}
}


function clearAllFacets()
{
	$('facets').value = "";
}

function facetsubjectsort(sort)
{
	getDataXMLHttp("SetFacetSubjectSort","subjectsort="+c_urlencode(sort),"POST");
	reloadFacets();
}

function reloadFacets()
{
	   var searchFormID = 'search';	  
	   var queryString = getFormQueryString(searchFormID);	   
	   searchPageLoaded(queryString)
   	      	   	      	   	   	   	   		 
}


