
function sendPosEmail () {
	var success = document.getElementById('emailSuccess');
	var thisform = document.getElementById('frmContactUs');
	with(thisform)
	{
		var firstName = replaceStrChokes(txtFirstName.value);
		var lastName = replaceStrChokes(txtLastName.value);
		var email = replaceStrChokes(txtEmail.value);
		var phone = replaceStrChokes(txtPhone.value);
		var address = replaceStrChokes(txtAddress.value);
		var city = replaceStrChokes(txtCity.value);
		var state = replaceStrChokes(txtState.value);
		var postalCode = replaceStrChokes(txtPostalCode.value);
		var country = replaceStrChokes(txtCountry.value);
		var howHear = replaceStrChokes(txtHowHear.value);
		var comments = replaceStrChokes(txtComments.value);
		var lhost = replaceStrChokes(livehost.value);
	}
	
	var page = "scripts/xmlHttpRequest.php?contact=true&xml=true";
	showContactTimer(); // quickly begin the load bar
	success.style.display = 'none'; // hide the success bar (incase this is a multi-email
	
	var stuff = "firstName="+firstName+"&lastName="+lastName+"&email="+email+"&phone="+phone+"&address="+address+"&city="+city;
	stuff = stuff +"&state="+state+"&postalCode="+postalCode+"&country="+country+"&howHear="+howHear+"&comments="+comments+"&livehost="+lhost;
	loadXMLPosDoc(page,stuff);
}

function replaceStrChokes(str) { 
	var tmpStr = str;
	tmpStr = tmpStr.replace(/&/g,"**am**");
	tmpStr = tmpStr.replace(/=/g,"**eq**");
	tmpStr = tmpStr.replace(/\+/g,"**pl**");
	return tmpStr;
}

function showContactTimer () {
	var loader = document.getElementById('loadBar');
	loader.style.display = 'block';
	sentTimer = setTimeout("hideContactTimer()",6000);
}

function hideContactTimer () {
	var loader = document.getElementById('loadBar');
	var success = document.getElementById('emailSuccess');
	var fieldArea = document.getElementById('contactFormArea');
	var inputs = fieldArea.getElementsByTagName('input');
	var inputsLen = inputs.length;
	var tAreas = fieldArea.getElementsByTagName('textarea');
	var tAreasLen = tAreas.length;
	// Hide the load bar alas! Done Loading
	loader.style.display = "none";
	success.style.display = "block";
	if (grabPosXML("status")=='OK')
	{
		success.innerHTML = '<p><strong style="color:green;">'+grabPosXML("confirmation")+'</strong></p>';
	}
	else
	{
		success.innerHTML = '<p><strong style="color:red;">'+grabPosXML("confirmation")+'</strong></p>';
	}
	
	// Now Hijack the form elements
	for ( i=0;i<inputsLen;i++ ) {
		if ( inputs[i].getAttribute('type') == 'text' ) {
			inputs[i].value = '';
		}
	}
	for ( j=0;j<tAreasLen;j++ ) {
		tAreas[j].value = '';
	}
	
	var frmEl = document.getElementById('frmContactUs');
	frmEl.reset();
}

function ajaxContact() {
var frmEl = document.getElementById('frmContactUs');
addEvent(frmEl, 'submit', validate_form, false);
frmEl.onsubmit = function() { return false; }
}

addEvent(window,'load',ajaxContact,false);

function validate_form()
{
	var frmEl = document.getElementById('frmContactUs');
	with (frmEl)
	{
		if (validate_required(txtFirstName,"Please enter your first name.")==false){
			return false;
		}
		else if (validate_required(txtLastName,"Please enter your last name.")==false){
			return false;
		}
		else if (validate_required(txtEmail,"Please enter your email address.")==false){
			return false;
		}
		else if (validate_email(txtEmail,"Please enter a valid e-mail address!")==false){
			return false;
		}
		else if (validate_required(txtPhone,"Please enter your phone number.")==false){
			return false;
		}			
		else if (validate_required(txtComments,"Please enter your comments.")==false){
			return false;
		}	
		else { sendPosEmail(); }
	}
}

function validate_required(field,alerttxt)
{
	with (field)
	{
		if (value==null||value==""){
			alert(alerttxt);
			field.focus();
			return false;
		}
		else {
			return true
		}
	}
}

function validate_email(field,alerttxt)
{
	with (field)
	{
		apos=value.indexOf("@");
		dotpos=value.lastIndexOf(".");
		if (apos<1||dotpos-apos<2) {
			alert(alerttxt);
			field.focus();
			return false;
		}
		else {
			return true;
		}
	}
}

function validate_number(field,alerttxt)
{
	with (field)
	{
		var stripped = field.value.replace(/[\(\)\.\-\ ]/g, '');    
		if (isNaN(parseInt(stripped))) {
			alert(alerttxt);
			field.focus();
			field.select();
			return false;
		}
		else{
			return true;
		}
	}
}

