Ext.onReady(function(){
	//Ext.EventManager.onWindowResize(centerPanel);
	
	var loginPanel = Ext.get("qo-login-panel");
	
	var loginBtn = Ext.get("submitBtn");
	loginBtn.on({
		'click': { fn: login }
		, 'mouseover': { fn: function(){ loginBtn.addClass('qo-login-submit-over'); } }
		, 'mouseout': { fn: function(){ loginBtn.removeClass('qo-login-submit-over'); } }
	});
	
	/*centerPanel();
	
	function centerPanel(){
		var xy = loginPanel.getAlignToXY(document, 'c-c');
		positionPanel(loginPanel, xy[0], xy[1]);
	}*/
	
	function hideLoginFields(){
		Ext.get("field1-label").setDisplayed('none');
		Ext.get("field1").setDisplayed('none');
		Ext.get("field2-label").setDisplayed('none');
		Ext.get("field2").setDisplayed('none');
	}
	
	
	function login(){		
		var emailField = Ext.get("field1");
		var email = emailField.dom.value;
		var pwdField = Ext.get("field2");
		var pwd = pwdField.dom.value;
		
		if(validate(email) === false){
			alert("Su cuenta de usuario es requerido");
			return false;
		}
		
		if(validate(pwd) === false){
			alert("Su password es requerido");
			return false;
		}
		
		loginPanel.mask('Por favor espere...', 'x-mask-loading');
		
		Ext.Ajax.request({
			url: 'HttpHandlers/Login.ashx'
			, params: {
				module: 'login'
				, user: email
				, pass: pwd
			}
			, success: function(o){
				loginPanel.unmask();
				
				if(typeof o == 'object'){
					var d = Ext.decode(o.responseText);
					
					if(typeof d == 'object'){
						if(d.success == true){
	                        if(d.sessionId !== ""){								
								loginPanel.mask('Redireccionando...', 'x-mask-loading');
								
								// Obtenemos la ruta.
								var path = window.location.pathname,
									path = path.substring(0, path.lastIndexOf('/') + 1);
																
								// redirect the window
								window.location = path+'Default.aspx';
								
							}
						}else{
							if(d.errors && d.errors.msg){
							    alert(d.errors.msg);
							}else{
								alert('Errors encontrados en el servidor.');
							}
						}
					}
				}
			}
			, failure: function(){
				loginPanel.unmask();
				alert('Se perdio la conexión con el servidor.');
			}
		});
	}
	
	function positionPanel(el, x, y){
        if(x && typeof x[1] == 'number'){
            y = x[1];
            x = x[0];
        }
        el.pageX = x;
        el.pageY = y;
       	
        if(x === undefined || y === undefined){ 
            return;
        }
        
        if(y < 0){ y = 10; }
        
        var p = el.translatePoints(x, y);
        el.setLocation(p.left, p.top);
        return el;
    }
       
    function validate(field){
		if(field === ""){
			//field.markInvalid();
			return false;
		}
		return true;
	}
});
