//addEvent(window,"load",initialize);

function initialize () {
	sendAjaxSelect("/RQ2Buy/ajax/getCategories.php?q=0", document.getElementsByName("cat")[0]);
	var cv = document.getElementsByName('catinput')[0].value;
	var sv = document.getElementsByName('scatinput')[0].value;
	var gv = document.getElementsByName('gcatinput')[0].value;
	if (cv != '' && cv != -1) {
		var cin = getSelectIndex(document.getElementsByName("cat")[0], cv);
		document.getElementsByName("cat")[0].selectedIndex = cin;
	    categorySelect(cv, document.getElementsByName("cat")[0].options[cin].text, "scat");
		if (gv != "" && gv != -1 && cv == vgid) {
		  var gcin = getSelectIndex(document.getElementsByName("gameCat")[0], gv);
		  document.getElementsByName('gameCat')[0].selectedIndex = gcin;
		  categorySelect(gv, document.getElementsByName("gameCat")[0].options[gcin].text, "scat");
		}
		if (sv != '' && sv != -1) {
			var scin = getSelectIndex(document.getElementsByName("scat")[0], sv);
			document.getElementsByName("scat")[0].selectedIndex = scin;
		}
	}
}

//calls the passed scriptAndArgs and populates the passed select object with options based on return values
// expected return from script is pipe-delimited text|value|text|value|...etc for the options
function sendAjaxSelect (scriptAndArgs,obj) {
	var xmlhttp = sendSyncAjax(scriptAndArgs); 
    var i = 0;
    var options = new String(xmlhttp.responseText);
    var ary = options.split("|");
    for (i=0; i<ary.length; i++)
 	  obj.options[obj.options.length] = new Option(ary[i],ary[++i]);
}

// Called when the category is selected.  Populates the subcategory, names it appropriately and makes it visible.  
// input selected value.
//	document.getElementById('hidethis').style.display = 'none';
//	document.getElementById('subcat').style.display = 'none';
//	document.getElementById('item').style.display = 'none';
function categorySelect(chosen,label,target) {
    var i = 0;
	var test = new Number(chosen);
	if (document.getElementById('item') != null) {
		document.getElementById('item').style.display = 'none';
	}
	if (document.getElementsByName(target)[0].options.length > 0) {
      for (i=0;i< document.getElementsByName(target)[0].options.length; i++)
         document.getElementsByName(target)[0].options[i] = null;
    }
    document.getElementsByName(target)[0].selectedIndex = 0;
    document.getElementsByName(target)[0].options.length = 0;
	
	if (test - vgid == 0) {
 	  document.getElementsByName(target)[0].style.display = 'none';
	  target = 'gameCat';
	  document.getElementById('hidethis').style.display = 'inline';
	  if (document.getElementById('subcat')) {
	    document.getElementById('subcat').style.display = 'none';
	  }
  	  if (document.getElementsByName(target)[0].options.length > 0) {
        for (i=0;i< document.getElementsByName(target)[0].options.length; i++)
          document.getElementsByName(target)[0].options[i] = null;
      }
      document.getElementsByName(target)[0].selectedIndex = 0;
      document.getElementsByName(target)[0].options.length = 0;
	} else if (test - ipid == 0) {
	    document.getElementById('hidethis').style.display = 'none';
		if (document.getElementById('subcat')) { // on sales page
		  document.getElementById('subcat').style.display = 'none';
		  subcatChange(test);
		} else {
			document.getElementsByName(target)[0].options[0] = new Option('',ipid);
//			document.getElementsByName(target)[0].selectedIndex = 0;
		}
		document.getElementsByName(target)[0].style.display = 'none';
		return;
	} else {
	  document.getElementsByName(target)[0].style.display = 'inline';
	  if (document.getElementById('subcat')) {
		document.getElementById('subcat').style.display = 'block';
	  }
	  if (test - vgcid == 0 || test - vgaid == 0 || test - vggid == 0) {
		  document.getElementById('hidethis').style.display = 'inline';
	  } else {
		  document.getElementById('hidethis').style.display = 'none';
	  }
	}

    sendAjaxSelect("/RQ2Buy/ajax/getCategories.php?q=" + chosen + "&label=" + label, document.getElementsByName(target)[0]);
}

function defSearch() {
  initialize();
  search("default");
}

function defDonorSearch() {
  initialize();
  search('donation');
}

function search(type) {
  var q = document.getElementsByName('querystring')[0].value;
  var c = document.getElementsByName('cat')[0].value;
  var s = document.getElementsByName('scat')[0].value;
  var xmlhttp = sendSyncAjax("/RQ2Buy/ajax/search.php?q=" + q + "&c=" + c + "&s=" + s + "&type=" + type);
  var results = new String(xmlhttp.responseText);
  document.getElementById('searchResults').innerHTML = results;
}

function searchFull(q,c,s,cname,type) {
  var cin = getSelectIndex(document.getElementsByName("cat")[0], c);
  document.getElementsByName("cat")[0].selectedIndex = cin;
  categorySelect(c,cname,'scat');
  var scin = getSelectIndex(document.getElementsByName("scat")[0], s);
  document.getElementsByName("scat")[0].selectedIndex = scin;
  var xmlhttp = sendSyncAjax("/RQ2Buy/ajax/search.php?q=" + q + "&c=" + c + "&s=" + s + "&type=" + type);
  var results = new String(xmlhttp.responseText);
  document.getElementById('innersearchresults').innerHTML = results;
}
