// Общие утилиты
//
// (c) Copyright pcms.ru. 2007.
//

// Заполнено ли обязательное поле, проверка проходит, если длина больше указанной
function validateRequiredField(str, len)
{
	if(str.length > len)
	  return true;
	else
		return false;
}

// проверка ввода правильного адреса email
function validateEmail(str)
{
	if(str.indexOf("@") == -1 || str.indexOf(".") == -1 || str.length < 6)
	  return false;
	else
		return true;
}
			
// проверка полей при отправке в форме регистрации
function checkFormValsFAQ(form)
{
	if ( !validateRequiredField(form.question.value, 10))
	{
		alert( "Пожалуйста, введите Ваш вопрос." );
		form.question.focus();
	}
	else if ( !validateEmail(form.email.value) && form.email.value.length>0)
	{
		alert( "Пожалуйста, введите Ваш EMail правильно." );
		form.email.focus();
	}
	else
	{
		form.submit();
	}
}

function checkFormValsContacts(form)
{
	if ( !validateRequiredField(form.name.value, 2))
	{
		alert( "Пожалуйста, введите Ваше имя." );
		form.name.focus();
	}
	else if ( !validateEmail(form.email.value) && form.email.value.length>0)
	{
		alert( "Пожалуйста, введите Ваш E-mail правильно." );
		form.email.focus();
	}
	else if ( !validateRequiredField(form.phone.value, 6) && form.phone.value.length>0)
	{
		alert( "Пожалуйста, введите Ваш номер телефона правильно. Не забудьте указать код города, если Вы указываете не прямой московский номер (495)" );
		form.phone.focus();
	}
	else if ( !validateRequiredField(form.email.value, 6) && !validateRequiredField(form.phone.value, 6))
	{
		alert( "Пожалуйста, укажите Ваш телефон или E-mail, чтобы мы могли связаться с Вами!" );
		form.email.focus();
	}
	else if ( !validateRequiredField(form.text.value, 10))
	{
		alert( "Пожалуйста, введите Ваше сообщение." );
		form.text.focus();
	}
	else
	{
		form.submit();
	}
}

function checkFormValsRegister(form)
{
	if ( !validateRequiredField(form.name.value, 2))
	{
		alert( "Пожалуйста, введите Ваше имя." );
		form.name.focus();
	}
	else if ( !validateEmail(form.email.value))
	{
		alert( "Пожалуйста, введите Ваш E-mail." );
		form.email.focus();
	}
	else if ( !validateRequiredField(form.phone.value, 6))
	{
		alert( "Пожалуйста, введите Ваш номер телефона правильно. Не забудьте указать код города, если Вы указываете не прямой московский номер (495)" );
		form.phone.focus();
	}
	else if ( !validatePassword(form.password1.value,form.password2.value))
	{
		alert( "Пожалуйста, правильно введите Ваш пароль и повторите ввод во второе поле пароля. Можно использовать только латинские буквы и цифры. Регистр имеет значение." );
		form.password1.focus();
	}
	else
	{
		form.submit();
	}
}

function checkFormValsCart(form)
{
	if ( !validateRequiredField(form.name.value, 2))
	{
		alert( "Пожалуйста, введите Ваше имя." );
		form.name.focus();
	}
	else if ( !validateEmail(form.email.value) && form.email.value.length>0)
	{
		alert( "Пожалуйста, введите Ваш E-mail правильно." );
		form.email.focus();
	}
	else if ( !validateRequiredField(form.phone.value, 6) && form.phone.value.length>0)
	{
		alert( "Пожалуйста, введите Ваш номер телефона правильно. Не забудьте указать код города, если Вы указываете не прямой московский номер (495)" );
		form.phone.focus();
	}
	else if ( !validateRequiredField(form.email.value, 6) && !validateRequiredField(form.phone.value, 6))
	{
		alert( "Пожалуйста, укажите Ваш телефон или E-mail, чтобы мы могли связаться с Вами!" );
		form.email.focus();
	}
	else
	{
		form.submit();
	}
}

function checkFormCheckOrder(form)
{
	if ( !validateRequiredField(form.orderno.value, 1))
	{
		alert( "Пожалуйста, введите номер Вашего заказа." );
		form.orderno.focus();
	}
	else if ( !validateRequiredField(form.ordercode.value, 14))
	{
		alert( "Пожалуйста, введите код подтверждения." );
		form.ordercode.focus();
	}
	else
	{
		form.submit();
	}
}

// два пароля должны быть правильно сформированы (по маске и длине) & совпадать друг с другом
function validatePassword(password1,password2)
{
	var validPassword = /[^(\040a-zA-Z0-9_\-\!\@\#\$\%\^\&\*\(\)\+\=\{\}\[\]\;\:\.\>\<\,\\\/\`\~\|)]/
	if(validPassword.exec(password1))
	  return false;
	if(password1.length < 5 || password1.length>20)
	  return false;
	if(password1 != password2)
	  return false;
	return true;
}

function ShowFlashMovie(url, width, height)
{
	document.write('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="'+width+'" height="'+height+'" align="left" >');
	document.write('<param name="movie" value="'+url+'"/>');
	document.write('<param name="quality" value="high" />');
	document.write('<param name="menu" value="false" />');
	document.write('<param name="allowScriptAccess" value="sameDomain" />');
	document.write('<embed src="'+url+'" quality="high" allowScriptAccess="sameDomain" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="'+width+'" height="'+height+'"></embed>');
	document.write('</object>');
}
