$(document).ready(function(){

    $("#btnLogin").click(login);
    $("#btnLogout").click(logout);
    $("#btnOlvido").click(olvido);
    $("#btnRegistro").click(registro);
    $("#ddlPais").change(verDepartamentos);
    $("#btnPreferencias").click(guardarPreferencias);
    $("#btnRegistroFacebook").click(registroFacebook);
    $("#btnCambiarPassword").click(recuperarPassword);
    $("#btnCancelarBorrado").click(cancelarBorrado);
    
    $('#txtPassword').keypress(function(event){
        //Submit on ENTER
        if (event.keyCode == 10 || event.keyCode == 13)
            login();
    });

    $('#txtEmailOlvido').keypress(function(event){
        //Submit on ENTER
        if (event.keyCode == 10 || event.keyCode == 13)
            olvido();
    });

/*if ($("#tdDepartamento").val()!="UY") {
        $("#tdDepartamento").hide();
    }*/

}); //close doc ready

function goToPortada() {
    window.location = WEB_PATH + "portada";
}

function registroFacebook() {

    if (($("#rdbTerminosSi").is(":checked")) && ($("#rdbCondicionesSi").is(":checked"))){

        $.ajax({
            type: 'POST',
            url: WEB_PATH + 'app/frontend/ajax/usuario/registro_facebook.php',
            data: {
                email : $("#txtEmailFB").val(),
                password : $("#txtPasswordlFB").val(),
                registrado : $("#chkRegistrado").is(":checked")
            },
            success : function(response){
			console.log(response);
                if (response.nuevo) {
                    window.location = WEB_PATH + "registro/";
                }
                else {
                    if (response.ok) {
                        window.location = WEB_PATH + "preferencias/";
                    }
                    else {
                        $("#alertaRegistro").css("display", "block");
                        $("#alertaRegistro").html(ERROR_REGISTRO_FACEBOOK);
                    }
                }
            }
        });
    }
    else {
        $("#alertaRegistro").css("display", "block");
        $("#alertaRegistro").html(CONFIRMACIONES_REGISTRO_FACEBOOK);
    }

}

function recuperarPassword() {

    if (($("#txtNewPassword").val()==$("#txtConfirmaNewPassword").val()) && ($("#txtNewPassword").val()!="")) {

        $.ajax({
            type: 'POST',
            url: WEB_PATH + 'app/frontend/ajax/usuario/cambiar_password.php',
            data: {
                code : $("#txtCode").val(),
                password : $("#txtNewPassword").val()
            },
            success : function(response){
                if (response != "0") {
                    $("#alertaRegistro").css("display", "block");
                    $("#alertaRegistro").html(OK_CAMBIO_PASSWORD);
                    window.location = WEB_PATH + "portada";
                }
                else {
                    $("#alertaRegistro").css("display", "block");
                    $("#alertaRegistro").html(ERROR_CAMBIO_PASSWORD);
                }
            }
        });
    }
    else {
        $("#alertaRegistro").css("display", "block");
        $("#alertaRegistro").html(ERROR_CAMBIO_PASSWORD);
    }
}

function archivoSubido(img_path) {
    $('#imgUsuario').attr("src",WEB_PATH + "upload/usuarios/104x104/" + img_path);
}

function login() {

    var email = $("#txtEmail").val();
    var password = $("#txtPassword").val();
    var recordar = $("#chkPermanecer").is(":checked");

    $.ajax({
        type: 'POST',
        url: WEB_PATH + 'app/frontend/ajax/usuario/login.php',
        data: {
            email : email,
            password : password,
            recordar : recordar
        },
        dataType: 'json',
        success : function(response){
            if (!response.ok) {
                loginMensaje(LOGIN_ERROR);
            }
            else {
                if (response.activo) {
                    if (recordar) {
                        //ThefCookie::set("user_id", $usu->id);
                        //setCookie("user_id", response, 30)
                        setCookie("recordame", response.id, 30)
                    }else{
                        setCookie("recordame", "", 0)
                    }
                    window.location.reload();
                }else{
                    loginMensaje(LOGIN_NO_ACTIVO);
                }
            }
                
        }
    });

}

function logout () {
    $.ajax({
        type: 'POST',
        url: WEB_PATH + 'app/frontend/ajax/usuario/logout.php',
        success : function(response){
            setCookie("recordame", "", 0)
            window.location = WEB_PATH + "portada";
        }
        
    });
}

function facebook_unlink() {
    $.ajax({
        type: 'POST',
        url: WEB_PATH + 'app/frontend/ajax/usuario/facebook_unlink.php',
        success : function(response){
            window.location.reload();
        }

    });
}

function twitter_unlink() {
    $.ajax({
        type: 'POST',
        url: WEB_PATH + 'app/frontend/ajax/usuario/twitter_unlink.php',
        success : function(response){
            window.location.reload();
        }

    });
}

function linkedin_unlink() {
    $.ajax({
        type: 'POST',
        url: WEB_PATH + 'app/frontend/ajax/usuario/linkedin_unlink.php',
        success : function(response){
            window.location.reload();
        }

    });
}

function loginMensaje(mensaje){

    $('#msgAlertaLogin').html(mensaje);
    $('#msgAlertaLogin').css('display', 'block') ;

}

function olvido () {

    var email = $("#txtEmailOlvido").val();

    $.ajax({
        type: 'POST',
        url: WEB_PATH + 'app/frontend/ajax/usuario/olvido.php',
        data: {
            email : email
        },
        success : function(response){

            if (response == '0') {
                olvidoMensaje(true);
            }
            else {
                olvidoMensaje(false);
            }

        }
    });

}

function solicitudBorrado () {

    $.ajax({
        type: 'POST',
        url: WEB_PATH + 'app/frontend/ajax/usuario/email_borrado.php',

        success : function(response){
            if(response == '1'){
                $("#avisoRegistro").css("display", "block");
                $("#avisoRegistro").html(AVISO_EMAIL_BORRADO);
                $('.registro').slideUp();
            }else{
                $("#avisoRegistro").html(ERROR_MAIL_DELETE);
                $("#avisoRegistro").attr('class','alerta separador');
            }
            
        }
    });
}

function olvidoMensaje(error){

    if(error) {
        $('#errorOlvido').css('display', 'block') ;
        $('#errorOlvido').html(OLVIDO_ERROR);
        $('#okOlvido').css('display', 'none') ;
    }
    else {
        $('#okOlvido').css('display', 'block') ;
        $('#okOlvido').html(OLVIDO_OK);
        $('#errorOlvido').css('display', 'none') ;
    }
 
}

function registro() {

    if (validarRegistro()) {

        var verif_captcha = verificarCaptcha();
        //alert(verif_captcha);
        if (verif_captcha) {

            // Loader //
            var width = $(document).width();
            var height = $(document).height();

            $('#loaderOverlay').css({
                'height' : height,
                'width' : width
            });
            $('#loaderOverlay').fadeIn();
            $('#SiteLoader').fadeIn();
            // Loader //

            $.ajax({
                type: 'POST',
                url: WEB_PATH + 'app/frontend/ajax/usuario/registro.php',
                dataType: 'json',
                data: {
                    nombre : $("#txtNombre").val(),
                    apellido : $("#txtApellido").val(),
                    email : $("#txtEmailRegistro").val(),
                    password : $("#txtPasswordRegistro").val(),
                    fecha_nacimiento : $("#ddlAnio").val() + "-" + $("#ddlMes").val() + "-" + $("#ddlDia").val(),
                    sexo : $("#ddlSexo").val(),
                    pais : $("#ddlPais").val(),
                    departamento : (!$('#ddlDepartamento').is(':hidden')) ? $("#ddlDepartamento").val() : '',
                    envio_titulares : $("#chkTitulares").is(":checked"),
                    envio_mediodia : $("#chkMediodia").is(":checked"),
                    envio_deportivo : $("#chkDeportivo").is(":checked"),
                    envio_cafe : $("#chkCafe").is(":checked"),
                    envio_cinemag : $("#chkCinemag").is(":checked"),
                    envio_autos : $("#chkAutos").is(":checked"),
                    envio_impacto : $("#chkImpacto").is(":checked"),
                    envio_economico : $("#chkEconomico").is(":checked"),
                    envio_agro : $("#chkAgro").is(":checked"),
                    envio_comerciales : $("#chkComerciales").is(":checked")
                },
                success : function(respuesta){
                
                    $('#loaderOverlay').hide();
                    $('#SiteLoader').hide();
                
                    if (respuesta.success) {
                        $("#alertaRegistro").css("display", "none");
                        $("#avisoRegistro").css("display", "block");
                        $('#avisoRegistro').html(REGISTRO_OK);
                    }
                    else{
                        if (respuesta.response == 'EMAIL_DUPLICADO') {
                            $("#alertaRegistro").css("display", "block");
                            $('#alertaRegistro').html(DUPLICATE_EMAIL_ERROR);
                            $("#avisoRegistro").css("display", "none");
                        }
                        if (respuesta.response ==  'ERROR') {
                            $("#alertaRegistro").css("display", "block");
                            $('#alertaRegistro').html(REGISTRO_ERROR);
                            $("#avisoRegistro").css("display", "none");
                        }
                    }
                }
            });
        }
        else {
            Recaptcha.reload();
            $("#alertaRegistro").css("display", "block");
            $('#alertaRegistro').html(CAPTCHA_ERROR);
            $("#avisoRegistro").css("display", "none");
        }
    }
    else {
        $("#alertaRegistro").css("display", "block");
        $('#alertaRegistro').html(REGISTRO_ERROR);
        $("#avisoRegistro").css("display", "none");
    }
}

function verificarCaptcha() {
    
    var result = false;

    $.ajax({
        type: 'POST',
        url: WEB_PATH + 'app/frontend/ajax/usuario/verify_captcha.php',
        dataType: 'json',
        async : false,
        data: {
            challenge : $("#recaptcha_challenge_field").val(),
            response : $("#recaptcha_response_field").val()
        },
        success : function(respuesta){
            result = (respuesta == "1");
        }
    });

    return result;

}

function mostrarCargando(){
    var width = $(document).width();
    var height = $(document).height();

    $('#loaderOverlay').css({
        'height' : height,
        'width' : width
    });
    $('#loaderOverlay').fadeIn();
    $('#SiteLoader').fadeIn();
}

function guardarPreferencias() {

    if (validarPreferencias()) {

        mostrarCargando();

        $.ajax({
            type: 'POST',
            dataType: 'json',
            url: WEB_PATH + 'app/frontend/ajax/usuario/preferencias.php',
            data: {
                nombre : $("#txtNombre").val(),
                apellido : $("#txtApellido").val(),
                email : $("#txtEmailRegistro").val(),
                password : $("#txtPasswordPreferencias").val(),
                fecha_nacimiento : $("#ddlAnio").val() + "-" + $("#ddlMes").val() + "-" + $("#ddlDia").val(),
                sexo : $("#ddlSexo").val(),
                pais : $("#ddlPais").val(),
                departamento : (!$('#ddlDepartamento').is(':hidden')) ? $("#ddlDepartamento").val() : '',
                envio_titulares : $("#chkTitulares").is(":checked"),
                envio_mediodia : $("#chkMediodia").is(":checked"),
                envio_deportivo : $("#chkDeportivo").is(":checked"),
                envio_cafe : $("#chkCafe").is(":checked"),
                envio_cinemag : $("#chkCinemag").is(":checked"),
                envio_autos : $("#chkAutos").is(":checked"),
                envio_impacto : $("#chkImpacto").is(":checked"),
                envio_economico : $("#chkEconomico").is(":checked"),
                envio_agro : $("#chkAgro").is(":checked"),
                envio_comerciales : $("#chkComerciales").is(":checked"),
                ver_horoscopo : $("#chkHoroscopo").is(":checked")
            },
            success : function(respuesta){
                
                $('#loaderOverlay').hide();
                $('#SiteLoader').hide();
                
                if (respuesta.success) {
                    $('#alertaRegistro').css('display', 'none');
                    $('#avisoRegistro').css('display', 'block');
                    $('#avisoRegistro').html(PREFERENCIA_OK);
                }
                else{
                    if (respuesta.response == 'EMAIL_DUPLICADO') {
                        $("#alertaRegistro").css("display", "block");
                        $('#alertaRegistro').html(DUPLICATE_EMAIL_ERROR);
                        $("#avisoRegistro").css("display", "none");
                    }
                    if (respuesta.response ==  'ERROR') {
                        $('#alertaRegistro').css('display', 'block');
                        $('#alertaRegistro').html(PREFERENCIA_ERROR);
                        $('#avisoRegistro').css('display', 'none');
                    }
                }

            }
        });
                
    }
    else {
        $("#alertaRegistro").css("display", "block");
        $('#alertaRegistro').html(PREFERENCIA_ERROR);
        $("#avisoRegistro").css("display", "none");
    }

}

function validarPreferencias() {

    var validado = true;

    if ($("#txtNombre").val()!="") {
        $("#txtNombre").removeClass("error");
    }
    else {
        $("#txtNombre").addClass("error");
        validado = false;
    }

    if ($("#txtApellido").val()!="") {
        $("#txtApellido").removeClass("error");
    }
    else {
        $("#txtApellido").addClass("error");
        validado = false;
    }

    if ((is_email($("#txtEmailRegistro").val()))) {
        $("#txtEmailRegistro").removeClass("error");
    }
    else {
        $("#txtEmailRegistro").addClass("error");
        validado = false;
    }

    if($("#tdPassword").is(':visible')) {

        if ($("#txtPasswordPreferencias").val()!="") {
            $("#txtPasswordPreferencias").removeClass("error");
        }
        else {
            $("#txtPasswordPreferencias").addClass("error");
            validado = false;
        }

        if ($("#txtPasswordPreferencias").val()==$("#txtConfirmarPasswordPreferencias").val()) {
            $("#txtConfirmarPasswordPreferencias").removeClass("error");
        }
        else {
            $("#txtConfirmarPasswordPreferencias").addClass("error");
            validado = false;
        }
    }

    return validado;

}

function validarRegistro() {

    var validado = true;

    if ($("#txtNombre").val()!="") {
        $("#txtNombre").removeClass("error");
    }
    else {
        $("#txtNombre").addClass("error");
        validado = false;
    }

    if ($("#txtApellido").val()!="") {
        $("#txtApellido").removeClass("error");
    }
    else {
        $("#txtApellido").addClass("error");
        validado = false;
    }

    if ((is_email($("#txtEmailRegistro").val())) && ($("#txtEmailRegistro").val()!="")) {
        $("#txtEmailRegistro").removeClass("error");
    }
    else {
        $("#txtEmailRegistro").addClass("error");
        validado = false;
    }

    if ($("#txtEmailRegistro").val()==$("#txtConfirmaEmail").val())  {
        $("#txtConfirmaEmail").removeClass("error");
    }
    else {
        $("#txtConfirmaEmail").addClass("error");
        validado = false;
    }

    if ($("#txtPasswordRegistro").val()!="") {
        $("#txtPasswordRegistro").removeClass("error");
    }
    else {
        $("#txtPasswordRegistro").addClass("error");
        validado = false;
    }

    if ($("#txtPasswordRegistro").val()==$("#txtConfirmaPassword").val()) {
        $("#txtConfirmaPassword").removeClass("error");
    }
    else {
        $("#txtConfirmaPassword").addClass("error");
        validado = false;
    }

    if ($("#chkAcepto").is(":checked"))  {
        $("#liAcepto").removeClass("error");
    }
    else {
        $("#liAcepto").addClass("error");
        validado = false;
    }

    return validado;

}

function verDepartamentos() {

    if ($(this).val()=="UY") {
        $("#tdDepartamento").show();
    }
    else {
        $("#tdDepartamento").hide();
    }

}

function cambiarPassword() {
    $("#tdPassword").toggle();
    $("#txtPasswordPreferencias").val("");
    $("#txtConfirmarPasswordPreferencias").val("");
    
}

function cancelarBorrado() {
    window.location = WEB_PATH + "preferencias/"
}

function borrarUsuario(codigo) {

    $.ajax({
        type: 'POST',
        url: WEB_PATH + 'app/frontend/ajax/usuario/borrar_usuario.php',
        data: {
            codigo : codigo
        },
        success : function(response){
            if (response == '1') {
                $("#avisoBorrado").css("display", "block");
                $('#avisoBorrado').html(USUARIO_BORRADO);
                window.location = WEB_PATH + "portada/"
            }
            else {
                $("#avisoBorrado").css("display", "block");
                $('#avisoBorrado').html(ERROR_BORRADO);
            }
        }
    });

}


function addHashtag(){
    var tag = $('#txtHashTag').val().trim();
    var existe = false;
    
    if (tag != '' && tag != 'Añadir un tag...') {
        
        $('ul.third li').each(function(index) {
            if ($(this).text().trim() == tag) {
                existe = true;
            }
        });
        
        if (!existe) {
            
            mostrarCargando();
            var objeto = $('li#tooltip_container');
        
            $.ajax({
                type: 'POST',
                url: WEB_PATH + 'app/frontend/ajax/usuario/hashtag_add.php',
                dataType: 'json',
                data: {
                    hashtag : tag
                },
                success : function(response){
                    ocultarCargando();
                    if(response.resultado == true){
                        if (!response.logueado) {//si no está logueado tengo que setear la cookie
                            var cookie = response.cookie;
                            setCookie('hashtags_usuario', cookie, 30);//30 días
                        }
                        objeto.before(response.li_hashtag);
                        $(".btnEliminar").unbind('click');
                        $(".btnEliminar").click(deleteHashtag);

                    }
                    else{
                        //Ocurrió un error.
                        ocultarCargando();
                    }
                /*
			else{
                console.log("No agregó la cookie, tenemos que setear el mensaje de error");
            }*/
                }
            });
        }
        
        
    }
    
}

function deleteHashtag(){
    var tag = $(this).attr('rel');
    var objeto = $(this);
    $.ajax({
        type: 'POST',
        url: WEB_PATH + 'app/frontend/ajax/usuario/hashtag_delete.php',
        dataType: 'json',
        data: {
            hashtag : tag
        },
        success : function(response){
            if(response.resultado == true){
                if (!response.logueado) {//si no está logueado tengo que borrar la cookie
                    var cookie = response.cookie;
                    setCookie('hashtags_usuario', cookie, 30);//30 días
                }
                objeto.parent('li').hide();
            }
        /*else{
                console.log("No boorró la cookie, tenemos que setear el mensaje de error");
            }*/
        }
    });
}
