// SCRIPT 1 = START = создание кнопок-ролловеров форм

if(document.images){													// тест поддержки массива объектов изображений

var imgsOut=new Object();												// создание объектов, имена свойств которых будут соответствовать идентификаторам изображений
var imgsOver=new Object();
var imgsDown=new Object();

imgsOut["poisk"]=new Image(130, 24); imgsOut["poisk"].src="/common/poiskoff.jpg";		// создание объектов нормальных изображений и ссылок на изображения (убираем курсор с изображения)
imgsOut["voter"]=new Image(130, 24); imgsOut["voter"].src="/common/voteroff.jpg";
imgsOver["poisk"]=new Image(130, 24); imgsOver["poisk"].src="/common/poiskon.jpg";		// создание объектов активных изображений (курсор над изображением)
imgsOver["voter"]=new Image(130, 24); imgsOver["voter"].src="/common/voteron.jpg";
imgsDown["poisk"]=new Image(130, 24); imgsDown["poisk"].src="/common/poiskpush.jpg";	// нажатая кнопка
imgsDown["voter"]=new Image(130, 24); imgsDown["voter"].src="/common/voterpush.jpg";

}

function initImgsRoll(){													// задание ф-ции обработки событий мыши для кнопок форм
	if(document.images){
		var imgsid=new Array("poisk", "voter");								// объявление массива "id" изображений кнопок форм
		var arrLen=imgsid.length;
		var i, imgobj;
		for(i=0; i<arrLen; i++){
			imgobj=document.getElementById(imgsid[i]);
			if(imgobj){
				imgobj.onmouseover=makeImgsRoll;							// назначение обработчика события
				imgobj.onmouseout=makeImgsRoll;
				imgobj.onmouseup=makeImgsRoll;
				imgobj.onmousedown=makeImgsRoll;
			}
		}
	}
}

function makeImgsRoll(evt){												// ф-ция загрузки кешированных изображений
var evt=(evt)?evt:((window.event)?window.event:null);							// структура выравнивания моделей объекта события IE и W3C DOM
	if(evt){
		var imgelem=(evt.target)?evt.target:((evt.srcElement)?evt.srcElement:null);		// ссылка на элемент-"img", вызвавший событие
		var imgid=(imgelem)?imgelem.id:null;
		if(imgid){
			switch(evt.type){											// определение типа события в конструкции "switch"
				case "mouseup":
					imgelem.src=imgsOver[imgid].src;
					break;
				case "mousedown":
					imgelem.src=imgsDown[imgid].src;
					break;
				case "mouseover":
					imgelem.src=imgsOver[imgid].src;
					break;
				case "mouseout":
					imgelem.src=imgsOut[imgid].src;
					break;
			}
		}
	}
}

// SCRIPT 1 = FINISH
// SCRIPT 2 = START = проверка введённых данных в текстовое поле формы поиска по каталогу продукции

function focusSrchText(elem){
var formElem=srchForma.elements[elem];				// адресация текстового поля
	if(formElem){
		formElem.focus();
		formElem.select();
	}
}

var srchForma;								// определяем глобальную переменную формы поиска

function allowSearch(forma){						// ф-ция проверки введённых данных в поле формы поиска
srchForma=forma;							// инициализация объекта глобальной переменной
var elemName="search";						// имя поля ввода текста для поиска
var str=forma.elements[elemName].value;				// считываем введённый юзером текст

	if(str.length===0){						// вариант отсутствия введённых данных
		alert("ВВЕДИТЕ ТЕКСТ ДЛЯ ПОИСКА");
		setTimeout("focusSrchText('"+elemName+"')", 3);
		return false;						// данные формы не отсылаются
	}

var re1=/^\s+|\s+$/g;						// рег. выражение поиска одиночных или повторяющихся пробельных символов в начале или конце строки
str=str.replace(re1, "");

	if(str.length===0){
		alert("ВВЕДИТЕ ТЕКСТ ДЛЯ ПОИСКА");
		setTimeout("focusSrchText('"+elemName+"')", 3);
		return false;
	}

var re2=/\s{2,}/g;							// заменяем повторяющиеся подряд 2-а и более раз пробелы на одинарные
str=str.replace(re2, " ");

	if(str.length<4){
		alert("НЕОБХОДИМО ВВОДИТЬ ТЕКСТ ИЗ 4-х И БОЛЕЕ БУКВ");
		setTimeout("focusSrchText('"+elemName+"')", 3);
		return false;
	}

forma.elements[elemName].value=str.substring(0, 170);	// контрольная обрезка более чем 170 вводимых символов

return true;									// данные формы отсылаются
}

// SCRIPT 2 = FINISH
// SCRIPT 3 = START = проверка выбора варианта ответа на вопрос голосования перед отправкой данных формы

function allowVote(forma){						// ф-ция проверки наличия выбора варианта ответа в форме голосования
var ellength=forma.elements.length;
var i, formelem;
	for(i=0; i<ellength; i++){
		formelem=forma.elements[i];
		if(formelem.type=="radio"&&formelem.checked){
			return true;						// данные формы отсылаются
		}
	}
alert("Для голосования необходимо указать вариант ответа");
return false;								// данные формы не отсылаются
}

// SCRIPT 3 = FINISH
