var search_pages_ar = new Array("subject", "size", "colour", "type", "price", "artist");
var search_fields_ar = new Array("subject", "subject_manual", "height1", "height2", "width1", "width2", "product_type", "medium", "substrate", "school", "style", "approach", "classification", "artist");

deleteCookie("reset_search");

function reset_search()
{
  for (var i in search_fields_ar)
  {
    var sel = _ge("search_"+search_fields_ar[i]);
    if (sel && sel.selectedIndex) sel.selectedIndex = 0;

    var sel_m = _ge("search_"+search_fields_ar[i]+"_manual");
    if (sel_m) sel_m.value = "";

    set_search(search_fields_ar[i], "");
  }

  if (search_conditions["colour"]) set_single_btn_search("colour", search_conditions["colour"]);
  if (search_conditions["price"]) set_single_btn_search("price", search_conditions["price"]);

  var date = new Date();
  date.setFullYear(date.getFullYear() + 1);
  setCookie("reset_search", 'ja', date, '/');
}

function search_set_page(p)
{
  if (search_pages_ar.in_array(p))
  {
    for (var i = 0; i < search_pages_ar.length; i++)
    {
      _ge("search_page_"+search_pages_ar[i]).style.display = (search_pages_ar[i] == p)
        ? "block" : "none";

      if (search_pages_ar[i] == p)
      {
        var d = _ge('search_head_div');
        if (d) d.className = 's'+(i+1)+'1';
      }
    }
  }
  else
  {
    alert('Unknown search page: '+p);
  }
}

var search_conditions = new Array();

function set_single_btn_search(what, id)
{
  var old_btn = search_conditions[what] ? _ge("search_"+what+"_btn_"+search_conditions[what]) : false;
  var sel_btn = _ge("search_"+what+"_btn_"+id);
  var ss = _ge("search_selections_"+what);

  if (search_conditions[what] && search_conditions[what] == id)
  {
    search_conditions[what] = "";

    if (ss) ss.value = "";

    if (old_btn) old_btn.value = old_btn.value.substr(0, old_btn.value.length - 1);
  }
  else
  {
    search_conditions[what] = id;

    if (ss && sel_btn) ss.value = sel_btn.value;

    if (old_btn) old_btn.value = old_btn.value.substr(0, old_btn.value.length - 1);
    if (sel_btn) sel_btn.value += '*';
  }
}

function set_select_and_manual_search(what, value)
{
  if (value)
  {
    var ss = _ge("search_selections_"+what);
    if (ss) ss.value = value;

    search_conditions[what] = value;
  }
  else
  {
    set_search(what, _ge("search_"+what).value);
  }
}

function set_search(what, value)
{
  search_conditions[what] = value;

  if (what == "width1" || what == "width2" || what == "height1" || what == "height2")
  {
    set_sizes_ss(what.substr(0, what.length - 1));
  }
  else
  {
    var ss = _ge("search_selections_"+what);
    if (ss) ss.value = value;
  }
}

function set_sizes_ss(what)
{
  if (what == "width" || what == "height")
  {
    if (search_conditions[what+"1"] && search_conditions[what+"2"])
      value = search_conditions[what+"1"]+"/"+search_conditions[what+"2"];
    else if (search_conditions[what+"1"] && !search_conditions[what+"2"])
      value = ">"+search_conditions[what+"1"]+"";
    else if (!search_conditions[what+"1"] && search_conditions[what+"2"])
      value = "<"+search_conditions[what+"2"]+"";
    else
      value = "";

    var ss = _ge("search_selections_"+what);
    var ss1 = _ge('search_'+what+'1');
    var ss2 = _ge('search_'+what+'2');

    if (ss) ss.value = value;
    if (ss1 && !value) ss1.value = '';
    if (ss2 && !value) ss2.value = '';
  }
}

function init_search(what)
{
  var ss = _ge("search_selections_"+what);

  search_conditions[what] = _ge("search_"+what).value;

  if (ss) ss.value = search_conditions[what];

  if (what=='width1'||what=='width2'||what=='height1'||what=='height2')
    set_sizes_ss(what.substr(0, what.length-1));
}

function process_search()
{
  var search_str = '';

  for (k in search_conditions)
  {
    if (k == "in_array") continue;

    if (k == "colour")
    {
      var sel_btn = _ge("search_"+k+"_btn_"+search_conditions[k]);
      var v = sel_btn ? sel_btn.value.substr(0, sel_btn.value.length - 1).toLowerCase() : '';

      search_str += 'search_conditions['+k+']='+escape(v)+'&';
    }
    else if (k == "price")
    {
      var v1 = _ge("search_"+k+"_value1_"+search_conditions[k]);
      var v2 = _ge("search_"+k+"_value2_"+search_conditions[k]);

      if (v1 && v2)
      {
        search_str += 'search_conditions[price1]='+escape(v1.value)+'&';
        search_str += 'search_conditions[price2]='+escape(v2.value)+'&';
      }
    }
    else
    {
      search_str += 'search_conditions['+k+']='+escape(search_conditions[k])+'&';
    }
  }

  var mm0 = _ge('search_measurement[0]');
  var mm1 = _ge('search_measurement[1]');
  if (mm0 && mm1)
  {
    var v = mm0.checked ? 0 : 1;

    search_str += 'search_conditions[metric_measurement]='+escape(v)+'&';
  }

  if (search_str.length > 0) search_str = search_str.substr(0, search_str.length - 1);

  //document.write(content_href["catalog"]+"?"+search_str);
  document.location.href = content_href["catalog"]+"?"+search_str;
}
