function isValidEmail(str)
{
  // trim starting / ending whitespace
  str = str.replace(/^\s*/, "");
  str = str.replace(/\s*$/, "");

  var at="@"
  var dot="."
  var lat=str.indexOf(at)
  var lstr=str.length
  var ldot=str.indexOf(dot)

  if (str.indexOf(at)==-1)
    return false
  
  if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr)
    return false
  
  if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr)
    return false

  if (str.indexOf(at,(lat+1))!=-1)
    return false

  if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot)
    return false

  if (str.indexOf(dot,(lat+2))==-1)
    return false

  if (str.indexOf(" ")!=-1)
    return false

  return true;
}



var xmlHttp

function sendEmail()
{ 
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
 {
 alert ("Browser does not support HTTP Request")
 return
 }
 
if (document.contact.fname.value == '') {
alert ("Please enter your first name.")
document.contact.fname.focus()
return
} else {
var fname = document.contact.fname.value
}

if (document.contact.lname.value == '') {
alert ("Please enter your last name.")
document.contact.lname.focus()
return
} else {
var lname = document.contact.lname.value
}

if (document.contact.useremail.value == '') {
alert ("Please enter your email address.")
document.contact.useremail.focus()
return
} else {
 var testemail = document.contact.useremail.value
 if (isValidEmail(testemail) == false) 
 {
 alert ("The email address you have entered is invalid. Please use the 'user@domain.com' format.")
 return
 }  else {
 var useremail = document.contact.useremail.value
 }

}

if (document.contact.message.value == '') {
alert ("Please enter your message.")
document.contact.message.focus()
return
} else {
var message = document.contact.message.value
}


var recipient = document.contact.recipient.value

document.getElementById('infoarea').innerHTML = '<img src="images/loading.gif">';
document.getElementById('btndiv').innerHTML = '<input name="Button" type="button" value="Sending..."  disabled="disabled" />';
 
var url="ajax/mailhandler.php"
url=url+"?fname="+fname
url=url+"&lname="+lname
url=url+"&useremail="+useremail
url=url+"&message="+message
url=url+"&recipient="+recipient
url=url+"&sid="+Math.random()
xmlHttp.onreadystatechange=stateChanged 
xmlHttp.open("GET",url,true)
xmlHttp.send(null)
}

function stateChanged() 
{ 


if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
 { 
 
 var userwarning = xmlHttp.responseText
 if (userwarning == "ok") 
 	{ 
	document.getElementById('fname').value = '';
	document.getElementById('lname').value = '';
	document.getElementById('useremail').value = '';
	document.getElementById('message').value = '';
	document.getElementById('btndiv').innerHTML = '<input name="Button" type="button" value="Send Email" onclick="sendEmail()" />';
	document.getElementById('infoarea').innerHTML = 'Thank you! Your message has been sent.';
	} 
	
 if (userwarning == "fail") 
    {		
	alert("Your email has not been sent. Please try again.");
	}
 
 } 
}function GetXmlHttpObject()
{
var xmlHttp=null;
try
 {
 // Firefox, Opera 8.0+, Safari
 xmlHttp=new XMLHttpRequest();
 }
catch (e)
 {
 //Internet Explorer
 try
  {
  xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
  }
 catch (e)
  {
  xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
 }
return xmlHttp;
}