 var searchText = document.getElementById('searchText');

var search = initializeCommerceSearch(
  '5898518',
  '013043619341514354629:oexr1tomfjo',
  document.getElementById('resultsPanel'),
  document.getElementById('cse-commerce-unfiltered-attributes'),
  document.getElementById('cse-commerce-filtered-attributes'),
  function(feed, spellingSuggestions, currentPage, totalPages) {
    document.getElementById('cse-commerce-stats').style.display = 'block';
    var totalResults = feed.getTotalResults().getValue();
    var str = totalResults + ' results for <strong>' +
              escapeHtml(searchText.value) + '</strong>';
    document.getElementById('foundText').innerHTML = str;
    str = '';
    if (totalPages > 0) {
      str = 'Page ' + currentPage + ' of ' + totalPages;
      var printPageLink = function(text, page, link, last) {
        var html = '';
        if (link) {
          html += '<a href="javascript:void(0);" onclick="pgs(' + page +
                  ');">';
        } else {
          html += '<strong>';
        }
        html += text;
        html += link ? '</a>' : '</strong>';
        if (!last) {
          html += ' | ';
        }
        return html;
      };
      if (totalPages > 1) {
        str += ' - ';
        if (currentPage > 1) {
          str += printPageLink('‹ Previous', currentPage - 1, true);
        }
        for (var i = 1; i <= totalPages; ++i) {
          str += printPageLink(i, i, i != currentPage,
                               i == totalPages && currentPage == totalPages);
        }
        if (currentPage < totalPages) {
          str += printPageLink('Next ›', currentPage + 1, true, true);
        }
      }
    }
    document.getElementById('pages').innerHTML = str;
    if (totalResults > 0) {
      document.getElementById('cse-commerce-stats-bottom').style.display =
          'block';
      document.getElementById('pagesBottom').innerHTML = str;
    } else {
      document.getElementById('cse-commerce-stats-bottom').style.display =
          'none';
    }
    str = '';
    if (spellingSuggestions.length > 0) {
      for (var i = 0; i < spellingSuggestions.length; ++i) {
        str += ' <a href="javascript:void(0)" onClick="javascript:ss(\'' +
               spellingSuggestions[i] + '\')">' +
               spellingSuggestions[i] + '</a>';
      }
    }
    //document.getElementById('cse-commerce-spell-suggestion').innerHTML = str;
    document.getElementById('cse-commerce-spell').style.display =
        str ? '' : 'none';
    document.getElementById('searchButton').disabled = false;
  },
  function(error) {
    alert(error);
    document.getElementById('searchButton').disabled = false;
  },
  'usd',
  document.getElementById('gridImage'),
  document.getElementById('listImage')
);




// get search queries from other the header form (and other pages)

var queryFromHeader = getQuery("q");

if (queryFromHeader) {
	//alert(queryFromHeader);
	searchText.value = queryFromHeader;
	fs('match');
};





function setClassName(elem, className) {
  elem.className = className;
  elem.setAttribute('class', className);
};
function getElementsByClassName(className, tagName) {
  if (document.getElementsByClassName) {
    return document.getElementsByClassName(className);
  } else {
    var elems = document.getElementsByTagName(tagName);
    var filteredElems = [];
    for (var i = 0, elem; elem = elems[i++];) {
      if (elem.className == className) {
        filteredElems[filteredElems.length] = elem;
      }
    }
    return filteredElems;
  }
};
function selectElement(id, className) {
  var elems = getElementsByClassName(className, 'li');
  for (var i = 0; i < elems.length; ++i) {
    setClassName(elems[i], '');
  }
  if (id) {
    var elem = document.getElementById(id);
    if (elem) {
      setClassName(elem, className);
    }
  }
};
function clearFilters() {
  selectElement('', 'cse-commerce-sort-selected');
  selectElement('', 'cse-commerce-facet-selected');
};
function fs(order, id) {
  if (id) {
    selectElement(id, 'cse-commerce-sort-selected');
  } else {
    clearFilters();
  }
  document.getElementById('searchButton').disabled = true;
  search.formSubmit(searchText.value, order);
};
function ps(price, id) {
  selectElement(id, 'cse-commerce-facet-selected');
  search.priceSubmit(searchText.value, price);
};
function ss(suggest) {
  searchText.value = suggest;
  search.spellSubmit(suggest);
};
function pgs(page) {
  search.pageSubmit(page);
};
function cv(view) {
  search.changeView(view, document.getElementById('resultsPanel'));
};
function af(key, value) {
  search.applyFilter(searchText.value, key, value);
};
function sb(index, all) {
  search.showBucketsDiv(index, all);
};

function getQuery(varname)
{
  var url = window.location.href;

  // Next, split the url by the ?
  var qparts = url.split("?");

  // Check that there is a querystring, return null
  if (qparts.length == 0)
  {
    return '';
  }

  // Then find the querystring, everything after the ?
  var query = qparts[1];

  // Split the query string into variables (separates by &s)
  var vars = query.split("&");

  // Initialize the value with "" as default
  var value = "";

  // Iterate through vars, checking each one for varname
  for (i=0;i<vars.length;i++)
  {
    // Split the variable by =, which splits name and value
    var parts = vars[i].split("=");
    
    // Check if the correct variable
    if (parts[0] == varname)
    {
      // Load value into variable
      value = parts[1];

      // End the loop
      break;
    }
  }
  
  // Convert escape code
  value = unescape(value);

  // Convert "+"s to " "s
  value.replace(/\+/g," ");

  // Return the value
  return value;
}


