var xmlHttp=createXmlHttpRequestObject();

// funkcja tworzy obiekt XMLHttpRequest
function createXmlHttpRequestObject() {
	var xmlHttp;
	try {
	// proba stworzenia obiektu XMLHttpRequest dla wszystkich przegladarek / <=IE6 
		xmlHttp=new XMLHttpRequest();
	}
	catch (e) {
	// tworzenie obiektu dla przeglAdarek <=IE6
		var XmlHttpVersions = new Array("MSXML2.XMLHttp.6.0",
										"MSXML2.XMLHttp.5.0",
										"MSXML2.XMLHttp.4.0",
										"MSXML2.XMLHttp.3.0",
										"MSXML2.XMLHttp",
										"Microsoft.XMLHttp");

		for(var i=0; i<XmlHttpVersions.length && !xmlHttp; i++) {
			try {
				xmlHttp = new ActiveXObject(XmlHttpVersions[i]);
			}
			catch (e) {
			// ignorowanie potencjalne bledow	
			}
		}
	}

	if(!xmlHttp) {
		alert("Blad podczas proby utworzenia obiektu XMLHttpRequest.");
	}
	else {
		return xmlHttp;
	}
}

//wysyla informacje o emailu
function wyslij_maila(email) {
	if(xmlHttp) {
		if (sprEmail(email)) {
		try {
		if((xmlHttp.readyState == 4 || xmlHttp.readyState == 0)) {
			document.getElementById('newsletter').innerHTML = "przesylanie danych...";
			xmlHttp.open("GET", "../ajax_newsletter.php?email=" + email, true);
			xmlHttp.onreadystatechange = handleRequestStateChange;
			xmlHttp.send(null);
		}
		}
		catch (e) {
			alert("Nie mozna nawiazac polaczenia z serwerem " + e.toString());
		}	
		} else {
			alert ('Podaj poprawny adres email');
		}
	}
	
}

// funkcja obslugujaca odpowiedz HTTP
function handleRequestStateChange() {
	// pobieranie kiedy readyState rowna nie 4
	if(xmlHttp.readyState == 4) {
		// kontunuuje jesli status jest OK
		if(xmlHttp.status == 200) {
			try {
				// czyta odpowiedz serwera
				var output=xmlHttp.responseText;	
				document.getElementById('newsletter').innerHTML = output;
			}
			catch (e) {
				alert("Wystapil blad: " + e.toString());
			}
		}
		else {
			alert("Blad " + xmlHttp.statusText);
		}
	} 
}


// funkcja czyta odpowiedz serwera
function readResponse() {
	// pobranie odpowiedzi w formacie XML
	xmlDoc.responseXml.documentElement;
	result =xmlDoc.getElementByTagName("result")[0].firstChild.data;
	
}
