function clear_highlights()
  {
  var pbox = document.getElementById('product_category_box');
  var cats = pbox.getElementsByTagName('div')
  for(var i = 0; i < cats.length; i++) {
    cats[i].style.color='#333333';
    cats[i].style.fontWeight='normal';
  }
}

function get_completion_list(server,container,f,country, locale)
  {
  var clist = document.getElementById(container);
  if(f.value.length >= 3) {
    var arg = f.value;

    new Ajax.Request(server + encodeURIComponent(arg) + ';country=' + encodeURIComponent(country) + ';locale=' + encodeURIComponent(locale),
      {
        method:'get',
        onSuccess: function(transport){
          var response = transport.responseText || '';
          if (response == 'No Matching Partners') {


            //alert('test no matches');


            clist.style.visibility = 'hidden'
          } else {
            clist.innerHTML = clist.htmlContent = response;
            clist.style.visibility = 'visible'
          }
        },
        onFailure: function(){
          clist.style.visibility = 'hidden'
        }
      });  
  } else {
    clist.style.visibility = 'hidden'
  }   
}

function get_state_list()
  {
  var clist = document.getElementById('dynamic_state_list');
  clist.style.visibility = 'visible'
}

function get_statepd_list()
  {
  var clist = document.getElementById('dynamic_statepd_list');
  clist.style.visibility = 'visible'
}

function get_locale_list()
  {
  var clist = document.getElementById('dynamic_locale_list');
  clist.style.visibility = 'visible'
}

function get_country_list()
  {
  var clist = document.getElementById('dynamic_country_list');
  clist.style.visibility = 'visible'
}

function get_product_completion_list(server,container,f,country, locale)
  {
  var clist = document.getElementById(container);
  if(f.value.length >= 3) {
    var arg = f.value;
    new Ajax.Request(server + encodeURIComponent(arg) + ';country=' + encodeURIComponent(country) + ';locale=' + encodeURIComponent(locale),
      {
        method:'get',
        onSuccess: function(transport){
          var response = transport.responseText || '';

          if (response == 'No Matching Products') {
            clist.style.visibility = 'hidden'
          } else {
            clist.innerHTML = clist.htmlContent = response;
            clist.style.visibility = 'visible'
          }
        },
        onFailure: function(){
          clist.style.visibility = 'hidden'
        }
      });  
  } else {
    clist.style.visibility = 'hidden'
  }   
}

function get_completion_list2(server,container,f)
  {
  var clist = document.getElementById(container);
  if(f.value.length >= 3) {
    var arg = f.value;
    new Ajax.Updater(container, server + encodeURIComponent(arg), 
    { 
      method: 'get',
      onSuccess: function(){
        clist.style.visibility = 'visible'
      },
      onFailure: function(){
        clist.style.visibility = 'hidden'
      }
    });
  } else {
    clist.style.visibility = 'hidden'
  }
  // alert('1: ' + clist.textContent);
  // alert('2: ' + clist.innertext);
}

function update_company(company_name)
  {
  hide_completion_list();
  var company = document.getElementById('company');
  company.value = company_name
}

function update_product(product_name)
  {
  //hide_product_completion_list();

  var product_check = document.getElementById('product_check');
  product_check.value = product_name

  var product = document.getElementById('product');
  product.value = product_name
}

function update_state(state_value,state_name)
  {
  hide_state_list();
  var state = document.getElementById('dynamic_state_box');
  state.innerHTML = state.htmlContent = state_name;
  document.locator_search.state.value = state_value
}

function update_statepd(state_value,state_name)
  {
  hide_statepd_list();
  var state = document.getElementById('dynamic_statepd_box');
  state.innerHTML = state.htmlContent = state_name;
  document.locator_search.state_pulldown.value = state_value
}

function clear_state()
  {
  hide_state_list();
  var state = document.getElementById('dynamic_state_box');
  state.innerHTML = state.htmlContent = '&nbsp;';
  document.locator_search.state.value = ''
}

function clear_statepd()
  {
  hide_statepd_list();
  var state = document.getElementById('dynamic_statepd_box');
  state.innerHTML = state.htmlContent = '&nbsp;';
  document.locator_search.state_pulldown.value = ''
}

function clear_locale()
  {
  hide_locale_list();
  var locale = document.getElementById('dynamic_locale_box');
  locale.innerHTML = locale.htmlContent = '&nbsp;';
  document.select_country.locale.value = ''
}

function update_locale(locale_value)
  {
  hide_locale_list();
  document.location=locale_value;
}


function update_country(country_value,country_name)
  {
  hide_country_list();
  var country = document.getElementById('dynamic_country_box');
  country.innerHTML = country.htmlContent = country_name;


  document.select_country.country.value = country_value

}

function clear_country()
  {
  hide_country_list();
  var country = document.getElementById('dynamic_country_box');
  country.innerHTML = country.htmlContent = '&nbsp;';
  document.select_country.country.value = ''
}



function hide_completion_list()
  {
  var clist = document.getElementById('completion_list');
  clist.style.visibility = 'hidden'
}

function show_completion_list()
  {
  var clist = document.getElementById('completion_list');
  clist.style.visibility = 'visible'
}
function hide_completion_list()
  {
  var clist = document.getElementById('completion_list');
  clist.style.visibility = 'hidden'
}


function show_state_list()
  {
  var clist = document.getElementById('dynamic_state_list');
  clist.style.visibility = 'visible'
}

function show_statepd_list()
  {
  var clist = document.getElementById('dynamic_statepd_list');
  clist.style.visibility = 'visible'
}

function hide_state_list()
  {
  var clist = document.getElementById('dynamic_state_list');
  clist.style.visibility = 'hidden'
}

function hide_statepd_list()
  {
  var clist = document.getElementById('dynamic_statepd_list');
  clist.style.visibility = 'hidden'
}


function show_locale_list()
  {
  var clist = document.getElementById('dynamic_locale_list');
  clist.style.visibility = 'visible'
}


function hide_locale_list()
  {
  var clist = document.getElementById('dynamic_locale_list');
  clist.style.visibility = 'hidden'
}


function show_country_list()
  {
  var clist = document.getElementById('dynamic_country_list');
  clist.style.visibility = 'visible'
}
function hide_country_list()
  {
  var clist = document.getElementById('dynamic_country_list');
  clist.style.visibility = 'hidden'
}


function show_completion_list()
  {
  var clist = document.getElementById('completion_list');
  clist.style.visibility = 'visible'
}
function hide_completion_list()
  {
  var clist = document.getElementById('completion_list');
  clist.style.visibility = 'hidden'
}

function show_completion_list()
  {
  var clist = document.getElementById('completion_list');
  clist.style.visibility = 'visible'
}

function hide_product_completion_list()
  {
  var clist = document.getElementById('product_completion_list');
  clist.style.visibility = 'hidden'
}

function show_product_completion_list()
  {
  var clist = document.getElementById('product_completion_list');
  clist.style.visibility = 'visible'
}

function fill_product_category(server,container,category,country,locale)
  {
  var clist = document.getElementById('product_category_list');
  new Ajax.Request(server + encodeURIComponent(category) + ';country=' + encodeURIComponent(country) + '\
;locale=' + encodeURIComponent(locale),
    {
      method:'get',
      onSuccess: function(transport){
        var response = transport.responseText || '';

        clist.innerHTML = clist.htmlContent = response;


        if (response == 'No Matching Products') {
          alert('no matching products');
        } else {
          clist.innerHTML = clist.htmlContent = response;
        }
      },
      onFailure: function(){
        alert('failure');
      }
    });
}

function hide_products()
  {
  var po = document.getElementById('product_open');
  po.style.display = 'none'
  var pc = document.getElementById('product_closed');
  pc.style.display = 'block'
}

function show_products()
  {
  var po = document.getElementById('product_open');
  po.style.display = 'block'
  var pc = document.getElementById('product_closed');
  pc.style.display = 'none'
}

function submit_search()
{
  document.search.submit();
}