var ie = document.all && document.getElementById;
var ns = document.getElementById && !document.all;

function doRequest(url, callFunction, queryString, raw) {
   var request = false;

   // Mozilla/Safari
   if (window.XMLHttpRequest) {
      request = new XMLHttpRequest();
   }
   // IE
   else if (window.ActiveXObject) {
      request = new ActiveXObject("Microsoft.XMLHTTP");
   }

   // Download the JSON data from the server.
   request.open("POST", url, true);
   request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
   request.onreadystatechange = handleJson;
   request.send(queryString);

   function handleJson() {
      if(request.readyState == 4) {
         if(request.status == 200) {
            var json_data = request.responseText;
            if(raw) {
               eval(callFunction)(json_data);
            }
            else {
               eval("var obj = ("+json_data+")");
               eval(callFunction)(obj);
            }
         }
         else {
            alert('Server Error.  Please try again in a few minutes.');
         }
         request = null;
      }
   }
}

function hideObj(objId) {
  document.getElementById(objId).style.display = 'none';
}

function showObj(objId) {
  document.getElementById(objId).style.display = '';
}

function addEvent(obj, evType, fn, useCapture) {
  if(obj.addEventListener) {
    obj.addEventListener(evType, fn, useCapture);
    return true;
    }
  else if(obj.attachEvent) {
    var r = obj.attachEvent("on" + evType, fn);
    return r;
  }
}



