
var arrFields = new Array(5);

arrFields['contact']='ФИО'
arrFields['proff']='Должность'

arrFields['org']='Название организации'
arrFields['otdel']='Отдел'

arrFields['index']='Индекс'
arrFields['adres']='Адрес организации'

var arrOrFields = new Array(2)
arrOrFields['kodp']='Код телефона'
arrOrFields['phone']='Контактный телефон '
arrOrFields['email']='E-mail'


function doCheckForm (aForm) {
	checkResult = true;
	strError = 'Не заполнены поля: '
	sameValue = '-1'
	flagValue = true

	// проверяем обязательные непустые поля 
	for (fldName in arrFields) 
	{
		fldValue = aForm.elements[fldName].value 
		if (sameValue == '-1')
		{
			// первый проход (наверное)
			sameValue = fldValue
		} 
		else 
		{
			// не первый - смотрим на повторы 
			if (sameValue != fldValue)
			{
				flagValue = false
			}
		}
		
		if (fldValue == '')
		{
			strError = strError + arrFields[fldName]+' '
			checkResult = false
		}

	}

	if (flagValue)
	{
		alert('Извините но вы ввели повторяющиеся данные Поправьте их пожалуйста')
		return false
	}

	if (!checkResult)
	{
		alert(strError)
		return false
	}

	// должны быть указаны либо корректная почта либо код и телефон
	fldMail = aForm.elements['email'].value
	fldPhone = aForm.elements['phone'].value
	fldCode = aForm.elements['kodp'].value
	if ((fldMail == '') && ((fldPhone == '') || (fldCode == '')))
	{
			alert('Пожалуйста укажите телефон или email')
			return false
	}
			
	if (fldMail != '')
	{
		if (checkEmail(fldMail)==false)
		{
			alert('Указан неверный email')
			return false
		}
	}

	
	if ((fldPhone == "") || (fldCode == ""))
	{
		alert('Телефон задан не полностью')
		return false
	}
	

	return true

}

function checkEmail(email){
	var dotStatus = false;
	if (email.length !== 0) {
		for (i=0; i<=email.length; i++) {
			if (email.substr(i,1) == '@' && i !== 0 && i !== email.length && email.substr(0,1) !== ' ' && email.substr(i+1,1) !== ' ' && email.substr(i+1,1) !== '.') {
				for (y=i; y<=email.length; y++) {
					if (email.substr(y,1) == '.' && email.substr(y+1,1) !== ' ' && email.length !== y+1) dotStatus = true;
				}
			if (dotStatus == true) return true;
			}
		}	
	}
	return false;
}


http://connect.dev.race.ru/static.asp?id=232