function isTyler() {
   return ((navigator.userAgent == 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; WOW64; SV1; .NET CLR 1.1.4322)') && (screen.width == 1440));
}


function _readCookie(name) {
   var nameEQ = name + "=";
   var ca = document.cookie.split(';');
   for(var i=0;i < ca.length;i++) {
      var c = ca[i];
      while (c.charAt(0)==' ') c = c.substring(1,c.length);
      if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
   }
   return null;
}

function xmlDocState(_http, _url, _id, _msg, _onfin) {
   var _this = this;
   this.http = _http;
   this.url = _url;
   this.id = _id;
   this.onfinished = _onfin;

   this._onProcRequest = function() {
      if ((!_this) || (!_this.http)) return;

      if (_this.http.readyState != 4) return;
      if (_this.http.status == 200) {
         var s = _this.http.responseText;
         document.getElementById(_this.id).innerHTML = s;
         if (_this.onfinished) _this.onfinished(_this, true);
      } else {
         document.getElementById(_this.id).innerHTML = 'There was a problem retrieving your request.' + req.statusText;
         if (_this.onfinished) _this.onfinished(_this, false);
      }
   }
}

function loadXMLDocObj(url, _id, string_message, _onfin) {
   //if (isTyler()) alert('Hi');
   if (!string_message) string_message = 'Retrieving your request.';
   document.getElementById(_id).innerHTML = string_message;
    // branch for native XMLHttpRequest object
   var req = false;
   if (window.XMLHttpRequest) {
      req = new XMLHttpRequest();
   } else if (window.ActiveXObject) {
      req = new ActiveXObject("Microsoft.XMLHTTP");
   }
   if (req){
      var res = new xmlDocState(req, url, _id, string_message, _onfin);
      req.onreadystatechange = res._onProcRequest;
      req.open("GET", url, true);
      req.send(null);
      return res;
   } else{
      return;
   }
}

/*
loadXMLDocObj.prototype.processReq=function() {
    // only if req shows "loaded"
    if (this.req.readyState == 4) {
        // only if "OK"
        if (this.req.status == 200) {
            // ...processing statements go here...
         //alert(req.responseText);
         var s = this.req.responseText;   
         document.getElementById(this.id).innerHTML = s;   
         if (this.onfin) this.onfin(this, true);
        } else {
         document.getElementById(this.id).innerHTML ='There was a problem retrieving your request.'+req.statusText;
         if (this.onfin) this.onfin(this, false);
        }
    }
}
*/

//The POSTER
   function madbuilderPost(form, id) {
      this.form = form;
      this.id=id;
      this.formObj=eval('document.' + form);   
      this.action=(!this.formObj.action ? '' : this.formObj.action);
      this.uri='';
   } 
   
   madbuilderPost.prototype.makeGetRequest=function(){
      this.makeURI();
      this.uri= this.action+'?'+this.uri; 
      var r = new loadXMLDocObj(this.uri, this.id,'');   
   }
   madbuilderPost.prototype.makeURI = function() {
      var uri;
      for (var i=0; i<this.formObj.elements.length; ++i){
         if (this.formObj.elements[i].type == 'radio' || this.formObj.elements[i].type == 'checkbox'){            
            if (this.formObj.elements[i].checked){
               uri = ((i != 0) ? uri + '&' : '' )   + this.formObj.elements[i].name + '=' + this.formObj.elements[i].value;
            }
         }else{
            uri = ((i != 0) ? uri + '&' : '' )   + this.formObj.elements[i].name + '=' + escape(this.formObj.elements[i].value);
         }
      }
      this.uri = uri;
   }

