
var LOADING_STATE = 1;
var COMPLETE_STATE = 4;
var http = xmlRequest();

function setCityState(schoolIndex)
{
//	document.getElementById("city").value = "test";

//	http = xmlRequest();
	if(schoolIndex != "0")
	{
		http.open('GET', 'lib/xml/newmemberdata.php?type=1&' + 'ID=' + schoolIndex, true);
		http.onreadystatechange = handleCityState;
		http.send(null);  
	}
}

function handleCityState()
{
	var data = new Array();
	
	switch(http.readyState) 
	{
		case COMPLETE_STATE:
			// split by the divider |
			data = http.responseText.split('|');
			if(data.length != 2)
			{
				document.getElementById("city").value = '';
				document.getElementById("state").value = '';
			}
			else
			{				
				document.getElementById("city").value = data[0];
				document.getElementById("state").value = data[1];
			}
			break;
		case LOADING_STATE:
			document.getElementById("city").value = "LOADING...";
			document.getElementById("state").value = "LOADING...";
			break;		
	}
}

function submitNewMember()
{

	// replace apostrophes in additional contact info field	
	q = /\'/g;
	document.newmember.contact.value = document.newmember.contact.value.replace(q, "");
	
	passVal1 = checkRequired("This field is required", "Please fill in all the required fields.");
	passVal2 = checkPattern("zip", PATTERN_ZIP, "Zipcode is not valid", "Please enter a valid Zipcode");
	passVal3 = checkPattern("primaryPhone", PATTERN_PHONE, "Phone Number is not valid", "Please enter a valid phone number");
	passVal4 = checkPattern("secondaryPhone", PATTERN_PHONE, "Phone Number is not valid", "Please enter a valid phone number");
	passVal5 = checkPattern("email", PATTERN_EMAIL, "Email address is not valid", "Please enter a valid email address");
	passVal6 = checkPasswords("pass1", "pass2");
	//passVal7 = checkUser("username");

	//emailSpan2 = document.getElementById("emailCheck");
	//userNameSpan2 = document.getElementById("usernameCheck");
	//emailInnerHtml = emailSpan2.innerHTML;
	//userNameInnerHtml = userNameSpan2.innerHTML;
	//alert(emailInnerHtml + " " + userNameInnerHtml);
	//emailInnerHtml = err_email.innerHTML;
	//userNameInnerHtml = err_username.innerHTML;
	//alert(emailInnerHtml + " " + userNameInnerHtml);
	if (document.getElementById("emailExistsError") ) {
		emailExistsError = document.getElementById("emailExistsError");
		if (emailExistsError.value == "true") {
			if (document.getElementById("email").value != "") {
				alert("your email address is already in use, you must use a different email address");
				return false;
			}
		}
	}
	
	if (document.getElementById("userExistsError") ) {
		userExistsError = document.getElementById("userExistsError");
		if (userExistsError.value == "true") {
			if (document.getElementById("username").value != "") {
				alert("your username is already in use, please pick a new username");
				return false;
			}
		}
	}
	
	/*
	if (emailExistsErrorValue) {
		if (document.getElementById("email").value != "") {
			alert("your email address is already in use, you must use a different email address");
			return false;
		}
	}

	if (userExistsErrorValue == "true") {
		if (document.getElementById("username").value != "") {
			alert("your username is already in use, please pick a new username");
			return false;
		}
	}
	*/
	
	field = document.getElementById("agree");
	if (!field.checked){
		alert("you must agree to the terms of service");
		return false;
	}
	
	field = document.getElementById("schoolID");
	//alert(field.name + field.type + field.selectedIndex + field.selectedIndex.value);
	if (field.selectedIndex == 0) {
		alert("you must select a school");
		return false;
	}
	
	if(passVal = passVal1 && passVal2 && passVal3 && passVal4 && passVal5 && passVal6)
	{//actions if it passes validation
		formToSubmit = document.getElementById("newmember");
		//formToSubmit.submit();
		return true;
	}
		
    return false;
}

function checkUserExists() {
	
	userName = document.getElementById("username");	
	
	if(userName.value != "" && userName.value != null)
	{		
		http.open('GET', 'lib/xml/newmemberdata.php?type=2&' + 'username=' + userName.value, true);
		http.onreadystatechange = handleCheckUser;
		http.send(null);  
	}
}

function handleCheckUser()
{
	var data = new Array();
		
	switch(http.readyState) 
	{
		case COMPLETE_STATE:			
			// split by the divider |
			//alert (http.responseText);
			data = http.responseText.split('|');			
			if (data[0] != 0) {			
				userExistsMsg = "That username already exists, please pick another";
				userNameSpan = document.getElementById("usernameCheck");							   	
				userNameSpan.innerHTML = '<input type="hidden" id="userExistsError" value="true"><font color="#FF0000">'+userExistsMsg+'</font>';				
			}
			else {			
				userNameSpan = document.getElementById("usernameCheck");								
				userNameSpan.innerHTML = "";
			}			
			break;
		case LOADING_STATE:
				userExistsMsg = "checking username...";
				userNameSpan = document.getElementById("usernameCheck");
				userNameSpan.innerHTML = '<font color="#000000">'+userExistsMsg+'</font>';
			break;		
	}
}

function checkEmailExists() {
	
	email = document.getElementById("email");	
	
	if(email.value != "" && email.value != null)
	{		
		http.open('GET', 'lib/xml/newmemberdata.php?type=3&' + 'email=' + email.value, true);
		http.onreadystatechange = handleCheckEmail;
		http.send(null);  
	}
}

function handleCheckEmail()
{
	var data = new Array();
		
	switch(http.readyState) 
	{
		case COMPLETE_STATE:			
			// split by the divider |
			//alert (http.responseText);
			data = http.responseText.split('|');			
			if (data[0] != 0) {			
				emailExistsMsg = "That email address is already being used";
				emailSpan = document.getElementById("emailCheck");
				emailSpan.innerHTML = '<input type="hidden" id="emailExistsError" value="true"><font color="#FF0000">'+emailExistsMsg+'</font>';				
			}
			else {							
				emailSpan = document.getElementById("emailCheck");								
				emailSpan.innerHTML = "";
				
				autoFillValue = document.getElementById("email").value;
				autofill('username', autoFillValue, 0);
			}			
			break;
		case LOADING_STATE:
				emailExistsMsg = "checking email address...";
				emailSpan = document.getElementById("emailCheck");
				emailSpan.innerHTML = '<font color="#000000">'+emailExistsMsg+'</font>';
			break;		
	}
}
