function AjaxSignup() {
	AjaxSignup.baseConstructor.call(this);
	
	this.scriptNameAndArguments = "/app/ajax/signupFormParser.php";
}

extend(AjaxSignup, AjaxInterface); //in Utilities.js, included in html file that includes this js file

//this is how you override a superclass' function
AjaxSignup.prototype.actOnResponse = function(responseText) {
	var action = getFunctionFromResponseText(responseText);
	var data = getDataFromResponseText(responseText);
	
	document.body.style.cursor = "default";
	
	switch(action) {
		case "signup":
			if(data == "success") {
				window.location = "/signup/confirmation.shtml";
				//document.getElementById("signupInputTable").style.display = "none";
				//document.getElementById("signupSuccess").style.display = "block";
			}
			else if(data == "errorEmail") {
				document.getElementById("signupErrors").style.display = "block";
				document.getElementById("emailTaken").style.display = "block";
			}
			else if(data == "errorUsername") {
				document.getElementById("signupErrors").style.display = "block";
				document.getElementById("nameTaken").style.display = "block";
			}
			break;
		default:
			alert("AJAX return action not recognized: *" + action + "*");
	}
};

//don't know in what field(s) to put this in the html...
function submitEnter(event) {
	if(gotEnter(event)) {
		processSignup();
	}
}


function processSignup(){
	var emailMismatch = document.getElementById("emailMismatch");
	var nameTaken = document.getElementById("nameTaken");
	var noSpaces = document.getElementById("noSpaces");
	//var agreeTerms = document.getElementById("agreeTerms");
	var emailTaken = document.getElementById("emailTaken");
	
	var email = document.getElementById("email");
	var emailConfirm = document.getElementById("email-confirm");
	var title = document.getElementById("title");
	var surname = document.getElementById("surname");
	//var terms = document.getElementById("terms");
	//var newsletterSignup = document.getElementById("newsletter-signup");
	
	title = title.options[title.selectedIndex].text;
	/*
	if(newsletterSignup.checked == true) {
		newsletterSignup = "true";
	} else {
		newsletterSignup = "false";
	}
	*/
	newsletterSignup = "true";
	
	var gotError = false;
	var signupErrors = document.getElementById("signupErrors");
	if(email.value != emailConfirm.value) {
		gotError = true;
		emailMismatch.style.display = "block";
	}
	else {
		emailMismatch.style.display = "none"
	}
	nameTaken.style.display = "none"            //will come after ajax call
	emailTaken.style.display = "none"            //ditto
	if(surname.value.indexOf(" ") >= 0) {
		gotError = true;
		noSpaces.style.display = "block";
	}
	else {
		noSpaces.style.display = "none"
	}
	/*
	if(terms.checked == false) {
		gotError = true;
		agreeTerms.style.display = "block";
	}
	else {
		agreeTerms.style.display = "none"
	}
	*/
	if(gotError == true) {
		signupErrors.style.display = "block";
		return;
	}
	else {
		signupErrors.style.display = "none";
	}
	
	document.body.style.cursor = "wait";
	var myAjaxSignup = new AjaxSignup();
	myAjaxSignup.data = "action=signup&email=" + email.value + "&title=" + title + "&surname=" + surname.value + "&newsletter=" + newsletterSignup;
	myAjaxSignup.send();
}