/**
 * @author bellom
 */
var usuario = null;
function UsuarioTeam(usuarioInfo){
    this.id = usuarioInfo.usuarioID;
    this.correo = usuarioInfo.usuarioCorreo;
    this.tipo = usuarioInfo.usuarioCargo;
	this.entradas=usuarioInfo.usuarioEntradas;
	
	this.actualizarBandeja=function(){
		//alert("actualizando bandeja");
		this.entradas--;
		if(this.entradas>0)
			$("#tdEntradasUsu").text("Bandeja de Entrada: "+this.entradas);
		else
			$("#tdEntradasUsu").hide();
	}
}

$("#divAcceso").ready(function(){
    $("#divAcceso").show();
    
    $("#accesoIngresarBtn").click(ingresar);
	$("#accesoRegistroBtn").click(irRegistro);
    $("#accesoRecuperarBtn").click(mostrarRecuperar);
    $("#accesoRecCancelarBtn").click(mostrarIngresar);
    $("#accesoRecEnviarBtn").click(recuperarClave);
    $("#accesoCambiarClaveBtn").click(mostrarCambiarClave);
    $("#accesoCambiarEnviarBtn").click(cambiarClave);
    $("#accesoCambiarCancelarBtn").click(mostrarUsuario);
    $("#accesoCerrarSesionBtn").click(cerrarSesion);
	
	
	$("#accesoCambiarDatosBtn").click(mostrarCambiarDatos);
    
});



function ingresar(){
    var valido = true;
    valido = new validador($("#accesoCorreoText")).esCorreo() && valido;
    valido = new validador($("#accesoClaveText")).minCaracteres(6) && valido;
    if (valido) {
        $.ajax({
            type: "POST",
            url: "accesoUsuario.php",
            dataType: "json",
            data: {
                ingresar: true,
                usuCorreo: $("#accesoCorreoText").val(),
                usuClave: $("#accesoClaveText").val()
            },
            success: function(resultado){
                switch (resultado.error) {
                    case 1:
                        mostrarInfoUsuario(resultado, 'inicio');
                        break;
                    case 2:
                        mostrarError('Se presento un error, intentalo de nuevo', '#divAccesoIngresar');
                        break;
                    case 3:
                        mostrarError('No estas registrado en nuestro sistema, revisa tus datos', '#divAccesoIngresar');
                        break;
                }
                
            }
        });
    }
}

function ingresarHistory(hash){
    $.ajax({
        type: "POST",
        url: "accesoUsuario.php",
        dataType: "json",
        data: {
            ingresarHistory: true
        
        },
        success: function(resultado){
            var pagina = hash;
            if (resultado.error == 1) {
                mostrarInfoUsuario(resultado, pagina);
            }
            else {
                $.historyLoad('home');
            }
            
        }
    });
}

function recuperarClave(){
    var valido = true;
    valido = new validador($("#accesoRecCorreoText")).esCorreo() && valido;
    if (valido) {
        $.ajax({
            type: "POST",
            url: "accesoUsuario.php",
            dataType: "json",
            data: {
                recuperar: true,
                usuCorreo: $("#accesoRecCorreoText").val()
            },
            success: function(resultado){
                switch (resultado.error) {
                    case 1:
                        mostrarError('La nueva clave se ha enviado a tu e-mail registrado', '#divAccesoIngresar');
                        break;
                    case 2:
                        mostrarError('Se presento un error, intentalo de nuevo', '#divAccesoRecuperar');
                        break;
                    case 3:
                        mostrarError('No estas registrado en nuestro sistema, revisa tus datos', '#divAccesoRecuperar');
                        break;
                }
                
            }
        });
    }
}

function cambiarClave(){
    var valido = true;
    valido = new validador($("#accesoClaveViejaText")).minCaracteres(6) && valido;
    valido = new validador($("#accesoClaveNuevaText")).minCaracteres(6) && valido;
    valido = new validador($("#accesoClaveConfText")).minCaracteres(6) && valido;
    if (valido) 
        valido = new validador($("#accesoClaveConfText")).esIgual($("#accesoClaveNuevaText")) && valido;
    if (valido) {
        $.ajax({
            type: "POST",
            url: "accesoUsuario.php",
            dataType: "json",
            data: {
                cambiarClave: true,
                usuCorreo: usuario.correo,
                usuID: usuario.id,
                usuClaveAnterior: $("#accesoClaveViejaText").val(),
                usuClaveNueva: $("#accesoClaveNuevaText").val()
            },
            success: function(resultado){
                switch (resultado.error) {
                    case 1:
                        mostrarError('Se ha cambiado exitosamente tu clave', '#divAccesoUsuario');
                        break;
                    case 2:
                        mostrarError('Se presento un error, intentalo de nuevo', '#divAccesoUsuario');
                        break;
                    case 3:
                        mostrarError('Tu clave es incorrecta, revisa tus datos', '#divAccesoUsuario');
                        break;
                }
                
            }
        });
    }
}

function mostrarRecuperar(){
    $("#divAcceso div").hide();
    $("#divAccesoRecuperar").show();
}

function mostrarIngresar(){
    $("#divAcceso div").hide();
    $("#divAccesoIngresar").show();
}

function mostrarUsuario(){
    $("#divAcceso div").hide();
    $("#divAccesoUsuario").show();
}

function mostrarCambiarClave(){
    $("#divAcceso div").hide();
    $("#divAccesoCambiarClave").show();
}

function mostrarCambiarDatos(){
    cargarPagina("modificar");
}



function mostrarError(errorMensaje, divRetorno){
    $("#divAcceso div").hide();
    $("#errorAcceso").text(errorMensaje);
    $("#divAccesoError").show();
    $("#accesoErrorAceptarBtn").click(function(){
        $("#divAcceso div").hide();
        $(divRetorno).show();
       // $("#divPrincipal").append("regreso<br/>");
        $("#accesoErrorAceptarBtn").unbind('click');
    });
    
}

function mostrarInfoUsuario(info,pagina){
	$("#divAcceso div").not("#divFoto").hide();
	usuario=new UsuarioTeam(info);
	$("#tdNombreUsu").text(info.usuarioNombres + " " + info.usuarioApellidos);
	$("#tdCorreoUsu").html("<div>"+info.usuarioCorreo+"</div>");
	if(info.usuarioFoto)
		$("#imagenFoto").attr("src","resizer.php?imagen="+info.usuarioFoto);
	
	if(info.usuarioCargo=='team')
		$("#accesoCambiarDatosBtn").hide();
	

	$("#divAccesoUsuario").show();
		$("#divPrincipalContenido")
		.load(
			"principal.php",
			{usuCorreo:usuario.correo, usuID:usuario.id},
			function(){
				var usuTipo=new String(usuario.tipo).toLowerCase();
				$("#divPrincipalMenu div").click(function(){
					cargarPagina($(this).attr("title"));
				});
				if(pagina=="inicio")
				pagina=usuTipo+"/"+pagina;
				
				$.historyLoad(pagina);
			}
		);
}


function cargarPagina(pagina){
	var usuTipo = new String(usuario.tipo).toLowerCase();
    var hash = usuTipo + "/" + pagina;
    hash = hash.replace(/^.*#/, '');
	
    $.historyLoad(hash);
    return false;
}


function cerrarSesion(){
    $.ajax({
        type: "POST",
        url: "accesoUsuario.php",
        dataType: "json",
        data: {
            cerrarSesion: true,
            usuCorreo: usuario.correo,
            usuID: usuario.id
        },
        success: function(resultado){
            if (resultado.error == 1) {
                usuario = null;
                $("#nombreUsu").text("");
                //$("#cedulaUsu").text("");
                //$("#cargoUsu").text("");
				$("#correoUsu").text("");
                //mostrarIngresar();
                //$.historyLoad('home');
                //location.("http://localhost/team/");
                window.location.assign("/")
            }
        }
    });
    
}
