window.onload = function(){
	try{
		//get the form element
		var contact_form = document.getElementById("contact_form");

		//set the name field vars
		var full_name = null;
		var name_field = document.getElementById("name-field");
		
		//set the email address vars
		var email_address = null;
		var email_field = document.getElementById("email-field");
		
		//set the message topic vars
		var email_topic = null;
		var topic_field = document.getElementById("topic-field");

		//set the email message vars
		var email_message = null;
		var message_field = document.getElementById("message-field");
		
		//define the validation vars
		var email_validates = false;
		var validate = false;
		
		//define the message var
		var message = "";
		
		//set the onsubmit event handler to the form
		contact_form.onsubmit = function(){

			try{
				//capture all of the form fields
				full_name = contact_form.name.value;
				email_address = contact_form.from.value;
				email_topic = contact_form.to;
				email_message = contact_form.message.value;
				
				//reset the message var
				message = "";
				
				//reset validate var to true
				validate = true;
				
				//validate name field
				if(full_name === ""){
					name_field.innerHTML = "You did not include your name";
					name_field.className = "tiny redText";
					validate = false;
				}
				else{
					name_field.innerHTML = "";
					name_field.className = "hidden";
				}
				
				//validate the email address
				email_validates = email_address.length > 0 ? /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/.test(email_address) : true;
				
				//check email validation results
				if(email_address === ""){
					email_field.innerHTML = "You did not include a valid email address";
					email_field.className = "tiny redText";
					validate = false;
				}
				else{
					if(email_validates !== true){
						email_field.innerHTML = "Your email address did not validate";
						email_field.className = "tiny redText";
						validate = false;
					}
					else{
						email_field.innerHTML = "";
						email_field.className = "hidden";
					}
				}
				
				//check the topic results
				if(email_topic.options[email_topic.selectedIndex].value == ""){
					topic_field.innerHTML = "You did not choose a topic. If your message does not fit any of the available topics, you may choose \"Question & Feedback\"";
					topic_field.className = "tiny redText topic-span";
					validate = false;
				}
				else{
					topic_field.innerHTML = "";
					topic_field.className = "hidden";
				}

				//check email validation results
				if(email_message === ""){
					message_field.innerHTML = "Your email message is empty";
					message_field.className = "tiny redText";
					validate = false;
				}
				else if(email_message.length < 10){
					message_field.innerHTML = "Your email message did not validate";
					message_field.className = "tiny redText";
					validate = false;
				}
				else{
					message_field.innerHTML = "";
					message_field.className = "hidden";
				}
				
				if(validate === false){
					return false;
				}
			}
			catch(e){
				alert(e);
			}
		};
	}
	catch(e){
		alert(e);
	}
};

