function check_field(element, context){
	var text = document.getElementById(element).value;
	var ok = false;
	switch(element){
		case "email":
			var email_regexp = /[0-9a-zA-Z_](@)(\w+)(\.)(\w+)$/;
			if(text.match(email_regexp)){
				ok = true; //valid format
				//now check if already registered
				var ajax = new HttpRequest();
				ajax.successCallback = check_email;
				ajax.failureCallback = error_handling;
				ajax.url = "../backend/check_email.php";
				ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
				ajax.post("email=" + text);
			}
			break;
		case "password":
			if(text.length >= 6){
				ok = true;
			}
			break;
		case "password2":
			if(text == document.getElementById("password").value && text.length >= 6){
				ok = true;
			}
			break;
		case "first_name":
			if(text.length != 0){
				ok = true;
			}
			break;
		case "last_name":
			if(text.length != 0){
				 ok = true;
			}			
			break;
		case "gender":
			if(text.length != 0){
				 ok = true;
			}	
			break;
		case "location":
			if(text.match(", ")){
				 ok = true;
			}		
			break;
	}

	if(context == "submitting"){
		return (ok);
	}

	if(context == "live"){
		if(ok == true){
			document.getElementById(element+"_check").className = "tip_ok";
			document.getElementById(element+"_check").style.display = "inline";
		} else {
			document.getElementById(element+"_check").className = "tip_x";
			document.getElementById(element+"_check").style.display = "inline";
		}
	}
}

function check_email(ajax){
	var result = ajax.responseText;
	if(result !== "success"){
		document.getElementById("email_check").className = "tip_x";
		document.getElementById("email_check").style.display = "inline";
		var text="This email address has already been registered.<br />Please use another email or, if this is your account, you may login on our home page."
		buttons = new Array("Okay");
		actions = new Array("close_dialog()");
		dialog(text, buttons, actions);
	}
}

function verify(){
	fields = new Array('email', 'password', 'password2', 'first_name', 'last_name', 'gender', 'location');
	var passed = 0;
	for(i=0; i < fields.length; i++){
		if(check_field(fields[i], "submitting")){
			passed++;
		}
	}

	if(passed == fields.length){
		//document.getElementById("register_form").submit();
		create_account();
	} else {
		var text = "Please check incorrect fields."
		buttons = new Array("Okay");
		actions = new Array("close_dialog()");
		dialog(text, buttons, actions);
	}
}

function sign_in_check(){
	if(document.getElementById("email").value != "" && document.getElementById("password").value != ""){
		buttons = new Array('Okay');
		actions = new Array('close_dialog()');
		dialog("Dilogg is currently undergoing maintenance. We're sorry for the inconvenience.<br /><br />Please check back soon!", buttons, actions);
		dialog("Logging in...");
		login();
	} else {
		var text = "Please fill all fields.";
		buttons = new Array('Okay');
		actions = new Array('close_dialog()');
		dialog(text, buttons, actions);
	}
}

//so enter key submits sign-in form
var isNN = (navigator.appName.indexOf("Netscape")!=-1);
var OP = (navigator.appName.indexOf("Opera")!=-1);
if(OP)isNN=true;
var key;

function process(event){
	key = (isNN) ? event.which : event.keyCode;
	if (key==13){
		sign_in_check();
	}
}
