var net = new Object();
net.READY_STATE_UNINITIALIZED = 0;
net.READY_STATE_LOADING = 1;
net.READY_STATE_LOADED = 2;
net.READY_STATE_INTERACTIVE = 3;
net.READY_STATE_COMPLETE = 4;

net.ContentLoader=function(url, onload, onerror){
  this.url=url;
  this.req=null;
  this.onload=onload;
  this.onerror=(onerror) ? onerror : this.defaultError;
  this.loadXMLDoc(url);
}
net.ContentLoader.prototype={
  loadXMLDoc:function(url){
    if(window.XMLHttpRequest){
      this.req=new XMLHttpRequest();
    } else if(window.ActiveXObject) {
      this.req=new ActiveXObject("Microsoft.XMLHTTP");
    }
    if(this.req){
      try{
        var loader=this;
        this.req.onreadystatechange=function(){
          loader.onReadystate.call(loader);
        }
        this.req.open('GET',url,true);
        this.req.send(null);
      }catch (err) {
        this.onerror.call(this);
      }
    }
  },
  onReadystate:function(){
    var req = this.req;
    var ready = req.readyState;
    if(ready == net.READY_STATE_COMPLETE){
      var httpStatus = req.status;
      if(httpStatus == 200 || httpStatus == 0) {
        this.onload.call(this);
      } else {
        this.onerror.call(this);
      }
    }
  },
  defaultError:function(){
    alert("ERROR FETCHING DATA!");
  }
}
/*
  Below functions should be used when wanting to POST.  Class above will be rewritten soon to handle both..
 */
var http_request = false;
function makePOSTRequest(url, parameters) {
  alert(parameters);
  http_request = false;
  if (window.XMLHttpRequest) { // Mozilla, Safari,...
    http_request = new XMLHttpRequest();
    if (http_request.overrideMimeType) {
      // set type accordingly to anticipated content type
      //http_request.overrideMimeType('text/xml');
      http_request.overrideMimeType('text/html');
    }
  } else if (window.ActiveXObject) { // IE
    try {
      http_request = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      try {
        http_request = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (e) {}
    }
  }
  if (!http_request) {
    alert('Cannot create XMLHTTP instance');
    return false;
  }
  http_request.onreadystatechange = alertContents;
  http_request.open('POST', url, true);
  http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  http_request.setRequestHeader("Content-length", parameters.length);
  http_request.setRequestHeader("Connection", "close");
  http_request.send(parameters);
}
function alertContents() {
  if (http_request.readyState == 4) {
    if(http_request.status == 200) {
      //alert(http_request.responseText);
      var result = http_request.responseText;
      var resultsDiv = document.getElementById("debug");
      resultsDiv.innerHTML = result;
    } else {
      alert('There was a problem with the request.');
    }
  }
}

function get(action_file, form_name) {
  var poststr = '';
  var formObj = document.forms[form_name];
  var x = formObj.elements.length;
  var elementName = '';
  var valFailed = false;
  var message = "<b><font style=\"color: red;\">* REQUIRED</font></b>";
  for(var i=0; i < x; i++) {
    if(formObj.elements[i].type != "submit" && formObj.elements[i].type != 'hidden' && formObj.elements[i].type != 'DIV') {
      var a = formObj.elements[i].name + "_div";
      if(trim(formObj.elements[i].value) == '') {
        if(a.innerHTML) {
          document.getElementById(a).innerHTML = message;
          formObj.elements[i].value = trim(formObj.elements[i].value);
        } else {
          alert("Blank Values are not allowed!");
        }
         valFailed = true;
      } else {
        if(a.innerHTML) {
          document.getElementById(a).innerHTML = '';
        }
        elementName = formObj.elements[i].name;
        if(formObj.elements[i].type == "textarea"){
          poststr += elementName + "=" + encodeURI(formObj.elements[i].value);
        } else {
          poststr += elementName + "=" + formObj.elements[i].value;
        }
        poststr += "&";
      }
    }
  }
  var section_id = document.getElementById("section_id").value;
  poststr += "section_id="+section_id;
  if(valFailed == false) {
    makePOSTRequest(action_file, poststr);
  }
}
