@extends('stat.visits.layout')

@section('title')
	@parent
	Стоимость перехода :: Статистика по посещениям
@stop

@section('breadcrumbs')
	{{ Breadcrumbs::render('stat.visits.costs') }}
@stop

@section('css')
	<link rel="stylesheet" href="{{ asset('css/bootstrap-validator.min.css') }}">
@stop

@section('js')
	<script src="{{ asset('js/plugin/x-editable/x-editable.min.js') }}"></script>
	<script src="{{ asset('js/plugin/bootstrapvalidator/bootstrapValidator.min.js') }}"></script>
	<script>
		function initEditable() {
			$('.editable-name').editable({
				url: '/stat/visits/costs/update',
				emptytext: 'Нет'
			});
			$('.editable-cost').editable({
				url: '/stat/visits/costs/update',
				emptytext: '0'
			});

			$('.editable').on('save', function(e, params) {
				if (params.response.status == 'success') {
					if (params.response.operation) {
						$('#visitCost'+params.response.id).replaceWith(params.response.cost);
						initEditable();
						initDeleteRestore();
					}
				}
			});
		}

		//удаление/восстановление операции
		function initDeleteRestore() {
			$('.visit-cost-restore, .visit-cost-delete').unbind('click').on('click', function(){
				var l = Ladda.create(this);
				l.start();
				var btn = this;
						$.post(
								$(this).data('action'),
								{
									'costId': $(this).data('id')
								},
								function(data) {
									if (data.status === 'success') {
										$('#visitCost'+data.id).replaceWith(data.cost);
										initEditable();
										initDeleteRestore();
									}
								},
								'json'
								).always(function() { l.stop(); });
				return false;
			});

			$('#visitCostsContainer tr')
				.mouseover(function(){
					$(this).find('button.visit-cost-restore, button.visit-cost-delete, .visit-cost-debt').stop().fadeIn('normal');
				})
				.mouseout(function(){
					$(this).find('button.visit-cost-restore, button.visit-cost-delete, .visit-cost-debt').stop().fadeOut('fast');
				})
		}

		$(document).ready(function() {
			initEditable();
			initDeleteRestore();

			$('#visitNewCostSbmtBtn').click(function(e) {
				$('#visitNewCostForm')
								.data('bootstrapValidator')
								.updateStatus('visitNewCostName', 'NOT_VALIDATED', null)
								.validateField('visitNewCostName')
								.updateStatus('visitNewCostCost', 'NOT_VALIDATED', null)
								.validateField('visitNewCostCost');
				var l = Ladda.create($('#visitNewCostSbmtBtn').get()[0]);
				l.start();
				$.post(
								$('#visitNewCostForm').attr('action'),
								$('#visitNewCostForm').serialize(),
								function(data) {
									if (data.status === 'success') {
										if (data.cost) {
											$('#visitCostsContainer').append(data.cost);
											initEditable();
											initDeleteRestore();
										}
									}
									else {
									}
								},
								'json'
								).always(function() {l.stop();});
				return false;
			});

			//Валидация формы добавления операции
			$('#visitNewCostForm').bootstrapValidator({
				feedbackIcons: {
					valid: 'glyphicon glyphicon-ok',
					invalid: 'glyphicon glyphicon-remove',
					validating: 'glyphicon glyphicon-refresh'
				},
				submitButtons: 'button[type="submit"]',
				fields: {
					visitNewCostName: {
						validators: {
							notEmpty: {
								message: 'Необходимо указать параметры'
							}
						}
					},
					visitNewCostCost: {
						validators: {
							notEmpty: {
								message: 'Необходимо указать стоимость'
							},
							numeric: {
								message: 'Стоимость должна быть только числом'
							},
							greaterThan: {
								value: 0,
								inclusive: true,
								message: 'Стоимость должна быть больше нуля'
							}
						}
					}
				}
			});
		});
	</script>
@stop

@section('visits_content')
	<table class="table table-condensed table-hover">
		<thead>
			<tr>
				<th>Параметры</th>
				<th>Цена</th>
				<th width="50"></th>
			</tr>
		</thead>
		<tbody id="visitCostsContainer">
			@foreach ($visitCosts as $visitCost)
				@include('stat/visits/cost')
			@endforeach
		</tbody>
	</table>

	<div class="well well-sm">
		{{ Form::open(array('action' => array('StatController@createCost'), 'id' => 'visitNewCostForm', 'class' => 'form-horizontal')) }}
		<div class="form-group">
			<label class="col-sm-2 control-label"></label>
			<div class="col-sm-4">
				<h4>Добавить стоимость</h4>
			</div>
		</div>
		<div class="form-group">
			<label for="visitNewCostName" class="col-sm-2 control-label">Параметры</label>
			<div class="col-sm-4">
				{{ Form::text('visitNewCostName', null, array('class' => 'form-control', 'id' => 'visitNewCostName')) }}
				<p class="help-block">Например: utm_source=ya&r=1</p>
			</div>
		</div>
		<div class="form-group">
			<label for="visitNewCostCost" class="col-sm-2 control-label">Сумма</label>
			<div class="col-sm-4">
				{{ Form::text('visitNewCostCost', 0, array('class' => 'form-control', 'id' => 'visitNewCostCost')) }}
				<p class="help-block">Например: 32 или 0.67</p>
			</div>
		</div>
		<div class="form-group">
			<div class="col-sm-4 col-sm-offset-2">
				<button id="visitNewCostSbmtBtn" type="submit" class="btn btn-primary ladda-button" data-style="zoom-out" data-modal-id="paymentReciveConfirmModal"><span class="ladda-label">Сохранить стоимость</span></button>
			</div>
		</div>
		{{ Form::close() }}
	</div>
@stop