//This script will contain a bunch of functions that pertains to the registartion form 
var f_name_error = false; //error flag for first name filed 
var l_name_error = false; //error flag for last name field 
var student_type_error = false; //error flag for student classification field 
var email_error = false; //error flag for invalid email address 
var email_found_error = false; //error flag for an email that is already registered 

var f_name_bool = false; //success flag for first name field 
var l_name_bool = false; //success flag for last name field 
var student_type_bool = false; //success flag for student classification field 
var email_bool = false; //success flag for email field 

function showForm(){
	//This will just show the form 
	new Effect.Appear('reg_form');
}


function hideForm(){
	//This will just hide the form and clear all values in the form 
 
	var f_name = document.getElementById('f_name'); 
	var l_name = document.getElementById('l_name'); 
	var student_type = document.getElementById('class'); 
	var email = document.getElementById('email'); 
	
	
	//fade all errors if they exist and clear the variable 
		new Effect.Fade('f_name_error'); 
		f_name_error = false; 
		

	

		new Effect.Fade('l_name_error'); 
		l_name_error = false; 
		

	

		new Effect.Fade('class_error');
		student_type_error = false; 
	

		new Effect.Fade('email_error'); 
		email_error = false; 

	

		new Effect.Fade('email_found_error'); 
		email_found_error = false; 
	
	//Clear fields 
	f_name.value = ''; 
	l_name.value = '';
	student_type.options[0].selected = 'selected';
	email.value = ''; 
	
	
	new Effect.Fade('reg_form');
	
	
}

function successMessage(){
	//This function will display a success message to the user 
	if(httpObject.readyState == 4){
		alert('Success! You’ll get a confirmation email soon.'); 
		httpObject = null; 
	} 
}

function submitForm(){
	//First we need to get our input from the user 
	var f_name = document.getElementById('f_name');
	var l_name = document.getElementById('l_name'); 
	var student_type = document.getElementById('class'); 
	var email = document.getElementById('email'); 
	
	//Now we need to check to see if the user has entered the correct data in the text fields 
	
	//Check first name 
	if(f_name.value.length > 0){
		var f_name_bool = true; //This will let us know that they entered their first name 
	}else{
		var f_name_error = true; //This will be the flag to release the error messages 
	}
	
	//Check last name 
	if(l_name.value.length > 0){
		var l_name_bool = true; //This will let us know that they entered there last name 
	}else{
		var l_name_error = true; //Once again release the error messages 
	}
	
	//Check Student Classification 
	if(student_type.value == '-'){
		var student_type_error = true; 
	}else {
		var student_type_bool = true; 
	}
	
	//Check our email address 
	var emailRegEx = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i; //This is for the regular expression search 
	if(email.value.length > 0 && email.value.search(emailRegEx) != -1){
		 //First we will get our Ajax control to see if the user already registered under this email address  
		httpObject = getHttpObject();
		if(httpObject != null){
			httpObject.open("GET","emailCheck.php?email="+email.value,false); 
			httpObject.send(null); 
		} 
		if(httpObject.responseText == 0){
			email_bool = true; 
			email_found_error = false; 
		}else {
			email_found_error = true; 
			httpObject = null; 
			email_bool = false
		}
	}else{
		var email_error = true; 
	}
	

	
	//Now we will check to see if we have all the fields correct if not then we will display the error messages 
	if(f_name_bool && l_name_bool && student_type_bool && email_bool){
		//Now that we got all the data we will send it to the php script so it can process the data and place it in the database 
		
		//First we will get our Ajax control 
	//	httpObject = getHttpObject();
		if(httpObject != null){
			httpObject.open("GET","register.php?f_name="+f_name.value+"&l_name="+l_name.value+"&student_type="+student_type.value+"&email="+email.value,true); 
			httpObject.send(null); 
			httpObject.onreadystatechange = successMessage; 
		}
		
	//	httpObject = null; 
		
		hideForm(); 
		



	}else {
		//Test to see which error messages to show 
		if(f_name_error){
			new Effect.Appear('f_name_error');
			f_name_error = false; 
			
		}else{
			new Effect.Fade('f_name_error');
		}
		
		if(l_name_error){
			new Effect.Appear('l_name_error');
			l_name_error = false; 
		}else {
			new Effect.Fade('l_name_error');
		}
		
		if(student_type_error){
			new Effect.Appear('class_error');
			student_type_error = false; 
		}else {
			new Effect.Fade('class_error'); 
		}
		
		if(email_error){
			new Effect.Appear('email_error');
			email_error = false; 
		}else {
			new Effect.Fade('email_error'); 
		}
		
		if(email_found_error){
			new Effect.Appear('email_found_error');
			email_found_error = false; 
		}else {
			new Effect.Fade('email_found_error');
		}
	
	}
	
	return false; 
	


}