var AccountChangePassword = new Class({
	Implements: [Options, Events, Log],
	Extends: Page,
	
	// Variables
	form: null,

	// Class instances


	initialize: function( name, element, options )
	{
		this.enableLog();
		//this.disableLog();
		this.log("AccountChangePassword::initialize(" + name + ", " + element + ", " + options + ")");

		// Invoke parent method
		this.parent( name, element, options );

		// Init form
		this.initForm();
	},

	/*
	 * Init account form
	 */
	initForm: function()
	{
		this.log("AccountChangePassword::initForm()");

		var options = {
			showLoader: true,
			allowStatus: true,
			formErrorMessage: {
				allow: true,
				container: this.element.getElement('.form .form-message-container'),
				allowClose: false
			}
		};

		var elementOptions = {
			hintText: 'naam@domein.nl'
		};

		var form = new Form($('change-password-form'), options);

		var passwordElement = new FormElement(form, 'password', {});
		passwordElement.addValidation(Form.REGEX_PASSWORD, 'Vul je huidige wachtwoord in');
		form.addElement(passwordElement);

		var newPasswordElement = new FormElement(form, 'new-password', {});
		newPasswordElement.addValidation(Form.REGEX_PASSWORD, 'Vul je nieuwe wachtwoord in');
		form.addElement(newPasswordElement);

		var repeatPasswordElement = new FormElement(form, 'repeat-password', {});
		repeatPasswordElement.addValidation(Form.REGEX_PASSWORD, 'Herhaal je nieuwe wachtwoord');
		repeatPasswordElement.addMatch(newPasswordElement, 'De opgegeven wachtwoorden komen niet overeen');
		form.addElement(repeatPasswordElement);

		// Add buttons
		var submitButton = new FormSubmitButton(form, '.submit', {showLoader: true});
		form.addButton(submitButton);

		// Save form
		this.form = form;
	}

});
