//---------------------------------------------------------------------------
// Function used by SearchBox.jsp to submit the search request
//---------------------------------------------------------------------------
function Search(context, urlState, formId) {	
	  var form = document.getElementById(formId);
	  
	  // If nothing is searched on then do nothing
	  var queryValidation = trim(form.Ntt.value);
	  if (queryValidation.length == 0)
	  {
		  var searchBox = form.Ntt.focus();
		  return;
	  }
	  
	  // Remove special characters in search term
	  // These characters include:  % ' /  \ < > ? | ~ 
	  queryValidation=queryValidation.replace(/\%/g,"");
	  queryValidation=queryValidation.replace(/\'/g,"");
	  queryValidation=queryValidation.replace(/\//g,"");
	  queryValidation=queryValidation.replace(/\\/g,"");
	  queryValidation=queryValidation.replace(/\</g,"");
	  queryValidation=queryValidation.replace(/\>/g,"");
	  queryValidation=queryValidation.replace(/\?/g,"");
	  queryValidation=queryValidation.replace(/\|/g,"");
	  queryValidation=queryValidation.replace(/\~/g,"");
			  
			  
	  // If updated search term contains nothing, then do nothing	  
	  if (queryValidation.length<1)
	  {
		  form.Ntt.value="";
		  var searchBox = form.Ntt.focus();
		  return;
	  }

	  // Get search property and term values from form elements
//	  var property = form.Ntk.value;
	  var terms = encodeURIComponent(queryValidation);
	  var removeterms = ["N","R","Nrc","No","Nao","Ntx","Nty","Ntk","Ntt","D","Dn","Dx","in_dym","in_dim_search"];
	  
	  var addterms;
	  var newurl;
	  addterms = ["Ntt-"+terms];
	 // addterms = ["Ntk-"+property,"Ntt-"+terms,"Ntx-mode+matchany" + "|"];
	  newurl = ConstructURL(context, urlState, removeterms, addterms);
	  window.location = newurl;
}

/*
Performs the XMLHttpRequest and replaces the contents of the given 
div with the results.  It also displays the given div after the results
have loaded.
*/
function ajax(url, vars, div, form) {alert()
	// Get search property and term values from form elements
	var property = form.Ntt.value;
	var node = document.getElementById(div); 
	property=property.replace(/%/g,"");
	if (property.length<3) {
		node.style.display = 'none';                                 			                               
		return;
	}
	if (window.XMLHttpRequest) {
       var request = new XMLHttpRequest();
    } else {
       var request = new ActiveXObject("MSXML2.XMLHTTP.3.0");
    }       
       
    if (vars) {
      url += '?' + vars + '=' + property;
     }
     
	 //document.body.style.cursor = 'wait';
     request.open("POST", url, true);
     request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");        
     request.onreadystatechange = function(){   	  
    	 	if (request.readyState == 4 && request.status == 200) {          	   	  
                 if (request.responseText){                                                                     
                   node.innerHTML = request.responseText;
                   node.style.display = 'block';                                 			                               
                 }          
                 //document.body.style.cursor = 'default';
             }
       }      
       request.send(vars);
       //document.body.style.cursor = 'wait';
}



//Removes leading white spaces
function LTrim( value ) 
{
	var re = /\s*((\S+\s*)*)/;
	return value.replace(re, "$1");
}

// Removes ending white spaces
function RTrim( value ) 
{
	var re = /((\s*\S+)*)\s*/;
	return value.replace(re, "$1");
}

// Removes leading and ending white spaces
function trim( value ) 
{
	return LTrim(RTrim(value));
}

function doTypeAhead(searchVal) {
	// Remove special characters in search term
    // These characters include:  % ' /  \ < > ? | ~ 
	searchVal=searchVal.replace(/%/g,"");
  	searchVal=searchVal.replace(/\%/g,"");
  	searchVal=searchVal.replace(/\'/g,"");
  	searchVal=searchVal.replace(/\//g,"");
  	searchVal=searchVal.replace(/\\/g,"");
  	searchVal=searchVal.replace(/\</g,"");
  	searchVal=searchVal.replace(/\>/g,"");
  	searchVal=searchVal.replace(/\?/g,"");
  	searchVal=searchVal.replace(/\|/g,"");
  	searchVal=searchVal.replace(/\~/g,"");		
	
	if (searchVal.length >= 3)
		loadScript("/EndecaUI/controller?" + "&D=" + searchVal);
	else
		document.getElementById("typeAhead").style.display = 'none';
}

function loadScript(url) {
   var e = document.createElement("script");
   e.src = url;
   e.type="text/javascript";
   document.getElementsByTagName("head")[0].appendChild(e); 
}

function showSearchResults(results) { 
	var node = document.getElementById("typeAhead");
	node.innerHTML=results;
	node.style.display = 'block';
}  
