function isEmailAddr(email)
{
  var result = false;
  var theStr = new String(email);
  var index = theStr.indexOf("@");
  if (index > 0)
  {
    var pindex = theStr.indexOf(".",index);
    if ((pindex > index+1) && (theStr.length > pindex+1))
	result = true;
  }
  return result;
}

function validRequired(formField,fieldLabel)
{
	var result = true;
	
	if (formField.value == "")
	{
		alert('Please enter a value for the "' + fieldLabel +'" field.');
		formField.focus();
		result = false;
	}
	
	return result;
}

function allDigits(str)
{
	return inValidCharSet(str,"0123456789");
}

function inValidCharSet(str,charset)
{
	var result = true;

	// Note: doesn't use regular expressions to avoid early Mac browser bugs	
	for (var i=0;i<str.length;i++)
		if (charset.indexOf(str.substr(i,1))<0)
		{
			result = false;
			break;
		}
	
	return result;
}

function validEmail(formField,fieldLabel,required)
{
	var result = true;
	
	if (required && !validRequired(formField,fieldLabel))
		result = false;

	if (result && ((formField.value.length < 3) || !isEmailAddr(formField.value)) )
	{
		alert("Please enter a complete email address in the form: yourname@yourdomain.com");
		formField.focus();
		result = false;
	}
   
  return result;

}

function validNum(formField,fieldLabel,required)
{
	var result = true;

	if (required && !validRequired(formField,fieldLabel))
		result = false;
  
 	if (result)
 	{
 		if (!allDigits(formField.value))
 		{
 			alert('Please enter a number for the "' + fieldLabel +'" field.');
			formField.focus();		
			result = false;
		}
	} 
	
	return result;
}


function validInt(formField,fieldLabel,required)
{
	var result = true;

	if (required && !validRequired(formField,fieldLabel))
		result = false;
  
 	if (result)
 	{
 		var num = parseInt(formField.value,10);
 		if (isNaN(num))
 		{
 			alert('Please enter a number for the "' + fieldLabel +'" field.');
			formField.focus();		
			result = false;
		}
	} 
	
	return result;
}

function validRadio(formField,fieldLabel)
{
	var result = true;
	var checked = false;
  
 	 for (i = 0; i < formField.length; i++)
        {
          if (formField[i].checked==true) checked = true;
        }
 		
 		if (!checked)
 		{
 			alert('Please select an option for the "' + fieldLabel +'" field.');
			formField[0].focus();		
			result = false;
		}
	 
	
	return result;
}

function validDate(formField,fieldLabel,required)
{
	var result = true;

	if (required && !validRequired(formField,fieldLabel))
		result = false;
  
 	if (result)
 	{
 		var elems = formField.value.split("/");
 		
 		result = (elems.length == 3); // should be three components
 		
 		if (result)
 		{
 			var month = parseInt(elems[0],10);
  			var day = parseInt(elems[1],10);
 			var year = parseInt(elems[2],10);
			result = allDigits(elems[0]) && (month > 0) && (month < 13) &&
					 allDigits(elems[1]) && (day > 0) && (day < 32) &&
					 allDigits(elems[2]) && ((elems[2].length == 2) || (elems[2].length == 4));
 		}
 		
  		if (!result)
 		{
 			alert('Please enter a date in the format MM/DD/YYYY for the "' + fieldLabel +'" field.');
			formField.focus();		
		}
	} 
	
	return result;
}

    
function calculateRegistrationTotal()
{

	var fee1 = document.getElementById("subMemberReg").value;

	var sub_1 = parseInt(document.getElementById("SubMemberReg").value);
	var sub_2 = parseInt(document.getElementById("SubNonMemberReg").value);
	var sub_4 = parseInt(document.getElementById("SubAATFACS").value);
	var sub_5 = parseInt(document.getElementById("SubBoxLunch").value);
	var sub_6 = parseInt(document.getElementById("SubComputerWS").value);
	var sub_7 = parseInt(document.getElementById("SubCPRWS").value);
	var sub_8 = parseInt(document.getElementById("SubTILunch").value);
	
	
	var feeTotal = 0;
	if (!isNaN(sub_1)) feeTotal += sub_1;
	if (!isNaN(sub_2)) feeTotal += sub_2;
	if (!isNaN(sub_4)) feeTotal += sub_4;
	if (!isNaN(sub_5)) feeTotal += sub_5;
	if (!isNaN(sub_6)) feeTotal += sub_6;
	if (!isNaN(sub_7)) feeTotal += sub_7;
	if (!isNaN(sub_8)) feeTotal += sub_8;
	
	document.forms[0].Total.value=feeTotal.toString();
}
	
function setMemberFee(memID)
{

	var form = document.forms[0];
	var feeMem = "100";
	var feeNonMem = "175";


	if (!isNaN(memID))
	{
		form.SubMemberReg.value = feeMem;
	}
	else
	{
		form.SubNonMemberReg.value = feeNonMem;
	}

	calculateRegistrationTotal();

}	

function setEditFees(memID)
{

	var enc;
	var form = document.forms[0];
	var feeMem = "100";
	var feeNonMem = "175";
	var CPRfee = "25";
	var AATFACSfee = "30";
	var SubBoxfee = "20";
	var SubTIfee = "25";
	var nofee = "0";


	if (!isNaN(memID))
	{
		form.SubMemberReg.value = feeMem;
	}
	else
	{
		form.SubNonMemberReg.value = feeNonMem;
	}

	enc=eval("document.forms[0].CPRCourse.checked");
	if(enc){
		document.forms[0].SubCPRWS.value = CPRfee;
	}
	else {
		document.forms[0].SubCPRWS.value = nofee;
	}
	enc=eval("document.forms[0].Lunch[0].checked");
	if(enc){
		AATFACSLunchfee = nofee;
		SubBoxLunchfee = nofee;
		SubTILunchfee = nofee;
	}
	enc=eval("document.forms[0].Lunch[1].checked");
	if(enc){
		AATFACSLunchfee = nofee;
		SubBoxLunchfee = nofee;
		SubTILunchfee = nofee;
	}
	enc=eval("document.forms[0].Lunch[2].checked");
	if(enc){
		AATFACSLunchfee = AATFACSfee;
		SubBoxLunchfee = nofee;
		SubTILunchfee = nofee;
	}
	enc=eval("document.forms[0].Lunch[3].checked");
	if(enc){
		AATFACSLunchfee = nofee;
		SubBoxLunchfee = SubBoxfee;
		SubTILunchfee = nofee;
	}
	enc=eval("document.forms[0].Lunch[4].checked");
	if(enc){
		AATFACSLunchfee = nofee;
		SubBoxLunchfee = nofee;
		SubTILunchfee = SubTIfee;
	}


	countWS();

	form.SubAATFACS.value = AATFACSLunchfee;
	form.SubBoxLunch.value = SubBoxLunchfee;
	form.SubTILunch.value = SubTILunchfee;

	calculateRegistrationTotal();

}	


function setFACSLunch()
{
	var fee;
	var enc=eval("document.forms[0].division[4].checked");

	if(enc){
		fee = 25;
		document.forms[0].Lunch[2].checked = true;
	}
	else {
		fee = 0;
		document.forms[0].Lunch[0].checked = true;
	}


	document.forms[0].SubAATFACS.value = fee;
	document.forms[0].SubBoxLunch.value = 0;
	document.forms[0].SubTILunch.value = 0;


	calculateRegistrationTotal();
}	

function setCPRFee(fee,subval)
{

	if (subval == "CPRCourse") { 
		var enc=eval("document.forms[0]."+subval+".checked");
		if(enc){
			document.forms[0].SubCPRWS.value = fee;
		}
		else {
			document.forms[0].SubCPRWS.value = 0;
		}
	}

	calculateRegistrationTotal();
}

function setFee(fee,subval)
{



	enc=eval("document.forms[0].Lunch[0].checked");
	if(enc){
		AATFACSLunchfee = 0;
		SubBoxLunchfee = 0;
		SubTILunchfee = 0;
	}
	enc=eval("document.forms[0].Lunch[1].checked");
	if(enc){
		AATFACSLunchfee = 0;
		SubBoxLunchfee = 0;
		SubTILunchfee = 0;
	}
	enc=eval("document.forms[0].Lunch[2].checked");
	if(enc){
		AATFACSLunchfee = fee;
		SubBoxLunchfee = 0;
		SubTILunchfee = 0;
	}
	enc=eval("document.forms[0].Lunch[3].checked");
	if(enc){
		AATFACSLunchfee = 0;
		SubBoxLunchfee = fee;
		SubTILunchfee = 0;
	}
	enc=eval("document.forms[0].Lunch[4].checked");
	if(enc){
		AATFACSLunchfee = 0;
		SubBoxLunchfee = 0;
		SubTILunchfee = fee;
	}

	document.forms[0].SubAATFACS.value = AATFACSLunchfee;
	document.forms[0].SubBoxLunch.value = SubBoxLunchfee;
	document.forms[0].SubTILunch.value = SubTILunchfee;
			
	calculateRegistrationTotal();
}	


function countWS(){


	var cnt = 0
	var enc1=eval("document.forms[0].WSSession1[5].checked");
	var enc2=eval("document.forms[0].WSSession2[5].checked");

	if(!enc1){
		cnt = cnt + 1
	}
	if(!enc2){
		cnt = cnt + 1
	}

	document.forms[0].SubComputerWS.value = cnt*10;
	calculateRegistrationTotal();	
}



function showDateFormat(formfield,show)
{
if (show)
	{
	 if (formfield.value=='')
	 {
	 formfield.value='mm/dd/yyyy'; 
	 }
	 formfield.select();
	}
else
	if (formfield.value=='mm/dd/yyyy') formfield.value='';
	
}
 
function showPhoneFormat(formfield,show)
{
if (show)
	{
	 if (formfield.value=='')
	 {
	 formfield.value='xxx-xxx-xxxx'; 
	 }
	 formfield.select();
	}
else
	if (formfield.value=='xxx-xxx-xxxx') formfield.value='';
	
}  

function validateForm(theForm)
{
	// Customize these calls for your form

	// Start ------->
	

	if (!validRequired(theForm.FirstName,"First Name"))
	    return false;

	if (!validRequired(theForm.LastName,"Last Name"))
	    return false;

	if (!validRequired(theForm.Address1,"Address 1"))
	    return false;
				
	if (!validRequired(theForm.City,"City"))
	    return false;

	if (!validRequired(theForm.State,"State"))
	    return false;

	if (!validRequired(theForm.Zip,"Zip"))
	    return false;

	if (!validRequired(theForm.HomePhone,"Home Phone"))
	    return false;

	if (!validRequired(theForm.WorkPhone,"Work Phone"))
	    return false;

	if (!validRequired(theForm.SchoolName,"School Name"))
	    return false;

	if (!validEmail(theForm.Email,"Email"))
	    return false;

	if (!validRequired(theForm.BillingContactName,"Contact Name"))
	    return false;

	if (!validRequired(theForm.BillingAddress1,"Billing Address 1"))
	    return false;
				
	if (!validRequired(theForm.BillingCity,"Billing City"))
	    return false;

	if (!validRequired(theForm.BillingState,"Billing State"))
	    return false;

	if (!validRequired(theForm.BillingZip,"Billing Zip"))
	    return false;

	if (!validRequired(theForm.BillingFax,"School Fax"))
	    return false;

	if (!validRadio(theForm.division, "Division"))
	    return false;
		
	if (theForm.division[8].checked==true) 
		if (!validRequired(theForm.DivOther,"New & Related"))
		return false;

	// <--------- End
	
	return (theForm);
	
} 

function validateForm2(theForm)
{
	// Customize these calls for your form

	// Start ------->
	
	if (!validRadio(theForm.WSSession1, "Day 1 Computer Classes"))
	    return false;

	if (!validRadio(theForm.WSSession2, "Day 2 Computer Classes"))
	    return false;


	// <--------- End
	
	return (theForm);
	
} 

function validateForm3(theForm)
{
	// Customize these calls for your form

	// Start ------->
	if (!validRadio(theForm.Lunch, "Monday Lunch"))
	    return false;

	if (!validRadio(theForm.AwardsBrunch, "Tuesday Awards Brunch"))
	    return false;
		
	

	// <--------- End
	
	return (theForm);
	
} 

function validateForm4(theForm)
{
	// Customize these calls for your form

	// Start ------->
	
	if (!validRadio(theForm.paytype, "Paying By"))
	    return false;

	if (theForm.paytype[1].checked==true) 
		if (!validRequired(theForm.PONumber,"PO Number"))
		return false;


	// <--------- End
	
	return (theForm);
	
} 



function validateLoginForm(theForm)
{
	// Customize these calls for your form

	// Start ------->

	if (!validRequired(theForm.loginMem,"Member ID"))
	    return false;

	if (!validRequired(theForm.passwordMem,"Last Name"))
	    return false;


	// <--------- End
	
	return (theForm);
	
} 

function validateLoginNonMemForm(theForm)
{
	// Customize these calls for your form

	// Start ------->

	if (!validEmail(theForm.loginNonMem,"Email"))
	    return false;

	if (!validRequired(theForm.passwordNonMem,"Last Name"))
	    return false;


	// <--------- End
	
	return (theForm);
	
} 
