var req=new Array()

function vaxineRequest(pnm, url, ncn, mthd, lmsg) {
   this.tx=null
   this.finished=false
   if(ncn==undefined) {
      this.nClass="none"
   } else {
      this.nClass = ncn
   }
   if(mthd==undefined) {
      mthd="GET"
   }
   if (window.XMLHttpRequest) {
      this.tx = new XMLHttpRequest()
   } else if (window.ActiveXObject) {
      this.tx = new ActiveXObject("Microsoft.XMLHTTP")
   }
   if(this.tx==null) {
      alert("Cannot make asynchronous HTTP request.")
   } else {
      this.pnl=document.getElementById(pnm)
      this.tx.onreadystatechange=fetchStateChanged
      this.tx.open(mthd,url,true)
      this.tx.send(null)
      if(lmsg!=undefined) {
         this.pnl.innerHTML=lmsg
      }
      try {
         this.opnl=document.getElementById("upper"+pnm)
      } catch (e) {
         this.opnl=null
      }
   }
}

function fetchStateChanged() {
   var x
   for (x in req) {
      try {
         if(req[x].tx.readyState==4 || req[x].tx.readyState=="complete") {
            req[x].pnl.innerHTML=req[x].tx.responseText
            if(req[x].nClass!="none") {
               req[x].pnl.className=req[x].nClass
            }
            if(req[x].opnl!=null) {
               req[x].opnl.innerHTML=req[x].tx.responseText
            }
            req[x].finished=true
         }
      } catch (e) {
         document.write("<!-- fetchStateChanged ~ "+e+" -->")
      }
   }
   // Clean out the thingies
   for (x in req) {
      if(req[x].finished) {
         delete req[x]
      }
   }
}

function vFormRequest (pnm, frm) {
  //form = document.getElementById ? document.getElementById(formIdent) : document.forms[formIdent]; 
   //var form = document.getElementById(frm)
   var form = document.getElementById ? document.getElementById(frm) : document.forms[frm]; 
   var url = form.action
   var i
   var fields=form.elements
   
   var sep="?"
   
   for (i=0; i<fields.length; i++) {
      try {
         url+=sep+fields[i].name+"="+fields[i].value
         if(sep=="?") {
            sep="&"
         }
      } catch(err) {
         document.write("<!-- Field empty. --> ")
      }
   }
   
   req.push(new vaxineRequest(pnm, url, "none", "POST"))
}

function plugNewContent(panel,fetchUrl,newClass2set) {
   if(newClass2set==undefined) {
      req.push(new vaxineRequest(panel,fetchUrl))
   } else {
      req.push(new vaxineRequest(panel,fetchUrl,newClass2set))
   }
}
