var xmlHttp = createXmlHttpRequestObject();

   function createXmlHttpRequestObject()
		{
		//przechowywac bedzie odwolanie
			var xmlHttp;
			try
			{
				//probuje utworzyc obiekt XMLHttpRequest 
				xmlHttp = new XMLHttpRequest();
			}
			catch(e)
			{
				//w przypadku, gdy przegladarka jest IE6 lub starsza
				var XmlHttpVersions = new Array('MSXML2.XMLHTTP.6.0',
				'MSXML2.XMLHTTP.5.0',
				'MSXML2.XMLHTTP.4.0',
				'MSXML2.XMLHTTP.3.0',
				'MSXML2.XMLHTTP',
				'Microsoft.XMLHTTP');
				//sprawdza kazdy identyfikator to momentu az znajdzie poprawny 
				for ( var i = 0; i < XmlHttpVersions.length && !xmlHttp ; i++ )
				{
					try 
					{
						// proboje utworzyc obiekkt XmlHttpRequest
						xmlHttp = new ActiveXObject(XmlHttpVersions[i]);
					}
					catch(e)
					{}
				}
			}
			//zwraca utworzony obiekt lub mamy komunikat o bledzie
			if (!xmlHttp)
				alert("Blad podczas tworzenia obiektu xmlHttpRequest");
			else
				return xmlHttp;
		}
		
	function process()
	{
		// xmlHttp musi istniec
		if(xmlHttp)
		{
			try
			{
				//inicjalizacja pliku do otwarcia
				xmlHttp.open("GET", 'xml/about.xml', true);
				xmlHttp.onreadystatechange = handleRequestStateChange;
				xmlHttp.send(null); 
			}
			// w przypadku nie powodzenie komunikat o bledzie 
			catch(e)
			{
				alert("Nie moge polaczyc sie z serwerem:" + e.toString());
			}
		}
	}   
	
	//funkcja wywolywania przy zmianie statusu Http
	function handleRequestStateChange()
	{
		// przy readyState == 4 zaczynamy odczyt 
		if(xmlHttp.readyState == 4)
		{
			if(xmlHttp.status == 200)
			{
				try
				{
					//obsluguje odpowiedz z serwera 
					handleServerResponse();
				}
				catch(e)
				{
					alert("Blad odczytu odpowiedzi: " + e.toString());
				}
			}
			else
			{
				//wyswietla status wiadomosci
				alert("Pojawil sie problem w uzyskaniu danych: " + xmlHttp.statusText );
			}
		}
	}
	
	// obsluguje odpowiedz otrzymana z serwera
	
	function handleServerResponse()
	{
		//odczyt wiadomosci z serwera
		var xmlResponse = xmlHttp.responseXML;
		//pobranie obiektu dokumentu XML
		xmlRoot = xmlResponse.documentElement;
		titleArray = xmlRoot.getElementsByTagName('title');
		textArray = xmlRoot.getElementsByTagName('text');
		opisArray = xmlRoot.getElementsByTagName('opis');
		imieArray = xmlRoot.getElementsByTagName('imie');
		
		//wygenerowanie danych wyjsciowych w postaci pliku HTML
		var html = "";
		var htmlT = "";
		var htmlWe = "";
		var htmlTWe = "";
		//tworzeni struktury html
		var names = new Array('aboutUs','we','companyPolitic');
		var girls = new Array('beata','justyna','karolina');
		var titles = new Array();
		var girlsTitles = new Array();
		
		for ( var i = 0; i < names.length; i++)
		{
			titles[i] = names[i] + 'T';
		}
		
		for ( var i = 0; i < girls.length; i++)
		{
			girlsTitles[i] = girls[i] + 'T';
		}
		for ( var i = 0; i < titleArray.length ; i++)
		{
			htmlT = titleArray.item(i).firstChild.data;
			if( i != 1)
			{
			html = textArray.item(i).firstChild.data;
			//pobranie referencji do elementu <div> na stronie 
			
			myDiv = document.getElementById(names[i]);
			myDiv.innerHTML =  html ;
			
			}
			myDivT = document.getElementById(titles[i]);
			myDivT.innerHTML =  htmlT ;
		}
			
		for ( var i = 0; i < opisArray.length ; i++)
		{
			htmlWe = opisArray.item(i).firstChild.data;
			//pobranie referencji do elementu <div> na stronie 
			htmlTWe = imieArray.item(i).firstChild.data;
			myDivWe = document.getElementById(girls[i]);
			myDivTWe = document.getElementById(girlsTitles[i]);
			myDivWe.innerHTML =  htmlWe ;
			myDivTWe.innerHTML =  htmlTWe ;
		}
		
	}
	
