/////////////////////////////////////
// Function: getXmlHttp
/////////////////////////////////////
function getXmlHttp()
  {
  var xmlHttp;
  try
    {
    // Firefox, Opera 8.0+, Safari
    xmlHttp=new XMLHttpRequest();
    }
  catch (e)
    {
    // Internet Explorer
    try
      {
      xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
      }
    catch (e)
      {
      try
        {
        xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
      catch (e)
        {
        alert("Your browser does not support AJAX!");
        return false;
        }
      }
    }
    return xmlHttp;
  }

/////////////////////////////////////
// Function: loadAjaxPage
/////////////////////////////////////
function loadAjaxPage(url,element) {
  xmlHttp = getXmlHttp();

  xmlHttp.onreadystatechange=function()
  {
    if(xmlHttp.readyState==4)
    {
      // received response from server

      if (xmlHttp.status==200) {
        var xmlText=xmlHttp.responseText;
        document.getElementById(element).innerHTML = xmlText;
      }
      else {
        alert("error: "+xmlHttp.status);
      }
    }
  }

  xmlHttp.open("GET",url,true);
  //xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
  xmlHttp.send(url);
} // End loadAjaxPage

/////////////////////////////////////
// Function: getFormParams
/////////////////////////////////////
function getFormParams(form) {
  // Construct the param list

  var params = "";
  for (i=0; i < form.elements.length; i++) {
    if (form.elements[i].type == "select-one") {
      params = params + form.elements[i].name+"="+form.elements[i].options[form.elements[i].selectedIndex].value+"&";
    }
    else if (form.elements[i].type == "checkbox" && form.elements[i].checked) {
      params = params + form.elements[i].name+"="+form.elements[i].value+"&";
    }
    else if (form.elements[i].type == "radio") {
      if (form.elements[i].checked) {
        params = params + form.elements[i].name+"="+form.elements[i].value+"&";
      }
    }
    else if (form.elements[i].type != "checkbox" && form.elements[i].type != "") {
      params = params + form.elements[i].name+"="+URLEncode(form.elements[i].value)+"&";
    }
  }
  return params;
} // End getFormParams

/////////////////////////////////////
// Function: URLEncode
/////////////////////////////////////
function URLEncode(plaintext)
{
  if (plaintext == null) {
    return;
  }

        // The Javascript escape and unescape functions do not correspond
        // with what browsers actually do...
        var SAFECHARS = "0123456789" +                                  // Numeric
                                        "ABCDEFGHIJKLMNOPQRSTUVWXYZ" +  // Alphabetic
                                        "abcdefghijklmnopqrstuvwxyz" +
                                        "-_.!~*'()";                                    // RFC2396 Mark characters
        var HEX = "0123456789ABCDEF";

        var encoded = "";
        for (var i = 0; i < plaintext.length; i++ ) {
                var ch = plaintext.charAt(i);
            if (ch == " ") {
                    encoded += "+";                             // x-www-urlencoded, rather than %20
                } else if (SAFECHARS.indexOf(ch) != -1) {
                    encoded += ch;
                } else {
                    var charCode = ch.charCodeAt(0);
                        if (charCode > 255) {
                            alert( "Unicode Character '"
                        + ch
                        + "' cannot be encoded using standard URL encoding.\n" +
                                          "(URL encoding only supports 8-bit characters.)\n" +
                                                  "A space (+) will be substituted." );
                                encoded += "+";
                        } else {
                                encoded += "%";
                                encoded += HEX.charAt((charCode >> 4) & 0xF);
                                encoded += HEX.charAt(charCode & 0xF);
                        }
                }
        } // for

        return encoded;
}

function loadSearchQuery(category,var1,start,where,element) {
  loadAjaxPage("../ajax/loadSearchQuery.php?cat="+category+"&action=search&"+var1+"="+start+"&where="+where+"&element="+element,element);
}

function setCategoryPulldown(usergroup,element) {
  if (element == "virtualclassroomcatlist") {
    loadAjaxPage("../ajax/loadCatList.php?cat=classroom&usergroup="+usergroup,element);
  }
  else {
    loadAjaxPage("../ajax/loadCatList.php?usergroup="+usergroup,element);
  }
}

