var request;
var queryString;   // Zmienna bdzie przechowywaa dane wysane metod POST.

function sendData(){
   setQueryString();
   var url="http://www.parkerriver.com/s/sender";
   httpRequest("POST",url,true);
}

/* Inicjalizacja obiektu dania, ktry zosta ju skonstruowany. */
Parametry:
   reqType: typ dania HTTP, na przykad GET lub POST.
   url: adres URL programu serwerowego.
   isAsynch: czy danie bdzie wysane asynchronicznie, czy te nie. */
function initReq(reqType,url,isAsynch){
   /* Okrelamy funkcj, ktra bdzie obsugiwaa odpowied HTTP. */
   request.onreadystatechange=handleResponse;
   request.open(reqType,url,isAsynch);
   /* Ustawiamy nagwek Content-Type dla dania POST */
   request.setRequestHeader("Content-Type",
      "application/x-www-form-urlencoded; charset=iso-8859-2");
   request.send(queryString);
}

/* Funkcja opakowujca do skonstruowania obiektu dania.
Parametry:
   reqType: typ dania HTTP, na przykad GET lub POST.
   url: adres URL programu serwerowego.
   asynch: czy danie bdzie wysane asynchronicznie, czy te nie. */

function httpRequest(reqType,url,asynch){
   // Przegldarki na bazie Mozilli.
   if(window.XMLHttpRequest){
      request = new XMLHttpRequest();
   } else if (window.ActiveXObject){
      request=new ActiveXObject("Msxml2.XMLHTTP");
         if (! request){
            request=new ActiveXObject("Microsoft.XMLHTTP");
         }
   }
   // Jeeli nie powioda si nawet inicjalizacja ActiveXObject,
   // wwczas danie wci moe by typu null.
   if(request){
      initReq(reqType,url,asynch);
   } else {
      alert("Uywana przegldarka nie pozwala na wykorzystanie "+
         "wszystkich funkcji tej aplikacji!");
   }
}
