Uwd.System.ForgotPassword = function(config){
	if (!config) {
		config = {
			layout: 'form',
			labelWidth: 40,
			bodyStyle: 'padding: 10px'
		};	
	}
	Uwd.System.ForgotPassword.superclass.constructor.call(this, config);
	
	this.initForm();
};

Ext.extend(Uwd.System.ForgotPassword, Ext.Panel, {
		   
	initForm : function() {
		var textPanel = new Ext.Panel({
			border: false,
			html: Uwd.System.LoginLanguage.forgotPassword.desc + '<br />&nbsp;'
		});
		
		this.emailField = new Ext.form.TextField({
			allowBlank: false,
			fieldLabel: Uwd.System.LoginLanguage.forgotPassword.field,
			name: 'email',
			enableKeyEvents: true,
			vtype : 'email',
			width: 150
		});
		
		var btn = new Ext.Button({
			text: Uwd.System.LoginLanguage.forgotPassword.button
		});
		
		btn.on('click', this.sendForm.createDelegate(this));
		this.emailField.on('keydown', this.sendForm.createDelegate(this));
		var btnField = new Ext.Panel({
			border: false,
			buttons: [btn]
		});
		
		this.add(textPanel);
		this.add(this.emailField);
		this.add(btnField);
		this.doLayout();
	},
	
	sendForm : function(el, e) {
		if (!this.emailField.validate()) {
			return;	
		}
		if(!e.getKey() || e.getKey() == e.ENTER){
			this.body.mask();
			// Request um Login Daten abzufragen
			Ext.Ajax.request({
				url: window.system.getBackendUrl(),
				method:'post',
				params: {
					controller: 'Login',
					basePath: 'system/',
					action: 'forgotPassword',
					mail: this.emailField.getValue()
				},
				success: function(result, request) {
					var jsonData = Ext.decode(result.responseText);
					this.body.unmask();
					if (jsonData.success === true) {
						//Ext.get('forgot-pass-link').fireEvent('click');
						this.ownerCt.hide();
						window.system.login._forgotPassIsShow = false;
						this.emailField.setValue('');
						Ext.Msg.show({
						   title: Uwd.System.SystemLanguage.mailSent,
						   msg: Uwd.System.LoginLanguage.forgotPassword.mailSent,
						   buttons: Ext.Msg.OK,
						   icon: Ext.MessageBox.INFO
						});
					} else {
						Ext.MessageBox.alert(Uwd.System.SystemLanguage.error, Uwd.System.LoginLanguage.error.mailNotFound);
					}					
				}.createDelegate(this),
				failure: function(result, request) {
					this.body.unmask();
					Ext.MessageBox.alert(Uwd.System.SystemLanguage.error, Uwd.System.SystemLanguage.connectionError);
				}.createDelegate(this)
			});
		}
		//alert(this.emailField.getValue());	
	
	}
});
