@if(isset($language))
<div id="link-field-{{$id}}" class="form-field-link is-versionable form-group form-language-group {{ $blocksMode ? "blocks-mode--$blocksMode" : 'blocks-mode--hide' }} form-language-{{ $language }}{{ $language == $defaultLang ? ' default-lang' : '' }}{{(isset($hasErrors) && $hasErrors ? ' has-group-error' : '')}}{{ $parentHidden ? ' parent-hidden' : '' }}" style="{{ !empty($hide) ? 'display:none' : '' }}">
@else
<div id="link-field-{{$id}}" class="form-group is-versionable {{ $blocksMode ? "blocks-mode--$blocksMode" : 'blocks-mode--hide' }} {{ $hasErrors ? ' has-group-error' : '' }}{{ $parentHidden ? ' parent-hidden' : '' }}" style="{{ !empty($hide) ? 'display:none' : '' }}">
@endif
    {!! Form::label($id, ucfirst($label), array('class' => 'control-label')) !!}
    @if(isset($language))
        <div class="form-group-translation-tools pull-right">
            @include('admin.generic.components.forms.copy-translation')
        </div>
    @endif
    <div class="well">
        <div class="row">
            <div class="col-sm-8">
                <div class="form-group @error($errorKey . '.label') has-error @enderror">
                    {!! Form::text($name . '[label]', $linkLabel, array(
                    'id' => $id . '_label',
                    'class' => 'form-control field-link-label ' . (isset($language) && $language == $defaultLang ? ' default-lang' : ''),
                    'maxlength' => $maxLength,
                    'data-toggle' => (isset($errors) && $errors->has($errorKey . '.label') ? 'tooltip': null),
                    'title' => (isset($errors) && $errors->has($errorKey . '.label') ? $errors->first($errorKey . '.label'): null),
                    'disabled' => $enabled ? null : 'disabled',
                    'placeholder' => trans('backend.insert_link_label')
                    )) !!}
                </div>
            </div>
            <div class="col-sm-4">
                <div class="form-group">
                    <label class="checkbox-inline">
                        {!! Form::checkbox($name . '[isExternal]', 'true', $isExternal, array(
                        'id' => $id . '_isExternal',
                        'class' => 'is-external-checkbox',
                        'disabled' => $enabled ? null : 'disabled'
                        )) !!}
                        <b>@lang('backend.external_link')</b>
                    </label>
                </div>
                <div class="form-group">
                    <label class="checkbox-inline">
                        {!! Form::checkbox($name . '[isNewtab]', 'true', $isNewtab, array(
                        'id' => $id . '_isNewtab',
                        'class' => 'is-newtab-checkbox',
                        'disabled' => $enabled ? null : 'disabled'
                        )) !!}
                        <b>@lang('backend.external_newtab')</b>
                    </label>
                </div>
            </div>
        </div>
        <div class="internal-link-chooser">
            {!! Form::hidden($name . '[selectedObjectId]', $selectedObjectId, array(
                    'id' => $id . '_selectedObjectId',
                    'class' => 'selected-object-id'
                    )) !!}
            <div class="row select-object" {{ (isset($errors) && $errors->has($errorKey . '.selectedObjectId') ? 'data-toggle="tooltip" title="' . $errors->first($errorKey . '.selectedObjectId') . '"': null) }} >
                <div class="col-sm-8 object-placeholder">
                </div>
                <div class="col-sm-4">
                    <button type="button" class="btn btn-default command-choose-object">
                        <span>@lang('backend.select_object')</span>
                    </button>
                </div>
            </div>
            <div class="row object-list-picker" {{ $isExternal ? 'style="display: none;"' : '' }}>
                <div class="col-sm-8 multiple-picker-wrapper">
                    <select name="{{ $name . '[_search-type]' }}" class="form-control search-type-select {{ sizeof($objectTypes) <=1 ? 'hidden' : '' }}">
                        <option value="">All Types</option>
                        @foreach ($objectTypes as $objectTypes)
                            <option value="{{ $objectTypes }}">{{ $objectTypes }}</option>
                        @endforeach
                    </select>
                    {!! Form::text($name . '[_search]', null, array(
                        'id' => $id . '_search',
                        'class' => 'form-control multiple-picker-search-field',
                        'maxlength' => '150',
                        'placeholder' => ucfirst(Lang::get('backend.search')),
                        'disabled' => $enabled ? null : 'disabled')) !!}
                </div>
                <div class="col-sm-4">
                    <button type="button" class="btn btn-default command-cancel-select">
                        <span>@lang('backend.cancel')</span>
                    </button>
                </div>
            </div>
        </div>
        <div class="row external-link-chooser" {{ !$isExternal ? 'style="display: none;"' : '' }}>
            <div class="col-sm-8">
                <div class="form-group @error($errorKey . '.url') has-error @enderror">
                    {!! Form::text($name . '[url]', $linkUrl, array(
                        'id' => $id . '_url',
                        'class' => 'form-control field-link-url' . (isset($language) && $language == $defaultLang ? ' default-lang' : ''),
                        'data-toggle' => (isset($errors) && $errors->has($errorKey . '.url') ? 'tooltip': null),
                        'title' => (isset($errors) && $errors->has($errorKey . '.url') ? $errors->first($errorKey . '.url'): null),
                        'disabled' => $enabled ? null : 'disabled',
                        'placeholder' => trans('backend.insert_link_url')
                    )) !!}
                </div>
            </div>
        </div>
    </div>
    @if(!empty($info))
        <span id="helpBlock" class="help-block">{{ $info }}</span>
    @endif
</div>

<script>
    $(function(){
        new Eae.View.BackendLinkField({
            el: $("#generic_form_{{RequestContext::get('generic_form_timestamp')}} #link-field-{{$id}}"),
            fieldName: @json($fieldName),
            isExternal: @json($isExternal),
            disabled: {!! $enabled ? 'false': 'true'  !!},
            parent:  {!! empty($parent) ? 'false': json_encode($parent) !!},
            searchUrl: @json($searchUrl),
            selectedObject: @json($selectedObject),
            @if(isset($language))
                language: @json($language)
            @endif
        });
    });
</script>
