function frm_validate(whichForm){

var themessage = "The required information is incomplete or contains errors:\t\t\t\t\t\n\n";
var themessage2 = " ";

if(whichForm.license_type.selectedIndex==0){
	themessage = themessage + "\tPlease select a license type.\n";
}
if(whichForm.feed_username.value==""){
	themessage = themessage + "\tPlease enter your username.\n";
}

if(whichForm.feed_password.value==""){
	themessage = themessage + "\tPlease enter your password.\n";
}

if (whichForm.feed_password.value != whichForm.repassword.value) {
	themessage = themessage + "\tPlease re-enter your password.\n";
}


if (!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(whichForm.email.value))){
	themessage = themessage + "\tPlease enter a valid email address.\n";
}

if(whichForm.ship_first_name.value==""){
	themessage = themessage + "\tPlease enter your first name.\n";
}

if(whichForm.ship_last_name.value==""){
	themessage = themessage + "\tPlease enter your last name.\n";
}

if(whichForm.ship_co_or_school.value==""){
	themessage = themessage + "\tPlease enter company or school.\n";
}

if(whichForm.ship_street.value==""){
	themessage = themessage + "\tPlease enter your street address.\n";
}

if(whichForm.ship_city.value==""){
	themessage = themessage + "\tPlease enter your city.\n";
}

if(whichForm.ship_zip_code.value==""){
	themessage = themessage + "\tPlease enter your zip/postal code.\n";
}

if(whichForm.ship_state_province.selectedIndex==0 && whichForm.ship_outside_state.value==""){
	themessage = themessage + "\tPlease select a state or province.\n";
}


if(whichForm.ship_country.value==""){
	themessage = themessage + "\tPlease enter your country.\n";
}

if(whichForm.ship_phone.value==""){
	themessage = themessage + "\tPlease enter your phone number.\n";
}


 //validate payment method
var choice = -1;
for (i=0; i<whichForm.payment.length; i++) {
if (whichForm.payment[i].checked) {
choice = i;
}
}
if (choice == -1) {
	themessage = themessage + "\tPlease select a payment method.\n";
}

if(whichForm.payment[0].checked && whichForm.po_number.value==""){
	themessage = themessage + "\tPlease enter a purchase number.\n";
}

 //validate billing address

if(whichForm.use_shipping_info.checked == false){
	themessage2 = "\nThe required information for billing address is incomplete or contains errors:\t\t\t\t\t\n";
}

if((whichForm.bill_first_name.value=="") && (whichForm.use_shipping_info.checked == false)){
	themessage2 = themessage2 + "\tPlease enter your first name.\n";
}

if((whichForm.bill_last_name.value=="") && (whichForm.use_shipping_info.checked == false)){
	themessage2 = themessage2 + "\tPlease enter your last name.\n";
}

if(whichForm.bill_co_or_school.value=="" && whichForm.use_shipping_info.checked == false){
	themessage2 = themessage2 + "\tPlease enter your company or school.\n";
}

if((whichForm.bill_street.value=="") && (whichForm.use_shipping_info.checked == false)){
	themessage2 = themessage2 + "\tPlease enter your street address.\n";
}

if((whichForm.bill_city.value=="") && (whichForm.use_shipping_info.checked == false)){
	themessage2 = themessage2 + "\tPlease enter your city.\n";
}

if((whichForm.bill_zip_code.value=="") && (whichForm.use_shipping_info.checked == false)){
	themessage2 = themessage2 + "\tPlease enter your zip or postal code.\n";
}

if((whichForm.bill_state_province.selectedIndex==0) && (whichForm.bill_outside_state.value=="") && (whichForm.use_shipping_info.checked == false)){
	themessage2 = themessage2 + "\tPlease select your state or province.\n";
}

if((whichForm.bill_country.value=="") && (whichForm.use_shipping_info.checked == false)){
	themessage2 = themessage2 + "\tPlease enter your country.\n";
}

if((whichForm.bill_phone.value=="") && (whichForm.use_shipping_info.checked == false)){
	themessage2 = themessage2 + "\tPlease enter your phone number.\n";
}

//alert if fields are empty and cancel form submit
if ((themessage == "The required information is incomplete or contains errors:\t\t\t\t\t\n\n") && ((themessage2 == "\nThe required information for billing address is incomplete or contains errors:\t\t\t\t\t\n") || (themessage2 == " "))) {
return true;
}
else {
alert(themessage + themessage2);
return false;
   }
}