function addSort()
{
 var frm = document.sortform;
 if (frm.selcol.selectedIndex == 0)
 {
  alert("Please select a value to sort on");
  frm.selcol.focus();
  return;
 }
 if (frm.coldir.value.indexOf(frm.selcol.options[frm.selcol.selectedIndex].value+":") > -1)
 {
  frm.selcol.selectedIndex = 0;
  frm.seldir.selectedIndex = 0;
  return;
 }
 frm.coldir.value += (frm.coldir.value.length > 0 ? ";" : "") + frm.selcol.options[frm.selcol.selectedIndex].value + ":" + frm.seldir.options[frm.seldir.selectedIndex].value;
 frm.selcol.selectedIndex = 0;
 frm.seldir.selectedIndex = 0;
 rebuildLabels();
}
function removeSortCol(col)
{
 var frm = document.sortform;
 var idx = frm.coldir.value.indexOf(col+":");
 if (idx > -1)
 {
  var tmp = frm.coldir.value.substring(0, idx);
  var pad = 2;
  if (frm.coldir.value.substring(idx+col.length+pad, idx+col.length+pad+1) == ";") pad = 3;
  tmp += frm.coldir.value.substring(idx+col.length+pad);
  frm.coldir.value = tmp;
  if (frm.coldir.value.substring(frm.coldir.value.length-1) == ";") frm.coldir.value = frm.coldir.value.substring(0, frm.coldir.value.length-1);
  rebuildLabels();
 }
}
function rebuildLabels()
{
 var frm = document.sortform;
 var txt = "";
 var tokens = frm.coldir.value.split(";");
 var numTokens = 0;
 for (var i=0; i<tokens.length; i++)
 {
  if (tokens[i] == "") continue;
  txt += (numTokens++ > 0 ? " then " : "");
  var idx = tokens[i].indexOf(":");
  var col = tokens[i].substring(0, idx);
  var dir = tokens[i].substring(idx+1);
  for (var j=0; j<frm.selcol.options.length; j++)
  {
   if (col == frm.selcol.options[j].value)
   {
    txt += "<b>" + frm.selcol.options[j].text + "<img src=\"/images/sort" + (dir == "+" ? "asc" : "desc") + ".png\" align=\"middle\" style=\"margin-left: 3px; margin-right: 3px\"></b><a href=\"javascript:removeSortCol('"+col+"')\">(x)</a> ";
    break;
   }
  }
 }
 getObject("sortby_text").innerHTML = txt;
}
function submitSort()
{
 var loc = document.location + "";
 loc = loc.replace(/&coldir=[a-z_:;+\-]+/, "");
 document.location = loc + "&coldir=" + document.sortform.coldir.value;
}
function basicSort()
{
 var frm = document.sortform;
 if (frm.basicselcol.selectedIndex == 0) return;
 var loc = document.location + "";
 loc = loc.replace(/&coldir=[a-z_:;+\-]+/, "");
 var col = frm.basicselcol.options[frm.basicselcol.selectedIndex].value;
 var dir = "+";
 if (frm.coldir.value.indexOf(col) == 0 && frm.coldir.value.indexOf("-") == -1) dir = "-";
 document.location = loc + "&coldir=" + col + ":" + dir;
}
function advancedSearch()
{
 var obj = getObject("basic_row");
 obj.style.visibility = "hidden";
 obj.style.display = "none";
 obj = getObject("advanced_row1");
 obj.style.visibility = "visible";
 obj.style.display = "block";
 obj = getObject("advanced_row2");
 obj.style.visibility = "visible";
 obj.style.display = "block";
}
function selectBasic()
{
 var frm = document.sortform;
 for (var i=0; i<frm.basicselcol.options.length; i++)
 {
  if (frm.coldir.value.indexOf(frm.basicselcol.options[i].value) == 0) frm.basicselcol.options[i].selected = true;
 }
}
function navigateGroup(pg)
{
 var loc = document.location + "";
 loc = loc.replace(/&pg=[\-\d]+/, "");
 loc = loc.replace(/\?pg=[\-\d]+/, "");
 document.location = loc + (loc.indexOf("?") > -1 ? "&" : "?") + "pg=" + pg;
}
