var amt;
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;
}
/*  for the check box  	*/
function validChkRequired(formField,fieldLabel)
{
	var result = false;
	for (i = 0;  i < theForm.formField.length;  i++)
	{
		if (theForm.formField[i].checked)
		checkSelected = true;
	}
	if (!checkSelected)
	{
		alert('Please enter a value for the "' + fieldLabel +'" field.');
		formField.focus();
		result = false;
	}

	return result;
}

function allDigits(str)
{
	return inValidCharSet(str,"0123456789");
}
function StripNum(Val)   {
   //  Remove decorations (commas, dollar signs) from number
   var RefString = "-.0123456789", TempChar, OutString = "";
   Val = "" + Val; // Make sure Val is character string
   // Only keep chars in Val that are valid numeric chars (i.e. in "RefString")
   if(Val.length == 0) return ("");
   for (var i=0; i<Val.length; i++){
      TempChar=Val.substring(i, i+1);
      if (RefString.indexOf (TempChar, 0) != -1) OutString=OutString+TempChar; // TempChar is valid number
   }
   return (OutString);
}

function isMoneyFmt (FormObj)  {
   // Return false if Field isn't in Money Format or empty"
   // Also reformat to $xxx.xx format
   var Val=StripNum(FormObj.value)
 
//   var Val="123.5";
  FormObj.value=Val;
//      FormObj.value=Val;
   if (Val.length==0) return(true);
   Val=parseFloat(Val)
   if (!isNaN(Val)) {
      ErrorMsg(FormObj,'Please enter a valid dollar amount.');
    return(false);
   }
  FormObj.value=CommaFmt(roundto(.01,Val))
   return true;
}

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,formField2,fieldLabel,required)
{
	var result = true;

	if (required && !validRequired(formField,fieldLabel))
		result = false;
  
 	if (result)
 	{
 		if (!formField.value=="other" && formField2.value=="amount")
 		{
 			alert('Please enter a number for the "' + fieldLabel +'" field.');
			formField.focus();		
			result = false;
		}
		else {
		amt = formField2.value;
		formField.value=amt;
				result = true;
		}
		
	} 
	
	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;
		}
		if (num<=0)
 		{
 			alert('Please enter a number for the "' + fieldLabel +'" field.');
			formField.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 validateInfoform(theForm)
{
if (!validRequired(theForm.fname,"First Name"))
		return false;
if (!validRequired(theForm.lname,"Last Name"))
		return false;
if (!validEmail(theForm.email,"Email Address",true))
		return false;
if (!validRequired(theForm.phone1,"Phone Perfix"))
		return false;
if (!validRequired(theForm.phone2,"Phone NPA"))
		return false;
if (!validRequired(theForm.phone3,"Phone Surfix"))
		return false;


	
	// <--------- End
	
	return true;
}

function validateFormDonation(theForm)
{
var amt;
if (!validRequired(theForm.bname,"Name"))
		return false;
if (!validRequired(theForm.baddr1,"Address"))
		return false;
if (!validRequired(theForm.bcity,"City"))
		return false;
if (!validRequired(theForm.bstate,"State"))
		return false;
if (!validRequired(theForm.bzip,"Zip"))
		return false;
if (!validRequired(theForm.bcountry,"Country"))
		return false;

if (!validEmail(theForm.email,"Email Address",true))
		return false;
if (!validRequired(theForm.phone,"Phone"))
		return false;
/*
if (theForm.chargetotal=="other" &&theForm.otheramt!="Enter amount")
		{
			amt=theForm.otheramt;
			theForm.chargetotal=amt;
			return theForm.chargetotal;
		}

if (theForm.chargetotal=="other")
 			alert('Please enter a date in the format MM/DD/YYYY for the "' + fieldLabel +'" field.');
if (!validNum(theForm.chargetotal,theForm.otheramt,"Amount",true))
		return false;				
*/				
if (!validInt(theForm.chargetotal,"amount"))
		return false;
	// <--------- End
return true;
}

function validateFormMember(theForm)
{
var amt;
if (!validRequired(theForm.pname,"Name"))
		return false;
if (!validRequired(theForm.paddr1,"Address"))
		return false;
if (!validRequired(theForm.pcity,"City"))
		return false;
if (!validRequired(theForm.pstate,"State"))
		return false;
if (!validRequired(theForm.pzip,"Zip"))
		return false;
if (!validRequired(theForm.pcountry,"Country"))
		return false;

if (!validEmail(theForm.pemail,"Email Address",true))
		return false;
if (!validRequired(theForm.pphone,"Phone"))
		return false;
//---  Billing Part 
if (!validRequired(theForm.bname,"Billing Name"))
		return false;
if (!validRequired(theForm.baddr1,"Billing Address"))
		return false;
if (!validRequired(theForm.bcity,"Billing City"))
		return false;
if (!validRequired(theForm.bstate,"Billing State"))
		return false;
if (!validRequired(theForm.bzip,"Billing Zip"))
		return false;
if (!validRequired(theForm.bcountry,"Billing Country"))
		return false;

if (!validEmail(theForm.email,"Billing Email Address",true))
		return false;
if (!validRequired(theForm.phone,"Phone"))
		return false;
/*
if (theForm.chargetotal=="other" &&theForm.otheramt!="Enter amount")
		{
			amt=theForm.otheramt;
			theForm.chargetotal=amt;
			return theForm.chargetotal;
		}

if (theForm.chargetotal=="other")
 			alert('Please enter a date in the format MM/DD/YYYY for the "' + fieldLabel +'" field.');
if (!validNum(theForm.chargetotal,theForm.otheramt,"Amount",true))
		return false;				
*/				
if (!validInt(theForm.chargetotal,"amount"))
		return false;
	// <--------- End
return true;
}
