<?php $__env->startSection('CSS'); ?>
<?php echo HTML::style('bootstrap-select/css/bootstrap-select.min.css'); ?>

<?php echo HTML::style('DataTables/dataTables.bootstrap.min.css'); ?>

<?php echo HTML::style('DataTables/responsive.dataTables.min.css'); ?>

<style type="text/css">
	@media (max-width: 450px) { .ModalEliminar .modal-dialog { width: auto; } }
	@media (min-width: 451px) { .ModalEliminar .modal-dialog { width: 450px; } }
	.medicion .bootstrap-select:not([class*=col-]):not([class*=form-control]):not(.input-group-btn){
		width: 90px;
	}
</style>
<?php $__env->stopSection(); ?>

<?php
	$simboloMoneda = ( Cliente::select('simbolo_moneda')->where('users_id', '=', Auth::id())->first()->simbolo_moneda != '' )?Cliente::select('simbolo_moneda')->where('users_id', '=', Auth::id())->first()->simbolo_moneda:'';
	$codigoMoneda = ( Cliente::select('codigo_moneda')->where('users_id', '=', Auth::id())->first()->codigo_moneda != '' )?Cliente::select('codigo_moneda')->where('users_id', '=', Auth::id())->first()->codigo_moneda:'';
?>
<?php $__env->startSection('Contenido'); ?>
<div class="row">
	<div class="col-md-12">
		<h2><i class="fa fa-users"></i> Gestión de prospectos </h2>
	</div><!--/col-md-12-->
</div><!--/row-->

<div class="row">
	<div class="col-md-12">
		<?php if(Session::has('message')): ?>
		<div class="alert alert-info"><?php echo Session::get('message'); ?></div>
		<?php endif; ?>
	</div>
</div>

<div class="row">
	<div class="col-md-12">
		<div class="block-web">
			<div class="header"> <h3 class="content-header"> Listado de variaciones del producto <strong><?php echo $Producto->nombre; ?></strong> </h3> </div>
			<div class="porlets-content">
				<div class="table-responsive">
					<table class="table table-striped table-bordered table-hover" id="tblVariaciones">
						<thead>
							<tr>
								<!--<th class="all"> Descripción </th>-->
								<th class=""> Imágen </th>
								<th class="all"> Atributos </th>
								<th class=""> Precio <?php if( $simboloMoneda != '' ): ?> ( <?php echo $codigoMoneda; ?> <?php echo $simboloMoneda; ?> ) <?php endif; ?> </th>
								<th class=""> Peso envío (g) </th>
								<th class=""> Inventario </th>
								<th class=""> Caducidad </th>
								<th class=""> Margen Ganancia </th>
								<th style="width: 15%;" class="min-tablet-l text-center"> Acciones </th>
							</tr>
						</thead>
					</table>
				</div>
			</div>
			<div class="bottom">
				<a href="<?php echo URL::route('SysWebGClientesProductos'); ?>" class="btn btn-default"> Regresar </a>
				<a href="<?php echo URL::route('SysWebGClientesProductosVariacionesAgregar', array($Producto->id)); ?>" class="btn btn-primary"> Agregar </a>
				<?php if( DB::table('variaciones_productos_servicios AS vps')->leftJoin('atributos_x_variaciones_productos AS axvps', 'axvps.variaciones_productos_servicios_id', '=', 'vps.id')->where('vps.productos_servicios_id', '=', $Producto->id)->count() > 0 ): ?>
				<button type="button" class="btn btn-warning" id="btnEditarAtributos"> Editar atributos </button>
				<?php endif; ?>
			</div>
		</div>
	</div>
</div><!--/row end-->
<?php $__env->stopSection(); ?>

<?php $__env->startSection('JS'); ?>
<?php echo HTML::script('bootstrap-select/js/bootstrap-select.min.js'); ?>

<?php echo HTML::script('DataTables/jquery.dataTables.min.js'); ?>

<?php echo HTML::script('DataTables/dataTables.bootstrap.min.js'); ?>

<?php echo HTML::script('DataTables/dataTables.responsive.min.js'); ?>

<?php echo HTML::script('bootstrap-number-input/bootstrap-number-input.js'); ?>

<?php echo HTML::script('Alphanum/jquery.alphanum.min.js'); ?>

<script type="text/javascript">
	function Clonar(id){
		var id = id;
		$.isLoading({ text: "Cargando..." }); NProgress.start();
		$.post(
			"<?php echo URL::route('SysWebGClientesProductosVariacionesClonar', array($Producto->id)); ?>",
			{idV: id},
			function(data){
				$.isLoading("hide"); NProgress.done();
				//$("#btnAgregar").html("Guardar").prop("disabled", false);
				if(data.success){
					//dialogItself.close();
					var table = $("#tblVariaciones").DataTable();
					table.ajax.reload(null, false);
					new PNotify({ title: "Realizado", text: data.mensaje, type: "success" });
				}
				else{
					if(data.mensaje != ''){ new PNotify({ title: "Error", text: data.mensaje, type: "error" }); }
					$.each(data.errMensajes, function(key, value){ if(value != ''){ $("#err"+key).html(value); } else{ $("#err"+key).html(""); } });
				}
			},
			"json"
		);
	}
	function Actualizar(id){
		var id = id;
		var precio = $(".nmPrecio"+id).val();
		var inventario = $(".nmInventario"+id).val();
		var peso = $(".nmPeso"+id).val();
		var caducidad = $(".nmCaducidad"+id).val();
		var tiempo = $(".slCaducidad"+id).val();
		var ganancia = $(".nmGanancia"+id).val();
		var tipo = $(".slMargenGanancia"+id).val();
		$.isLoading({ text: "Cargando..." }); NProgress.start();
		$.post(
			"<?php echo URL::route('SysWebGClientesProductosVariacionesActualizar', array($Producto->id)); ?>",
			{idV: id, precio: precio, inventario: inventario, peso: peso, caducidad: caducidad, tiempo: tiempo, ganancia: ganancia, tipo_margen: tipo},
			function(data){
				$.isLoading("hide"); NProgress.done();
				//$("#btnAgregar").html("Guardar").prop("disabled", false);
				if(data.success){
					//dialogItself.close();
					var table = $("#tblVariaciones").DataTable();
					table.ajax.reload(null, false);
					new PNotify({ title: "Realizado", text: data.mensaje, type: "success" });
				}
				else{
					if(data.mensaje != ''){ new PNotify({ title: "Error", text: data.mensaje, type: "error" }); }
					$.each(data.errMensajes, function(key, value){ if(value != ''){ $("#err"+key).html(value); } else{ $("#err"+key).html(""); } });
				}
			},
			"json"
		);
	}
	function Eliminar(id){
		var id = id;
		var mensaje = "<div class='row'> \
							<div class='col-xs-12'> \
								<form id='frmEliminar'> \
									<h2> ¿Seguro que desea eliminar? </h2> \
									<input type='hidden' name='idV' value='"+id+"'> \
								</form> \
							</div> \
						</div>";
		BootstrapDialog.show({
			title: "Eliminar registro",
			type: BootstrapDialog.TYPE_DANGER,
			message: mensaje,
			draggable: true,
			cssClass: "ModalEliminar",
			buttons: [{
				id: "btnEliminar",
				label: "Eliminar",
				cssClass: "btn-danger",
				action: function(dialogItself){
					$.isLoading({ text: "Cargando..." }); NProgress.start();
					$("#btnEliminar").prop("disabled", true).html('<i class="fa fa-spinner fa-spin"></i> Eliminando');
					$.post(
						"<?php echo URL::route('SysWebGClientesProductosVariacionesEliminar', array($Producto->id)); ?>",
						{idV: id},
						function(data){
							$.isLoading("hide"); NProgress.done();
							$("#btnEliminar").html("Guardar").prop("disabled", false);
							if(data.success){
								dialogItself.close();
								var table = $("#tblVariaciones").DataTable();
								table.ajax.reload(null, false);
								new PNotify({ title: "Realizado", text: data.mensaje, type: "success" });
							}
							else{
								if(data.mensaje != ''){ new PNotify({ title: "Error", text: data.mensaje, type: "error" }); }
								$.each(data.errMensajes, function(key, value){ if(value != ''){ $("#err"+key).html(value); } else{ $("#err"+key).html(""); } });
							}
						},
						"json"
					);
				}
			}]
		});
	}
</script>
<?php $__env->stopSection(); ?>

<?php $__env->startSection('JSOr'); ?>
<?php
	$desactivado = ( DB::table('productos_servicios AS ps')->join('variaciones_productos_servicios AS vps', 'vps.productos_servicios_id', '=', 'ps.id')->join('detalles_pedidos_productos_servicios AS dpps', 'dpps.variaciones_productos_servicios_id', '=', 'vps.id')->where('ps.id', '=', $Producto->id)->count() == 0 )?'':'disabled';
?>
$("#btnEditarAtributos").click(function(e){
	var mensaje = '<div class="row"> \
		<div class="col-xs-12"> \
			<form id="frmEditarAtributos"> \
				<h2> ¿Seguro que desea editar los atributos? </h2> \
				<p> \
					Si eliminas y/o agregas atributos estos desaparecerán y/o aparecerán en cáda una de las variaciones de este producto, es decir si eliminas el atributo "ejemplo" \
					desaparecerá de todas las variaciones o si agregas el atributo "ejemplo" aparecerá en todas las variaciones y deberás ir a cáda uno de ellas a editar su valor... <br> \
					Una ves hayas realizado una venta con cualquier variacion de este producto, no podrás eliminar ningún atributo debido a que ese registro desaparecería en la venta, \
					sin embargo si podrás agregar atributos cuando tu lo desees pero no eliminarlos... \
				</p> \
				<div class="form-group"> \
					<label class="col-sm-12 control-label"> Atributos </label> \
					<div class="col-sm-12"> \
						<div class="row"> \
							<div class="col-sm-6" id="dvAtributos"> \
								<!-- Atributos --> \
								<?php if( DB::table('variaciones_productos_servicios AS vps')->leftJoin('atributos_x_variaciones_productos AS axvps', 'axvps.variaciones_productos_servicios_id', '=', 'vps.id')->where('vps.productos_servicios_id', '=', $Producto->id)->count() > 0 ): ?>
									<?php $AtributosOligatorios = DB::table('atributos_x_variaciones_productos AS axvps')->select('aps.id', 'aps.nombre')->leftJoin('atributos_productos_servicios AS aps', 'aps.id', '=', 'axvps.atributos_productos_servicios_id')->leftJoin('variaciones_productos_servicios AS vps', 'vps.id', '=', 'axvps.variaciones_productos_servicios_id')->where('vps.productos_servicios_id', '=', $Producto->id)->groupBy('aps.id')->get(); ?>
									<?php foreach( $AtributosOligatorios as $AtributoOligatorio ): ?>
								<div class="input-group" style="padding-bottom: 10px;" id="dvAttr<?php echo $AtributoOligatorio->id; ?>"> \
									<input type="text" name="attributo<?php echo $AtributoOligatorio->id; ?>" class="form-control" disabled value="<?php echo $AtributoOligatorio->nombre; ?>"> \
									<input type="hidden" name="atributos[]" value="<?php echo $AtributoOligatorio->id; ?>"> \
									<div class="input-group-btn"> \
										<button class="btn btn-danger" type="button" data-id="<?php echo $AtributoOligatorio->id; ?>" <?php echo $desactivado; ?>> \
											<i class="fa fa-trash-o"></i> \
										</button> \
									</div> \
								</div> \
									<?php endforeach; ?>
								<?php endif; ?>
							</div> \
							<div class="col-sm-6"> \
								<div class="input-group"> \
									<select class="form-control selectpicker" data-live-search="true" id="slAtributos"> \
										<?php $Atributos = AtributoPS::select('id', 'nombre')->where('clientes_id', '=', Cliente::select('id')->where('users_id', '=', Auth::id())->first()->id)->get();?>
										<?php foreach($Atributos as $Atributo): ?>
										<option value="<?php echo $Atributo->id; ?>"> <?php echo $Atributo->nombre; ?> </option> \
										<?php endforeach; ?>
									</select> \
									<div class="input-group-btn"> \
										<button id="btnSlAtributo" class="btn btn-default" type="button"> \
											<i class="fa fa-plus"></i> \
										</button> \
									</div> \
								</div> \
							</div> \
						</div> \
						<span class="text-danger" id="erratributos"> </span> \
					</div> \
				</div> \
				<input type="hidden" name="idP" value="<?php echo $Producto->id; ?>"> \
			</form> \
		</div> \
	</div>';
	BootstrapDialog.show({
		title: "Edición de atributos",
		type: BootstrapDialog.TYPE_WARNING,
		message: mensaje,
		draggable: true,
		cssClass: "ModalEliminar2",
		buttons: [{
			id: "btnEditar",
			label: "Editar",
			cssClass: "btn-warning",
			action: function(dialogItself){
				$.isLoading({ text: "Cargando..." }); NProgress.start();
				$("#btnEditar").prop("disabled", true).html('<i class="fa fa-spinner fa-spin"></i> Eliminando');
				$.post(
					"<?php echo URL::route('SysWebGClientesProductosVariacionesEditarAtributos', array($Producto->id)); ?>",
					$("#frmEditarAtributos").serialize(),
					function(data){
						$.isLoading("hide"); NProgress.done();
						$("#btnEditar").html("Guardar").prop("disabled", false);
						if(data.success){
							dialogItself.close();
							var table = $("#tblVariaciones").DataTable();
							table.ajax.reload(null, false);
							new PNotify({ title: "Realizado", text: data.mensaje, type: "success" });
						}
						else{
							if(data.mensaje != ''){ new PNotify({ title: "Error", text: data.mensaje, type: "error" }); }
							$.each(data.errMensajes, function(key, value){ if(value != ''){ $("#err"+key).html(value); } else{ $("#err"+key).html(""); } });
						}
					},
					"json"
				);
			}
		}],
		onshown: function(dialogRef){
			var modalBody = dialogRef.getModalBody();
			$("#dvAtributos").find(".btn-danger").each(function(e){
				$(this).off("click").on("click", function(e){
					var id = $(this).attr("data-id");
					$("#dvAtributos").find("#dvAttr"+id).remove();
				});
			});
			$("#btnSlAtributo").click(function(e){
				var id = $("#slAtributos").val();
				var atributo = $("#slAtributos option:selected").text();
				if( $("#dvAtributos").find("#dvAttr"+id).length == 0 ){
					var input = '<div class="input-group" style="padding-bottom: 10px;" id="dvAttr'+id+'"> \
						<input type="text" name="attributo'+id+'" class="form-control" disabled value="'+atributo+'"> \
						<input type="hidden" name="atributos[]" value="'+id+'"> \
						<div class="input-group-btn"> \
							<button class="btn btn-danger" type="button" data-id="'+id+'"> \
								<i class="fa fa-trash-o"></i> \
							</button> \
						</div> \
					</div>';
					$("#dvAtributos").append(input).find(".btn-danger").each(function(e){
						$(this).off("click").on("click", function(e){
							var id = $(this).attr("data-id");
							$("#dvAtributos").find("#dvAttr"+id).remove();
						});
					});
				}
			});
		},
	});
});
$("a[data-toggle=\"tab\"]").on("shown.bs.tab", function(e){ $.fn.dataTable.tables({visible: true, api: true}).columns.adjust(); });
$("#tblVariaciones").DataTable({
	"processing": true,
	"serverSide": true,
	"ajax": "<?php echo URL::route('SysWebGClientesProductosVariaciones', array($Producto->id)); ?>",
	columns: [
		/*{data: "descripcion", name: "descripcion"},*/
		{data: "imagenes", name: "imagenes", "searchable": false, "orderable": false},
		{data: "atributos", name: "atributos", "searchable": false, "orderable": false},
		{data: "precio", name: "precio"},
		{data: "peso", name: "peso"},
		{data: "inventario", name: "inventario"},
		{data: "caducidad", name: "caducidad"},
		{data: "margen_ganancia", name: "margen_ganancia"},
		{data: "acciones", name: "acciones", "searchable": false, "orderable": false, "class": "text-center"}
	],
	"language": {
		"url": "<?php echo asset('DataTables/Spanish.json'); ?>"
	},
	"fnDrawCallback": function(oSettings){
		$(".tooltips").tooltip();
		//$(".nmPrecio").bootstrapNumber();
		//$(".nmInventario").bootstrapNumber();
		$(".nmPrecio, .nmInventario, .nmPeso, .nmCaducidad, [name='slCaducidad'], .nmGanancia, [name='slMargenGanancia']").bind("click keyup", function(e){
			var id = $(this).attr("data-id");
			var btnActualizar = $(".btnActualizar"+id);
			var precio = $(".nmPrecio"+id).val();
			var peso = $(".nmPeso"+id).val();
			var slCaducidad = $(".slCaducidad"+id).val();
			var slMargenGanancia = $(".slMargenGanancia"+id).val();
			var caducidad = $(".nmCaducidad"+id).val();
			var nmGanancia = $(".nmGanancia"+id).val();
			var inventario = $(".nmInventario"+id).val();
			if( precio == btnActualizar.attr("data-precio") && inventario == btnActualizar.attr("data-inventario") && peso == btnActualizar.attr("data-peso") && caducidad == btnActualizar.attr("data-caducidad") 
			&& nmGanancia == btnActualizar.attr("data-ganancia") &&  slCaducidad == btnActualizar.attr("data-tiempo") && slMargenGanancia == btnActualizar.attr("data-tipo")){
				btnActualizar.addClass("disabled");
			}
			else{
				btnActualizar.removeClass("disabled");
			}
		});
		$("[name='slCaducidad'], [name='slMargenGanancia']").change(function(e){
			var id = $(this).attr("data-id");
			var slCaducidad = $(".slCaducidad"+id).val();
			var slMargenGanancia = $(".slMargenGanancia"+id).val();
			var btnActualizar = $(".btnActualizar"+id);
			var precio = $(".nmPrecio"+id).val();
			var peso = $(".nmPeso"+id).val();
			var caducidad = $(".nmCaducidad"+id).val();
			var nmGanancia = $(".nmGanancia"+id).val();
			var inventario = $(".nmInventario"+id).val();
			if( precio == btnActualizar.attr("data-precio") && inventario == btnActualizar.attr("data-inventario") && peso == btnActualizar.attr("data-peso") && caducidad == btnActualizar.attr("data-caducidad") 
			&& nmGanancia == btnActualizar.attr("data-ganancia") &&  slCaducidad == btnActualizar.attr("data-tiempo") && slMargenGanancia == btnActualizar.attr("data-tipo")){
				btnActualizar.addClass("disabled");
			}
			else{
				btnActualizar.removeClass("disabled");
			}
		});
		$('[name="slCaducidad"], [name="slMargenGanancia"]').selectpicker({
			container: "body",
		});
		$('[name="txtGanancia"]').alphanum({
			allow: ".0123456789",
			disallow: "abcdefghijklmnñopqrstuvwxyz",
			allowSpace: false,
			allowNumeric: true,
			allowUpper: false,
			allowCaseless: false,
			allowOtherCharSets: false,
			forceLower: true
		});
		$('[name="txtCaducidad"]').alphanum({
			allow: "123456789",
			disallow: "abcdefghijklmnñopqrstuvwxyz",
			allowSpace: false,
			allowNumeric: true,
			allowUpper: false,
			allowCaseless: false,
			allowOtherCharSets: false,
			forceLower: true
		});
		$.each( oSettings.json.data ,function(i, dato){
			if(dato.tiempo_caducidad != '' && dato.tiempo_caducidad != null){
				$('.slCaducidad'+dato.id).selectpicker('val', dato.tiempo_caducidad);
			}
			else{
				$('.slCaducidad'+dato.id).selectpicker('val', 'D');
			}
			if(dato.tipo_margen_ganancia != '' && dato.tipo_margen_ganancia != null){
				$('.slMargenGanancia'+dato.id).selectpicker('val', dato.tipo_margen_ganancia);
			}
			else{
				$('.slMargenGanancia'+dato.id).selectpicker('val', 'D');
			}
		});
	},
	autoWidth: false,
	responsive: true
});
<?php if(Session::has('EliminarMensajeS')): ?>
new PNotify({ title: "Realizado", text: "<?php echo Session::get('EliminarMensajeS'); ?>", type: "success" });
<?php endif; ?>
<?php if(Session::has('EliminarMensajeE')): ?>
new PNotify({ title: "Realizado", text: "<?php echo Session::get('EliminarMensajeE'); ?>", type: "error" });
<?php endif; ?>
<?php $__env->stopSection(); ?>
<?php echo $__env->make('BaseSistemaWeb', array_except(get_defined_vars(), array('__data', '__path')))->render(); ?>