// Ссылка на объект XMLHttp.Request 
// Ссылка на объект XMLHttp.Request 



var xmlHttp = createXmlHttpRequestObject();


// создание объекта XMLHttpRequest 

function createXmlHttpRequestObject() 
{
	//alert("JS is running  " );
	//return;
   // для хранения ссылки XMLHttpRequest
   var xmlHttp;

   // если  Internet Explorer
   if(window.ActiveXObject)
   {
      try 
      {
      xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); 
      }
      catch (e) 
      {
      xmlHttp = false; 
      } 
}
   // если другой браузер 
   else {
      try 
	  {
      xmlHttp = new XMLHttpRequestO; 
      }
      catch (e) 
      {
         xmlHttp = false;
      }
   }
   // вернуть созданный объект или сообщить об ошибке 
   if (!xmlHttp)
       alert("Ошибка создания объекта XMLHttpRequest."); 
   else
       return xmlHttp;
}


 function process(name)
   {
       //alert("JS is running  " );
	   //return;
	   
	   // не занят ли объект xmlHttp
       if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0)
      {
		//alert("JS is running  " );
	   //return;
		  
      // получить переменную из формы
      //name = encodeURIComponent ( document.getElementById( "myName" ) . value) ;
      // вызов start. php на сервере
      xmlHttp.open("GET",   "start.php?name=" + name,  true);

      // метод, обрабатывающий ответ сервера
      xmlHttp.onreadystatechange = handleServerResponse;
     // отправка асинхронного запроса
      xmlHttp.send(null); 
      } 
      else
	  // если занято повторить попытку через 1000 милисекунд 
      setTimeout( 'processO',   1000); 
}
// Вызывается по получению ответа от сервера
function handleServerResponse()
{	

      //alert("JS is running  " );
      //return;
	
//   alert("JS1234567 is running  " );
//	   return;
// Продолжение, если транзакция с сервером завершена
   if (xmlHttp.readyState == 4)
   {
	   //alert("JS is running  " );
      //return;
       //если  200 –транзакция прошла успешно
        if (xmlHttp.status == 200)
        {
	   //alert("JS is running  " );
       //return;
         
		//xmlResponse = xmlHttp.responseText;
		 // XML, полученный от сервера
        xmlResponse = xmlHttp.responseXML;
        // alert(xmlResponse );
         //  return;
		 
		 // корневой элемент XML
        xmlDocumentElement = xmlResponse.documentElement;
		   //alert(xmlDocumentElement );
           //return;
		 // данные первого дочернего элемента корневого узла
         helloMessage = xmlDocumentElement.firstChild.data;
		  //alert("JS is running  " );
          // return;
		 
         //  обновление текста в окне браузера по divMessage
         document.getElementById("divMessage").innerHTML =
              '<i>' + helloMessage + '</i>';
         // повторить через секунду
         //setTimeout( 'process()',   1000);
        }
         // ЕСЛИ СТАТУС НЕ 200,  сообщение об ошибке
       else 
	  {
       alert("При обращении к серверу возникли проблеммы:  " + xmlHttp.statusText);
      }
   }
}

