kladrGroup = new KladrGroup;
	function kladrFilter(c,cc) {
	    return ((c>=1072 && c<=1103) ||  // а..я
	            (c>=1040 && c<=1071) ||  // А..Я
	            (c>=97 && c<=122)    ||  // a..z
	            (c>=65 && c<=90)     ||  // A..Z
	            (c>=48 && c<=57)     ||  // 0..9
	             c==45 || c==39      ||  // - '
	             c==47 || c==46      ||  // / .
	             c==44               ||  // ,
	             c==40 || c==41      ||  // ( )
	             c==1105 || c==1025  ||  // ё, Ё
	             c==32               ||  // space
	             cc==9               ||  // tab
	             cc==0);                 // special symbols
	}
 	
	function initKladr() {
	    kladrGroup.setFilter(kladrFilter);
	//инициализация кладра, присвоение "фокуса" первой графе.
	    for (var i=0;i<=6;i++) {
	        input = document.getElementById("kladr_"+i);
	        if (i==0) input.focus();
	        title = document.getElementById("kladr_title_"+i);
	        suggest = new AddressSuggestions;
	        kladrGroup.add(
	            new AutoSuggestControl(input, suggest),
	            title
	        );
	    }
	}
	
	var globalTimer = null;
	function check() 
	{
//alert("checkin");
		kladrGroup.check();

		if (globalTimer) 
			clearTimeout(globalTimer);
	
		globalTimer = setInterval(function()
		{
			var message = document.getElementById("result_message");

			if (kladrGroup.correct == 2) 
			{
				message.innerHTML = "Подождите, идет проверка введенных данных...";
				return;
			}
			clearTimeout(globalTimer);
			globalTimer = null;

	        	if (kladrGroup.correct == 0) 
			{
				message.innerHTML = "Выделенные поля содержат ошибку";
				return;
			}
			else if (kladrGroup.correct = 1) 
			{
				message.innerHTML = "Введенные данные верны";
				return;
			}
	
		}, 150);
	}
