function submitForm(form,target) {
	var client = new HttpClient();
	client.isAsync = true;
	client.requestType = 'POST';

	// urlencode the payload
	payload = "ajax=true";
	for(var i =0; i < form.elements.length; i++) {
		if (form.elements[i].name) {
			if (payload != "")  {
				payload += "&";
			}
			payload +=  encodeURIComponent(form.elements[i].name) + '=' + encodeURIComponent(form.elements[i].value);
		}
	}
	client.callback = function(result) {
		document.getElementById(target).innerHTML = result;
	}
	if (form.elements['source'].value == 'customer_form') {
		if (validatePWForm(form)) {
			client.makeRequest('http://www.razor.com/recall/process.php',payload,'application/x-www-form-urlencoded');
		}
	} else {
		client.makeRequest('http://www.razor.com/recall/process.php',payload,'application/x-www-form-urlencoded');
	}
	return false;
}

function validatePWForm(form) {
	//Check product ID
	var intProdIDSwitch = 0;
	var prodID = form.elements['id1'].value;

	if (prodID.substr(0,1).toLowerCase() == 'y') {
		//First character is good
		//Now check the productID
		//if ( ((parseInt(prodID.substr(1,9)) >= 708000000) && (parseInt(prodID.substr(1,9)) <= 712999999)) || ((parseInt(prodID.substr(1,9)) >= 801000000) && (parseInt(prodID.substr(1,9)) <= 808999999)) ) {
		if ( (prodID.substr(0,2).toLowerCase() == 'yx') && IsNumeric(prodID.substr(2,prodID.length)) ) {
			//Generic is okay
			intProdIDSwitch = 1;
		} else {
			if ( IsNumeric(prodID.substr(1,prodID.length)) && prodID.length >= 8) {
				//It's good
				intProdIDSwitch = 1;
			}
		}
	}
	//flag prod id issues
	if (intProdIDSwitch != 1) {
		alert('Your product ID is not affected.  No recall parts are necessary.');
		return false;
	}
	//Validate remaining fields
	if (IsEmpty(form.elements['firstName'])) {
		alert('Please enter your first name.');
		return false;
	} else if (IsEmpty(form.elements['lastName'])) {
		alert('Please enter your last name.');
		return false;
	} else if (IsEmpty(form.elements['address1'])) {
		alert('Please enter your street address.');
		return false;
	} else if (IsEmpty(form.elements['city'])) {
		alert('Please enter your city.');
		return false;
	} else if (IsEmpty(form.elements['usstate'])) {
		alert('Please select your state.');
		return false;
	} else if (IsEmpty(form.elements['zipcode'])) {
		alert('Please enter your zipcode.');
		return false;
	} else if (!IsValidEmail(form.elements['email'].value)) {
		alert('Please enter a valid email address.');
		return false;
	} else if (IsEmpty(form.elements['phone'])) {
		alert('Please enter a valid phone number.');
		return false;
	} else if (IsEmpty(form.elements['prodNum'])) {
		alert('You must select the correct color for your replacement part.');
		return false;
	}	
	return true;
}

function IsEmpty(aTextField) {
   if ((aTextField.value.length==0) || (aTextField.value==null)) {
      return true;
   }
   else { return false; }
}

function IsNumeric(sText) {
	var ValidChars = "0123456789.";
	var Char;
 
	for (i = 0; i < sText.length; i++) { 
		Char = sText.charAt(i); 
		if (ValidChars.indexOf(Char) == -1) {
			return false;
		}
	}
	return true;
}

function IsValidEmail(str) {
	if ((str.indexOf(".") > 2) && (str.indexOf("@") > 0)) {
		return true;
	} else {
		return false;
	}
}

function restoreForm() {
	document.getElementById('HttpClientStatus').innerHTML = formPlaceholder;
	return;
}

function saveForm() {
	formPlaceholder = document.getElementById('HttpClientStatus').innerHTML;
	return;
}