// JavaScript Document

// This function does form validation on the signup form, before posting to the form processor 
//"~/VIA/Signup.php"  aka self
// required fields is just a comma delimited string that contains the id of each item that's required.
// plus the form object
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;
	//'username_tb,password_tb,confirmPassword_tb,email_tb,address1_tb,address2_tb,city_tb,ddl_state,province_tb,region_tb,zip_tb,ddl_country'
	for(i=0; i<theForm.length -1; i++)
	{
		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 && (formElements[i].id != "address2_tb" && formElements[i].id != "province_tb" && formElements[i].id != "region_tb"))
			{
				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("phone") != -1 )
			{
				// match on telephone
				// only problem is for when he gets to an international level
			}
		}
		else if(formElements[i].type == "password" && formElements[i+1].type == "password")
		{
			if(formElements[i].value != formElements[i+1].value)
			{
				ErrorMessage +="<b>Password Mistyped Error:</b> please make sure that you type your password twice (case sensitive)<br />\n";
			}
		}
		else if(formElements[i].id == "ddl_state" && RequiredFields.indexOf(formElements[i].id) != -1)
		{
			if(formElements[i].value == "" && formElements.ddl_country.value == "US")
			{
				ErrorMessage += "<b>Empty Value Error:</b> please make sure to select a state<br />\n";
			}
			
		}
		else if(formElements[i].id == "ddl_country" && RequiredFields.indexOf(formElements[i].id) != -1)
		{
			if(formElements[i].value == "")
			{
				ErrorMessage += "<b>Empty Value Error:</b> please make sure to select a country<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=400,height=200,scrollbars=yes');
		errorWindow.document.write(ErrorMessage + "<div style=\"padding-top:20px;\"><a href=\"javascript:this.close();\">Click Here To Close</a></div>");
		return false;
	}
		
	return true;
}