/*	Functions to handle case submittal form events */
// Function to validate form
function validate(){
	
	// Initialize pattern matching
	firstNamePattern				= /^[a-z\s\.]+$/i;
	lastNamePattern					= /^[a-z\s\-\'\.]+$/i;
	phonePattern					= /^(\(\d{3}\)|\d{3})[\s\-\.]?\d{3}[\s\-\.]?\d{4}$/i;
	emailPattern					= /^[a-z0-9\-\_]+(\.[a-z0-9\-\_]+)*\@[a-z0-9\-\_]+(\.[a-z0-9\-\_]+)+$/i;
	invalidPattern					= new Array();
	invalidPattern[0]				= /(\/\*|\*\/|\/\/|\<\!\-\-|\-\-\>)/gi;
	invalidPattern[1]				= /UPDATE.+SET.+\=.+|DELETE FROM.+|SELECT.+FROM.+|INSERT[\s\t\r]*INTO.+VALUES/gi;
	invalidPattern[2]				= /CDO\.Message|CreateObject|[a-z0-9]*\.(Send|From|To|Body|HTMLBody|CreateHTMLBody)/gi;
	invalidPattern[3]				= /(\<|\&lt\;)script|script(\>|\&gt\;)/gi;
	invalidPattern[4]				= /(\<|\&lt\;)([a-z0-9]+).+\2(\>|\&gt\;)/gi;
	invalidPattern[5]				= /\/\>|\<\/|\/\&gt\;|\&lt\;\//gi;
		
	// Get INPUT fields
	FirstName						= document.getElementById("FirstName");
	LastName						= document.getElementById("LastName");
	Phone							= document.getElementById("Phone");
	Email							= document.getElementById("Email");
	CaseDescription					= document.getElementById("CaseDescription");

	// Get All TEXT fields
	inputObj						= document.getElementsByTagName("input");
	
	// Loop Through TEXT Fields
	for (i in inputObj){
		
		// If Field Is A Text Field
		if (inputObj[i].className == "text"){
			
			// Invalidate Malicious Code
			for (e=0; e<invalidPattern.length; e++){
				
				if(invalidPattern[e].test(inputObj[i].value)){
					alert("Please do not include an computer programming or HTML formatting in your information.");
					inputObj[i].focus();
					return false;
				}
			}
		}
	}
	
	// Get All TEXTAREA Fields
	textareaObj						= document.getElementsByTagName("textarea");
	
	// Loop Through TEXTAREA Fields
	for (t in textareaObj){
		
		// Invalidate Malicious Code
		for (e=0; e<invalidPattern.length; e++){
			
			if(invalidPattern[e].test(textareaObj[t].value)){
				alert("Please do not include an computer programming or HTML formatting in your information.");
				textareaObj[t].focus();
				return false;
			}
		}
	}
	
	if (!firstNamePattern.test(FirstName.value)){
		alert("Please enter a valid first name.");
		FirstName.focus();
		return false;
	}
		
	if (!lastNamePattern.test(LastName.value)){
		alert("Please enter a valid last name.");
		LastName.focus();
		return false;
	}
		
	if (!phonePattern.test(Phone.value)){
		alert("Please enter a valid phone number formatted as (000)000-0000.");
		Phone.focus();
		return false;
	}
	
	if (!emailPattern.test(Email.value)){
		alert("Please enter a valid email address.");
		Email.focus();
		return false;
	}
	
	if (CaseDescription.value == CaseDescription.defaultValue || !CaseDescription.value.length>0){
		alert("Please enter a brief description of your case.");
		CaseDescription.focus();
		return false;
	}
	
	return true;
}