function validate() {
	var str = "";
	var elements = document.getElementsByTagName('input');
	// цикл по всем элементам формы
	for(var i = 0; i < elements.length; i++) {
		// проверяем, имеется ли образец 
		var pattern = elements.item(i).getAttribute('pattern');
		var pattern_a = elements.item(i).getAttribute('pattern_a');
		var min_reqs = elements.item(i).getAttribute('min_reqs');
		var max_reqs = elements.item(i).getAttribute('max_reqs');
		if (min_reqs != null && max_reqs != null) {
			var value = elements.item(i).value.length;
			if (value < min_reqs || value > max_reqs) {
				str += elements.item(i).getAttribute('errorMsg') + '\n';
			}
		}
		if (pattern_a != null) {
			var value = elements.item(i).value;
			// валидация значения элемента, используя образец
			var offendingChar = value.match(pattern_a);
			// если встечен недопустимый символ или элемент оставлен пустым
			if(offendingChar == null || value.length == 0) {
				// показываем сообщения об ошибках
				str += elements.item(i).getAttribute('errorMsg') + "\n";
				// подсказка пользователю путем смены цвета фона; здесь красный
				elements.item(i).style.background = "#FFD0D0";
			}else{
				elements.item(i).style.background = "#FFFFFF";
			}
		}
		if (pattern != null) {
			var value = elements.item(i).value;
			// валидация значения элемента, используя образец
			var offendingChar = value.match(pattern_m);
			// если встечен недопустимый символ или элемент оставлен пустым
			if(offendingChar != null || value.length == 0) {
				// показываем сообщения об ошибках
				str += elements.item(i).getAttribute('errorMsg') + "\n" +
				 "Найдено недопустимое значение: '" + offendingChar + "' \n";
				// подсказка пользователю путем смены цвета фона; здесь красный
				elements.item(i).style.background = "#FFD0D0";
			}else{
				elements.item(i).style.background = "";
			}
		}
	}
	if (str != "") {
		// не посылаем форму
		alert("Ошибка!\n" +str);
		return false;
	} else {
		// значения формы правильны; посылаем
		return true;
	}
}

function hideLevel( _levelId) {
	var thisLevel = document.getElementById( _levelId );
	thisLevel.style.display = "none";
}
	
function showLevel( _levelId ) {
	var thisLevel = document.getElementById( _levelId );
	if ( thisLevel.style.display == "none") {
		thisLevel.style.display = "block";
	} else {
		hideLevel( _levelId);
	}
}
function add(code){
	document.msgpost.msg.value += " " + code + " ";
}

function toggleDiv(id,flagit) {
	if (flagit=="1"){
		if (document.layers) document.layers[''+id+''].visibility = "show"
			else if (document.all) document.all[''+id+''].style.visibility = "visible"
				else if (document.getElementById) document.getElementById(''+id+'').style.visibility = "visible"
	} else if (flagit=="0"){
		if (document.layers) document.layers[''+id+''].visibility = "hide"
			else if (document.all) document.all[''+id+''].style.visibility = "hidden"
				else if (document.getElementById) document.getElementById(''+id+'').style.visibility = "hidden"
	}
}

function NewWin(URL) {
	window.open(URL,"Preview","top=0,left=0,height=200,width=200")
}
