<!-- Main Header -->
<!-- Navbar -->
<nav class="main-header navbar navbar-expand bg-white navbar-light border-bottom">
	<!-- Left navbar links -->
	<ul class="navbar-nav">
		<li class="nav-item">
			<a class="nav-link" data-widget="pushmenu" href="#"><i class="fa fa-bars"></i></a>
		</li>
	</ul>

	<!-- SEARCH FORM -->
	<form class="form-inline ml-3">
		<div class="input-group input-group-sm">
			<input class="form-control form-control-navbar" name="q" type="search" placeholder="Search" aria-label="Search">
			<div class="input-group-append">
				<button class="btn btn-navbar" type="submit">
					<i class="fa fa-search"></i>
				</button>
			</div>
			<span name="searching" class="d-none"><i class="fa fa-spinner fa-spin fa-fw" style="margin-top: .33em; width: 1em; height: 1em;"></i></span>
			<div id="search_results"></div>
		</div>
	</form>

	<!-- Right navbar links -->
	<ul class="navbar-nav ml-auto">
		@include('adminlte::layouts.partials.topmenu')

		@if(Auth::check())
			<!-- Profile Settings -->
			<li class="nav-item dropdown">
				<a class="nav-link" data-toggle="dropdown" href="#">
					<i class="fa fa-cog"></i>
				</a>
				<div class="dropdown-menu dropdown-menu-lg dropdown-menu-right">
					<span class="dropdown-item dropdown-header">{{ $user->name ?: 'User Name' }}</span>

					<div class="dropdown-divider"></div>
					<a href="{{ url('settings') }}" class="dropdown-item">
						<i class="fa fa-user mr-2"></i> Settings
					</a>

					<div class="dropdown-divider"></div>
					<a href="{{ url('logout') }}" class="dropdown-item">
						<i class="fa fa-sign-out mr-2"></i> Log Out
					</a>
				</div>
			</li>
		@endif

		<!-- Control Side Bar -->
		@isset($controlsidebar)
			<li class="nav-item">
				<a class="nav-link" data-widget="control-sidebar" data-slide="true" href="#">
					<i class="fa fa-th-large"></i>
				</a>
			</li>
		@endisset

	</ul>
</nav>

@section('page-scripts')
	@js('/plugin/bootstrap3-typeahead/js/bootstrap3-typeahead.min.js','bs-typeahead')

	<script type="text/javascript">
		$(document).ready(function() {
			$("input[name=q]").typeahead({
				delay: 500,
				minLength: 2,
				items: {{ isset($search_limit) ? $search_limit : 15 }},
				fitToElement: false,
				appendTo: "#search_results",
				source: function (query,process) {
					search('{{ url("search",['date'=>isset($ido) ? $ido->id : NULL]) }}',query,process);
				},

				matcher: function () { return true; },

				updater: function (item) {
					window.parent.location.href = '{{ url("/") }}'+users[item];
				},
			})
			.on('keyup keypress', function(event) {
				var key = event.keyCode || event.which;
				if (key === 13) {
					event.preventDefault();
					return false;
				}
			});
		});

		var c=0;
		var search = _.debounce(function(url,query,process,icon){
			$.ajax({
				url : url,
				type : 'GET',
				data : 'term=' + query,
				dataType : 'JSON',
				async : true,
				cache : false,
				beforeSend : function() {
					if (c++ == 0) {
						if (icon)
							$('i[name='+icon+']').addClass("fa-spin");
						else {
							$('span[name=searching]').removeClass("d-none");
						}
					}
				},
				success : function(data) {
					// if json is null, means no match, won't do again.
					if(data==null || (data.length===0)) return;

					users = {};
					userLabels = [];
					_.each(data,function(item,ix,list) {
						if (_.includes(users,item.label))
							item.label = item.label + ' #' + item.value;

						userLabels.push(item.label);
						users[item.label] = item.value;
					});

					process(userLabels);
				},
				complete : function() {
					if (--c == 0) {
						if (icon)
							$('i[name='+icon+']').removeClass("fa-spin");
						else {
							$('span[name=searching]').addClass("d-none");
						}
					}
				}
			})
		}, 500);
	</script>
@append