var xmlhttp = null;

function validaDatos()
{
	if(obj('username').value == ""){
		alert("Favor de escribir tu nombre de usuario");
		obj('username').focus();
		return false;
	}
	if(obj('password').value == ""){
		alert("Favor de escribir tu contraseña");
		obj('password').focus();
		return false;
	}
	
    if(checkUser() == false){
        return false;
    }
    
    obj('datos').submit();
	
    return 0;
}

function showDiv(divId)
{
    obj(divId).style.display = "inline";
    
    return 0;
}

function recuperaPasswd()
{
    if(obj('email').value == ""){
		alert("Favor de escribir el correo electrónico con el que diste de alta tu cuenta");
		obj('email').focus();
		return false;
    }
    
    obj('emailForm').submit();
    
    return 0;
}

function checkUser()
{
    if(loadJSONuser("/services/validaUser.php?username=" + obj('username').value + "&password=" + obj('password').value) == false){
        return false;
    }
    return true;
}

function loadJSONuser(url)
{
	if(window.XMLHttpRequest){		// code for Mozilla, etc.
		if(xmlhttp){
			xmlhttp.abort;
		}
		xmlhttp = new XMLHttpRequest();
	}
	else{
		if(window.ActiveXObject){	// code for IE
            try{
                xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
            }
			catch(e){
                try{
                    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
                }
				catch(e){
					alert("Name:\t" + e.name + "\nMessage:\t" + e.message);
				}
            }
		}
	}
    if(xmlhttp){
    	xmlhttp.open("GET",url,false);		//asynchronious false para que se detenga; false no funciona en Firefox en modo Asincrono
        xmlhttp.send(null);
        if(xmlhttpCheckUser() == false){	
            return false;
        }
    }
	else{
    	alert('Giving up :( Cannot create an XMLHTTP instance');
    	return false;
	}
	return true;
}

function xmlhttpCheckUser()
{
    var jsonObj = eval("(" + xmlhttp.responseText + ")");
    if(jsonObj.msgError != "EXISTE"){
        alert("Nombre de usuario o contraseña incorrectos");
        return false;
    }
    
    return true;
}
