<?php
$this->PageTitle = false;
$this->renderPartial('_menu', array('model' => $cliente));
?>
<div class="container">
    <div id="mensagens">
        <div class="alert alert-success" style="display:none;">
            <i class="fa fa-check"></i>
            <div class="alert-message">
                Sucesso
            </div>
        </div>
        <div class="alert alert-danger" style="display:none;">
            <i class="fa fa-ban"></i>
            <div class="alert-message">
                Erro
            </div>
        </div>
    </div>
    <div class="areaAcao">
        <h1>Enviar E-mail</h1>
        <p>
            Esta ação irá enviar um e-mail para <b><?php echo $cliente->CLI_EMAIL; ?></b>
        </p>
        <button class="btn btn-success" id="enviarEmail" data-cliente="<?php echo $cliente->CLI_IDCLIENTE ?>">
            <i class="fa fa-envelope-o" aria-hidden="true"></i> Enviar
        </button>
    </div>

    <div class="areaAcao">
        <h1>Obter hiperlink de recuperação</h1>
        <div class="descricaoObterLink">
            <label for="descricaoRecuperacao">Descreva o meio de entrega <span class="required">*</span></label>
            <textarea class="form-control" id="descricaoRecuperacao"></textarea>
            <div class="error color-red" style="display:none;margin-bottom: 10px;">
                Você precisa descrever o meio de entrega!
            </div>
        </div>
        <button class="btn btn-warning" id="obterLink">
            <i class="fa fa-copy"></i> Obter Link
        </button>

        <div class="input-group" id="linkCopiar" style="display: none;">
            <input type="text" id="copyLink" readonly>
            <span class="input-group-btn">
                <button class="btn btn-default" type="button">
                    <i class="fa fa-copy"></i>
                </button>
            </span>
            <input type="hidden" id="copyStatus">
            <p class="color-blue">Copiado para a área de transferência!</p>
        </div>
    </div>

    <div class="areaAcao">
        <h1>Realizar ação manual</h1>
        <button type="button" class="btn btn-danger" id="trocarSenhaManualmente">
            <i class="fa fa-key"></i> Trocar Senha
        </button>

        <?php
            $form = $this->beginWidget('GxActiveForm', array(
                'id' => 'trocaSenhaCliente-form',
                'htmlOptions' => array('style' => 'display:none')
            ));
        ?>
            <fieldset>
                <p>Preencha os campos abaixo para definir a nova senha do cliente</p>
                <div class="form-group has-feedback password required">
                    <label class="control-label" for="senha">Nova Senha</label>
                    <input type="password" name="senha" class="form-control" placeholder="Nova Senha" required="required" minlength="6" maxlength="20" id="senha">
                </div>
                <div class="form-group has-feedback password required">
                    <label class="control-label" for="confirmacaoSenha">Confirmação da Nova Senha</label>
                    <input type="password" name="confirmacaoSenha" class="form-control" placeholder="Confirmação da Nova Senha" required="required" minlength="6" maxlength="20" id="confirmacaoSenha">
                </div>
            </fieldset>
            <?php echo FaHtml::saveButton("Salvar", array('class' => 'btn btn-success')); ?>
        <?php $this->endWidget(); ?>
    </div>
</div>

<?php
$cs = Yii::app()->clientScript;

$css = <<<CSS
    .areaAcao {
        margin-bottom: 50px;
    }
    .areaAcao > h1 {
        padding-bottom: 0px;
        margin-bottom: 10px;
        border-bottom: 1px solid #ccc;
    }
    #linkCopiar {
        width: 464px;
    }
    #copyLink {
        width: 400px;
        height: 26px;
        margin-bottom: 5px;
        z-index: 1;
        border-top-right-radius: 0;
        border-bottom-right-radius: 0;
    }
    #copyLink + .input-group-btn {
        display: inline;
    }
    #copyLink + .input-group-btn > .btn {
        width: 50px;
        padding: 7px 8px;
        margin-top: -4px;
        z-index: 2;
        border-top-left-radius: 0;
        border-bottom-left-radius: 0;
    }

    #trocaSenhaCliente-form {
        width: 500px;
        margin-top: 15px;
    }
    #trocaSenhaCliente-form input {
        height: 26px;
        margin: 0;
    }
    #trocaSenhaCliente-form .has-feedback .form-control-feedback {
        top: 30px !important;
        right: 0 !important;
    }
CSS;
$cs->registerCss('solicitar_senha_css', $css);

$script = <<<JAVASCRIPT
    $(document).on("click", "#enviarEmail", function () {
        $("#mensagens").children('.alert').hide();

        var cliente = {$cliente->CLI_IDCLIENTE};
        // var token = {$token->id};
        $.ajax({
            url: createUrl('clientes/EnviarEmailSenha'),
            type: 'POST',
            data: {
                cliente: cliente,
            },
        })
        .done(function(result) {
            if (result == "sucesso") {
                var alert = $("#mensagens").find('.alert-success');
                alert.find('.alert-message').html("E-mail enviado com sucesso!");
            } else {
                var alert = $("#mensagens").find('.alert-danger');
                alert.find('.alert-message').html("Ocorreu um erro ao enviar o e-mail!");
            }
            alert.fadeIn(400);
        })
        .fail(function() {
            var alert = $("#mensagens").find('.alert-danger');
            alert.find('.alert-message').html("Ocorreu um erro ao enviar o e-mail!");
            alert.fadeIn(400);
        });
    });

    $(document).on("click", "#obterLink", function () {
        $("#mensagens").children('.alert').hide();

        var elemento = $(this);
        var descricao = elemento.siblings('.descricaoObterLink').find('textarea');

        descricao.removeClass('error');
        descricao.siblings('.error').hide();
        if (descricao.val() != "") {
            $('#copyStatus').val('');
            $.ajax({
                url: createUrl('clientes/getTokenAreaDoCliente', {
                    id: {$cliente->CLI_IDCLIENTE}
                }),
                type: 'POST',
                data: {
                    descricao: descricao.val()
                },
            })
            .done(function(url) {
                $("#copyLink").val(url);

                var alert = $("#mensagens").find('.alert-success');
                alert.find('.alert-message').html("Link copiado para a área de transferência!");

                elemento.hide();
                $('#linkCopiar').fadeIn('400');
                $('#copyStatus').val('sucesso');
            })
            .fail(function() {
                alert("Ocorreu um erro na solicitação!");
                $('#copyStatus').val('');
            });

            setTimeout(function() {
                if ($("#copyStatus").val() != "") {
                    $('#copyLink').select();
                    document.execCommand("Copy");
                }
            }, 1000);
        } else {
            descricao.addClass('error');
            descricao.siblings('.error').fadeIn(400);
        }
    });

    $(document).on("click", "#linkCopiar > .input-group-btn > .btn", function () {
        var link = $(this).parent().siblings('input');
        link.select();
        document.execCommand("Copy");
    });

    $(document).on("click", "#trocarSenhaManualmente", function () {
        $("#mensagens").children('.alert').hide();

        var elemento = $(this);
        var cliente = {$cliente->CLI_IDCLIENTE};

        $("#trocaSenhaCliente-form").fadeIn(400);
    });

    $(document).on("click", "#trocaSenhaCliente-form button", function () {
        var senhas = $("#senha, #confirmacaoSenha");
        senhas.parent().removeClass('has-error');
        senhas.parent().find('.at-error').remove();

        var senha = $("#senha");
        var confirmacao = $("#confirmacaoSenha");
        if (senha.val() != confirmacao.val()) {
            var msg = "<div class=\"at-error\">As senhas não conferem!</div>";
            senhas.parent().addClass('has-error');
            senhas.parent().append(msg);

            return false;
        }
        return true;
    });
JAVASCRIPT;

$cs->registerScript('solicitar_senha_script', $script);
