function JSONSendReturn()
{	
	var form = document.forms['request'];
	//alert("Sending Request");
	new Request({
		url: 'http://' + DOMAIN + '/support/php/email/JSONSendReturn.php', 		
		method: 'post',
		data:{ 'Name':form.elements['Name'].value, 'Phone':form.elements['Phone'].value, 'Email':form.elements['Email'].value, 'Type':form.elements['Type'].value, 'Dimensions':form.elements['Dimensions'].value, 'Details':form.elements['Details'].value },
		onComplete: function (){
			emailReturn = JSON.decode(this.response.text);
			sent = unescape(emailReturn.sent);
			//alert("Sent: " + sent);
			if ( sent == 'true' )
			{
				messageText = "<h2>Thank You!</h2>Your request was sent. We will review the information and get back to you as soon as possible.<BR><BR>Thanks Again!<BR><BR><a href='javascript:closePanel()'>Close this panel</a>";
				$('emailmessage').set('html',messageText);
				$('emailform').fade('out');
			}
			else
			{
				messageText = "<h2 style='color: red;'>Error</h2>Something went wrong and your message could not be sent. Please try again later.<BR><BR>Thanks Again!";
				$('emailmessage').set('html',messageText);
				$('emailform').fade('out');
			}
		}
	}).send();
	
}


function VaSbasic(formName)
{
	missingFields = false;
	missingFieldNames = new Array();
	
	reqdFields = document.forms[formName].elements['required'].value;
	reqd = reqdFields.split(",");

	for ( ii = 0 ; ii < reqd.length ; ii++ )
	{
		fieldName = reqd[ii].replace(" ","");
		reqdType = document.forms[formName].elements[fieldName].type;
		
		if ( reqdType == "select-one" ) 
		{ 
			reqdType = "select"; 
		}
		
		if ( reqdType == null ) 
		{ 
			if ( document.forms[formName].elements[fieldName].length > 1 )
			{
				reqdType = "radio"; 
			}
		}
		
		
		switch(reqdType)
		{
			case "text":
				if ( document.forms[formName].elements[fieldName].value == "" )
				{
					missingFieldNames[missingFieldNames.length] = fieldName;
				}
				break;
				
			case "textarea":
				if ( document.forms[formName].elements[fieldName].value == "" )
				{
					missingFieldNames[missingFieldNames.length] = fieldName;
				}
				break;
				
			case "checkbox":
				if ( !document.forms[formName].elements[fieldName].checked )
				{
					missingFieldNames[missingFieldNames.length] = fieldName;
				}
				break;
				
			case "select":
				selectedValue = document.forms[formName].elements[fieldName].options[document.forms[formName].elements[fieldName].selectedIndex].value;
				if ( selectedValue == "none" || selectedValue == "" || selectedValue == " " || selectedValue == null )
				{
					missingFieldNames[missingFieldNames.length] = fieldName;
				}
				break;
				
			case "radio":
				buttonChecked = false
				for ( rb = 0 ; rb < document.forms[formName].elements[fieldName].length ; rb++ )
				{
					radioButtonRef = document.forms[formName].elements[fieldName];
					if ( radioButtonRef[rb].checked )
					{
						buttonChecked = true
					}
				}
				
				if ( !buttonChecked )
				{
					missingFieldNames[missingFieldNames.length] = fieldName;
				}
				break;
		}
	}
	
	totalMissing = missingFieldNames.length;
	//alert(totalMissing);
	
	if ( totalMissing > 0 )
	{
		msg = "The following fields are required:\n\n";
		for ( mf = 0 ; mf < totalMissing ; mf++ )
		{
			fieldName = missingFieldNames[mf];
			fieldNameParts = fieldName.split("_");
			converted = "";
			for ( pc = 0 ; pc < fieldNameParts.length ; pc++ )
			{
				piece = fieldNameParts[pc];
				UCbit = piece.substring(0,1)
				lcbit = piece.substring(1,piece.length)
				UC = UCbit.toUpperCase();
				lc = lcbit.toLowerCase();
				piece = UC + lc;
				converted = converted + " " + piece;
			}
			msg = msg + converted + "\n";
		}
		
		alert(msg);
	}
	else
	{
		msg = '';
		msgFull = '';
		if ( !checkPhoneNumber('Phone',formName) )
		{
			msg += 'Your phone number appears to be invalid.\nIt should be formatted as: 715-555-5555 \n\n';
		}
		if ( !checkEmailAddress('Email',formName) )
		{
			msg += 'Your email address appears to be invalid.\n';
		}
		
		if ( msg != '' )
		{
			alert("The following fields need to be corrected:\n\n" + msg);
		}
		else
		{
			JSONSendReturn();
		}
	}
}

function checkEmailAddress(fieldName,formName)
{
	var field = document.forms[formName].elements[fieldName];
	emailFilter = new RegExp(/^\w+[\+\.\w-]*@([\w-]+\.)*\w+[\w-]*\.([a-z]{2,4}|\d+)$/i);
	
	if ( emailFilter.test(field.value) )
	{
		return true;
	}
	
	return false;
}

function checkPhoneNumber(fieldName,formName) 
{
	var field = document.forms[formName].elements[fieldName];
	rePhoneNumber = new RegExp(/^[\(\.\-\s]{0,}\d{3}[\)\.\-\s]{0,}\d{3}[\(\.\-\s]{0,}\d{4}$/);
	
	if ( rePhoneNumber.test(field.value) ) 
	{
		return true;
	}
	
	return false;
}