// Auto suggest code
function suggest(inputString){
	if(inputString.length == 0) {
		jQuery('#suggestions').fadeOut();
	} else {
		jQuery.post(HTTP_LOCATION + "support-scripts/getAutoSuggestList.php", {keyword: ""+inputString+""}, function(data){
			if(data.length >0) {
				jQuery('#suggestions').fadeIn();
				jQuery('#suggestionsList').html(data);

				jQuery("#suggestionsList ul li").removeClass("itemhover");
				jQuery("#suggestionsList ul li a").removeClass("itemhover");
				jQuery("#suggestionsList ul li a").eq(currentSelection).addClass("itemhover");
				jQuery("#suggestionsList ul li").eq(currentSelection).addClass("itemhover");

			}
		});
	}
}

function fill(thisValue) {
	jQuery('#keyword').val(thisValue);
	setTimeout("jQuery('#suggestions').fadeOut();", 10);
}

// Capture the up/down keypress
function myKeyupFunc(e){	
    switch(e.keyCode) { 
		// User pressed "up" arrow
		case 38:
			navigate('up');
		break;
		// User pressed "down" arrow
		case 40:
			navigate('down');
		break;
		// User pressed "enter"
		case 13:
			if(value != '') {
				fill(value);
			}
		break;
	}

}

var currentSelection = 0;
var value = '';

// Bind the keypress event (e.g. to the document)
jQuery(document).keydown(myKeyupFunc);

// Add data to let the hover know which index they have
for(var i = 0; i < jQuery("#suggestionsList ul li a").size(); i++) {
	jQuery("#suggestionsList ul li a").eq(i).data("number", i);
}

// Simulote the "hover" effect with the mouse
jQuery("#suggestionsList ul li a").hover(
	function () {
		currentSelection = jQuery(this).data("number");
		setSelected(currentSelection);
	}, function() {
		jQuery("#suggestionsList ul li a").removeClass("itemhover");
		currentUrl = '';
	}
);


function navigate(direction) {
	// Check if any of the menu items is selected
	if(jQuery("#suggestionsList ul li .itemhover").size() == 0) {
		currentSelection = -1;
	}
	
	if(direction == 'up' && currentSelection != -1) {
		if(currentSelection != 0) {
			currentSelection--;
		}
	} else if (direction == 'down') {
		if(currentSelection != jQuery("#suggestionsList ul li").size() -1) {
			currentSelection++;
		}
	}
	setSelected(currentSelection);
}

function setSelected(currentSelection) {
	jQuery("#suggestionsList ul li").removeClass("itemhover");
	jQuery("#suggestionsList ul li a").removeClass("itemhover");
	jQuery("#suggestionsList ul li a").eq(currentSelection).addClass("itemhover");
	jQuery("#suggestionsList ul li").eq(currentSelection).addClass("itemhover");
	value = jQuery("#suggestionsList ul li a").eq(currentSelection).attr("title");
}

// Search product on enter event
jQuery(function() {
	jQuery('#keyword').keypress(function(e) {
							  
		var key = e.which ? e.which : e.which;
						  
		if(key == '13') {		
			searchProducts('0');
			return false;
		}	
	});
});
// Search product on enter event
jQuery(function() {
	jQuery('#pid').keypress(function(e) {
							  
		var key = e.which ? e.which : e.which;
						  
		if(key == '13') {		
			searchProducts('1');
			return false;
		}	
	});
});
// Search Products from the header search bar
/*function searchProducts() { 
	var url 	= "";
	var keyword = document.getElementById("keyword").value;		
	if(keyword != "" && keyword != "keywords products code"){ 
		keyword = keyword.toLowerCase();  // Convert keyword to lower case	
		keyword = keyword.replace(/[^a-zA-Z 0-9 -]+/g,''); // Replace special character to ""
		keyword = keyword.replace(/^\s+|\s+$/g,"");
		
		var intIndexOfMatch = keyword.indexOf("  ");
		
		while (intIndexOfMatch != -1){
		  keyword = keyword.replace("  ", " ")
		  intIndexOfMatch = keyword.indexOf("  ");
		}
		
		keyword = keyword.replace(/ /g,"-"); // Replace space to "-"

		url = HTTP_LOCATION + "search.html?q=" + keyword + "&t=1";
		window.location= url;
	} else {
		alert("Kindly enter keywords to search!");
		document.getElementById("keyword").focus();
	}
}*/
// Search Products from the header search bar
function searchProducts(pid) {  
	var url = "";	
	if(pid == 1)
		var keyword = document.getElementById("pid").value;	
	else
		var keyword = document.getElementById("keyword").value;	
	if(keyword != "" && keyword != "keywords products code"){ 
		keyword = keyword.toLowerCase();  // Convert keyword to lower case	
		keyword = keyword.replace(/[^a-zA-Z 0-9 -]+/g,''); // Replace special character to ""
		keyword = keyword.replace(/^\s+|\s+$/g,"");
		
		var intIndexOfMatch = keyword.indexOf("  ");
		
		while (intIndexOfMatch != -1){
		  keyword = keyword.replace("  ", " ")
		  intIndexOfMatch = keyword.indexOf("  ");
		}
		
		keyword = keyword.replace(/ /g,"-"); // Replace space to "-"
		if(pid == 1) {
			url = HTTP_LOCATION + "search.html?q=" + keyword + "&t=1&pid=1";
			//url = HTTP_LOCATION + "search/" + keyword + ".html?pid=1";
		} else {
			//url = HTTP_LOCATION + "search/" + keyword + ".html";
			url = HTTP_LOCATION + "search.html?q=" + keyword + "&t=1";
		}
		window.location= url;
	} else {
		alert("Kindly enter keywords to search!");
		document.getElementById("keyword").focus();
		return false;
	}
}
