var DELIMITER = ":::";

function searchUnserialize(ins)
{
  var temp = new Array();
  var temp1 ="";
  if (ins.indexOf(DELIMITER,0)>=0 && ins.length>0) 
  {
    do 
    {
      temp1=ins.substr(0,ins.indexOf(DELIMITER,0));
      ins=ins.substr((temp1.length+DELIMITER.length),ins.length);
      if (temp1!="") temp.push(temp1);
    } while (ins.indexOf(DELIMITER,0)>=0)
    if (ins.length>0) temp.push(ins);
  } else 
  {
    temp.push(ins);
  }
  return temp;
}

function catalogChange()
{
  var val = parseInt($("#search-catalog").attr("options")[$("#search-catalog").attr("selectedIndex")].value);
  $("#search-brand").attr("disabled", "disabled");  
      
  $("#search-brand-image").attr("src", "");
  if (val == -1) return false;
  $.get("ajax_request.php", { action: "changeCategory", category: val}, function(data){
    data = searchUnserialize(data);
    if (data[0] == "EMPTY") 
    { 
      alert("В данной категории нет товаров!"); 
      return false; 
    };
    $("#search-currency").html(data[0]);
    $("#search-brand").attr("length", 0);
    
    $("#search-brand").attr("options")[0] = new Option("Выберите производителя", -1);
    for (q = 1; q < data.length; q+=2)
      if ((data[q]) && (data[q+1]))
        $("#search-brand").attr("options")[parseInt((q-1)/2)+1] = new Option(data[q+1], data[q]);
    $("#search-brand").attr("disabled", "");      
    
    $("#search-submit").attr("disabled", "");    
    
    $("#search-sort").attr("length", 0);
    $("#search-sort").attr("options")[0] = new Option("Выберите вид товара", -1);      
      
    $("#search-first-price").attr("length", 0);
    $("#search-first-price").attr("options")[0] = new Option("Цена от", -1);
    
    $("#search-last-price").attr("length", 0);
    $("#search-last-price").attr("options")[0] = new Option("Цена до", -1);
    
    $("#search-sort").attr("disabled", "disabled");
    $("#search-first-price").attr("disabled", "disabled");
    $("#search-last-price").attr("disabled", "disabled");      
  });
}

function brandChange()
{
  $("#search-sort").attr("disabled", "disabled");
  $("#search-first-price").attr("disabled", "disabled");
  $("#search-last-price").attr("disabled", "disabled");
  
  var val = parseInt($("#search-brand").attr("options")[$("#search-brand").attr("selectedIndex")].value);
  if (val == -1) return false;
  var cat = parseInt($("#search-catalog").attr("options")[$("#search-catalog").attr("selectedIndex")].value);
  if (cat == -1) return false;  
  
  $.get("ajax_request.php", { action: "changeBrand", brand: val, category: cat}, function(data){
    data = searchUnserialize(data);  
    
    $("#search-brand-image").attr("src", "");
    if ((data[0] != '-') && (data[2] != '-') && (data[3] != '-'))
    {
      $("#search-brand-image").attr("src", "/images/brands/small/" + data[0]);  
      $("#search-brand-image").attr("title", data[1]);  
      $("#search-brand-image").attr("alt", data[1]);
      $("#search-brand-image").attr("width", data[2]);
      $("#search-brand-image").attr("height", data[3]);
    }
    var minPrice = parseInt(data[4]);
    var maxPrice = parseInt(data[5]);
    var sortsCount = parseInt(data[6]);
    var step = 25000;
    
    $("#search-first-price").attr("length", 0);
    $("#search-last-price").attr("length", 0); 
    $("#search-sort").attr("length", 0);             
    
    $("#search-sort").attr("options")[0] = new Option("Выберите вид товара", -1);
    $("#search-first-price").attr("options")[0] = new Option("Цена от", -1);
    $("#search-last-price").attr("options")[0] = new Option("Цена до", -1);
    for (q = 0; q < sortsCount; q++)
      if ((data[7+q*2]) && (data[8+q*2]))
        $("#search-sort").attr("options")[q+1] = new Option(data[7+q*2], data[8+q*2]);
    q = minPrice;
    var firstPriceCount = 1;
    var lastPriceCount = 1;
    do
    {
      if (q < maxPrice)
      {
        $("#search-first-price").attr("options")[firstPriceCount] = new Option(insertSpaces(q) + " руб.", q);
        firstPriceCount++;
      }
      if (q > minPrice)
      {
        $("#search-last-price").attr("options")[lastPriceCount] = new Option(insertSpaces(q) + " руб.", q);
        lastPriceCount++;
      }
      q+=step;
    } while (q <= maxPrice);
        
    $("#search-sort").attr("disabled", "");
    $("#search-first-price").attr("disabled", "");
    $("#search-last-price").attr("disabled", "");
  });    
}
