function setImage(node, type)
{
	var inodes = document.getElementsByName("i_" + node);	
	inodes[0].src = '/_img/' + type + '.gif';
}

function getComboBoxOption(node)
{
	var nodes = document.getElementsByName(node);
	if (nodes[0].selectedIndex >= 0)
		return nodes[0].options[nodes[0].selectedIndex].text;
	else 
		return '';
}

function checkComboBox(node)
{
	return getComboBoxOption(node) != '';
}

function getInputBoxValue(node)
{
	var nodes = document.getElementsByName(node);	
	return nodes[0].value;
}

function checkInputBox(node)
{
	return getInputBoxValue(node) != '';
}

function checkFirstName()
{
	var field = 'i';
	var result = checkInputBox(field);
	if (getComboBoxOption('dostavka') == 'Самовывоз со склада в Москве или С-Петербурге' &&
		getComboBoxOption('pay') == 'Другая система оплаты (по договоренности)'	|| 
		result)
		setImage(field, 'ok');
	else
		setImage(field, 'error');
	return result;
}

function checkLastName()
{
	var field = 'f';
	var result = checkInputBox(field);
	if (getComboBoxOption('dostavka') == 'Самовывоз со склада в Москве или С-Петербурге' &&
		getComboBoxOption('pay') == 'Другая система оплаты (по договоренности)'	|| 
		result)
		setImage(field, 'ok');
	else
		setImage(field, 'error');
	return result;
}

function checkPatronymicName()
{
	return true;
}

function checkEMailAndTelephone()
{
	var emailField = 'email';
	var telephoneField = 'telephone';
	
	var result = true;
	
	if (getComboBoxOption('dostavka') == 'Самовывоз со склада в Москве или С-Петербурге')
	{
		setImage(emailField, 'none');
		setImage(telephoneField, 'none');
	}
	else
	{
		var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
		var email 		= reg.test(getInputBoxValue(emailField));
		var telephone 	= checkInputBox(telephoneField);
		
		result = email || telephone;
		
		if (result == false)
		{
			setImage(emailField, 'error');
			setImage(telephoneField, 'error');
		}
		else
		{
			if (telephone == true)
				setImage(telephoneField, 'ok');
			else
				setImage(telephoneField, 'none');
			
			if (email == true)
				setImage(emailField, 'ok');
			else
				setImage(emailField, 'none');
		}
	}
	return result;
}

function checkDostavka()
{
	var field = 'dostavka';
	var result = checkComboBox(field);
	if (result == false)
		setImage(field, 'error');
	else
		setImage(field, 'ok');
	return result;
}

function checkPay()
{
	var field = 'pay';
	var result = checkComboBox(field);
	if (result == false)
		setImage(field, 'error');
	else
		setImage(field, 'ok');
	return result;
}

function checkComments()
{
	return true;
}

function checkAddress()
{
	var field 	= 'addres';
	var result 	= true;
	
	if (getComboBoxOption('dostavka') == 'Курьер по Москве и С-Петербургу' ||
		getComboBoxOption('dostavka') == 'Самовывоз со склада в Москве или С-Петербурге')
		setImage(field, 'none');
	else
	{
		result = checkInputBox(field);
		if (result == false)
			setImage(field, 'error');
		else
			setImage(field, 'ok');
	}
	
	return result;
}

function checkCompany()
{
	var field = 'company';
	var result = checkInputBox(field);
	
	if (result)
		setImage(field, 'ok');
	else
	{
		if (getComboBoxOption('pay') == 'Безналичный расчет для организаций' ||
			checkInputBox('firm_inn') || checkInputBox('firm_kpp') || checkInputBox('firm_address'))
			setImage(field, 'error');
		else
		{
			result = true;
			setImage(field, 'none');
		}
	}
	
	return result;
}

function checkInn()
{
	var field 	= 'firm_inn';
	var result 	= checkInputBox(field);
	
	if (result)
		setImage(field, 'ok');
	else
	{
		if (getComboBoxOption('pay') == 'Безналичный расчет для организаций' ||
			checkInputBox('company') || checkInputBox('firm_kpp') || checkInputBox('firm_address'))
			setImage(field, 'error');
		else
		{
			result = true;
			setImage(field, 'none');
		}
	}
	
	return result;
}

function checkKpp()
{
	var field 	= 'firm_kpp';
	var result 	= checkInputBox(field);
	
	if (result)
		setImage(field, 'ok');
	else
	{
		if (getComboBoxOption('pay') == 'Безналичный расчет для организаций' ||
			checkInputBox('company') || checkInputBox('firm_inn') || checkInputBox('firm_address'))
			setImage(field, 'error');
		else
		{
			result = true;
			setImage(field, 'none');
		}
	}
	
	return result;
}

function checkFirmAddress()
{
	var field 	= 'firm_address';
	var result 	= checkInputBox(field);
	
	if (result)
		setImage(field, 'ok');
	else
	{
		if (getComboBoxOption('pay') == 'Безналичный расчет для организаций' ||
			checkInputBox('company') || checkInputBox('firm_kpp') || checkInputBox('firm_inn'))
			setImage(field, 'error');
		else
		{
			result = true;
			setImage(field, 'none');
		}
	}
	
	return result;
}

function isFormError()
{
	checkFirstName();
	checkLastName();
	checkPatronymicName();
	checkEMailAndTelephone();
	checkDostavka();
	checkPay();
	checkComments();
	checkAddress();
	checkCompany();
	checkInn();
	checkKpp();
	checkFirmAddress();
}

function checkForm()
{ 
	var isOk	 = 	checkFirstName() && checkLastName() && checkPatronymicName() &&
					checkEMailAndTelephone() &&
					checkDostavka() && checkPay() &&
					checkComments() &&
					checkAddress() &&
					checkCompany() && checkInn() && checkKpp() && checkFirmAddress();
	
	if (isOk == false)
		window.alert('Введенны не все данные! Введите все поля помеченные красным крестиком');
		
	return isOk;
}
