var validator = new Validator();
var rpc = new Loader('register/');

var validation_rules = new Array(
	{'input':'reg_first_name','rule':validator.NonEmpty,'error_box':'reg_first_name_error','error_msg':'Please enter your first name'},
	{'input':'reg_last_name','rule':validator.NonEmpty,'error_box':'reg_last_name_error','error_msg':'Please enter your last name'},
	{'input':'reg_phone','rule':validator.Phone,'error_box':'reg_phone_error','error_msg':'Please enter a valid phone number, (e.g. 555-555-5555)', 'optional':true},
	{'input':'reg_email','rule':validator.Email,'error_box':'reg_email_error','error_msg':'Please enter a valid email address, (e.g. john@doe.com)'},
	{'input':'reg_pass1','rule':validator.NonEmpty,'error_box':'reg_pass1_error','error_msg':'Please enter a password'},
	{'input':'reg_pass1','rule':validator.Password,'match':'reg_pass2','error_box':'reg_pass2_error','error_msg':'Passwords do not match!'},
	{'input':'reg_agree','rule':validator.CheckBox,'match':true,'error_box':'reg_agree_error','error_msg':'You must agree to these terms!'}
);

specific_init = function ()
{
	var reg_form = $('register_form');
	
	$('need_javascript').setStyle({'display':'none'});
	reg_form.setStyle({'display':'block'});
	$('reg_button').observe('click', register_account);
	
	adjust_height();
}

var register_account = function ()
{
	if(validator.Validate(validation_rules))
	{
		var params = 'firstname=' + $('reg_first_name').value;
		params += '&lastname=' + $('reg_last_name').value;
		params += '&phone=' + $('reg_phone').value;
		params += '&email=' + $('reg_email').value;
		params += '&password=' + $('reg_pass1').value;
		params += '&gradyear=' + $('reg_grad_year').value;
		params += '&major=' + $('reg_major').value;
		params += '&referral=' + $('reg_referral').value;
		
		var registered = rpc.Get('register_account', params, true);
		
		if(registered.registered)
			document.location = Documents.root+'register/confirm';
		else
			alert(registered.msg);
	}
	
	adjust_height();
};

var adjust_height = function ()
{
	var reg_form = $('register_form');
	var height = find_y_pos(reg_form)+reg_form.getHeight()-$('banner').getHeight()+20;
	fix_height(height);
};