function setSearchPrefs(ele,keep) {
  var cookieName = (keep == 'temp') ? 'adv_search_temp' : 'adv_search';
  var filter = ele.name;
  var filterValue;
  if ($(ele).attr("type") == "checkbox") {
    filterValue =  ($(ele).attr("checked")) ? '1' : '0';
  } else if ($(ele).is("select")) {
    filterValue = $(ele).children("option:selected").val();
    if (!filterValue) {
      $.removeKeyFromCookie(cookieName, filter);
      return;
    }
  } else if (($(ele).attr("type") == "text") || ($(ele).attr("type") == "hidden")) {
    if (!ele.value) {
      $.removeKeyFromCookie(cookieName, filter);
      return;
    }
    filterValue = encodeURIComponent($(ele).val());
  }
  // All's well -- write the cookie. 
  $.writeValueToCookie(cookieName, filter, filterValue);
  // Filter sanity check -- ex: are both Color AND B/W deselected.
//  if ($(ele).attr("type") == "checkbox") {
//    checkFilterGroups(filter);
//  }
}

//function checkFilterGroups(filter) {
function checkFilterGroups() {
// new - might no need it  var filterKeys=["f_c", "f_v", "f_i", "f_jpg", "f_fla", "f_mus"];
  var filterGroups=["f_c|f_b", "f_v|f_h", "f_i|f_o", "f_jpg|f_eps", "f_fla|f_flv", "f_mus|f_snd"];
  for (g in filterGroups) {
    // Figure out what group it is.
    //if (filter.match(filterGroups[g])) {
      var filters = filterGroups[g].split("|");
      var pass = 0;
      // Check to see that at least one filter is true.
      for (i in filters) {
        var filterValue = $.getValueFromCookie('adv_search',filters[i]);
        if (!filterValue || (filterValue == 1)) {
        //if (filterValue == 1) {
          pass = 1;
        }
//alert('filter: ' + filters[i] + ' filter value: ' + filterValue + ' pass: ' + pass)
      }
      // Failed - set both filters back to true.
      if (!pass) {
        for (i in filters) {
          $.writeValueToCookie('adv_search', filters[i], '1');
        }
      }
    //}
  }
}

// Used on the close-up page.  Clears all temp search params and just sets the color stuff.
function colorSwatch(color) {
  var hex = '#' + color;
  $.writeCookie('adv_search_temp','');
  $.writeValueToCookie('adv_search','adv_srch','1');
  $.writeValueToCookie('adv_search_temp','colorpicker','1');
  $.writeValueToCookie('adv_search_temp','cp_color',hex);
//  location.href='/search/index?cp_color=' + encodeURIComponent(hex);
  location.href='/search/index?first=1';
}

function saveSearchPage(first) {
  var prefs = $.getCookie('adv_search');
  var prefsTemp = $.getCookie('adv_search_temp');
  var searchPage = prefs + prefsTemp + "&first=" + first;
  $.writeCookie('saveSearch',searchPage);
}

// Takes one cookie and multiple key/value pairs (pipe "|" delimited).
//function updateCookie(cookie,keys,values) {
//  if (cookie && keys && values) {
//    if (keys.match("|")) {
//      var newKeys = keys.split("|");
//      var newVals = values.split("|");
//      for (e in newKeys) {
//        $.writeValueToCookie(cookie,newKeys[e],newVals[e]);
//      }
//    } else {
//      $.writeValueToCookie(cookie,keys,values);
//    }
//  }
//}


// === HIDE / SHOW SEARCH OPTIONS ===

  function getElement (n) {
    if (document.getElementById)
      return document.getElementById(n);
    if (document.all)
      return document.all[n];
    return null;
  }

  function ShowAdvanced() {
    var f = document.forms.advsearch;
    if (f.adv_srch.checked == true) {
      var ele = getElement("advblock");
      if (ele) ele.style.display = "block";
      var ele = getElement("simpleblock");
      if (ele) ele.style.display = "none";
    } else {
      f.cid.selectedIndex = 0;
//      f.date.selectedIndex = 0;
      var ele = getElement("advblock");
      if (ele) ele.style.display = "none";
      var ele = getElement("simpleblock");
      if (ele) ele.style.display = "block";
    }
  }

  function ShowPlusFilters() {
    var f = document.forms.advsearch;

    if (f == null) return;

    //if (f.f_plus.checked == true) {
    if (f.f_plus.value == 1) {
      f.a.selectedIndex = 0;
      f.t_plus.value = 1;
      var ele = getElement("mediablock");
      if (ele) ele.style.display = "block";
      var ele = getElement("filterblock");
      if (ele) ele.style.display = "block";
      var ele = getElement("imgformatblock");
      if (ele) ele.style.display = "block";
      var ele = getElement("flashformatblock");
      if (ele) ele.style.display = "block";
      //var ele = getElement("audioformatblock");
      //if (ele) ele.style.display = "block";
    } else {
      f.a.value = "a";
      var ele = getElement("keywordblock");
      if (ele) ele.style.display = "block";
      var ele = getElement("matchblock");
      if (ele) ele.style.display = "block";
      var ele = getElement("nottheseblock");
      if (ele) ele.style.display = "block";
      var ele = getElement("buttonblock");
      if (ele) ele.style.display = "block";
      var ele = getElement("mediablock");
      if (ele) ele.style.display = "none";
      var ele = getElement("filterblock");
      if (ele) ele.style.display = "block";
      var ele = getElement("imgformatblock");
      if (ele) ele.style.display = "none";
      var ele = getElement("flashformatblock");
      if (ele) ele.style.display = "none";
      //var ele = getElement("audioformatblock");
      //if (ele) ele.style.display = "none";
    }
  }

  function areaChange () {
    var f = document.forms.advsearch;
    expire_mrs_cookies();
    if (!f) return;
    DisableForm();
  }

  function DisableForm() {
    var f = document.forms.advsearch;
    if (!f) return;
    if ((f.a.value == "a") || (f.a.value == "p") || (f.a.value == "i")) {
      // Media: All | Photos | Illustrations
      f.cid.selectedIndex = 0;
//      f.date.selectedIndex = 0;
      var ele = getElement("filterblock");
      if (ele) ele.style.display = "block";
      var ele = getElement("imgformatblock");
      if (ele) ele.style.display = "block";
      var ele = getElement("flashformatblock");
      if (ele) ele.style.display = "block";
      //var ele = getElement("audioformatblock");
      //if (ele) ele.style.display = "block";
      var ele = getElement("catblock");
      if (ele) ele.style.display = "block";
      var ele = getElement("colorblock");
      if (ele) ele.style.display = "block";
    }
    if (f.a.value == "p") {
      // Media: Photos
      f.f_jpg.value = "1";
      var ele = getElement("imgformatblock");
      if (ele) ele.style.display = "none";
      var ele = getElement("flashformatblock");
      if (ele) ele.style.display = "none";
      //var ele = getElement("audioformatblock");
      //if (ele) ele.style.display = "none";
    }
    if (f.a.value == "i") {
      // Media: Illustrations
      var ele = getElement("flashformatblock");
      if (ele) ele.style.display = "none";
      //var ele = getElement("audioformatblock");
      //if (ele) ele.style.display = "none";
    }
    if ((f.a.value == "f") || (f.a.value == "t") || (f.a.value == "s")) {
      // Media: Flash | Fonts | Sounds
      f.cid.selectedIndex = 0;
//      f.date.selectedIndex = 0;
      f.rgb1_value.value = "";
      f.cp_color.value = "";
      f.colorpicker.value = "";
      var ele = getElement("filterblock");
      if (ele) ele.style.display = "none";
      var ele = getElement("imgformatblock");
      if (ele) ele.style.display = "none";
      var ele = getElement("flashformatblock");
      if (ele) ele.style.display = "none";
      //var ele = getElement("audioformatblock");
      //if (ele) ele.style.display = "none";
      var ele = getElement("catblock");
      if (ele) ele.style.display = "none";
      var ele = getElement("colorblock");
      if (ele) ele.style.display = "none";
    }
    if (f.a.value == "f") {
      // Media: Flash
      var ele = getElement("flashformatblock");
      if (ele) ele.style.display = "block";
    }
    //if (f.a.value == "s") {
      // Media: Sounds
      //var ele = getElement("audioformatblock");
      //if (ele) ele.style.display = "block";
    //}
    if ((f.a.value == "t") || (f.a.value == "s")) {
      // Media: Fonts | Sounds
      f.t_plus.value = 1;
      f.k_var.value = "";
      var ele = getElement("keywordblock");
      if (ele) ele.style.display = "none";
      var ele = getElement("matchblock");
      if (ele) ele.style.display = "none";
      var ele = getElement("nottheseblock");
      if (ele) ele.style.display = "none";
      var ele = getElement("buttonblock");
      if (ele) ele.style.display = "none";
      var ele = getElement("dateblock");
      if (ele) ele.style.display = "none";
      f.submit();
    }
    if ((f.a.value != "t") && (f.a.value != "s")) {
      // Media: NOT Fonts | NOT Sounds
      var ele = getElement("keywordblock");
      if (ele) ele.style.display = "block";
      var ele = getElement("matchblock");
      if (ele) ele.style.display = "block";
      var ele = getElement("nottheseblock");
      if (ele) ele.style.display = "block";
      var ele = getElement("buttonblock");
      if (ele) ele.style.display = "block";
      var ele = getElement("dateblock");
      if (ele) ele.style.display = "block";
    }
    if ((f.a.value != "a") && (f.a.value != "p")) {
      // Make sure users viewing non-Plus tab (All Media, Photos)
      // get results when searching other Plus media.
      f.t_plus.value = 1;
    }
  }

  function reset_advsearch() {
    return;
    var f = document.forms.advsearch;
    if (f == null) return;
    f.reset();
  }


 