function validate() {
	var value = '';
	var errFlag = new Array();
	var _qfGroups = {};
	_qfMsg = '';

	value = document.getElementById('names_id').value;
	if (value == '' && !errFlag['name']) {
		errFlag['name'] = true;
		_qfMsg = _qfMsg + '\n - Ваше имя - обязательное поле';
	}
	
	value = document.getElementById('email_id').value;
	if (value == '' && !errFlag['email']) {
		errFlag['email'] = true;
		_qfMsg = _qfMsg + '\n - E-mail - обязательное поле';
	}
	
	value = document.getElementById('email_id').value;
	var regex = /^((\"[^\"\f\n\r\t\v\b]+\")|([\w\!\#\$\%\&'\*\+\-\~\/\^\`\|\{\}]+(\.[\w\!\#\$\%\&'\*\+\-\~\/\^\`\|\{\}]+)*))@((\[(((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9])))\])|(((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9])))|((([A-Za-z0-9\-])+\.)+[A-Za-z\-]+))$/;
	if (value != '' && !regex.test(value) && !errFlag['email']) {
		errFlag['email'] = true;
		_qfMsg = _qfMsg + '\n - E-mail - неправильно написано';
	}
	
	value = document.getElementById('info_id').value;
	if (value == '' && !errFlag['text']) {
		errFlag['text'] = true;
		_qfMsg = _qfMsg + '\n - Сообщение - обязательное поле';
	}
	
	value = document.getElementById('rand_num').value;
	if (value == '' && !errFlag['text']) {
		errFlag['text'] = true;
		_qfMsg = _qfMsg + '\n - Код с картинки - обязательное поле';
	}
	
	if (_qfMsg != '') {
		_qfMsg = 'Неверное заполнение полей' + _qfMsg;
		_qfMsg = _qfMsg + '\nПожалуйста, исправьте ошибки!';
		alert(_qfMsg);
	} else {
		document.getElementById('MAIL_FORM').submit();
	}
}
