/** usada desde el alta de usuarios o desde el area privada
 *
 *  origen == 1 : alta de usuarios
 *  origen == 2 : area privada (modificación del avatar existente)
 *
 ***/
function subirAvatar(origen){
    $.ajaxFileUpload({
            url: "/usuario/subirAvatar",
            data:"nick=" + $("#txtNick").val() + "&pass=" + $("#txtPass").val() + "&email=" + $("#txtEmail").val() + "&src=" + $("#previewFoto img").attr("src") ,
            secureuri:false,
            fileElementId:"foto",
            dataType: "json",
            beforeSend: function() {
                $('#subiendo_imagen').show();
                $('#btnGuardar').hide();
                $('#previewFoto').html('&nbsp;');
                $('#previewFoto').attr("style", "background-image:url(/recursos/images/icons/preloader.gif); background-position:50% 50%; background-repeat:no-repeat; text-align:center;");
            },
            success: function (data){
                $('#subiendo_imagen').hide();
                $('#btnGuardar').show();
                if(data.error == 0){
                    if (origen == 2) {
                        $("#previewFoto").html('&nbsp;');
                        $("#previewFoto").attr("style", "width:120px;");
                        //fuerzo un ancho de la imágen. Si es más alta, se va hacia abajo.
                        $("#previewFoto").html('<img id="avatarNew" alt="" width="112" src="' + data.datos + '"/>');
                    }
                    else {
                        $("#previewFoto").html('<img alt="" width="112" src="' + data.datos + '" style="display:inline"/>');
                    }
                    $("#txtAvatarSrc").attr("value", data.datos);
                }else{
                    $("#previewFoto").attr("style", "&nbsp;");
                    $("#previewFoto").html('');
                    $('#modalwinInfo').dialog('option', 'title', 'Error').dialog('option', 'width', 300).html("<p>"+data.error+"</p>").dialog( 'close' ).dialog( 'open' );
                }
            },
            error: function (){
                $('#modalwinInfo').dialog('option', 'title', 'Error').dialog('option', 'width', 300).html("<p>Ha ocurrido un error inesperado con esta imágen. Por favor inténtalo con otra imagen diferente, o contacta con nosotros y te ayudaremos.</p>").dialog( 'close' ).dialog( 'open' );
            }
    });
    return false;
}

/**
 *  desde el login, al hacer click en "has olvidado la contraseña?"
 *  **/
function procesoRecordarPassword(contenido_modal) {
    $('#olvidaste_contrasenia').html('');
    $('#modalwinInfo').dialog('option', 'title', 'Recuperación de la contraseña').dialog('option', 'width', 280).html(contenido_modal).dialog('open');

}

/*
 * envío del formulario que recoge la dirección de email para el restablecimiento de la contraseña
 */
function enviarEmailPassword() {
    $.ajax ({
            url: "/usuario/ajax/envio_recuperacion_password",
            type: "POST",
            data:"txtEmail=" + $("#txtEmailToSend").val(),
            secureuri:false,
            dataType: "json",
            success: function (data){
                if (data.error == 0) {
                    $('#recuperar_label').slideToggle();
                    $('#recuperar_form').slideToggle();
                    $('#exito').slideToggle();
                }
                else {
                    $('#miniAlert').html('<p style="color:red;padding-top:10px;display:block">'+data.error+'</p>');
                }
            },
            error: function (){
                    $('#modalwinInfo').html("<p>"+data.error+"</p>");
            }
    })
}

/*
 *  desde la vista de restablecimiento de contraseña: esta función recoge el formulario con los 2 passwords
 */
function resetPassword(){
    if ($('#txtPassword_1').val() != $('#txtPassword_2').val()){
        $('#miniError').html('<p style="color:red;padding-top:10px;">'+error_pass_dont_match+'</p>');
    }
    else if ($('#txtPassword_2').val().length < 4) {
        $('#miniError').html('<p style="color:red;padding-top:10px;">'+error_pass_short+'</p>');
    }
    else {
        $.ajax ({
                url: "/usuario/ajax/reset_password",
                type: "POST",
                data:"password_1=" + $("#txtPassword_1").val() + "&password_2=" + $("#txtPassword_2").val() + "&token=" + $("#token").val(),
                secureuri:false,
                dataType: "json",
                beforeSend: function() {
                },
                success: function (data){
                    if (data.error == 0) {
                        $('#introduccion_password').slideToggle();
                        $('#success').slideToggle();
                    }
                    else {
                        $('#miniError').html('<p style="color:red;padding-top:10px;">'+data.error+'</p>');
                    }
                },
                error: function (){
                        $('#modalwinInfo').dialog('option', 'title', 'Error').dialog('option', 'width', 300).html("<p>"+data.error+"</p>").dialog( 'close' ).dialog( 'open' );
                }
        })
    }
}


function rellenaAvatares(tipo){
    $.ajax ({
            url: "/usuario/ajax/rellena_avatares",
            type: "POST",
            secureuri:false,
            data: "tipo=" + tipo,
            dataType: "json",
            beforeSend: function() {
                $('#modalwinInfo').html('');
                $("#modalwinInfo").html("<p align='center'>cargando la galería de imágenes...<br><br><img src='/recursos/images/icons/preloader.gif' /></p>");
            },
            success: function (data){
                $('#modalwinInfo').html(data.datos);
            },
            error: function (){
                $('#modalwinInfo').dialog('option', 'title', 'Error').dialog('option', 'width', 350).dialog('option', 'height', 170).html("<p>Error interno del servidor</p>").dialog( 'close' ).dialog( 'open' );
            }
    });
}
/** alta "normal" por ajax
 *
 */
function alta() {
    //validaciones previas:
    if ( ($('#txtNick').val().length > 0) && ($('#txtEmail').val().length > 0) &&
        ($('#txtPass').val().length > 3) && ($('#txtPass2').val().length > 3) ) {
        if ( ($('#txtAvatarSrc').val() < 1) && ($('#galeriaAvatar').val() == null) ){
        $('#modalwinInfo').dialog('option', 'title', 'Selecciona tu foto').dialog('option', 'width', 700).dialog('option', 'height', 400).dialog( 'close' ).dialog( 'open' ).html(rellenaAvatares('alta'));
        }
        else {
            $.ajax ({
                    url: "/usuario/ajax/alta",
                    type: "POST",
                    data:"txtNick=" + $("#txtNick").val() + "&txtEmail=" + $("#txtEmail").val() + "&password_1=" + $("#txtPass").val() + "&password_2=" + $("#txtPass2").val() + "&avatarSrc=" + $("#txtAvatarSrc").val() + "&avatarGaleria=" + $("#galeriaAvatar").val() + "&chkNewsLetter=" + $('#chkNewsletter').is(':checked') + "&continueToken=" + continueToken,
                    secureuri:false,
                    dataType: "json",
                    beforeSend: function() {
                        $('#modalwinInfo').html('');
                        $('#modalwinInfo').dialog('option', 'title', 'Espere...').dialog('option', 'width', 350).dialog('option', 'height', 170).html("<p align = 'center'>Creando el usuario... <br><br><img src='/recursos/images/icons/preloader.gif' /></p>").dialog( 'close' ).dialog( 'open' );
                    },
                    success: function (data){
                        $('#modalwinInfo').dialog('close');
                        if (data.error == 0) {
                            if (data.datos != '') {
                                window.location = data.datos;
                            }
                            else {
                                window.location = "/que-es-yunait/bienvenida";
                            }
                        }
                        else {
                            $('#modalwinInfo').html('');
                            $('#modalwinInfo').dialog('option', 'title', 'Error').dialog('option', 'width', 350).dialog('option', 'height', 170).html("<p>" + data.error + "</p>").dialog( 'close' ).dialog( 'open' );
                        }
                    },
                    error: function (){
                            $('#modalwinInfo').html('');
                            $('#modalwinInfo').dialog('option', 'title', 'Error').html("<p>Error en el proceso de alta. Inténtalo de nuevo..</p>").dialog( 'close' ).dialog( 'open' );
                    }
            })
        }
    }
    else {
        faltan = '';
        if ($('#txtNick').val().length < 1)     faltan = '<br> · Nombre de Usuario';
        if ($('#txtEmail').val().length < 1)    faltan = faltan + '<br> · Dirección de email';
        if ($('#txtPass').val().length < 1)     faltan = faltan + '<br> · Contraseña';
        if ($('#txtPass2').val().length < 1)    faltan = faltan + '<br> · Confirmación de la contraseña';
        
        if ( ($('#txtPass').val().length < 4) || ($('#txtPass2').val().length < 4) ) {
                faltan = faltan + "<br> · La contraseña debe tener al menos 4 caracteres.";
        }
        $('#modalwinInfo').dialog('option', 'title', 'Error').dialog('option', 'width', 380).dialog('option', 'height', 190).html("Te faltan datos por rellenar:<br>" + faltan + "<p><br></p>").dialog( 'close' ).dialog( 'open' );
    }
}

/**
 *
 *  origen == 1 : alta de usuarios
 *  origen == 2 : area privada (modificación del avatar existente)
 *
 ***/
function preseleccionar(valor,origen) {
    $('#modalwinInfo').dialog('close');
    if (origen == 1) {
        $("#previewFoto").html('<div align="center"><img alt="" src="/recursos/images/galeria_avatares/'+valor+'.jpg" style="display:inline"/></div><input type="hidden" id="galeriaAvatar" name="galeriaAvatar" value="'+valor+'" /><div class="col2" style="width:300px;padding-left:210px"><a href="#" onclick="muestra_galeria(\'alta\');">elegir otro avatar</a></div>');
    }
    else {
        $("#previewFoto").html('<div align="center"><img alt="" src="/recursos/images/galeria_avatares/'+valor+'.jpg" style="display:inline"/></div><input type="hidden" id="galeriaAvatar" name="galeriaAvatar" value="'+valor+'" /><div class="col2" style="width:200px;"></div>');
    }
}

function muestra_galeria(tipo){
        $('#modalwinInfo').dialog('option', 'title', 'Selecciona tu avatar').dialog('option', 'width', 700).dialog('option', 'height', 400).dialog( 'close' ).dialog( 'open' ).html(rellenaAvatares(tipo));
}

function enviarAltaFB() {
    if ($("#txtEmail").val().length < 6) {
        $('#alert p').html('debes introducir tu email');
        abre_cortinilla();
    }
    else {
        params = "txtNick=" + $("#txtNick").val() + "&txtEmail=" + $("#txtEmail").val() + "&chkNewsLetter=" + $('#chkNewsletter').is(':checked');
        $.ajax ({
                url: "/usuario/ajax/alta_facebook",
                type: "POST",
                data: params,
                secureuri:false,
                dataType: "json",
                beforeSend: function() {
                    $('#modalwinInfo').html('');
                    $("#modalwinInfo").html("<p align='center'>creando el usuario...<br><br><img src='/recursos/images/icons/preloader.gif' /></p>").dialog('option', 'width', 300).dialog( 'close' ).dialog( 'open' );
                },
                success: function (data){
                    $('#modalwinInfo').html('').dialog('option', 'width', 450).dialog( 'close' );
                    if (data.error == 0) {
                        if (data.datos.email_rep == 'si') {
                            $('#nick_vincular').html(data.datos.nick);
                            $('#email_vincular').html(data.datos.email);
                            $('#form_email_facebook').slideToggle();
                            $('#form_vincular').slideToggle();
                        }
                        else if (data.datos.nick_rep == 'si') {
                            $("#modalwinInfo").html("<p align='center'><p>Ese nombre de usuario ya existe.</p>\n\
                                <br> <p>Si tú eres <strong>"+ data.datos.nick +"</strong> en Yunait, \n\
                                introduce la dirección de correo electrónico que utilizas en Yunait, \n\
                                para poder vincular tu cuenta de Facebook.</p> <br><p>Sino, tendrás que \n\
                                utilizar un nombre de usuario diferente.</p>").dialog( 'close' ).dialog( 'open' );
                        }
                        else {
                            window.location = "/usuario/invitar";
                        }
                    }
                    else {
                        $('#alert p').html(data.error);
                        abre_cortinilla();
                    }
                },
                error: function (){
                        $('#alert p').html("<p>algo falló en el proceso de alta...</p>");
                        abre_cortinilla();
                }
        })
    }
}

function atrasVincular() {
    $('#form_email_facebook').slideToggle();
    $('#form_vincular').slideToggle();
}

function validaVincular() {
    if ( ($('#txtVincularPass').val() == undefined) || ($('#txtVincularPass').val().length < 4) ) {
        $('#alert p').html("contraseña incorrecta");
        abre_cortinilla();
    }
    else {
        params = "txtEmail=" + $("#email_vincular").html() + "&password_1=" + $("#txtVincularPass").val()
                             + "&continueToken=" + continueToken;
        $.ajax ({
                url: "/usuario/ajax/validaVincular",
                type: "POST",
                data: params,
                secureuri:false,
                dataType: "json",
                beforeSend: function() {
                    $('#modalwinInfo').html('');
                    $("#modalwinInfo").dialog('option', 'width', 300).html("<p align='center'>creando el usuario...<br><br><img src='/recursos/images/icons/preloader.gif' /></p>").dialog( 'close' ).dialog( 'open' );
                },
                success: function (data){
                    $('#modalwinInfo').html('').dialog( 'close' );
                    if (data.error == 0) {
                        $("#modalwinInfo").dialog('option', 'width', 450).html("<p align='left'><p> Ahora ya puedes usar tu cuenta en Yunait \n\
                                con tu usuario de Facebook. </p>").dialog( 'close' )
                                .dialog( 'open' ).bind('dialogclose', function() {
                                $('#modalwinInfo').unbind('dialogclose');
                                window.location.replace(data.datos);
                            });
                    }
                    else {
                        $('#alert p').html('contraseña incorrecta');
                        abre_cortinilla();
                    }
                },
                error: function (){
                        $('#alert p').html("<p>algo falló en el proceso de alta...</p>");
                        abre_cortinilla();
                }
        })
    }
}