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 validRequiredChurch(formField1, formField2, fieldLabel1)
{
	var result = true;
	if ((formField1.value == "") && (formField2.value == ""))
	{
		alert('Please enter a value for the "' + fieldLabel1 +'" field or fill in a new church if not listed');
		formField1.focus();
		result = false;
	}
	
	return result;
}
	
function ccDateOK(formField1, formField2)
{
	var result = true;
	var time=new Date();
	var month = time.getMonth() + 1;
	if(month<10) 
		month= "0" + month;
	var year=time.getYear();
	if (year < 2000)
		year = year + 1900;
	if (year >= formField2.value) {
		if (month > formField1.value) {
			alert("The Credit Card you've entered has expired! Please double check your expiry date");
    		formField1.focus();
    		result = false;			
		}
	}
	return result;
}		  
  
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 isEmailMatch(email1, email2)
{
	var result = false;
	if(email1 == email2) {
		result = true;
	}
	return result;
}

function isPWMatch(pass1, pass2)
{
	var result = false;
	if(pass1 == pass2) {
		result = true;
	}
	else {
		alert("The Passwords you Entered did NOT match");
	}
	return result;
}

function isInt(formField,fieldLabel)
{
  var result = true;
  
  if (formField.value != "")
  {
  	if(isNaN(formField.value)) 
  	{
    	alert('Please enter a NUMBER for the "' + fieldLabel +'" field.');
    	formField.focus();
    	result = false;
    }
  }
  
  return result; 
} 

function validEmail(formField1,formField2,fieldLabel,required)
{
	
  var result = true;
  
  if (required && !validRequired(formField1,fieldLabel))
    return false;
    
  if (required && !validRequired(formField2,fieldLabel))
    return false;  

  if (result && ((formField1.value.length < 3) || !isEmailAddr(formField1.value)) )
  {
    alert("Please enter a complete email address in the form: yourname@yourdomain.com");
    formField1.focus();
    return false;
  }
  
  if (result && !isEmailMatch(formField1.value,formField2.value))
  {
  	alert("The Emails you Entered did NOT match");
  	formField1.focus();
  	return false;
  }   
   
  return true;

}

// types:
//	1 - new user
//	2 - updating
function validate_userinfo_form(theForm, update) 
{ 

  if (update != 1) {
  	if (!validEmail(theForm.email,theForm.email2,"E-Mail",true))
  		return false;
  		
	  // check passwords both ways:
	  if(!validRequired(theForm.password, "Password")) 
		return false;
	
	  if(!validRequired(theForm.password2, "Confirm Password")) 
		return false;		
			
	  if(!isPWMatch(theForm.password.value, theForm.password2.value)) 
		return false;    		
  }

  if (!validRequired(theForm.fname,"First Name"))
    return false;

  if (!validRequired(theForm.lname,"Last Name"))
    return false;
    
  if (!validRequired(theForm.gender,"Gender"))
    return false;    
    
  if (!validRequired(theForm.address1,"Address1"))
    return false;
        
  if (!validRequired(theForm.city,"City"))
    return false;    

  if (!validRequired(theForm.state,"State"))
    return false;    
    
  if (!validRequired(theForm.zip,"Zip Code"))
    return false;    

  if (!validRequired(theForm.ph1,"Phone Number"))
    return false; 
    
  if (!validRequiredChurch(theForm.church, theForm.church_in, "Local Church"))
  	return false;

  if (!validRequiredChurch(theForm.hchurch, theForm.hchurch_in, "Home Church"))
  	return false;  	

  // <--------- End

  return true; 
}


function validate_userinfo_pass(theForm)
{
	if(!validRequired(theForm.old_pass, "Current Password")) 
		return false;

	if(!validRequired(theForm.password1, "New Password")) 
		return false;

	if(!validRequired(theForm.password2, "Confirm New Password")) 
		return false;		
			
    if(!isPWMatch(theForm.password1.value, theForm.password2.value)) 
    	return false;
    	
  	return true;
}

// pay_type = "Online" for online, "Mail" for mail
// update = 1 for updating, 0 for not:
function validate_reginfo_form(theForm, pay_type, update) {

  if (!validRequired(theForm.seminar1,"Seminar 1"))
    return false;
    
  if (!validRequired(theForm.seminar2,"Seminar 2"))
    return false;    
    
  if (!validRequired(theForm.seminar3,"Seminar 3"))
    return false;

  if (!validRequired(theForm.seminar4,"Seminar 4"))
    return false;    
    
  if(!isUniqueSeminar(theForm.seminar1, theForm.seminar2))
    return false;
    
  if(!isUniqueSeminar(theForm.seminar3, theForm.seminar4))
    return false;    
        
  if (!validRequired(theForm.tshirt_size,"T-Shirt Size"))
    return false;    
    
  if(update != 1) {

	  if(pay_type == "Online") {
	  	if(!validateCCForm(theForm))
	  		return false;
	  }
	  else {
	  	  if (!validRequired(theForm.pay_amt,"Registration Payment Amount"))
    		return false; 	
	  }
  }
  
  return true;
}

function validateCCForm(theForm)
{      
  if (!validRequired(theForm.pay_amt,"Registration Payment Amount"))
    return false; 		
	
  if (!validRequired(theForm.billto_fname,"First Name"))
    return false;

  if (!validRequired(theForm.billto_lname,"Last Name"))
    return false;
    
  if (!validRequired(theForm.billto_address1,"Address1"))
    return false;
        
  if (!validRequired(theForm.billto_city,"City"))
    return false;    

  if (!validRequired(theForm.billto_state,"State"))
    return false;    
    
  if (!validRequired(theForm.billto_zip,"Zip Code"))
    return false;    	
	
  if (!validRequired(theForm.cc_number,"Credit Card Number"))
    return false;       

  if (!isInt(theForm.cc_number,"Credit Cart Number"))
    return false;
  /*  
  if(!validRequired(theForm.cc_cvs, "Credit Card ID Number")) 
	return false;   
  */  
	
  if(!validRequired(theForm.cc_type, "Credit Card Type")) 
	return false;
	
  if(!validRequired(theForm.cc_exp_mo, "Credit Card Expiry Month")) 
	return false;

  if(!validRequired(theForm.cc_exp_yr, "Credit Card Expiry Year")) 
	return false;	
    
  if (!ccDateOK(theForm.cc_exp_mo, theForm.cc_exp_yr))
  	return false;
  	
  return true;
}


function validateRidesForm(theForm)
{      

  if (!validRequired(theForm.leaveCampus,"Date Leaving Campus for Winter Break"))
    return false; 	

  if (!validRequired(theForm.provRide,"Can Provide Ride"))
    return false;    
    
  if (!validRequired(theForm.needRide,"Need Ride"))
    return false;

  if (!validRequired(theForm.leaveFrom,"Leave From"))
    return false;
        
  if (!validRequired(theForm.leaveTime,"Leave Time"))
    return false;    

  if (!validRequired(theForm.returnTo,"Return To"))
    return false;    
    
  if (!validRequired(theForm.numSeatBelts,"Number of Seatbelts"))
    return false;    	
	
  if (!validRequired(theForm.carIsStick,"Car is Stick Shift"))
    return false;       
    
  if (!validRequired(theForm.waiver,"Liability Waiver"))
    return false;    
  	
  return true;
}

function isUniqueSeminar(formField1, formField2) {
	var result = true;
	var ff1 = formField1.value;
	var ff2 = formField2.value;
	var sem1 = ff1.substring(0, 15);
	var sem2 = ff2.substring(0, 15);
	if(sem1 == sem2) {
		alert("You must select 4 DIFFERENT seminars to attend");
		result = false;
	}
	return result;
}

function load(url) {
	var load = window.open(url,'','scrollbars=no, menubar=no,height=600,width=600,resizable=no,toolbar=no, location=no,status=no'); 
}

function change_tshirt_amt(amount) {
	f = document.reginfo_form;
	a = f.tshirt_amt;
	s = f.tshirt_size;
	if(s.value != "None") {
		a.value = amount;
	}
	else {
		a.value = 0;
	}
}