{#
    Copyright (c) 2015 Chintalagiri Shashank
    Released under the MIT license
#}

{% macro render_field(field, label=None, label_visible=true, right_url=None, right_label=None) -%}
    <div {% if field.errors %} class="error"{% endif %}>
        {% if field.type != 'HiddenField' and label_visible %}
            {% if not label %}{% set label=field.label.text %}{% endif %}
            <label {% if field.errors %} class="error"{% endif %}>{{ label|safe }}</label>
        {% endif %}
        {{ field(class_='form-control', **kwargs) }}
        {% if field.errors %}
            {% for e in field.errors %}
                <small class="error">{{ e }}</small>
            {% endfor %}
        {% endif %}
    </div>
{%- endmacro %}

{% macro render_checkbox_field(field, label=None) -%}
    {% if not label %}{% set label=field.label.text %}{% endif %}
    <div class="checkbox">
        <label>
            {{ field(type='checkbox', **kwargs) }} {{ label }}
        </label>
    </div>
{%- endmacro %}

{% macro render_radio_field(field) -%}
    {% for value, label, checked in field.iter_choices() %}
        <div class="radio">
            <label>
                <input type="radio" name="{{ field.id }}" id="{{ field.id }}" value="{{ value }}"{% if checked %} checked{% endif %}>
                {{ label }}
            </label>
        </div>
    {% endfor %}
{%- endmacro %}

{% macro render_submit_field(field, label=None, tabindex=None) -%}
    {% if not label %}{% set label=field.label.text %}{% endif %}
    <input type="submit" class="button small expand radius" value="{{label}}" {% if tabindex %}tabindex="{{ tabindex }}"{% endif %} >
{%- endmacro %}
