function product_search_submit(form){
	url = $(form).attr("action");
	
	$.ajax({
		type: "POST",
		url: url,
		data: $(form).serialize(),
		dataType: "text",
		beforeSend: function(xhr) {
			ajax_loading_start_product();
		}, 
		complete: function(){
			ajax_loading_stop_product();
		},		
		success: function(data){
			var jsonObj = JSON.parse(data);
			var rc = jsonObj.rc;
			var result = jsonObj.result;
			if(rc!="0"){
				for(item in result){
					$("#"+item+"_errors").html(result[item]);
				}
			}else{
				window.location.replace(result);
			}
		},
		error: function(xhr){
			//alert('error'+xhr);
		}
	});
	return false;
}


function init_product_search_name_autocomplete(target_url){
    $("#product_search_product_name").autocomplete(target_url, {
		  minChars: 1,
		  dataType:'text',
		  delay: 300,
		  beforeSend: function(xhr) {
			ajax_loading_start();
		  }, 
			complete: function(){
				ajax_loading_stop();
		  },
		  matchSubset:false, // also bugged...
		  highlight:function(match,keywords){
    		keywords = keywords.split(' ').join('|');
    		return match.replace(new RegExp("("+keywords+")", "gi"),'<b>$1</b>');
    		},
		  parse:function(data){
			var array=new Array();
			var jsonObj = JSON.parse(data);
			product_results = jsonObj.results;
			
			for(var i=0; i< product_results.length;i++)
			{
			 array[i]= {
					    data: product_results[i] , 
			            value: product_results[i].id, 
					    result: product_results[i].title 
					    }
			}
          return array;
			}, 
			formatItem:function(data){
				return data.title;
          },																										   
			formatResult: function(data){
				return data.title;
          }

		  } ).result(function(event, item) {
				$("#price_comparison_product_id").val(item.id);
				$("#price_comparison_product_slug").val(item.slug);
				$("#price_comparison_product_type").val(item.type);
				redirect_product_details(item.slug);
      });
}

function ajax_loading_stop_product(){
	if ($("#product_search_main_form_submit_loading").is(":visible")){
		$("#product_search_main_form_submit_loading").hide();
	}
}
function ajax_loading_start_product(){
	if (!$("#product_search_main_form_submit_loading").is(":visible")){
		$("#product_search_main_form_submit_loading").show();
	}
}


