
var user = 
{    
    init : function() {},
    
    create : function()
    {
		//alert('Trying to register...');
        var form = document.getElementById('create_account_form');
        var data = new Array();
		data['email'] = form.email.value;
        data['password'] = form.password.value;
        data['name_first'] = form.name_first.value;
		data['name_last'] = form.name_last.value;
		data['name_school'] = form.name_school.value;
		data['captcha'] = form.captcha_code.value;
		
		if (find_nulls(data))
		{
			document.getElementById('register_msg').innerHTML = "<b>Please complete the entire form</b>";
			document.getElementById('register_msg').style.color = "#ff0000";
            return;
		}
        if (data['password'] != form.password_confirm.value)
        {
			document.getElementById('register_msg').innerHTML = "<b>Passwords do not match</b>";
			document.getElementById('register_msg').style.color = "#ff0000";
			form.password.value = '';
			form.password_confirm.value = '';
            return;
        }
		if (data['email'].search(/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i) == -1)
		{
			document.getElementById('register_msg').innerHTML = "<b>Invalid email address</b>";
			document.getElementById('register_msg').style.color = "#ff0000";
			form.email.value = '';
			return;
		}
        
        var data_string = encode_data(data);
        var result = ping('user','create',data_string);

		if (result.search(/success/)!=-1) // register and login success
        {
			//redirect the page elsewhere
            window.location.replace("user");
        }
		if (result.search(/fail/)!=-1) // captcha code failed
        {
			document.getElementById('register_msg').innerHTML = "<b>Incorrect verification code</b>";
			document.getElementById('register_msg').style.color = "#ff0000";
			form.captcha.value = '';
        }
    },

    login : function()
    {
		//alert('Trying to log in...');
		var form = document.getElementById('login_form');
        var data = new Array();
        data['email'] = form.email.value;
        data['password'] = form.password.value;

        if (find_nulls(data))
		{
			document.getElementById('user_login_failure').innerHTML = "<b>Please enter your email and password to login</b>";
			document.getElementById('user_login_failure').style.visibility = "visible";
			return;
		}
            
        var data_string = encode_data(data);
        var result = ping('user','login',data_string);

        if (result.search(/success/)!=-1) // login success
        {
            document.getElementById('user_post_login').style.display = "inline";
            document.getElementById('user_pre_login').style.display = "none";
            
            //redirect the page elsewhere
			window.location.replace("user");
            
            document.getElementById('user_welcome').innerHTML = ping('user','welcome',null);
        }
        else
        {
            document.getElementById('user_login_failure').innerHTML = "Email or password incorrect";
            document.getElementById('user_login_failure').style.visibility = "visible";
        }
        
        form.password.value = '';
    },
    
    logout : function()
    {
        document.getElementById('user_post_login').style.display = "none";
        document.getElementById('user_pre_login').style.display = "inline";
        
        var result = ping('user','logout',null);
    }
};
