// JavaScript Document

var form_name = "mainForm";

function contactSubmit(){
	var name = document.getElementById("name").value;
	var email = document.getElementById("email").value;
	
	if(name=="")
	{
		alert('Please Enter your Name');
		return;
	}
	
	if(email=="")
	{
		alert('Please Enter an Email Address');
		return;
	}
		
	xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null){
	  alert ("Your browser does not support AJAX!");
	  return;
	} 
	
	var url="contactFormHandler.php";
	var params = getFormValues(form_name);
	
	params=params+"&sid="+Math.random(); //used to force no cache of URL
	
	url = url + "?" + params;

	xmlHttp.onreadystatechange=onContactSubmit;
	xmlHttp.open("GET",url,true);
	xmlHttp.send(params);

}

function onContactSubmit(){
	if (xmlHttp.readyState==4){ 
		var elem = document.getElementById(form_name);
		if(elem!=null){
			var message = ( xmlHttp.responseText == "success=true" ) ? "<div id='thanksMsg'>Thank you! We have received your message.</div>" : "<div id='thanksMsg'>Error. Please Try Later.</div>";
			elem.innerHTML = message;
			//elem.disabled = true;
		}
	}
}

function getFormValues(form_name) 
{ 
	var str = ''; 
	var elem = document.getElementById(form_name).elements; 
	
	   var params;
	   var field;
	   var index;
	for(var i = 0; i < elem.length; i++) 
	{ 
		field = elem[i];
		
		switch ( field.type )
		{
		   case 'checkbox':
			if (field.checked){
				value = "true";
			}
		   break;
		   case 'radio':
			for(var i = 0; i < field.length; i++) { 
			
				if(field[i].checked) 
				{
					value = field[i].value;
				}
			}
		   break;
		   case 'select':
			index = field.selectedIndex;

			if(index > 0) 
			{ 
				value = field.options[selected_index].value;
			}
		   break;
		   default:
		   	   value = field.value;
		   break;
		}
		  params = params + "&"+elem[i].name+"=" + value;
	} 
	return params;
} 

function validateForm(form_id)
{
	validEmail = validateEmail(form_id,'email');
	validName =  validate(form_id,'name');
	if ( validEmail && validName )
	{
		//document.forms[form_id].submit();
		contactSubmit();
	}
}

function validateEmail(form_id,email) {
   var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
   var address = document.forms[form_id].elements[email].value;
   if(reg.test(address) == false) {
      emailIsValid(false);
      return false;
   } else {
   	emailIsValid(true);
		return true;
   }
}
 
function validate(form_id,name) {
   var field = document.forms[form_id].elements[name].value;
   if(field.length < 2) {
   	nameIsValid(false);
      return false;
   } else {
   	nameIsValid(true);
		return true;
   } 
}
 
function emailIsValid( valid )
{
	var elem = this.document.getElementById('emailErr');
	if ( elem )
	{
		var submit = this.document.getElementById('submit');
		elem.style.display = valid ? 'none' : 'block';
		elem.innerHTML = valid ? '' : 'Email address is invalid.';
		//submit.disabled = !valid;
	} else {
		alert("Email address is invalid");	
	}
}
function nameIsValid( valid )
{
	var elem = this.document.getElementById('nameErr');
	if ( elem )
	{
		var submit = this.document.getElementById('submit');
		elem.style.display = valid ? 'none' : 'block';
		elem.innerHTML = valid ? '' : 'Please enter a valid name.';
		//submit.disabled = !valid;
	} else {
		alert("Please enter a valid name");	
	}
}
