/**
 * ValidateUtils.js
 * Utility scripts for SBS
 */
var siteRoot = "";
//siteRoot = "file:///c:/stuff/baron/phase1";
//siteRoot = "/dev";

var validEmailPattern  = /([a-zA-Z0-9_\-])([a-zA-Z0-9_\-\.]*)@(\[((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}|((([a-zA-Z0-9\-]+)\.)+))([a-zA-Z]{2,}|(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\])/;
var disallowedPattern = /\</g;

function validateContactUs()
{
	var errstring = "";
	
	if ( form.contact.value == "" )
		errstring += "Please enter your name.\n";

	if ( form.comments.value == "" )
		errstring += "Please enter your comments.\n";

	if ( validEmailPattern.test( form.email.value ) != true && form.email.value != "" )
	{
		errstring += "Please enter a valid e-mail address.\n";
	}

	if ( form.email.value == "" && form.phone.value == "" )
		errstring += "Please enter either an e-mail address or phone number.\n";

	if ( disallowedPattern.test ( form.contact.value ) ) 
		errstring += "Name contains invalid characters.\n";
	if ( disallowedPattern.test ( form.company.value ) ) 
		errstring += "Company contains invalid characters.\n";
	if ( disallowedPattern.test ( form.phone.value ) ) 
		errstring += "Phone contains invalid characters.\n";
	if ( disallowedPattern.test ( form.address1.value ) ) 
		errstring += "Address (Line 1) contains invalid characters.\n";
	if ( disallowedPattern.test ( form.address2.value ) ) 
		errstring += "Address (Line 2) contains invalid characters.\n";
	if ( disallowedPattern.test ( form.city.value ) ) 
		errstring += "City contains invalid characters.\n";
	if ( disallowedPattern.test ( form.zip.value ) ) 
		errstring += "Zip contains invalid characters.\n";
	if ( disallowedPattern.test ( form.comments.value ) ) 
		errstring += "Comments contains invalid characters.\n";

	if ( errstring != "" )
	{
		alert( errstring );
		return false;
	}
	
	return true;
}

function validateBidRequest()
{
	var errstring = "";

	if ( disallowedPattern.test ( form.CompanyName.value ) ) 
		errstring += "Company Name contains invalid characters.\n";

	if ( form.ContactName.value == "" )
		errstring += "Please specify a contact name.\n";
	else if ( disallowedPattern.test ( form.ContactName.value ) ) 
		errstring += "Contact Name contains invalid characters.\n";

	if ( form.PhoneNumber.Value == "" )
		errstring += "Please specify your phone number.\n";
	else if ( disallowedPattern.test ( form.PhoneNumber.value ) ) 
		errstring += "Phone Number contains invalid characters.\n";
		
	if ( form.FaxNumber.value == "" )
		if ( form.ResponseType[2].checked )
			errstring += "Please specify your fax number.\n";
	else	
		if ( disallowedPattern.test ( form.FaxNumber.value ) ) 
			errstring += "Fax Nunber contains invalid characters.\n";

	if ( form.EmailAddr.Value == "" )
		errstring += "Please specify your e-mail address.\n";
	else if ( validEmailPattern.test( form.EmailAddr.value ) != true && form.EmailAddr.value != "" )
		errstring += "Please enter a valid e-mail address.\n";
	
	if ( form.EmailAddr.value == "" && form.PhoneNumber.value == "" )
		errstring += "Please enter either an e-mail address or phone number.\n";

	if ( disallowedPattern.test ( form.ProjectName.value ) ) 
		errstring += "Project Name contains invalid characters.\n";

	if ( form.ProjectCity.value == "" )
		errstring += "City is required.\n";
	else if ( disallowedPattern.test ( form.ProjectCity.value ) )
		errstring += "City contains invalid characters.\n";
		
	if ( disallowedPattern.test ( form.ProjectInstallDate.value ) ) 
		errstring += "Project Installation Date contains invalid characters.\n";
	if ( disallowedPattern.test ( form.LandscapeArchitect.value ) ) 
		errstring += "Landscape Architect contains invalid characters.\n";
	
	var numberOfItemsUsed = 0;
	for ( var i = 1; i<=5; i++ )
	{
		var line = "Line" + i;
		var cy = document.getElementById(line + "CY");
		var product = document.getElementById(line + "Product");
		var size = document.getElementById(line + "Size");
		var category = document.getElementById(line + "Category");
		if ( !isEmpty( cy, product, category ) )
		{

			numberOfItemsUsed++;
			if ( cy.value == "" )
				errstring += "Please specify CY quanity for Item " + i + ".\n";
			else if ( isNaN( cy.value ) ) 	
				errstring += "CY Quantity (Item " + i + ") must be a number.\n";

			if ( category.selectedIndex == 0 )
				errstring += "Please select a category for Item " + i + ".\n";
			if ( product.selectedIndex == 0 )
				errstring += "Please select a product for Item " + i + ".\n";
			if ( size.value == "Select a Size" )
				errstring += "Please select a size for Item " + i + ".\n";
		}
	}

	if ( numberOfItemsUsed == 0 )
		errstring += "Please specify at least one item.\n";
	if ( disallowedPattern.test ( form.SubstitutionDetails.value ) ) 
		errstring += "Substitution Details contains invalid characters.\n";

	if ( errstring != "" )
	{
		alert( errstring );
		return false;
	}
	
	return true;
}

function isEmpty( cy, product, category )
{
	if ( cy.value == "" && product.selectedIndex == 0 && category.selectedIndex == 0 )
		return true;
	else
		return false;
}

