var emailSender = null;

Ext.onReady(function() {
	Ext.BLANK_IMAGE_URL = 'images/s.gif';
	createMailSender();
});

function showSendEmailForm() {
	if (emailSender) emailSender.show();
}

function createMailSender() {
	emailSender = new Ext.Window({
		title : 'Письмо администратору',
		layout : 'fit',
		width : 410,
		height : 410,
		resizable : false,
		closeAction : 'hide',
		items : {
			xtype : 'form',
			layout : 'fit',
			labelWidth : 70,
			frame : true,
			items : {
				xtype : 'fieldset',
				border : false,
				defaults : {
					width : 270,
					xtype : 'textfield',
					allowBlank : false
				},
				items : [{
					fieldLabel : 'Ваше имя',
					name : 'name'
				}, {
					fieldLabel : 'Ваш e-mail',
					vtype: 'email',
					name : 'email'
				}, {
					fieldLabel : 'Тема',
					name : 'subject'
				}, {
					fieldLabel : 'Сообщение',
					xtype : 'textarea',
					height : 220,
					name : 'message'
				}]
			},
			buttons : [{
				text : 'ОК',
				handler : sendEmail
			}, {
				text : 'Отмена',
				handler : function() {
					this.findParentByType('window').hide();
				}
			}]
		}
	});
	emailSender.on('hide', function() {
		form = emailSender.findByType('form')[0].getForm().reset();
	});
}

function sendEmail() {
	var form = emailSender.findByType('form')[0];
	if (form.getForm().isValid()) {
		Ext.Ajax.request({
			url : 'ajax?do=sendEmail',
			params : form.getForm().getValues(),
			headers:{
				'Accept-Charset': 'utf-8'
			},
			success : function(val) {
				Ext.Msg.alert('Отправка письма', 'Письмо успешно отправлено');
				emailSender.hide();
			},
			failure : function(val) {
				Ext.Msg.show({
					msg : 'Ошибка при отправлении письма. Проверьте корректность e-mail',
					title : 'Ошибка',
					buttons : Ext.Msg.OK,
					icon : Ext.MessageBox.ERROR
				});
			}
		});
	} else {
		Ext.Msg.show({
			msg : 'Заполните корректно все поля',
			title : 'Ошибка',
			buttons : Ext.Msg.OK,
			icon : Ext.MessageBox.ERROR
		});
	}
}
