function checkAO(){
//expression filter for email address
  var filter1 = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/; // not valid
  var filter2 = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/; // valid

    // if any field missing, prompt to fill out

    if(document.ao.item_name.selectedIndex==0) {

        alert("Please select a workshop."); 

        return false; 

    }

    if(document.ao.first.value.length < 2){

        alert("Please enter your first name.");  

        document.ao.first.focus(); 

        return false; 

    } 

    if (document.ao.last.value.length < 2) {

        alert("Please enter your last name.");  

        document.ao.last.focus(); 

        return false;   

    }

    if (document.ao.email.value.length < 3) {
	   alert("Please enter your email address.");
	   document.ao.email.focus();
	   return false;
	}
	
    var emailstr = document.ao.email.value;
	if (!filter1.test(emailstr) && filter2.test(emailstr)) { // if syntax is valid
	}
	else {
     alert("Please enter a valid email address");
	       document.ao.email.focus();
		   return false;
		 }

    if (document.ao.org.value.length < 2) {

        alert("Please enter your organization name.");  

        document.ao.org.focus(); 

        return false;   

    }

    if (document.ao.address.value.length < 6) {

        alert("Please enter your address.");  

        document.ao.address.focus(); 

        return false;   

    }

    if (document.ao.city.value.length < 2) {

        alert("Please enter your city.");  

        document.ao.city.focus(); 

        return false;   

     }

    if (document.ao.state.selectedIndex==0) {

        alert("Please select your state.");  

        document.ao.state.focus(); 

        return false;   

    }

    if (document.ao.zip.value.length < 5) {

        alert("Please enter your zip code.");  

        document.ao.zip.focus(); 

        return false;   

     }

	   if (document.ao.os1.value.length < 7) {

        alert("Please enter your phone number and area code.");  

        document.ao.os1.focus(); 

        return false;   

     }

   totalcost = 20.00;
   j=document.ao.item_name.selectedIndex;
    // Ferral cat only $10.00
	if (document.ao.item_name[j].value == "Feral Cat Summit Only Cleveland, OH 06/26/2006") {
	    totalcost =10.00;
	}
	else {
	         if(document.ao.shelterid.value.length >=3){
                totalcost=10.00; 
             }
			 
			if (document.ao.item_name[j].value ==  "Adoption Options Workshop Cleveland, OH 06/25/2006 and Feral Cat Summit 6/26/2006") {
			 totalcost=totalcost + 10.00; 
	        }
	}
	document.ao.amount.value = totalcost;
	
	//document.ao.os0.value=document.ao.org.value+", "+document.ao.shelterid.value+", "+document.ao.address.value+", "+document.ao.city.value+", "+document.ao.state.value+", "+document.ao.zip.value+", "+document.ao.email.value; 
    document.ao.os0.value=document.ao.org.value+", "+document.ao.shelterid.value+", "+document.ao.first.value+" "+document.ao.last.value+", "+document.ao.address.value+", "+document.ao.city.value+", "+document.ao.state.value+", "+document.ao.zip.value+", "+document.ao.email.value;

    
	return true;

}