// przechowuje odwołanie do obiektu XMLHttpRequest
var xmlHttp = createXmlHttpRequestObject(); 

// zwraca obiekt XMLHttpRequest
function createXmlHttpRequestObject() 
{
  // przechowa odwołanie do obiektu XMLHttpRequest
  var xmlHttp;
  // jeśli uruchomiony jest Internet Explorer
  if(window.ActiveXObject)
  {
    try
    {
      xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    catch (e) 
    {
      xmlHttp = false;
    }
  }
  // jeśli uruchomiona jest Mozilla lub inne przeglądarki
  else
  {
    try 
    {
      xmlHttp = new XMLHttpRequest();
    }
    catch (e) 
    {
      xmlHttp = false;
    }
  }
  // zwraca utworzony obiekt lub wyświetla komunikat o błędzie
  if (!xmlHttp)
    alert("Błąd podczas tworzenia obiektu XMLHttpRequest.");
  else 
    return xmlHttp;
}


function processContact()
{
	
  // kontynuuje jedynie jeśli obiekt xmlHttp nie jest zajęty
  if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0)
  {
    
	
	
	var email = document.getElementById('contactEmail').value;
	var nature = document.getElementById('nature').value;
	

	
	var name = document.getElementById('contactName').value;
	var phone = document.getElementById('contactPhone').value;
	var question = document.getElementById('contactQuestion').value;
	
	if(name.length<1)
   {
	alert("Proszę wpisać Imię i Nazwisko");
	return false;
   }
   else if(email.length<1)
   {
	alert("Prosze wpisać adres E-mail");
	return false;
   }
	else if(question.length<10)
   {
	alert("Pytanie musi mieć conajmniej 10 znaków");
	return false;
   }
  
   
	document.getElementById('contactNotice').innerHTML='please wait.';
	
  
  
	  
	// wykonuje stronę quickstart.php na serwerze
    xmlHttp.open("GET", "ajax/contact.php?email=" + email + "&nature=" + nature + "&name=" + name + "&phone=" + phone + "&question=" + question, true);  
   
   // definiuje metodę obsługi odpowiedzi serwera
    xmlHttp.onreadystatechange = handleServerResponseContact;
   	// wysyła żądanie do serwera
    xmlHttp.send(null);
  }
  else
    // jeśli połączenie jest zajęte, ponawia próbę po 1 sekundzie
    setTimeout('processContact()', 1000);
}

function handleServerResponseContact() 
{
  // kontynuuje jedynie jeśli transakcja została zakończona
  if (xmlHttp.readyState == 4)
  //alert (xmlHttp.responseText)
  {
    // status 200 oznacza pomyślne ukończenie transakcji
    if (xmlHttp.status == 200) 
    {
		// wyodrębnia wiadomość XML wysłaną z serwera
		xmlResponse = xmlHttp.responseXML;
		// pobiera element nadrzędny ze struktury pliku XML
		xmlDocumentElement = xmlResponse.documentElement;

		
		
		
		//pobieranie xml'a
		iterationArray = xmlDocumentElement.getElementsByTagName("status");
		
		
		var status = iterationArray.item(0).firstChild.data;
		document.getElementById('registration').reset();
		
		//Effect.toggle('contactDiv','appear');
		document.getElementById('contactNotice').innerHTML=status;
		
		//pobieranie xml'a



    } 
    // dla statusu protokołu HTTP innego niż 200 zgłasza błąd
    else 
    {
      alert("Wystąpił błąd podczas uzyskiwania dostępu do serwera: " + xmlHttp.statusText);
    }
  }
}














