<?php
    $items = array(
        array($this->translate('Profile'), '/account/myprofile')
    );
    $privilege = new Web_Validate_Checkroleresourceprivilege();
    if ($privilege->isValid(array('resource' => 'account', 'privilege' => 'manageusers'))) {
        array_push($items, array($this->translate('Admin'), '/account/admin'));
    }
    if (Zend_Registry::get('UserObj')->isAllowed ('', '', 'managevendorlogo')) {
        array_push($items, array($this->translate('Logos'), '/account/assets'));
    }
    array_push($items, array($this->translate('Defaults'), '/account/labeldefaults'));
    array_unshift($items, array($this->translate('General'), '/account/general', true));
    echo $this->partial('partials/sub-nav.phtml', array('items' => $items));
?>
<script type="text/javascript">
$(document).ready(function () {

    function isEmail(email) {
        var regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/;
        return regex.test(email);
    }

    function invalidEmailError() {
        $('#auth0Email-error-message').fadeIn();
    }

    $('#submit_general_settings').click(
        function (){
            $('#auth0Email-error-message').fadeOut();
            $('#auth0Email-success-message').fadeOut();
            $('#submit_general_settings_message').fadeOut();
            $('#submit_general_settings_error').fadeOut();
            var generalSettingsValues = $('#general_settings_form').serialize();
            var settingsArray = $('#general_settings_form').serializeArray();
            var emailValue = $.grep(settingsArray, function(field) {
                return field.name === 'auth0Email';
            });
            if (!isEmail(emailValue[0].value)) {
                invalidEmailError();
                return false;
            }
            $.ajax({
                type: 'POST',
                url: '/account/savegeneralsettings',
                data: generalSettingsValues,
                dataType: 'json',
                success: function(response, textStatus, XMLHttpRequest){
                    $('#submit_general_settings_message').fadeIn();
                    if (response.auth0_email) {
                        $('#auth0Email-success-message').fadeIn();
                    }
                },
                error: function(xhr, textStatus, errorThrown){
                    $('#submit_general_settings_error').fadeIn();
                }
             });
            return false;
    });

    $('#change-password-btn').click(
        function (){
            $('#change-password-success-message').fadeOut();
            $.ajax({
                type: 'POST',
                url: '/account/changeauth0password',
                dataType: 'json',
                success: function(response, textStatus, XMLHttpRequest){
                    $('#change-password-success-message').fadeIn();
                },
                error: function(xhr, textStatus, errorThrown){
                    $('#submit_general_settings_error').fadeIn();
                }
             });
            return false;
    });
});
</script>
<div id="content" class="two-thirds-content">
    <div class="panel panel-default">
        <div>
            <h2>
                <?=$this->translate('General Settings')?>
            </h2>
        </div>
        <div class="panel-body">
            <form id="general_settings_form" class="full-width">
                <div class="form-group flex-form">
                    <label for="auth0Email" class="FormField-label settings-label">
                        <div><?=$this->translate('Login Email')?></div>
                        <div class="form-sublabel">
                            <?=$this->translate('This is a login email for all your accounts.')?>
                        </div>
                    </label>
                    <div class="flex-form form-message-group">
                        <input id="auth0Email" name="auth0Email" class="form-control" value="<?=$this->auth0Email?>" type="email" />
                        <span id="auth0Email-error-message" class="error top-space notDisplay"><?=$this->translate('Please enter a valid email address.')?></span>
                        <span id="auth0Email-success-message" class="top-space notDisplay"><?=$this->translate('Please follow the instructions we\'ve sent to your email.')?></span>
                    </div>
                </div>
                <div class="form-group flex-form button-form-group">
                    <label for="change-password" class="FormField-label settings-label">
                        <div><?=$this->translate('Change Password')?></div>
                    </label>
                    <div class="flex-form form-message-group">
                        <a class="btn btn-default flex-form-button" id="change-password-btn"><?=$this->translate('Change Password')?></a>
                        <span id="change-password-success-message" class="top-space notDisplay"><?=$this->translate('Please follow the instructions we\'ve sent to your email.')?></span>
                    </div>
                </div>
                <?php if (count($this->linkedAccounts)) { ?>
                    <div class="form-group flex-form">
                        <label for="primaryAccountSelect" class="FormField-label settings-label">
                            <div><?=$this->translate('Primary Account')?></div>
                            <div class="form-sublabel">
                                <?=$this->translate('Choose your default account on login.')?>
                            </div>
                        </label>
                        <select id="primaryAccountSelect" name="primaryAccount" class="form-control">
                            <option value="">
                                <?=$this->company?>
                            </option>
                            <?php foreach ($this->linkedAccounts as $linkedAccount) { ?>
                                <option
                                    value="<?=$linkedAccount['vc_id']?>_<?=$linkedAccount['auth0_user_id']?>"
                                    <?=$linkedAccount['auth0_primary'] == 'Y' ? 'selected="selected"' : ''?>
                                >
                                    <?=$linkedAccount['company']?>
                                </option>
                            <?php } ?>
                        </select>
                    </div>
                <?php } ?>
            </form>
        </div>
    </div>
    <a class="btn btn-primary pageFormBtn"><span id="submit_general_settings"><?=$this->translate('Save General Settings')?></span></a>
    <span id="submit_general_settings_message" class="submitMessage notDisplay"><?=$this->translate('General settings saved.')?></span>
    <span id="submit_general_settings_error" class="top-space notDisplay"><?=$this->translate('There was a problem saving your workstation general settings. Please contact support.')?></span>
</div>
