////////////////////////////////////////////////
function formValidate(postURL){

	var validForm = true;
	var errorMsg = 'Please correct the following and resubmit:\n';
	
	if (trim(document.getElementById("EmailAddressID").value) == '') {
		errorMsg = errorMsg + '\n' + 'Need to enter Email';
		validForm = false;
	}else if (!( /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i.test(document.getElementById("EmailAddressID").value))) 	{
			errorMsg = errorMsg + '\n' + 'Need to enter a valid Email format';
			validForm = false;
	}else if (document.getElementById("EmailAddressID").value != document.getElementById("ConfirmEmailID").value){
			errorMsg = errorMsg + '\n' + 'Email Address and Verify Email must match';
			validForm = false;
	}

	if (trim(document.getElementById("FirstNameID").value) == '') {
		errorMsg = errorMsg + '\n' + 'Need to enter First Name';
		validForm = false;
	}
	if (trim(document.getElementById("LastNameID").value) == '') {
		errorMsg = errorMsg + '\n' + 'Need to enter Last Name';
		validForm = false;
	}

	
	if (trim(document.getElementById("dermAwarePasswordID").value) == '') {
		errorMsg = errorMsg + '\n' + 'Need to enter password';
		validForm = false;
	}else if (!( /^[A-Za-z0-9]+$/i.test(document.getElementById("dermAwarePasswordID").value))) 	{
			errorMsg = errorMsg + '\n' + 'Password must contain only uppercase and lowercase letters and numbers.';
			validForm = false;
	}else if (document.getElementById("dermAwarePasswordID").value != document.getElementById("ConfirmPasswordID").value){
			errorMsg = errorMsg + '\n' + 'Password and Verify Password must match';
			validForm = false;
	}
	
	
	if (trim(document.getElementById("billingAddressID").value) == '') {
		errorMsg = errorMsg + '\n' + 'Need to enter billing Street Address';
		validForm = false;
	}
	if (trim(document.getElementById("billingCityID").value) == '') {
		errorMsg = errorMsg + '\n' + 'Need to enter billing Address City';
		validForm = false;
	}
	if (trim(document.getElementById("billingStateID").value) == '0') {
		errorMsg = errorMsg + '\n' + 'Need to select a billing Address State';
		validForm = false;
	}
	if (trim(document.getElementById("billingZipID").value) == '') {
		errorMsg = errorMsg + '\n' + 'Need to enter billing Address Zip Code';
		validForm = false;
	}else if (!( /^[\d]+$/.test(document.getElementById("billingZipID").value)) || 
		document.getElementById("billingZipID").value.length != 5)	{
			errorMsg = errorMsg + '\n' + 'Need to enter a 5 digit billing Address Zip Code';
			validForm = false;
	}
	
	if (trim(document.getElementById("shippingAddressID").value) == '') {
		errorMsg = errorMsg + '\n' + 'Need to enter shipping Street Address';
		validForm = false;
	}
	if (trim(document.getElementById("shippingCityID").value) == '') {
		errorMsg = errorMsg + '\n' + 'Need to enter shipping Address City';
		validForm = false;
	}
	if (trim(document.getElementById("shippingStateID").value) == '0') {
		errorMsg = errorMsg + '\n' + 'Need to select a shipping Address State';
		validForm = false;
	}
	if (trim(document.getElementById("shippingZipID").value) == '') {
		errorMsg = errorMsg + '\n' + 'Need to enter shipping Address Zip Code';
		validForm = false;
	}else if (!( /^[\d]+$/.test(document.getElementById("shippingZipID").value)) || 
		document.getElementById("shippingZipID").value.length != 5)	{
			errorMsg = errorMsg + '\n' + 'Need to enter a 5 digit shipping Address Zip Code';
			validForm = false;
	}

	if (document.getElementById("PhoneNumberID").value == '') {
		errorMsg = errorMsg + '\n' + 'Need to enter Phone';
		validForm = false;
	}else if (! (( /^\(?[1-9]\d{2}\)?[ -]+\d{3}\-\d{4}$/.test(document.getElementById("PhoneNumberID").value))) && 
	           !(( /^\d{10}$/.test(                           document.getElementById("PhoneNumberID").value))) ) { 
			errorMsg = errorMsg + '\n' + 'Invalid Phone format,\n\ttry (999) 999-9999 or 999-999-9999';
			validForm = false;
	}
	
	
	if (validForm) {
		//alert( 'form passed all validation tests' );   //DEBUG
		document.getElementById("RetailRegistrationFormId").action = postURL;
		document.getElementById("RetailRegistrationFormId").method = "POST";
		document.getElementById("RetailRegistrationFormId").submit();
	}else{	
		alert( errorMsg );
	}
	return false;
}
/////////////////////////////////////////////////////
function trim(stringToTrim) {
	return stringToTrim.replace(/^\s+|\s+$/g,"");
}
function ltrim(stringToTrim) {
	return stringToTrim.replace(/^\s+/,"");
}
function rtrim(stringToTrim) {
	return stringToTrim.replace(/\s+$/,"");
}
/////////////////////////////////////////////////////
function ShipBill(){
	if (document.getElementById("sameID").checked == true){
		document.getElementById("shippingAddressID").value = document.getElementById("billingAddressID").value;
		document.getElementById("shippingAddress2ID").value = document.getElementById("billingAddress2ID").value;
		document.getElementById("shippingCityID").value = document.getElementById("billingCityID").value;
		document.getElementById("shippingStateID").value = document.getElementById("billingStateID").value;
		document.getElementById("shippingZipID").value = document.getElementById("billingZipID").value;
	}else{
		document.getElementById("shippingAddressID").value = " ";
		document.getElementById("shippingAddress2ID").value = " ";
		document.getElementById("shippingCityID").value = " ";
		document.getElementById("shippingStateID").value = " ";
		document.getElementById("shippingZipID").value = " ";
	}
}
//////////////////////////////////////////////////////
