//
// The Endeca search
//

// check the search term length to avoid endeca-expensive search    2009-03-18 TaskID:7183 JK
function CheckSearchTermLengthInOemSch()    // for schematic search 
{
  var obj = $get('ctl00_cphMain_ucOemSchPicker_txtSearch');    // no way to pass server control clientid inside the OnClientClick block
  obj.focus();
  return IsValidSearchTermLength(obj.value);
}

function CheckSearchTermLength()          // for main search page
{
  var obj = $get('ctl00_cphMain_ucSearchInput_txtSearch');
  obj.focus();
  if (obj.value.indexOf('*') == -1) return true;        // bypass this checkup if it's not a wildcard search. 
  
  return IsValidSearchTermLength(obj.value);
  
}

// get the count of alphanumeric character
function GetCountAlphaMumericChars(str)
{
	var numaric = str;
	var count = 0;
	
	for(var j=0; j<numaric.length; j++)
  {
		  var alph = str.charAt(j);
		  var hh = alph.charCodeAt(0);
		  if((hh > 47 && hh<58) || (hh > 64 && hh<91) || (hh > 96 && hh<123))   // check the alphanumeric char.
		  {
		    count++;
		  }
	}
	
	return count;
}

// check the search term length to avoid long-running or expensive search.
function IsValidSearchTermLength(searchString)
{
  var MIN_SEARCH_LENGTH = 3;
  
  if (GetCountAlphaMumericChars(searchString) >= MIN_SEARCH_LENGTH) 
  {
    return true;
  }
  else 
  {
    alert('Please type at least three alpha-numeric characters for your search.');
    return false;
  }
}
  

