function validate(f) {
  
  var fname        			= f.fname.value;   
  var lname        			= f.lname.value;   
  var accountname			= f.accountname.value;
  var alt_email    			= f.alt_email.value;
  var proapp_sid     		= f.proapp_sid.value;
  var weborder     			= f.weborder.value;
  var case_id					= f.case_id.value;
  var receipt_num    		= f.receipt_num.value;
  var sales_num				= f.sales_num.value;
  var retail_id					= f.retail_id.value;
  var approx_dop			= f.approx_dop.value;
  var proapp    				= f.proapp.value;
  var sku  						= f.sku.value;
  var reason_select			= f.reason.value;
  var alt_body      			= f.alt_body.value;
  var category				= f.category.value;
  

  if (alt_email) {
  // The alt_email field must be in the right format 
  var chkStart = alt_email.search('@');
  reg1 = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/;
	  if ((alt_email.search(reg1) == -1 || alt_email == '@')) {
		alert(proapp_alert2);
		return false;
	  }
  }

  if (receipt_num && !weborder) {
    document.getElementById("subject1").value = proapp + ' Serial Number Replacement Request' + ' ' + receipt_num;
    var subject1			= f.subject1.value;
  }

  else if (!receipt_num && weborder) {
    document.getElementById("subject1").value = proapp + ' Serial Number Replacement Request' + ' ' + weborder;
    var subject1			= f.subject1.value;
  }

  else if (receipt_num && weborder) {
    document.getElementById("subject1").value = proapp + ' Serial Number Replacement Request';
    var subject1			= f.subject1.value;
  }

  else {
  	document.getElementById("subject1").value =	proapp + ' Serial Number Replacement Request';
  	var subject1			= f.subject1.value;
  }


// Checking required and non-required fields
  
  if (!fname || !lname || !proapp || !reason_select || !alt_body) {
    alert(proapp_alert1);
    return false;
  }

 
  f.body.value       += functions_additional_info + '\n';
  f.body.value 	   += functions_alt_email + alt_email + '\n';
  f.body.value 	   += functions_proapp_sid + proapp_sid + '\n';
  f.body.value 	   += functions_weborder + weborder + '\n';
  f.body.value 	   += functions_case_id + case_id + '\n';
  f.body.value 	   += functions_receipt_num + receipt_num + '\n';
  f.body.value 	   += functions_sales_num + sales_num + '\n';
  f.body.value 	   += functions_retail_id + retail_id + '\n';
  f.body.value 	   += functions_approx_dop + approx_dop + '\n';
  f.body.value 	   += functions_sku + sku + '\n';
  f.body.value 	   += functions_proapp + proapp + '\n';
  f.body.value 	   += functions_reason + reason_select + '\n';
  f.body.value 	   += functions_details + alt_body;

 f.submit();
 return true;
}