var initialState = true;
var thequery = "";
var queryName = "q";
var debug = false;
var allowSearchByTyping = true;

function getTheResults(query){

	if(!allowSearchByTyping){
		return;
	}

	thequery = query;
	query = $.trim(query);
		
	searchService.searchByContent(localeName, query+"~0.7", 0, 3, showTheResults);
	return false;
}

function createResultBlock(heading,viewAllHeading,objectType, items)
{
	var str = "";
	  str += '<div class="searchCategory">';
	  str += '<h5>' + heading + '</h5>';
	  str += '<ul class='+ objectType +'>';
	  $.each(items, function(n,value){
			if(value.pojo || debug) {
			
				if (objectType == 'promotion') {
					// Promotion object created based on lucene search results, so different from the rest
					str += "<li><a onclick=\"searchTrack('"+objectType+"','"+value.pojo.title+"');\" href=\"" +value.pojo.URI + "\">" +
							value.pojo.title + "</a></li>";
				} else {
					str += "<li><a onclick=\"searchTrack('"+objectType+"','"+value.pojo.objectName+"');\" href=\"" +value.pojo.URI + "\">" +
					value.pojo.objectName + "</a></li>";
				}
			}
	  });
	  str += "<li><a onclick=\"searchTrack('"+objectType+"','View All');\" class=\"searchViewAll\" href=\"/" +
		  		 localePath + "/searchresults.jspx?category="+objectType+"&"+queryName+"=" +
		  		 thequery + "\">" + viewAllHeading + "</a></li>";
	  str+="</ul>";
	  str+="</div>";
	  
	  return str;
}
function showTheResults(result)
{
	var str = "";
	if(result.totalHits > 0){
	  str += "<div class='searchDropTop'></div>"
	  if(result.groups.product){
		  str += createResultBlock(productHeading,viewAllHeading,'product', result.groups.product);
	  }
	  if(result.groups.expert){
		  str += createResultBlock(expertiseHeading,viewAllHeading,'expert', result.groups.expert);
	  }
	  if(result.groups.promotion){
		  str += createResultBlock(promotionHeading,viewAllHeading,'promotion', result.groups.promotion);
	  }
	  str += "<div class='searchDropBottom'></div>"
	}
	
	$("#searchResultsText").html(str);
	
	
	if(str.length > 0){
		$("#search-wrapper-outer").show();
	} else {
		clearSearch();
	}
}

var clearSearch = function(event){
	$("#search-wrapper-outer").hide();

}

function searchTrack(param1,param2){
    trackPage("/"+localePath+"/search-results/click-"+$("#searchForm input").val());
    trackSpotlight('type=downy275;cat=downy306;ord=1');
    trackEvent('Search Bar','Search Link Click','Search Link Click ' + document.searchForm.q.value);
    trackEvent('Search Results','Search Menu Link Click','Search Menu Link Click ' + param1 + ' '+param2);
}

$(document).ready(function() {

	$("#searchtab").bind('keyup',function(event){
		if(event.target.value.length > 2){
			getTheResults(event.target.value);
		}else{
			clearSearch();
		}
	});
	
	$("#searchResults").hover(function(event){}, clearSearch);

//	localePath = $('#searchForm input[name="localePath"]').val();
//	localeName = $('#searchForm input[name="localeName"]').val();
	
	// prevent submit if label applied or empty search box
	$("#searchForm").submit(function() {
		var obj = $("#searchForm input");
		var txtlen = $.trim(obj.val()).length;
		var haslbl = $("#searchForm input").hasClass("searchlbl");
		
		if ( haslbl || ( txtlen == 0 ) ) {
			obj.val("");
			return false;
		}else{
			//trackEvent("Search Bar", "Search Button Click", "Search Enter " + obj.val());
			return true;
		}
    });
});

