// Bind dos eventos
$(document).ready(function()
{
	setOrderLinkActive();
	
	setPagerSize();
	
	$("select#pageSizeSelect").bind("change", function()
	{
		var pageSize = $("select#pageSizeSelect option:selected").val();
		executeSearch(undefined, undefined, undefined, "1", pageSize);
		return false;
	});
	
	// "Bind" o evento onclick no link para primeira página.
	$("a.first-page-link").bind("click", function()
	{
		executeSearch(undefined, undefined, undefined, "1", undefined, undefined);
		return false;
	});
	
	// "Bind" o evento onclick no link para página anterior.
	$("a.previous-page-link").bind("click", function()
	{
		var pageIndex = $.jqURL.get("pageIndex");
		
		if (pageIndex == undefined || isNaN(pageIndex))
		{
			if($(this)[0].innerText == undefined)
				pageIndex = $(this)[0].innerHTML;
			else
				pageIndex = $(this)[0].innerText;
		}
		else
		{
			if(pageIndex <= 1) 
				pageIndex = 1;
			else
				pageIndex--;
		}

		executeSearch(undefined, undefined, undefined, pageIndex, undefined, undefined);
		return false;
	});

	// "Bind" o evento onclick no link para página.
	$("a.pageToGo").bind("click", function()
	{
		var pageIndex = false;
		
		if($(this)[0].innerText == undefined)
			pageIndex = $(this)[0].innerHTML;
		else
			pageIndex = $(this)[0].innerText;

		executeSearch(undefined, undefined, undefined, pageIndex, undefined, undefined);
		return false;
	});

	// "Bind" o evento onclick no link para próxima página.
	$("a.next-page-link").bind("click", function()
	{
		var pageIndex = $.jqURL.get("pageIndex");
		
		if (pageIndex == undefined || isNaN(pageIndex))
		{
			if($(this)[0].innerText == undefined)
				pageIndex = $(this)[0].innerHTML;
			else
				pageIndex = $(this)[0].innerText;
		}
		else
		{
			if(pageIndex < 1 || pageIndex >= $("total-pages-hidden").val())
				pageIndex = $("total-pages-hidden").val();
			else
				pageIndex++;
		}

		executeSearch(undefined, undefined, undefined, pageIndex, undefined, undefined);
		return false;
	});
	
	// "Bind" o evento onclick no link para última página.
	$("a.last-page-link").bind("click", function()
	{
		executeSearch(undefined, undefined, undefined, "-1457", undefined, undefined);
		return false;
	});
	
	
	// "Bind" o evento onclick no link para ordenação por relevância.
	$("a.orderby-relevancia").bind("click", function()
	{
			executeSearch(undefined, undefined, undefined, "1", undefined, "Relevancia");
			return false;
	});
	// "Bind" o evento onclick no link para ordenação por menor preço.
	$("a.orderby-menorpreco").bind("click", function()
	{
			executeSearch(undefined, undefined, undefined, "1", undefined, "MenorPreco");
			return false;
	});
	// "Bind" o evento onclick no link para ordenação por maior preço.
	$("a.orderby-maiorpreco").bind("click", function()
	{
			executeSearch(undefined, undefined, undefined, "1", undefined, "MaiorPreco");
			return false;
	});
	// "Bind" o evento onclick no link para ordenação por mais vendidos.
	$("a.orderby-maisvendidos").bind("click", function()
	{
			executeSearch(undefined, undefined, undefined, "1", undefined, "MaisVendidos");
			return false;
	});
	// "Bind" o evento onclick no link para ordenação por alfabética.
	$("a.orderby-alfabetica").bind("click", function()
	{
			executeSearch(undefined, undefined, undefined, "1", undefined, "Alfabetica");
			return false;
	});
	
	// "Bind" o evento onclick no item do controle Did You Mean
	$("li.did-you-mean").bind("click", function()
	{
			executeSearch($(this).text(), undefined, undefined, undefined, undefined, "Relevancia");
			return false;
	});
	
	// "Bind" o evento onclick no item do controle Did You Mean
	$("li.suggestion").bind("click", function()
	{
			executeSearch($(this).text(), undefined, undefined, undefined, undefined, "Relevancia");
			return false;
	});
});

var setPagerSize = function()
{
	var pageSize = $.jqURL.get("pageSize");

	if (pageSize != undefined)
		$("select#pageSizeSelect").selectOptions(pageSize, true);
	else
		$("select#pageSizeSelect").selectOptions("10", true);
}

var setOrderLinkActive = function()
{	
	var orderBy = $.jqURL.get("orderBy");
	
	if (orderBy != undefined)
	{
		switch(orderBy)
		{
			case "Relevancia":
				$("a.orderby-relevancia").css({ color : "4576C8" });
				$("a.orderby-menorpreco").css({ color : "333" });
				$("a.orderby-maiorpreco").css({ color : "333" });
				$("a.orderby-maisvendidos").css({ color : "333" });
				$("a.orderby-alfabetica").css({ color : "333" });
				break;
			case "MenorPreco":
				$("a.orderby-relevancia").css({ color : "333" });
				$("a.orderby-menorpreco").css({ color : "4576C8" });
				$("a.orderby-maiorpreco").css({ color : "333" });
				$("a.orderby-maisvendidos").css({ color : "333" });
				$("a.orderby-alfabetica").css({ color : "333" });
				break;
			case "MaiorPreco":
				$("a.orderby-relevancia").css({ color : "333" });
				$("a.orderby-menorpreco").css({ color : "333" });
				$("a.orderby-maiorpreco").css({ color : "4576C8" });
				$("a.orderby-maisvendidos").css({ color : "333" });
				$("a.orderby-alfabetica").css({ color : "333" });
				break;
			case "MaisVendidos":
				$("a.orderby-relevancia").css({ color : "333" });
				$("a.orderby-menorpreco").css({ color : "333" });
				$("a.orderby-maiorpreco").css({ color : "333" });
				$("a.orderby-maisvendidos").css({ color : "4576C8" });
				$("a.orderby-alfabetica").css({ color : "333" });
				break;
			case "Alfabetica":
				$("a.orderby-relevancia").css({ color : "333" });
				$("a.orderby-menorpreco").css({ color : "333" });
				$("a.orderby-maiorpreco").css({ color : "333" });
				$("a.orderby-maisvendidos").css({ color : "333" });
				$("a.orderby-alfabetica").css({ color : "4576C8" });
				break;
		}
	}
	else
	{
		$("a.orderby-relevancia").css({ color : "333" });
		$("a.orderby-menorpreco").css({ color : "333" });
		$("a.orderby-maiorpreco").css({ color : "333" });
		$("a.orderby-maisvendidos").css({ color : "333" });
		$("a.orderby-alfabetica").css({ color : "333" });
	}
}

var searchCategory = function(value)
{
	executeSearch(undefined, value, undefined, undefined, undefined, undefined);
}

var searchSubCategory = function(value)
{
	executeSearch(undefined, undefined, value, undefined, undefined, undefined);
}