var queryString="";
window.onload=function(){
   var _url="http://www.parkerriver.com/s/em";
   var b1 = document.getElementById("b1");
   if(b1){
      b1.onclick=function(){
         // Usunicie wszystkich istniejcych komunikatw.
         clearMsg(document.getElementById("err"),"");
         clearMsg(document.getElementById("msg"),"");
         var isValidEmail=validate(document.getElementById("sender").
            value,
            document.getElementById("receiver").value);
         if(isValidEmail){
            try{
               showMsg(document.getElementById("msg"),
               "Wysyanie wiadomoci e-mail...");
               setQueryString();
               httpRequest("POST",_url,true,
               handleResponse,queryString);
            } catch(errv) {
               alert("Przepraszamy, ale wysanie wiadomoci e-mail zakoczyo "+
                  "si niepowodzeniem z powodu nastpujcego bdu:
                  "+errv.message);
            }
         }

      }; // Koniec funkcji.
   }

}
// Sprawdzanie poprawnoci, jednak wiele adresw e-mail powinno zosta
// przekazanych jako argumenty za pomoc tablicy Arguments.
// Przerwanie wykonywania funkcji i zwrot wartoci false, jeli cho jeden
// z nich jest niepoprawny.
function validate(em1) {
   var bool = false;
   var eml = null;
   for(var i = 0; i < arguments.length; i++)  {
      eml = new Email(arguments[i]);
      eml.validate();
      bool=eml.valid;
      if(! bool) { showMsg(document.getElementById("err"),
         eml.message);break;}
   }
   return bool;
}
function showMsg(_id,txt){
   if(_id && txt){_id.innerHTML=txt;}
}
function clearMsg(_id){
   if(_id){_id.innerHTML="";}
}
function handleResponse(){
   try{
      if(request.readyState == 4){
         if(request.status == 200){
            var resp =  request.responseXML;
            if(resp != null){
               var outc=resp.getElementsByTagName("outcome")[0];
               if(outc.childNodes[0].nodeValue == "true") {
                  showMsg(document.getElementById("msg"),
                     "Wiadomo e-mail jest w drodze do adresata!");
               } else {
                  showMsg(document.getElementById("msg"),
                  "Wiadomo e-mail nie moga zosta teraz wysana.");
               }
            } else {
               showMsg(document.getElementById("msg"),
                  "Wiadomo e-mail nie moga zosta teraz wysana.");
            }
         } else {
            // Skrcono...
         }
      }// Koniec zewntrznej ptli if.
   } catch (err) {
      alert("Serwer nie jest dostpny "+
      "dla tej aplikacji. Prosz wkrtce sprbowa"+
      " ponownie. \nBd: "+err.message);

   }
}
function setQueryString(){
   queryString="";
   var frm = document.forms[0];
   var numberElements =  frm.elements.length;
   for(var i = 0; i < numberElements; i++)  {
      if(i < numberElements-1)  {
         queryString += frm.elements[i].name+"="+
            encodeURIComponent(frm.elements[i].value)+"&";
       } else {
          queryString += frm.elements[i].name+"="+
             encodeURIComponent(frm.elements[i].value);
       }

   }
}
