﻿function SearchPixsy() {
  if (document.getElementById('q'))
  {
    var query = document.getElementById('q').value;
    if (Check(query))
    {
      location.href = 'search.aspx?q=' + escape(query);
    }
  }
}
function Check(q)
{
  var valid = true;
  var re = new RegExp('</?[a-z][a-z0-9]*[^<>]*>');
  if (q.match(re))
  {
    alert('You have entered some invalid characters.  Please change your search and try again.');
    valid = false;
  }
  return valid;
}
function GoToPage(pg)
{
  var new_href = replaceArg(location.href, 'pg', pg);
  location.href = new_href;
}
function FilterContentType(ctid)
{
  filterSearch('ctid', ctid);
}

function FilterCategory(catid)
{
  filterSearch('catid', catid);
}

function FilterProvider(pid)
{
  filterSearch('pid', pid);
}
function sort(sortby)
{
  filterSearch('s', sortby);  
}
function filterSearch(type, value)
{
  var href = location.href;
  var new_href = '';
  if (type == 'x' || type == 's')
  {
    new_href = replaceArg(href, type, value);    
  }
  else if (value == 'all')
  {
    new_href = replaceArg(href, type, '');    
  }
  else
  {
    new_href = replaceFilterArg(href, type, value);
  }
  new_href = resetPage(new_href);
  location.href = new_href;            
}
function resetPage(qs)
{
  return replaceArg(qs, 'pg', '');
}
function replaceArg(qs, arg, value)
{
  var i = qs.indexOf('&' + arg + '=');
  i = (i < 0 ? qs.indexOf('?' + arg + '=') : i);
  if (i > 0)
  {
    i++;
    if (qs.substring(i).indexOf('&') > -1) { qs = qs.substring(0, i) + qs.substring(i + qs.substring(i).indexOf('&') + 1); }
    else { qs = qs.substring(0, i - 1); }
  }
  if (value != '')
  {
    qs += (qs.indexOf('?') == -1 ? '?' : '&');
    qs += arg + '=' + value;
  }
  return qs;
}
function replaceFilterArg(qs, arg, value)
{
  var i = qs.indexOf('&sf=');
  i = (i < 0 ? qs.indexOf('?sf=') : i);
  if (i > 0)
  {
    i++;
    if (qs.substring(i).indexOf('&') > -1) { qs = qs.substring(0, i) + qs.substring(i + qs.substring(i).indexOf('&') + 1); }
    else { qs = qs.substring(0, i - 1); }
  }
  if (value != '')
  {
    qs += (qs.indexOf('?') == -1 ? '?' : '&');
    qs += 'sf=' + arg + ':' + value;
  }
  return qs;
}