Ext.onReady(function(){
	//инициализируем подсказки
	Ext.QuickTips.init();
	var button = Ext.get('login_window');
	button.on('click', function(){		var login = new Ext.FormPanel({
			id: 'login_panel',
			cls: 'color: #000000',
			labelWidth:80,
			frame:true,
			width:230,
			padding:200,
			defaultType:'textfield',

			//создаём предметы нашей формы параметр name определяет имя передаваемой переменной
			items:[{
				fieldLabel:'Логин',
				itemCls: 'login_window',
                name:'Login',
                id:'Login_frm',
                width:280,
                allowBlank:false,
                // ловим нажатие Enter
                listeners: {
                	specialkey: function(f,e){
                		if(e.getKey() == e.ENTER){submit_frm();}
                	}
                }
               },
               {
                fieldLabel:'Пароль',
                itemCls: 'login_window',
                name:'Pass',
                width:280,
                inputType:'password',
                allowBlank:false,
                // ловим нажатие Enter
                listeners: {
                	specialkey: function(f,e){
                		if(e.getKey() == e.ENTER){submit_frm();}
                	}
                }
               }],

    // Добавляем кнопку
        buttons:[{
        	id: 'submit_btn',
			text:'Вход',
			// обработчик нажатия на кнопку
			handler:submit_frm
		},{
			text: 'Отмена',
			handler:function(){
			loginwindow.close();
			}
		}]
		});
    // создаём окно которе просто будет контейнером для формы
    var loginwindow = new Ext.Window({
        layout:'fit',
        width:400,
        height:150,
        title:'Вход на сайт',
        closable: true,
        resizable: false,
        plain: false,
		bodyBorder: true,
		items: [login]
    });

	loginwindow.show(button);
	// Передаём фокус первому полю формы.
	loginwindow.on('show',select_focus, null, { delay: 400 });
	function select_focus()
	{
		focused = false;
		loginwindow.items.each(function(f)
		{
			f.form.items.each(function (i)
			{
				if (focused == false)
				{
					if (i.isVisible() == true)
					{
						focused = true;
						i.focus();
					}
				}
			});
		});
	};
	// Функция отправки формы	function submit_frm(){
		if(login.getForm().isValid()){
                    login.getForm().submit({
                    	clientValidation: true,
                        method:'POST',
                        waitTitle:'Соединение',
                        waitMsg:'Передача данных...',

            // задаём путь куда субмитится форма
                        url:'include/try_login.php',

            //  если авторизация успешна осведомляем пользователя и делаем редирект
                        success:function(){
                        	loginwindow.close();
                        	var redirect = '?id_menu=3&id_menu_sub=0';
							window.location = redirect;
                        },

            //  если авторизация не успешна осведомляем пользователя с указанием причины и сбрасываем форму

                        failure:function(form, action){
                            if(action.failureType == 'server'){
                                obj = Ext.util.JSON.decode(action.response.responseText);
                                if(obj.errors.reason == 'admin')
                                {
                                	// Если админ ломится.
                                	window.location = 'room/admincontrol.php';
                                }
                                else
                                {
                                	Ext.Msg.alert('Ошибка входа!', obj.errors.reason);
                                }
                            }else{
                                Ext.Msg.alert('Внимание!', 'Механизм аутентификации сервера неработоспособен : ' + action.response.responseText);
                            }
                            login.getForm().reset();
                            select_focus();
                        }
                    });
			}
		};
	});
});