
function loadnewsletter(mail) {

   if(xmlHttp) { 

   	if(mail) {
      id = encodeURIComponent(mail);
      cache.push("id=" + mail);
    }
    try {
      if((xmlHttp.readyState == 4 || xmlHttp.readyState == 0) && cache.length > 0) {
      	
      	var cacheEntry = cache.shift();
      	
      	xmlHttp.open("POST", "index.php?m=Newsletter&mail=" + mail,true);
        xmlHttp.setRequestHeader("Man", "POST index.php?m=Newsletter&mail=" + mail + " HTTP/1.1")

        xmlHttp.setRequestHeader("MessageType", "CALL")
 		xmlHttp.setRequestHeader("Content-Type", "text/xml")
        
 		xmlHttp.onreadystatechange = newsletterHandleRequest;
        xmlHttp.send(cacheEntry);
      }
    }
    catch (e) {
      displayError(e.toString());
    }
  }
}

function readnewsletterResponse() {

  var response = xmlHttp.responseText

  if (response.indexOf("ERRNO") >= 0 || response.indexOf("error:") >= 0 || response.length == 0) {
  	throw(response.length == 0 ? "Server error." : response);
  }
  
  switch (response) {
  	case '0': alert('Błąd połączenia z serwerem!'); break;
  	case '1': document.getElementById('newsletter').style.display='none'; document.getElementById('newsletter2').style.display='block'; break;
  	case '2': alert('Adres e-mail jest niepoprawny!'); break;
  	case '3': alert('Nie podano adresu e-mail!'); break;
  }
}

/*
 *	czyta odpowiedz z servera
 */

function newsletterHandleRequest() {

  if(xmlHttp.readyState == 4) {
    if(xmlHttp.status == 200) {
      try {
        readnewsletterResponse();
      }
      catch(e) {
        displayError(e.toString());
      }
    }
    else {
      displayError(xmlHttp.statusText);
    }
  }
}

function displayError($message) {
 
  if (showErrors) {
   
    showErrors = false;
    alert("Wystąpił błąd: \n" + $message);
    setTimeout("loadnewsletter();", 10000);
  }
}
 
