$(function() {
	$( "#query" ).autocomplete({
		source: function( request, response ) {
			$("#top_search_bar>span").addClass('ac_loading');
      		var objDate = new Date;
      		var strDateTime = objDate.getTime();
      		var strOutputHTML = '';
      		var strBestSellerHTML = '';
			$.ajax({
        		url: "/ajax/autocomplete/json?" + strDateTime + "&q="+$("input#query").val() + '&sort=9',//this.value
				dataType: "json",
				data: {
					query: request.term
				},
				success: function( data ) {
				    $("#autocomplete_results").removeClass('ac_loading');
          			$("input.search_textbox").removeClass('ac_loading');

		          // add category results
		          if(data.categories)
		          {
		          if(data.categories[1])
		          {
		            for(intCounter = 0; intCounter < 2; intCounter++)
		            {
		              strOutputHTML += '<li class="ui-menu-item" role="menuitem"><a target="_parent" tabindex="-1" onclick="window.open (\'' + data.categories[intCounter].url + '\', \'_self\');" class="ui-cat ui-corner-all" href="'
		                            + data.categories[intCounter].url + '">'
		                            + '<div class="autocomplete_search_left"><img style="padding:2px 6px 0px 12px;" src="/images/search_category.png" alt="' + data.categories[intCounter].title + '" /><br />'
		                            + data.categories[intCounter].title
		                            + '<br /><span class="autocomplete_price">' + data.categories[intCounter].count
		                            + ' Products</span></div></a></li>';
		            }
		          }
		          else if(data.categories[0])
		          {
		            for(intCounter = 0; intCounter < 1; intCounter++)
		            {
		              strOutputHTML += '<li class="ui-menu-item" role="menuitem"><a target="_parent" tabindex="-1" onclick="window.open (\'' + data.categories[intCounter].url + '\', \'_self\');" class="ui-cat ui-corner-all" href="'
		                            + data.categories[intCounter].url + '">'
		                            + '<div class="autocomplete_search_left"><img style="padding:2px 6px 0px 12px;" src="/images/search_category.png" alt="' + data.categories[intCounter].title + '" /><br />'
		                            + data.categories[intCounter].title
		                            + '<br /><span class="autocomplete_price">' + data.categories[intCounter].count
		                            + ' Products</span></div></a></li>';
		            }
		          }
		          }
		          
		          if(data.best_seller)
		          {
		          	strBestSellerHTML += '<li class="ui-menu-item" role="menuitem"><a target="_parent" tabindex="-1" onclick="window.open (\'' + data.best_seller[0].url + '\', \'_self\');" class="ui-cat ui-corner-all" href="'
		                            + data.best_seller[0].url + '">'
		                            + '<div class="autocomplete_search_left"><img src="' + data.best_seller[0].image + '" alt="' + data.best_seller[0].title + '" /><br />'
		                            + data.best_seller[0].title
		                            + '<br /><span class="autocomplete_price">' + data.best_seller[0].price
		                            + '</span></div></a></li>';
		          }

					response( $.map( data.products, function( item ) {
						return {
							title: item.title,
							url: item.url,
							price: item.price,
							image:item.image
						}
					}));
					
					//$$(a).unbind('click').unbind('onclick').attr('href');
					if(data.categories)
		         	 {
					$('#autocomplete_results ul').prepend(strOutputHTML);
					}
					if(data.best_seller)
		         	 {
					$('#autocomplete_results ul').prepend(strBestSellerHTML);
					}
				}
			});
		},
	    select: function( event, ui ) {
	      window.location.href = ui.item.url;
	    },
		minLength: 2,
		open: function(event, ui) {
			$("#top_search_bar>span").removeClass('ac_loading');
      		$('ul.ui-autocomplete').removeAttr('style').hide().appendTo('#autocomplete_results').show();
      		$('#autocomplete_results').fadeIn(200);           
    	},
    	close: function()
    	{
    		$('#autocomplete_results').fadeOut(200);
    	}
	})

	.data( "autocomplete" )._renderItem = function( ul, item ) {
		return $( "<li></li>" ).data( "item.autocomplete", item ).append( "<a target=\"_parent\" href=\""+item.url+"\"><div class=\"autocomplete_search_left\"><img src=\""+item.image+"\" alt=\""+item.title+"\" /><br />"+item.title+"<br /><span class=\"autocomplete_price\">"+item.price+"</span></div></a>" ).appendTo( ul );
	};

});
