// JavaScript Document

// This function does form validation on the catalog request form, before posting to the form processor 
//"~/FormProcessors/CatalogRequest.php"
// required fields is just a comman delimited string that containst the id of each item that's required.
function checkForm(theForm, RequiredFields)
{
	//alert(RequiredFields);
	// first check Length
	//alert("Number of Form Elements: " + theForm.length);
	var formElements  = new Array(theForm.length);
	var RVIndex = theForm.length-2;
	formElements = theForm.elements;
	var ErrorMessage = "";
	var i;
	for(i=0; i<theForm.length -1; i++)
	{
		//alert("ElementType: " + formElements[i].type + "ID: " + formElements[i].id + "  " + RequiredFields.indexOf(formElements[i].id));
		
		if(formElements[i].type == "text" && RequiredFields.indexOf(formElements[i].id) != -1)
		{
			// make sure the there's something in it.
			if(formElements[i].value.length <2)
			{
				ErrorMessage += "<b>Text length Error:</b> please make sure to fill out the text box. Text Box: "+ formElements[i].id +"<br />\n";
			}
			else if(formElements[i].id.indexOf("email") != -1)
			{
				if(formElements[i].value.match(/^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/))
				{
					// it's a valid email address
					//alert("Valid Email address ");
				}
				else
				{
					// invalid email address
					//alert("Invalid Email Address ");
					ErrorMessage +="<b>Email Validation Error:</b> you have entered an invalid email address, please enter it again<br />\n";
					
				}
			}
			//else if(formElements[i].id.indexOf("zip") != -1 && (!formElements[i].value.match(/^[0-9._%+-]$/) || !formElements[i].value.match(/^[0-9._%+-]+\-[0-9._%+-]$/)))
			//{
				// maybe put in some other stuff later, right now it's just not worth the time
				//alert("Invalid Zip");
			//	ErrorMessage +="<b>Invalid Zip Code:</b> ";
			//}
			else if(formElements[i].id.indexOf("phone") != -1 || formElements[i].id.indexOf("fax") != -1)
			{
				// match on telephone
				// only problem is for when he gets to an international level
			}
				
			
		}
		else if(formElements[i].id == "ddl_state" && RequiredFields.indexOf(formElements[i].id) != -1)
		{
			if(formElements[i].value == "")
			{
				ErrorMessage += "<b>Empty Value Error:</b> please make sure to select a state<br />\n";
			}
			
		}
		else{}
		
		if(formElements[i].value.indexOf(";") != -1)
		{
			ErrorMessage += "<b>SQL Insertion Error:</b> please remove semi-colons. Text Box: "+ formElements[i].id +"<br />\n";
		}
	}
	
	if(ErrorMessage != "")
	{
		errorWindow = window.open('','','width=350,height=250,scrollbars=yes');
		// = "url(Images/global/privacyBG_tile.jpg)";
		errorWindow.document.write(ErrorMessage + "<div style=\"padding-top:20px;background-image:url(Images/global/privacyBG_tile.jpg);\"><a href=\"javascript:this.close();\">Click Here To Close</a></div>");
		return false;
	}
		
	return true;
}
