// Obsuga zdarze dla obiektu XMLHttpRequest.
function handleResponse(){
   try{
      if(request.readyState == 4){
         if(request.status == 200){
            if(formObjTyp.length > 0 && formObjTyp == "input"){
               // Praca z istniejcymi przyciskami opcji.
                  var resp =  request.responseText;
                  // Warto zwrotna jest tablic.
                  var func = new Function("return "+resp);
                  var objt = func();
                  var sel = document.createElement("select");
                  sel.setAttribute("name","countries");
                  createOptions(sel,objt);
                  var newsel = document.getElementById("newsel");
                  reset(newsel);
                  newsel.appendChild(sel);
            } else  if(formObjTyp.length > 0 && formObjTyp == "select"){
               var resp =  request.responseText;
               // Warto zwrotna jest dosownym obiektem JSON.
               var func = new Function("return "+resp);
               var objt = func();
               var fld = document.getElementById("select_info");
               if(fld != null){
                  fld.innerHTML = "Serwer <strong>"+objt.Server_info+
                  "</strong> informuje, e zostay wybrane"+
                  "<br /> nastpujce "+
                  "skrcone nazwy stanw: <strong>"+
                  objt.Selected_options+"</strong>";
               }
            }
         } else {
            // Warto waciwoci request.status wynosi 503, 
            // jeeli aplikacja jest niedostpna, oraz 
            // warto 500, jeli aplikacja zawiera bd.
            alert(
               " Wystpi problem z komunikacj "+
               "midzy obiektem XMLHttpRequest, "+
               "a programem serwera ");
         }
      }// koniec zewntrznej ptli if.
   } catch (err)   {
      alert("Serwer nie jest dostpny "+
         "dla tej aplikacji. Prosz wkrtce sprbowa"+
         " ponownie. \nBd: "+err.message);
   }
}
