function checkFormAjax(form){

	var msg = "";
		
	try{
		
			if(form.realname.value=="") msg += "Name cannot be blank\n";
			if(form.email.value=="") msg += "Email cannot be blank\n";
			else if(!isValidEmail(form.email.value)) msg += "Email must be valid\n";
			if(form.phone.value=="") msg += "Phone cannot be blank\n";
			if(form.comments.value=="") msg += "Message cannot be blank\n";
			

	}catch(e){};
	
	if(msg!=""){
			
		alert("Please correct the following:\n\n" + msg);
		
	}
	else{

// show "formSending"
		var elm = getObject("formSending");
		if(elm) elm.style.display='block';
	

// submit form
		ajaxForm(form);
	}

// always return false;
	return false;
}

function checkForm(form){

	var msg = "";
		
	try{
		
			if(form.realname.value=="") msg += "Name cannot be blank\n";
			if(form.email.value=="") msg += "Email cannot be blank\n";
			else if(!isValidEmail(form.email.value)) msg += "Email must be valid\n";
			if(form.phone.value=="") msg += "Phone cannot be blank\n";
			if(form.comments.value=="") msg += "Message cannot be blank\n";
			

	}catch(e){};
	
	if(msg!=""){
		alert("Please correct the following:\n\n" + msg);
		return false;
		
	}
	else{
			return true;
	}

}

function ajaxForm(form){
	
	var request = getXmlHttpRequestObject();
	
	if (request.readyState == 4 || request.readyState == 0) {
		
		var contentType = "application/x-www-form-urlencoded; charset=UTF-8";
		
		// convert all form fields to a string
		var fields = "";		
		var elements =  form.elements;
		for(var i=0; i<elements.length; i++){
			if(((elements[i].type=='radio' || elements[i].type=='checkbox') && elements[i].checked) || (elements[i].type!='radio' && elements[i].type!='checkbox'))
				fields += elements[i].name + "=" + escape(elements[i].value) + "&";
		}
					
		// send form			
		request.open("POST", '/emailform.php', true);
		request.onreadystatechange = function() {
			getAjaxRequest(request);
		};
		
		request.setRequestHeader("Content-Type", contentType);		
		request.send(fields);
	}
}

function getAjaxRequest(request){
	
	if (request.readyState == 4) {

			var response = request.responseText;
			
			// redirect to a different page?
			if(response.indexOf("redirect=")==0){
				document.location = response.substr(9);
			}
			
			// show error message?
			else if(response.indexOf("error=")==0){
			
			// message
				var error = response.substr(6);
				
				// hide "formSending"
				var elm = getObject("formSending");
				if(elm) elm.style.display='none';	
				
				// show "formSent"
				elm = getObject("formSent");
				if(elm) elm.style.display='block';	
				
				// show message
				elm = getObject("formSentMsg");
				if(elm) elm.innerHTML = error;	
			}

	}
}

function hide(id){

	var elm=getObject(id);
	if(elm) elm.style.display='none';
	
	return false;
}

//Gets the browser specific XmlHttpRequest Object
function getXmlHttpRequestObject() {
	if (window.XMLHttpRequest) {
		return new XMLHttpRequest();
	} else if(window.ActiveXObject) {
		try { return new ActiveXObject("Microsoft.XMLHTTP") }  catch(e) {}
		try { return new ActiveXObject("Msxml2.XMLHTTP.6.0") } catch(e) {}
		try { return new ActiveXObject("Msxml2.XMLHTTP.3.0") } catch(e) {}
		try { return new ActiveXObject("Msxml2.XMLHTTP") }     catch(e) {}
		return false;
	} else {
		return false;
	}
}



function isValidEmail(email){
  	validRegExp = /^[^@]+@[^@]+.[a-z]{2,}$/i;

    if (email.search(validRegExp) == -1) return false;
    else return true; 
}

function getObject(name) { 
   var ns4 = (document.layers) ? true : false; 
   var w3c = (document.getElementById) ? true : false; 
   var ie4 = (document.all) ? true : false; 

   if (ns4) return eval('document.' + name); 
   if (w3c) return document.getElementById(name); 
   if (ie4) return eval('document.all.' + name); 
   return false; 
}
