function getxmlhttp()
{
	// will store the reference to the XMLHttpRequest object
	var xmlHttp;
	// this should work for all browsers except IE6 and older
	try
	{
	// try to create XMLHttpRequest object
	xmlHttp = new XMLHttpRequest();
	}
	catch(e)
	{
		// assume IE6 or older
		var XmlHttpVersions = new Array('MSXML2.XMLHTTP.6.0',
										'MSXML2.XMLHTTP.5.0',
										'MSXML2.XMLHTTP.4.0',
										'MSXML2.XMLHTTP.3.0',
										'MSXML2.XMLHTTP',
										'Microsoft.XMLHTTP');
		// try every prog id until one works
		for (var i=0; i<XmlHttpVersions.length && !xmlHttp; i++)
		{
			try

			{
				// try to create XMLHttpRequest object
				xmlHttp = new ActiveXObject(XmlHttpVersions[i]);
			}
			catch (e) {}
		}
	}
	// return the created object or display an error message
	if (!xmlHttp)
	{
		alert("Error creating the XMLHttpRequest object.");
	}
	else
	{
		return xmlHttp;
	}
}

xmlhttp = getxmlhttp();

function handleResponse() 
{ 
   if(xmlhttp.readyState == 4 && xmlhttp.status == 200)
   {
   		//alert("Message successfully submitted.\nWe will be in contact with you shortly.");
		
		//document.getElementById('txName').value = "";
		//document.getElementById('txMail').value = "";
		//document.getElementById('txSubj').value = "";
		//document.getElementById('txaMsg').value = "";
		
		var response = xmlhttp.responseText;
		
		if(response == "1")
		{
			document.getElementById("avail").innerHTML = "Available"; 
			xmlhttp.abort();
		}
		else if(response == "2")
		{
			document.getElementById("avail").innerHTML = "Unavailable"; 
			xmlhttp.abort();
		}
		else if(response == "3")
		{
			document.getElementById("res").innerHTML = "Message sucessfully delivered";
			document.getElementById("txName").value = "";
			document.getElementById("txMail").value = "";
			document.getElementById("txSubj").value = "";
			document.getElementById("txaMsg").value = "";
			document.getElementById("txCaptcha").value = "";
			xmlhttp.abort();
		}
		
   }

}

function processajax(serverPage, str)
{
	//get an xmlhttprequest object for use
	


		xmlhttp.open("POST", serverPage, true);
		xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");

		xmlhttp.onreadystatechange = handleResponse;

		xmlhttp.send(str);

}

function msg()
{
	var name = document.getElementById('txName').value;
	var email = document.getElementById('txMail').value;
	var subj = document.getElementById('txSubj').value;
	var message = document.getElementById('txaMsg').value;
	var captcha = document.getElementById('txCaptcha').value;
	
	var errcount = 0;
	
	var dlg = "";
	
	if(name == "")
	{
		dlg += "Please enter your name.\n";
		errcount++;
	}
	if(email == "")
	{
		dlg += "Please enter your email address.\n";
		errcount++;
	}
	else
	{
		if(!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(email)))
		{
			dlg += "Please enter a valid email address.\n";
			errcount++;
		}
	}
	
	if(subj == "")
	{
		dlg += "Please enter a subject.\n";
		errcount++;
	}
	if(message == "")
	{
		dlg += "Please enter your message.\n";
		errcount++;
	}
	if(captcha == "" || captcha.length < 6 || captcha.length > 6)
	{
		dlg += "Please enter a valid code.\n";
		errcount++;
	}
	
	
	if(errcount > 0)
	{
		alert(dlg);
	}
	else
	{
		var str = "";
		
		str += "txName=" + escape(name) + "&";
		str += "txMail=" + escape(email) + "&";
		str += "txSubj=" + escape(subj) + "&";
		str += "txaMsg=" + escape(message);
		
		var serv = "process.php";
		
		processajax(serv, str);
	}
}

function sendMessage(c)
{
	var name = c.txName.value;
	var email = c.txMail.value;
	var subj = c.txSubj.value;
	var msg = c.txaMsg.value;
	var captcha = c.txCaptcha.value;
	
	var str = "";
	var err = 0;
	
	if(name.length == 0)
	{
		str += "Please enter your name.\n";
		err++;
		
	}
	if(name.length > 200)
	{
		str += "Name cannot be longer than 200 characters.\n";
		err++;
	}	
	if(email.length == 0)
	{
		str += "Please enter your email address.\n";
		err++;
	}
	if(email.length > 100)
	{
		str += "Please enter a shorter email address.\n";
		err++;
	}
	if(!checkEmail(email) && email.length > 0)
	{
		str += "Your email address is invalid.\n";
		err++;
	}
	if(subj.length == 0)
	{
		str += "Please enter a subject.\n";
		err++;
		
	}
	if(subj.length > 100)
	{
		str += "Sunject cannot be longer than 100 characters.\n";
		err++;
	}	
	if(msg.length == 0)
	{
		str += "Please enter a message.\n";
		err++;
	}
	if(captcha.length == 0)
	{
		str += "Please enter the security code.\n";
		err++;
	}
	if(captcha.length > 0 && captcha.length > 6)
	{
		str += "Please enter the correct security code.\n";
		err++;
	}
	
	if(err == 0)
	{
		var dat = "";
		
		dat += "txName=" + escape(name) + "&";
		dat += "txMail=" + escape(email) + "&";
		dat += "txSubj=" + escape(subj) + "&";
		dat += "txaMsg=" + escape(msg);
		
		var page = "sendContact.php";
		
		processajax(page, dat);
	}
	else
	{
		
		alert(str);
	}
}
function checkEmail(val) 
{
	if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(val))
	{
		return true;
	}
	else
	{
		return false;
	}
}
