// JavaScript Document

//поиск с использованием AJAX

// создаем объект для осуществленния запроосв к удаленному серверу ч/з JavaScript
var http=false;
if(window.XMLHttpRequest)//для браузеров отличных от IE
        {
                http=new XMLHttpRequest();
        }
else if(window.ActiveXObject)// для браузера IE
        {
                http=new ActiveXObject("Microsoft.XMLHTTP");
        }
	
	
//функция формирует запрос серверу
function create_request()
{
if(http)//если объект создан
        {
        //получаем слой по id, с которым будем работать
        var div_content=document.getElementById('content');
//		alert(document.getElementById('content'));

        /*метод - open(,  [, [, [, ]]])
        Присвоение параметров (метода, URL, и других) текущему запросу.
        */
        //т.е. в данном случае используем метод GET
		http.open('post','/s.php');
		
		//это не было
		//http.setRequestHeader("Content-Type","text/html");

		http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=windows-1251');

        /*событие onreadystatechange
        событие, возникающее при смене статуса объекта
        */
        http.onreadystatechange= function()
        {
        /*свойство readyState значения статуса (integer),
        может принимать следующие значения:
        0 = неинициализирован (uninitialized);
        1 = "идет загрузка" (loading);
        2 = "загружен" (loaded);
        3 = "интерактивен" (interactive)
        4 = "выполнен" (complete)
        ----------
        св-во status стандартный HTTP код статуса,
        например 404 (для "Not Found") или 200 (для "OK")

        если запрос выполнен (4) и сервак вернул код200, т.е. все ОК
        */
        if(http.readyState==1)
		{
			div_content.innerHTML='Подождите, идет поиск по базе.';
		}
		if(http.readyState==4 && http.status==200)
        {
        /*свойство responseText
        строка с возвращенными
        сервером данными
        */
        // т.е. innerHTML - меняем содержимое слоя div id=content
        div_content.innerHTML=http.responseText;
        //alert(http.responseText);
        //alert(document.getElementById('frm_zapros').value);
		//alert(document.all.frm.innerText);
		}


        }


/*метод - send()
Посылает запрос*/
//http.send('zapros='+document.getElementById('frm_zapros').value);
http.send('zapros='+document.getElementById('frm_zapros').value);
//http.send('zapros='+encodeURIComponent(document.getElementById('frm_zapros').value));
//http.send({'form': document.getElementById('frm').outerText }); 
//http.send(document.getElementById('frm').outerHTML ); 
/*когда при отправке статус будет меняться
http.onreadystatechange, будет срабатывать функция
и проверять не равен ли статус 4(complete)и
не получен ли от сервера код 200(типа все ОК)
как только это случится одновременно, то содержимое
слоя поменяется на то, что прислал сервер в ответ
на запрос без перезагрузки страницы!!!

*/
}
}
