// $Header: /HBI Websites/websites/www.hispanicbusiness.com/_client/js/redwire/validate_redwire_company_new.js 6     8/16/04 9:44a Matthew.van $

include("is_valid_date");
include("is_valid_email");
include("is_valid_phone");

function validate_redwire_company_new(form)
{	var aok = true;
	var alert_text = "Please fix the following:\n";
	var show_alert = true;

	if (!form.companyname.value)
	{	aok = false;
		alert_text += "Company Name\n";
		form.companyname.style.border = "3px solid red";
	}

	if (!form.tradename.value)
	{	aok = false;
		alert_text += "Trade Name\n";
		form.tradename.style.border = "3px solid red";
	}

	if (!form.address.value)
	{	aok = false;
		alert_text += "Address\n";
		form.address.style.border = "3px solid red";
	}

	if (!form.city.value)
	{	aok = false;
		alert_text += "City\n";
		form.city.style.border = "3px solid red";
	}

	if (!form.state.selectedIndex)
	{	aok = false;
		alert_text += "State\n";
		form.state.style.border = "3px solid red";
	}
	
	if (!form.country.value)
	{	aok = false;
		alert_text += "Country\n";
		form.country.style.border = "3px solid red";
	}

	if (!form.zip.value)
	{	aok = false;
		alert_text += "Zip\n";
		form.zip.style.border = "3px solid red";
	}

	// if the phone number doesn't look right...
	if (	!is_valid_phone(form.phone.value) &&
		(	// either it's blank -- which is bad
			!form.phone.value ||
			// or it's got something odd -- which may be ok - ask the user
			// for example, international phone numbers look odd
			!confirm(	"Phone number\n" +
					form.phone.value + "\n" +
					"appears invalid - use anyway?"
			)
		)
	)
	{	aok = false;
		alert_text += "Phone Number appears to be invalid\n";
		form.phone.style.border = "3px solid red";
	}

	if (	form.fax.value &&
		!is_valid_phone(form.fax.value) &&
		!confirm(	"Fax number\n" +
				form.fax.value + "\n" +
				"appears invalid - use anyway?"
		)
	)
	{	aok = false;
		alert_text += "Fax Number, though not required, appears to be invalid\n";
		form.fax.style.border = "3px solid red";
	}

	if (!is_valid_email(form.email.value))
	{	aok = false;
		alert_text += "Email appears to be invalid\n";
		form.email.style.border = "3px solid red";
	}

	if (form.email.value != form.confirmemail.value)
	{	aok = false;
		alert_text += "Email and Confirm Email do not match\n";
		form.email.style.border = "3px solid red";
		form.confirmemail.style.border = "3px solid red";
	}

	if (!form.password.value)
	{	aok = false;
		alert_text += "Password\n";
		form.password.style.border = "3px solid red";
	}

	if (form.password.value != form.confirmpassword.value)
	{	aok = false;
		alert_text += "Password and Confirm Password do not match\n";
		form.password.style.border = "3px solid red";
		form.confirmpassword.style.border = "3px solid red";
	}

	if (!form.contactname.value)
	{	aok = false;
		alert_text += "Primary Contact Name\n";
		form.contactname.style.border = "3px solid red";
	}

	if (!form.contacttitle.value)
	{	aok = false;
		alert_text += "Primary Contact Title\n";
		form.contacttitle.style.border = "3px solid red";
	}
	
	if (!form.legalstructurecode.value)
	{	aok = false;
		alert_text += "Legal Structure\n";
		form.legalstructurecode.style.border = "3px solid red";
	}

	if (!/^\d{4}$/.test(form.yearestablished.value))
	{	aok = false;
		alert_text += "Year Established (must be a four-digit year)\n";
		form.yearestablished.style.border = "3px solid red";		
	}

	if (!/^\d+$/.test(form.numberemployees.value))
	{	aok = false;
		alert_text += "Number of Employees (must be a number, digits only)\n";
		form.numberemployees.style.border = "3px solid red";		
	}

	if (	aok &&
		!confirm(
			"Your information looks OK.\n" +
			"Press OK to submit your company.\n" +
			"Press Cancel to retract your submission."
		)
	)
	{	aok = false;
		show_alert = false;;
	}

	if (!aok && show_alert)
	{	alert(alert_text);
	}

	return aok;
}
