Ext.onReady(function(){
	
	var cp = new Ext.state.CookieProvider({expires: new Date(new Date().getTime()+(1000*60*60*24*365))});
	Ext.state.Manager.setProvider(cp);
	
    Ext.QuickTips.init();

    var login = new Ext.FormPanel({ 
        labelWidth:80,
        url:'../request/login.php', 
        frame:true, 
        title:'Login', 
        defaultType:'textfield',
		monitorValid:false,
        items:[{ 
                fieldLabel:'Usuário', 
                name:'loginUsername', 
                allowBlank:false,
                value:cp.get('username')
            },{ 
                fieldLabel:'Senha', 
                name:'loginPassword', 
                inputType:'password', 
                allowBlank:false 
            }],
 
        buttons:[{ 
                text:'Login',
                formBind: true,	 
                handler:function(){ 
                    login.getForm().submit({ 
                        method:'POST', 
                        waitTitle:'Conectando', 
                        waitMsg:'Enviando dados...',
 
                        success:function(){ 
				   	   			cp.set('username',login.getForm().findField('loginUsername').getValue())
		                        var redirect = 'admin.php'; 
		                        window.location = redirect;
                        },
  
                        failure:function(form, action){ 
                            if(action.failureType == 'server'){ 
                                obj = Ext.util.JSON.decode(action.response.responseText); 
                                Ext.Msg.alert('Login falhou!', obj.errors.reason, function(btn, text) {
								   if (btn == 'ok'){
						                        login.getForm().findField('loginPassword').reset(); 
				                            login.getForm().findField('loginPassword').focus();
				                                   }
							        });
                            }else{ 
                                Ext.Msg.alert('Aviso!', 'Servidor de autenticação não está disponível : ' + action.response.responseText); 
                            }
                        } 
                    }); 
                } 
            }] 
    });
 
    var win = new Ext.Window({
        layout:'fit',
        width:300,
        height:150,
        closable: false,
        resizable: false,
        plain: true,
        border: false,
        items: [login]
        
	});
	win.show();
	
	
});
