jQuery.Engine.register = function(options) {
	this.settings = jQuery.extend({}, jQuery.Engine.register.defaults, options);
};
jQuery.extend(jQuery.Engine.register, {
	defaults : {
		REGISTER_FORM_ID: '#registration_form',
		USERNAME_FIELD_ID: '#username',
		PASSWORD_FIELD_ID: '#password',
		PASSWORD_RETYPE_ID: '#retype_password',
		EMAIL_FIELD_ID: '#email',
		AJAX_PROCESSING_ID: '#submit_ajax',
		REGISTER_SUBMIT_BUTTON_ID: '#register_submit',
		ERROR_CLASS_NAME: 'error'
	},
	prototype: {
		initialize : function() {
			this.initFields();
			this.initProcess();
		},
		
		initProcess : function() {
			var REGISTER_FORM_ID = this.settings.REGISTER_FORM_ID;
			var REGISTER_SUBMIT_BUTTON_ID = this.settings.REGISTER_SUBMIT_BUTTON_ID;
			var AJAX_PROCESSING_ID = this.settings.AJAX_PROCESSING_ID;
			
			$(REGISTER_FORM_ID).submit(function() {
				$(REGISTER_SUBMIT_BUTTON_ID).hide();
				$(AJAX_PROCESSING_ID).show();
			});
		},
		
		initFields : function() {
			var REGISTER_FORM_ID = this.settings.FORM_ID;
			var USERNAME_FIELD_ID = this.settings.USERNAME_FIELD_ID;
			var PASSWORD_FIELD_ID = this.settings.PASSWORD_FIELD_ID;
			var PASSWORD_RETYPE_ID = this.settings.PASSWORD_RETYPE_ID;
			var EMAIL_FIELD_ID = this.settings.EMAIL_FIELD_ID;
			var ERROR_CLASS_NAME = this.settings.ERROR_CLASS_NAME;
			
			$(PASSWORD_RETYPE_ID).focus(function() {
				$(this).removeClass(ERROR_CLASS_NAME);
			});
			
			$(USERNAME_FIELD_ID).focus(function() {
				$(this).removeClass(ERROR_CLASS_NAME);
			});
			
			$(PASSWORD_FIELD_ID).focus(function() {
				$(this).removeClass(ERROR_CLASS_NAME);
			});
			
			$(EMAIL_FIELD_ID).focus(function() {
				$(this).removeClass(ERROR_CLASS_NAME);
			});
		}
	}
});
