var requestCount = 0;

	function zeropad(digits, str) {
		var zeros = "00000000000000000000000000000000000000000000000000";
		return zeros.substring(0, 24 - str.toString().length)+str;
	}

	function truncate(str){
		var len = 75;
	    if (str.length > len) {
			str = str.substring(0, len);
			str = str.replace(/\w+$/, '');
			str += "...";
		}
		return str;
	}
	// ---------------------------------------------------	

	function createQuery(id){
	  obj = document.getElementById(id);
	  query = obj.keyword.value.replace(/\b(AND|OR)\b/ig, " ");	  
	  query = query.replace(/^\s*([^\s]*)\s*$/, "$1");
	  if(query.length > 3){
		  query = query.replace(/\b([^\s]+)\b/g, 'AND $1');
		  query = query.replace(/^\s*(AND|OR)\b/gi, '');		  
		  query = query.replace(/\b(AND|OR)\s*$/gi, '');		  		  
		  query = 'productTitle:(' + query + ')';	
		  //var min = (!isNaN(obj.minPrice.value))?zeropad(5, Math.round(obj.minPrice.value)*100):0;
		 /// var max = (!isNaN(obj.maxPrice.value))?zeropad(5, Math.round(obj.maxPrice.value)*100):999999999999999999999999;
		 
		  //query = 'NOT outOfStockMNN:true AND ' + query + category + minDiscount + ' AND listPrice:['+min+'+TO+'+max+']';   						  
		  query = 'NOT outOfStockMNN:true AND ' + query;   						  
	  } else {
	  	  query = "";
	  }	
	  return query;
	  
	}
	
	
	function submitQuery(id){
		obj = document.getElementById(id);
		q = createQuery(id).replace(/productTitle:/, "");
		document.location = '/search.htm?keyword=' + q + '&title=Keyword Search: ' + obj.keyword.value;
	}
	  
	  
	function getResults(id){
	
	  query = createQuery(id);   						  
	  
	  if(query!=""){
		  var d = new Date();
		  var startTime = d.getTime();		  

		  var url = '/api/search/products/' + query + '?products.properties=offersSummary';
			  new XHR.request(url, {
				onError: function(xhr) {
				  //alert('Error: '+xhr.responseText);
				},
				onFailure: function(xhr) {
				  //alert('Failure: '+xhr.responseText);
				},
				onSuccess: function(xhr, count, t) {
		  			var d = new Date();
					var curTime = d.getTime();		  

					if(count == requestCount && (curTime - t < 1500)){
					  var results = eval('(' + xhr.responseText + ')');
					  var list = "<ul id=\"suggestList\">"; 
						if ( results.products ) {
						  var prodCount = 0;
						  for ( i in results.products) {
							list = list + 
							  "<li>" + 
							  "<a href=\"/"+i.split("-")[0]+"/"+i.split("-")[1]+"/"+i.split("-")[0]+".htm\">" + truncate(results.products[i].title) + "</a>" +
							  "</li>";
							  prodCount++;
						  }
						  list = list + "</ul>";
						  if(prodCount>0) 
						  	document.getElementById('suggestBox').innerHTML = list;	
						}
				  }
				}
			  },
				++requestCount,
				startTime
			);
		} else {
			hideResults();
		}
	}  
	function hideResults(){
		document.getElementById('suggestBox').innerHTML="";
	}	
