
function submitForm(serverScript, pgForm)
{
	var errMsgs		= new Array();
	var reqMsgSet	= false;
	formReq		= new xmlRequest();
	var formSubmit	= null;

	for(var i = 0; i < pgForm.elements.length; i++)
	{
		if(!formSubmit)
		{
			if(pgForm.elements[i].type != 'fieldset')
			{
				if((pgForm.elements[i].type == 'checkbox')||(pgForm.elements[i].type == 'radio'))
				{
					if(pgForm.elements[i].checked){formSubmit = pgForm.elements[i].name+'='+escape(pgForm.elements[i].value);}
				}else{
					var fieldData	= pgForm.elements[i].value.replace("&", "AMP");
					formSubmit		= pgForm.elements[i].name+'='+escape(fieldData);
				}
				if((pgForm.elements[i].value == '')&&(pgForm.elements[i].type != 'select-one'))
				{
					errMsgs.push(pgForm.elements[i].name);
				}
			}
		}else{
			if((pgForm.elements[i].type == 'checkbox')||(pgForm.elements[i].type == 'radio'))
			{
				if(pgForm.elements[i].checked){formSubmit += '&'+ pgForm.elements[i].name+'='+escape(pgForm.elements[i].value);}
				}else{
					var fieldData	= pgForm.elements[i].value.replace("&", "AMP");
					formSubmit		+= '&'+pgForm.elements[i].name+'='+escape(fieldData);
				}
			if((pgForm.elements[i].value == '')&&(pgForm.elements[i].type != 'select-one'))
			{
				errMsgs.push(pgForm.elements[i].name);
			}
		}
		if(pgForm.elements[i].name == 'email')
		{
			if(isValidEmail(pgForm.elements[i].value) == false)
			{
				errMsgs.push(pgForm.elements[i].name);
			}
		}
		if(pgForm.elements[i].getAttribute('required') == '1')
		{
			if(pgForm.elements[i].value == '')
			{
				errMsgs.push(pgForm.elements[i].name);
			}
		}
	}
	if(errMsgs.length > 0)
	{
		alert('ERROR: All fields are required');
		for(var i = 0; i < errMsgs.length; i++)
		{
			var fieldName	= errMsgs[i];
			pgForm.elements[fieldName].style.background = '#fff3c8';
		}
		return false;
	}
	
	formReq.open("POST", serverScript, true);
	formReq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	formReq.onreadystatechange = function()
	{
		if (formReq.readyState == 4 && formReq.status == 200)
		{
			if(formReq.responseText.substr(0, 6) == "ERROR:")
			{
				alert(formReq.responseText);
			}
			else if(formReq.responseText.substr(0,2) == "OK")
			{
				alert(formReq.responseText.substr(3));
				pgForm.reset();
			}
		}
	}
	formReq.send(formSubmit);
	return false;
}

function isValidEmail(email)
{
	
	if(email.search(/^[^@\s]+@([-a-z0-9]+\.)+[a-z]{2,}$/i) == -1)
	{
		return false;
	}else{
		return true;
	}
}

function xmlRequest()
{
	try
	{
		xmlHttp=new XMLHttpRequest();
	}catch(e){
		try
		{
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		}catch(e){
			try
			{
				xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
			}catch (e){
				alert("Your browser is quite out-dated and does not support AJAX!");
			}
		}
	}
	return xmlHttp;
}

/*
window.onload = function() {

	fadesize = new fx.FadeSize('top_shelf', {duration: 700});

}
*/