﻿var waitflag = 0;		// происходит ли ожидание проверки
var requestflag = 0;	// делать ли запрос
var string;				// для сравнения со полем ввода
var requeststring;		// для сравнения не был ли предыдущий запрос таким же
var count;				// количество найденных слов
var maxcount=20;

function xmlreq ( a )
{
	var req, response, id, s, temp;
	
	if (window.XMLHttpRequest)
		req = new XMLHttpRequest();
	else if (window.ActiveXObject)
        req = new ActiveXObject("Microsoft.XMLHTTP");

	progress.style.display="block";
	autolist.style.display="none";
		
	if (req)
	{
		req.onreadystatechange =
		function()
		{
			if ( req.readyState == 4 )
			{
				if ( req.status == 200 )
				{
					//response = req.responseXML.documentElement;
					//msg = response.getElementsByTagName('msg')[0].firstChild.data;
					//id = response.getElementsByTagName('id')[0].firstChild.data;
					
					//progress.style.display="none";
					
					s = document.getElementById("list");
					s.innerHTML = "";
					
					response = req.responseText.split("@");
					if (response[0] == "autocomplete")
					{
						if (response[1]!="none")
						{
							autolist.style.display="block";
							s = document.getElementById("autolist");
							s.innerHTML = "";
							for(i=1;i<response.length;i++)
							{
								//s.innerHTML += '<a href="#" onclick="document.f.q.value=\''+response[i]+'\';string=\''+response[i]+'\';xmlreq(\'ukp.php\',\'t=1&q='+response[i]+'\');return false;">'+response[i]+'</a>';
								s.innerHTML += '<a href="" onclick="cl(\''+response[i]+'\');return false;">'+response[i]+'</a>';
							}
						}
						else
						{
							s = document.getElementById("autolist");
							s.innerHTML = "";
							
							autolist.style.display="none";
						}
					}
					else if (response[0] == "result")
					{
						s = document.getElementById("autolist");
						s.innerHTML = "";
						
						autolist.style.display="none";	
						s = document.getElementById("list");
						if (response[1] != "notfound")
						{
						
							s.innerHTML = "<font color='blue'>Найдено:</font><br>";
							for(i=1;i<response.length;i++)
							{
								r = response[i].split("|");
								//s.innerHTML += "<span>"+response[i]+"</span>";
								s.innerHTML += "<span><b>"+r[0]+"</b><i>"+r[1]+"</i>"+r[2]+"</span>";
							}
						}			
						else
						{
							s.innerHTML += "Ничего не найдено";
						}
					}
					progress.style.display="none";
				}
			}
		}
		req.open( "POST", "ukp_names_1251.php", true);
		req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		req.send ( a );
	}
	else
	{
		s = document.getElementById("autolist");
		s.innerHTML = "<u>Ошибка создания XML объекта</u>";
	}
}

function keypress(e)
{
/*
А - 1040
Я - 1071
а - 1072
я - 1103
*/
	var keynum, keychar, numcheck;
	var s = document.f.q.value;
	
	if ( window.event ) // IE
	{
		keynum = e.keyCode;
	}
	else if ( e.which ) // netscape/Firefox/opera
	{
		keynum = e.which;
	}
	
	keychar = String.fromCharCode(keynum);
	if(s.charCodeAt(0)>=48 && s.charCodeAt(0)<=57)
	{
		document.getElementById("tip").innerHTML = "Поиск по телефонному номеру, введите шесть цифр номера";
		//if(keynum>=48 && keynum<=57)
			return keychar;
	}
	else if ( keynum >= 1040 &&  keynum <= 1103 )
	{
		document.getElementById("tip").innerHTML = "Поиск по фамилии абонента";
		return keychar;
	}
	else
	{
		document.getElementById("tip").innerHTML = "Используйте для ввода фамилии только русские буквы";
		return keychar;
	}
	return false;
}


function getinput()
{

		if ( string != document.f.q.value )
		{
			string = document.f.q.value;
			if (string.length>2)
			{
				if(string.charCodeAt(0)>=48 && string.charCodeAt(0)<=57)
				{
					if(string.length>5)
						xmlreq ( "q=" + string );
				}
				else
					xmlreq ( "q=" + string );
			}
		}

	setTimeout("getinput()",1000);
}

function cl(text)
{
	document.f.q.value=text;
	string=text;
	xmlreq( "t=1&q="+text);
}

function init()
{
	document.f.q.focus();
	string = document.f.q.value;
	getinput();
}