﻿this.searchfield = function(){


	var id = "searchfield";


	var defaultText = " Поиск";

	var suggestion = true;


	var suggestionText = "Водитель, Логист, Кузовщик, Топливщик, Ходовщик, Автослесарь, Специалист по работе с оптикой,  стеклом,  пластиком, Шиномонтажник, Автосварщик, Бортинженер, Пилот, Автомоторист, Крановщик, Автоэлектрик, Автомеханик, Эксплуатация транспорта, Машинист, Специалист автотюнинга, Технолог воды топлива смазочных материалов, Специалист по регулировке схода-развала колес, Специалист в автомастерскую, Надомная работа, Без квалификации,  подработка в общепите, Без квалификации,  подработка строительство,  ремонт, Без квалификации,  подработка в производстве, Без квалификации,  подработка в торговле,  склад, Без квалификации,  подработка в бытовом обслуживани, Без квалификации,  подработка автосервис,  транспорт, Детектив, Инкассатор, Криминалист, Спасатель, Охранник, Пожарный, Оперуполномоченный, Следователь, Милиционер, Телохранитель, Инспектор, Инженер по предупреждению ЧС, Стрелок, Прапорщик, Сотрудник группы быстрого реагирования, Аудитор, Бухгалтер, Юрист, Экономист, Методолог, Трейдер, Нотариус, Сметчик, Прокурор, Налоговый сотрудник, Судебный пристав, Финансовый сотрудник, Инспектор, Банковский сотрудник, Судья, Агроном, Аквариумист, Ветеринар, Груммер, Доярка, Дрессировщик, Зоолог, Зоотехник, Кинолог, Эколог, Лесник, Егерь, Лесопатолог, Тепличница, Овощевод, Орнитолог, Инженер эколог, Ихтиолог, Рыбовод, Рыбоинспектор, Цветовод, Инженер лесоведения, Океанолог, Метеоролог, Кузнец, Фрезеровщик, Механик, Токарь, Слесарь, Специалист IT технологиий, Ювелир, Инженер в энергетику, Инженер морских специальностей, Инженер в строительство, Инженер пищевой промышленности, Инженер радиотехники и IT технологий, Инженер эксплуатационных и технических служб, Специалист пищевой промышленности, Специалист эксплуатационных и технических служб, Специалист радиоэлектроники, Специалист в энергетике, Машинист, Имиджмейкер, Инструктор, Тренер, Массажист, Методист, Стилист, Парикмахер, Мастер тату, Косметолог, Мастер ногтевого сервиса, Аниматор, Аранжировщик, Актер, Восковщица, Гример, Декоратор, Диджей, Звукооператор, Звукорежиссер, Импрессарио, Искусствовед, Камермен, Костюмер, Художник, Хореограф, Лепщик, Модель, Музыкант, Танцовщица, Певец, Режиссер, Реставратор, Скульптор, Гончар, Ведущий, Каскадер, Колорист, Мастер по свету, Кромщик, Фурнитурщик, Столяр, Специалист по мягкой мебели, Распиловщик, Отделочник, Деревообработчик, Технолог по деревообработке, Специалист по корпусной мебели, Технолог мебельного производства, Багетчик, Акушерка, Дезинсектор, Дезинфектор, Инфекционист, Логопед, Медбрат, Медсестра, Фельдшер, Ночной дежурант, Провизор, Психоаналитик, Психолог, Сестра хозяйка, Ортопед, Гинеколог, Терапевт, Врач УЗИ, Дерматовенеролог, Уролог, Отоларинголог, Кардиолог, ЛОР, Иммунолог, Невропатолог, Офтальмолог, Врач общей лечебной практики, Врач клиничекой лабораторной диагностики, Физиотерапевт, Психотерапевт, Хирург травматолог, Педиатр, Хирург сосудистый, Врач функциональной диагностики, Токсиколог, Маммолог, Аллерголог, Врач участковый, Врач ФТО, Врач ЛФК, Зубной техник, Хирург, Фармацевт, Медицинский представитель, Врач в аптеку, Врач санитарный, Врач консультант, Лаборант, Ассистент, Врач статистик, Медицинский консультант, Регистратор, Врач вегеторезонансного тестирования, Врач биорезонансной терапии, Невролог, Дерматолог, Гастроэнтеролог, Санитар, Ученик, Анестезиолог, Эндокринолог, Проктолог, Врач гнойной хирургии, Физиолог, Экстрасенс, Целитель, Реабилитолог, Врач дежурный, Эпидемиолог, Гигиенист, Эндоскопист, Иглорефлексотерапевт, Пульмонолог, Нарколог, Диетолог, Стоматолог, Врач предрейсового осмотра водителей, Мастер по изготовлению очков, Фтизиатор, Врач скорой помощи, Рентгенолог, Бактериолог, Реаниматолог, Врач эксперт, Гипнотерапевт, Статист, Врач клинической формакологии, Онколог, Психиатр, Социальная работа, Кадровый работник, Маркетолог, Таможня, Переводчик, Партнер, Менеджер, Начальник административной деятельности, Помощник, Начальник в автосервисе,  транспорте,  первозках, Начальник в безопасности,  охране,  милиции, Начальник в финансах,  праве,  налогах, Начальник в бытовом обслуживании, Начальник в зоо,  экологии и сельском хозяйство, Начальник красота и здоровье,  спорт, Начальник в культуре,  искусстве и шоу -бизнесе, Начальник в мебельном произв-ве,  деревообработка, Начальник в медицине,  аптеке,  санитарных службах, Начальник в морских специальностях, Начальник в образовании и воспитании, Начальник в общественном питании,  пищевая пром-ти, Начальник в СМИ,  печать,  реклама,  дизайн, Начальник в строительно-монтажных работах,  ремонт, Начальник в торговле,  склад,  снабжение и закупки, Начальник в швейном,  текстильном,  обувном про-во, Начальник в электро,  радио,  тех. службе. Компьютер, Водолаз, Матрос, Капитан, Механик, Боцман, Электромеханик судовой, Рефмеханик, Моторист, Рыбообработчик, Дневальная, Судоремонтник, Электрик судовой, Судовой врач, Начальник радиостанции, Радионавигатор, Тралмастер, Повар судовой, Токарь судовой, Судовой декларант, Слесарь, Судовой агент, Вачман, Трубопроводчик судовой, Мастер добычи, Судоводитель, Газоэлектросварщик судовой, Помощник капитана, Машинист, Библиотекарь, Биолог, Биохимик, Воспитатель, Географ, Геофизик, Культуролог, Лингвист, Филолог, Няня, Преподаватель, Репетитор, Научный сотрудник, Океанолог, Геолог, Лаборант, Методист, Политолог, Гувернант, Архивист, Педагог, Куратор, Химик, Бармен, Дегустатор, Засольщик, Кондитер, Кулинар, Фаршесоставитель, Мясообработчик, Сомелье, Пекарь, Пивовар, Рыбообработчик, Технолог пищевой промышленности, Повар, Тестомес, Мастер контролер пищевой промышленности, Сетевой технолог общественного питания, Писатель, Аниматор, Брошюровщик, Верстальщик, Видеоинженер, Видеооператор, Демонстратор, Дизайнер, Журналист, Звукооператор, Звукорежиссер, Иллюстратор, Копирайтер, Корректор, Шрифтовик, Корреспондент, Костюмер, Шелкограф, Фотограф, Монтажист, Сценарист, Статист, Оформитель, Переплетчик, Печатник, Плоттерщик, Презентатор, Редактор, Режиссер, Модель, Креатор, Архитектор, Кафельщик, Горные и подземные работы, Кровельщик, Маляр, Фасадчик, Отделочник, Печник, Плотник, Сварщик, Сантехник, Каменщик, Слесарь, Прораб, Бетонщик, Геология и картография, Дистрибьютер, Закупщик, Кассир, Кладовщик, Мерчендайзер, Снабженец, Продавец, Торговый представитель, Торговый агент, Супервайзер, Продавец продовольственных товаров, Товаровед, Консультант, Сертификатчик, Фактуровщик, Экспедитор, Приемщик товара, Вышивальщица, Закройщик, Затяжник, Шершовщик, Швея, Лекальшица, Модистка, Намазчик, Оверлочница, Осноровщица, Портной, Прядильщица, Раскройщик, Скорняк, Мастер по реставрации кожи и меховых изделий, Мастер по пошиву головных уборов, Дизайнер швейного производства, Модельер, Конструктор, Обувщик, Вязальщица, Технолог швейного производства, Мастер по пошиву одежды";

	// END CONFIG (do not edit below this line, well unless you really, really want to change something :) )

	// Peace,
	// Alen

	var field = document.getElementById(id);
	var classInactive = "sf_inactive";
	var classActive = "sf_active";
	var classText = "sf_text";
	var classSuggestion = "sf_suggestion";
	this.safari = ((parseInt(navigator.productSub)>=20020000)&&(navigator.vendor.indexOf("Apple Computer")!=-1));
	if(field && !safari){
		field.value = defaultText;
		field.c = field.className;
		field.className = field.c + " " + classInactive;
		field.onfocus = function(){
			this.className = this.c + " "  + classActive;
			this.value = (this.value == "" || this.value == defaultText) ?  "" : this.value;
		};
		field.onblur = function(){
			this.className = (this.value != "" && this.value != defaultText) ? this.c + " " +  classText : this.c + " " +  classInactive;
			this.value = (this.value != "" && this.value != defaultText) ?  this.value : defaultText;
			clearList();
		};
		if (suggestion){

			var selectedIndex = 0;

			field.setAttribute("autocomplete", "off");
			var div = document.createElement("div");
			var list = document.createElement("ul");
			list.style.display = "none";
			div.className = classSuggestion;
			list.style.width = field.offsetWidth + "px";
			div.appendChild(list);
			field.parentNode.appendChild(div);

			field.onkeypress = function(e){

				var key = getKeyCode(e);

				if(key == 13){ // enter
					selectList();
					selectedIndex = 0;
					return false;
				};
			};

			field.onkeyup = function(e){

				var key = getKeyCode(e);

				switch(key){
				case 13:
					return false;
					break;
				case 27:  // esc
					field.value = "";
					selectedIndex = 0;
					clearList();
					break;
				case 38: // up
					navList("up");
					break;
				case 40: // down
					navList("down");
					break;
				default:
					startList();
					break;
				};
			};

			this.startList = function(){
				var arr = getListItems(field.value);
				if(field.value.length > 0){
					createList(arr);
				} else {
					clearList();
				};
			};

			this.getListItems = function(value){
				var arr = new Array();
				var src = suggestionText;
				var src = src.replace(/, /g, ",");
				var arrSrc = src.split(",");
				for(i=0;i<arrSrc.length;i++){
					if(arrSrc[i].substring(0,value.length).toLowerCase() == value.toLowerCase()){
						arr.push(arrSrc[i]);
					};
				};
				return arr;
			};

			this.createList = function(arr){
				resetList();
				if(arr.length > 0) {
					for(i=0;i<arr.length;i++){
						li = document.createElement("li");
						a = document.createElement("a");
						a.href = "javascript:void(0);";
						a.i = i+1;
						a.innerHTML = arr[i];
						li.i = i+1;
						li.onmouseover = function(){
							navListItem(this.i);
						};
						a.onmousedown = function(){
							selectedIndex = this.i;
							selectList(this.i);
							return false;
						};
						li.appendChild(a);
						list.setAttribute("tabindex", "-1");
						list.appendChild(li);
					};
					list.style.display = "block";
				} else {
					clearList();
				};
			};

			this.resetList = function(){
				var li = list.getElementsByTagName("li");
				var len = li.length;
				for(var i=0;i<len;i++){
					list.removeChild(li[0]);
				};
			};

			this.navList = function(dir){
				selectedIndex += (dir == "down") ? 1 : -1;
				li = list.getElementsByTagName("li");
				if (selectedIndex < 1) selectedIndex =  li.length;
				if (selectedIndex > li.length) selectedIndex =  1;
				navListItem(selectedIndex);
			};

			this.navListItem = function(index){
				selectedIndex = index;
				li = list.getElementsByTagName("li");
				for(var i=0;i<li.length;i++){
					li[i].className = (i==(selectedIndex-1)) ? "selected" : "";
				};
			};

			this.selectList = function(){
				li = list.getElementsByTagName("li");
				a = li[selectedIndex-1].getElementsByTagName("a")[0];
				field.value = a.innerHTML;
				clearList();
			};

		};
	};

	this.clearList = function(){
		if(list){
			list.style.display = "none";
			selectedIndex = 0;
		};
	};
	this.getKeyCode = function(e){
		var code;
		if (!e) var e = window.event;
		if (e.keyCode) code = e.keyCode;
		return code;
	};

};

// script initiates on page load.

this.addEvent = function(obj,type,fn){
	if(obj.attachEvent){
		obj['e'+type+fn] = fn;
		obj[type+fn] = function(){obj['e'+type+fn](window.event );}
		obj.attachEvent('on'+type, obj[type+fn]);
	} else {
		obj.addEventListener(type,fn,false);
	};
};
addEvent(window,"load",searchfield);
