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

<?php echo HTML::style('Intl-Tel-Input/css/intlTelInput.css'); ?>

<?php echo HTML::style('Webui-Popover/jquery.webui-popover.min.css'); ?>

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

<?php echo HTML::style('jquery-ezdz/jquery.ezdz.min.css'); ?>

<?php echo HTML::style('image-picker/image-picker.css'); ?>

<style type="text/css">
	.intl-tel-input {
		height: 34px !important;
		width: 100%;
		display: table-cell;
	}
	.intl-tel-input.allow-dropdown input {
		padding-right: 6px !important;
		padding-left: 52px !important;
		margin-left: 0;
	}
	.intl-tel-input.allow-dropdown ul.country-list {
		z-index: 9999 !important;
	}
	.seleccionado {
		color: #282323;
		font-weight: normal;
	}
	.disable {
		pointer-events: none;
		opacity: 0.5;
	}
	.mdAvatar .modal-dialog .modal-content .modal-header {
		background-color: #363B3F;
	}
	.modal .modal-header .bootstrap-dialog-close-button{
		display: block !important;
	}
	select.slReadonly {
		background: #eee !important;
		cursor: no-drop;
		pointer-events: none !important;
	}
</style>
<style type="text/css">
	.img-biblioteca { height: 100px; }
	.image_picker_image { height: 100px !important; width: 119px !important; }
	.ModalBiblioteca .modal-dialog { width: 75%; }
	.ModalBiblioteca .modal-dialog .modal-footer { display: unset !important; border-top: unset !important; }
	.image_picker_image { object-fit: contain; }
	.text-count-wrapper-t { display: none; }
	.text-count-wrapper-d { display: none; }
</style>
<?php $__env->stopSection(); ?>

<?php $__env->startSection('Contenido'); ?>
<?php $Cliente = Cliente::find( $Empleado->clientes_id ); ?>
<div class="row">
	<div class="col-md-12">
		<h2><i class="fa fa-users"></i> Gestión de prospectos </h2>
	</div>
</div>

<div class="row">
	<div class="col-md-12">
		<div class="block-web">
			<div class="header"> <h3 class="content-header"> Agregar Venta </h3> </div>
			<div class="porlets-content">
				<?php echo Form::open(array('route' => 'SysWebGClientesClientesAgregarVenta', 'method' => 'post', 'class' => 'form-horizontal row-border', 'id' => 'frmAgregar', 'files' => true, 'target' => 'upload_iframe')); ?>

					<fieldset  style="border-top: 0px; margin-bottom: 15px;" class="servicios-productos">
						<div id="dvPrecio">
							<div class="form-group">
								<label class="col-sm-3 control-label"> Detalle de compra </label>
								<div class="col-sm-9">
									<table class="table table-bordered" id="tblProductosVenta">
										<thead>
											<tr>
												<th>Producto o servicio <span class="label label-success" style="cursor: pointer;" onclick="agregarProducto()"><i class="fa fa-plus"></i></span></th>
												<th>Precio de lista (<?php echo $Cliente->codigo_moneda; ?> <?php echo $Cliente->simbolo_moneda; ?>)</th>
												<th>Cantidad</th>
												<!--th>Precio de unitario (<?php echo $Cliente->codigo_moneda; ?> <?php echo $Cliente->simbolo_moneda; ?>)</th-->
												<th>Total (<?php echo $Cliente->codigo_moneda; ?> <?php echo $Cliente->simbolo_moneda; ?>)</th>
											</tr>
										</thead>
										<tbody>
											<tr>
												<th colspan="3" style="text-align: right;">
													Total (<?php echo $Cliente->codigo_moneda; ?> <?php echo $Cliente->simbolo_moneda; ?>)
												</th>
												<td>
													<input class="form-control nmTT" type="text" readonly value="0">
												</td>
											</tr>
										</tbody>
									</table>
									<input type="hidden" name="productos" id="productos">
									<span class="text-danger" id="errproductos"></span>
								</div>
							</div>
						</div>
					</fieldset>
					<div class="bottom">
						<?php echo Form::button('Guardar', array('class' => 'btn btn-primary', 'id' => 'btnAgregar', 'type' => 'submit', 'data-procesando'=>0)); ?>

						<?php echo HTML::linkRoute('SysWebGClientesClientes', 'Cancelar', array(), array('class' => 'btn btn-default')); ?>

					</div>
				<?php echo Form::close(); ?>

		</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('Intl-Tel-Input/js/intlTelInput.min.js'); ?>

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

<?php echo HTML::script('Webui-Popover/jquery.webui-popover.min.js'); ?>

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

<?php echo HTML::script('Webui-Popover/jquery.webui-popover.min.js'); ?>

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

<?php echo HTML::script('image-picker/image-picker.min.js'); ?>

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

<?php echo HTML::script('jquery-browser-plugin/jquery.browser.min.js'); ?>

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

<?php echo HTML::script('jQueryValidate/jquery.validationEngine-es.js'); ?>

<?php
	$Productos = DB::table('productos_servicios AS ps')
	->select('ps.id AS idPS', 'ps.nombre', 'vps.precio AS precioPS', 'ps.cantidad_ilimitada AS ilimitado', 'vps.id AS idVPS', 'vps.precio AS precioVPS', 'vps.inventario')
	->join('variaciones_productos_servicios AS vps', 'vps.productos_servicios_id', '=', 'ps.id')
	->where('ps.clientes_id', '=', $Cliente->id)
	->whereRaw("(ps.tipo = 'PD' OR ps.tipo = 'S') OR (ps.tipo = 'P' AND ps.sin_variaciones = 1)")
	->orderBy('ps.id', 'ASC')
	->get();
	$ProductosJSON = json_encode($Productos);
?>
<script>
	function agregarProducto(){
		var productos = <?php echo $ProductosJSON; ?>;
		var selectProductos = '<select class="form-control selectpicker" name="slProductos" data-live-search="true" data-selected-text-format="count" multiple>';
		$.each(productos, function(i, producto){
			if( $("#tblProductosVenta").find('tr[data-idPS="'+producto.idPS+'"]').length == 0 ){
				var option = '<option id="op'+producto.idPS+'" value="'+producto.idPS+'" data-idPS="'+producto.idPS+'" data-precio="'+producto.precioPS+'" data-ilimitado="'+producto.ilimitado+'" data-idVPS="'+producto.idVPS+'" data-inventario="'+producto.inventario+'"> \
					'+producto.nombre+'\
				</option>'
				selectProductos = selectProductos+option;
			}
		});
		selectProductos = selectProductos+"</select>";
		var mensaje = '<div class="row"> \
			<div class="col-xs-12"> \
				<form id="frmAgregarProductos"> \
					<div class="form-group"> \
						<label for="slProductos">Productos a agregar</label> \
						'+selectProductos+' \
						<span class="text-danger" id="errslProductos"></span> \
						<div id="dvProductos" style="padding-top: 10px;"></div> \
					</div> \
				</form> \
			</div> \
		</div>';
		BootstrapDialog.show({
			title: "Agregar productos a la compra del prospecto",
			type: BootstrapDialog.TYPE_SUCCESS,
			message: mensaje,
			draggable: true,
			cssClass: "mdAvatar",
			closable: false,
			buttons: [{
				id: "btnEliminar",
				label: "Agregar",
				cssClass: "btn-success btn-lg btn-block",
				action: function(dialogItself){
					var modalBody = dialogItself.getModalBody();
					$.each(
						modalBody.find(".selectpicker").val(),
						function(key, value){
							var nPA = $('tr[data-PA]').length;
							nPA = "00"+nPA;
							var option = $("#op"+value);
							var max = "";
							var errInventario = "";
							if( parseInt(option.attr("data-ilimitado")) == 0 ){
								var valor = (option.attr("data-inventario") == 0)?1:option.attr("data-inventario");
								max = 'max="'+valor+'"';
								errInventario = '<span class="text-danger" id="errIn">Este producto actualmente no cuenta con inventario</span>';
							}
							else{
								max = 'max="'+1000+'"';
							}
							var preciop = (option.attr("data-precio") == 'null' )?0:option.attr("data-precio");
							var total = 1*parseFloat(preciop);
							total = Math.round(total*100)/100;
							var tr = '<tr data-idPS="'+option.attr("data-idps")+'" data-idVPS="'+option.attr("data-idvps")+'" data-idVXP="0" data-PA="'+nPA+'"> \
								<td> \
									<span class="label label-warning" style="cursor: pointer;" onclick="eliminarProducto(\''+nPA+'\')"><i class="fa fa-trash"></i></span> \
									'+option.html()+' \
									<input type="hidden" name="PAproducto'+nPA+'" value="'+option.attr("data-idps")+'"> \
									<input type="hidden" name="PAvariacion'+nPA+'" value="'+option.attr("data-idvps")+'"> \
									<input type="hidden" name="PAilimitado'+nPA+'" value="'+option.attr("data-ilimitado")+'"> \
								</td> \
								<td class="precio"> \
									'+preciop+' \
								</td> \
								<td> \
									<input class="form-control nmPV nmPVC" data-id="'+nPA+'" type="number" data-precio="'+parseFloat(option.attr("data-precio")).toFixed(2)+'" name="PAcantidad'+nPA+'" value="1" min="1" '+max+'> \
									<span class="text-danger" id="errcantidad'+nPA+'"></span> \
									'+errInventario+' \
								</td> \
								<!-- td> \
									<input class="form-control nmPV nmPVPV" data-id="'+nPA+'" type="number" name="PAprecio_venta'+nPA+'" value="'+parseFloat(preciop).toFixed(2)+'" min="0.01" step="0.01"> \
									<span class="text-danger" id="errprecio_ventaPA'+nPA+'"></span> \
								</td --> \
								<td> \
									<input class="form-control nmTU" data-id="'+nPA+'" data-totalu="'+total+'" type="text" readonly value="'+total.toFixed(2)+'"> \
								</td> \
							</tr>';
							$("#tblProductosVenta").find("tbody > tr:last").before(tr);
						}
					);
					programarTablaPrecios();
					var total = 0;
					$(".nmTU").each(function(e){
						total = total+parseFloat( $(this).val() );
					});
					total = Math.round(total*100)/100;
					$(".nmTT").val( total.toFixed(2) );
					dialogItself.close();
				}
			}],
			onshown: function(dialogItself){
				var modalBody = dialogItself.getModalBody();
				modalBody.find(".selectpicker").selectpicker();
				modalBody.find(".selectpicker").on("changed.bs.select", function(e){
					$("#dvProductos").html("");
					$.each(
						$(this).val(),
						function(key, value){
							$("#dvProductos").append(' \
								<span class="label label-info" data-valor="'+$("#op"+value).html()+'"> \
									'+$("#op"+value).html()+' \
								</span> &nbsp; \
							');
						}
					);
				});
			}
		});
	}
	function eliminarProducto(idP){
		var mensajeEl = "<h2> ¿Seguro que desea eliminar? </h2>";
		var classEl = "";
		if( $("#tblProductosVenta").find("tbody tr").length == 2 ){
			mensajeEl = '<div class="alert alert-warning" role="alert"> \
				<p style="font-size: 16px;"> Debes agregar un producto extra para poder eliminar este ya que no puede quedar vacía la venta... </p> \
			</div>';
			classEl = "disabled";
		}
		var mensaje = '<div class="row"> \
			<div class="col-xs-12"> \
				<form id="frmEliminar"> \
					'+mensajeEl+' \
				</form> \
			</div> \
		</div>';
		BootstrapDialog.show({
			title: "Eliminar producto de la venta",
			type: BootstrapDialog.TYPE_WARNING,
			message: mensaje,
			draggable: true,
			cssClass: "mdAvatar",
			buttons: [{
				id: "btnEliminar",
				label: "Eliminar",
				cssClass: "btn-warning btn-lg btn-block "+classEl,
				action: function(dialogItself){
					if( $("#tblProductosVenta").find("tbody tr").length > 2 ){
						if( idP.startsWith("00") ){
							$('tr[data-pa="'+idP+'"]').remove();
						}
						else{
							$("#tblProductosVenta").append('<input type="hidden" name="PEidVXP'+idP+'" value="'+idP+'">')
							$('tr[data-idvxp="'+idP+'"]').remove();
						}
						var total = 0;
						$(".nmTU").each(function(e){
							total = total+parseFloat( $(this).val() );
						});
						total = Math.round(total*100)/100;
						$(".nmTT").val( total.toFixed(2) );
						programarTablaPrecios();
						dialogItself.close();
					}
				}
			}]
		});
	}
	function programarTablaPrecios(){
		$(".nmPVC").numeric({
			allowMinus: false,
			allowThouSep: false,
			allowDecSep: false
		});
		$(".nmPVPV").alphanum({
			allow: ".0123456789",
			disallow: "abcdefghijklmnñopqrstuvwxyz",
			allowSpace: false,
			allowNumeric: true,
			allowUpper: false,
			allowCaseless: false,
			allowOtherCharSets: false,
			forceLower: true
		});
		$(".table").find(".precio").each(function(){
			var precio = accounting.formatMoney($(this).text().trim(), {
				symbol: " ",
				precision: 2,
				decimal : ".",
				thousand: ",",
				format: "%s%v"
			});
			$(this).text(precio);
		});
		$(".nmPV").blur(function(){
			var input = $(this);
			var nInput = $(this).attr("data-id");
			var precioVenta = $(this).attr('data-precio');
			var totalUnitario = parseFloat(precioVenta);
			$('.nmPVPV[data-id="'+nInput+'"]').val(totalUnitario.toFixed(2));
		});
		$(".nmPV").off("input").on("input", function(e){
			var input = $(this);
			var nInput = $(this).attr("data-id");
			var cantidad = $('.nmPVC[data-id="'+nInput+'"]').val();
			var precioVenta = $(this).attr('data-precio');
			var totalUnitario = parseInt(cantidad)*parseFloat(precioVenta);
			totalUnitario = Math.round(totalUnitario*100)/100;
			$('.nmTU[data-id="'+nInput+'"]').attr("data-totalu", totalUnitario);
			totalUnitario = accounting.formatMoney(totalUnitario, {
				symbol: " ",
				precision: 2,
				decimal : ".",
				thousand: ",",
				format: "%s%v"
			});
			$('.nmTU[data-id="'+nInput+'"]').val(totalUnitario);
			var total = 0;
			$(".nmTU").each(function(e){
				//total = total+parseFloat($(this).val() );
				total = total+parseFloat( $(this).attr("data-totalu") );
			});
			//total = Math.round(total*100)/100;
			total = accounting.formatMoney(total, {
				symbol: " ",
				precision: 2,
				decimal : ".",
				thousand: ",",
				format: "%s%v"
			});
			$(".nmTT").val( total );
		});
	}
</script>
<?php $__env->stopSection(); ?>

<?php $__env->startSection('JSOr'); ?>
<?php if( Agent::isDesktop() ): ?>
$(".sidebar-toggle-box").trigger("click");
<?php endif; ?>
<?php if(isset($_GET['idC'])): ?>
var idC = "<?php echo $_GET['idC']; ?>";
$("#frmAgregar").append('<input type="hidden" name="cliente_crm" value="'+idC+'">');
<?php endif; ?>
$(".inTelIn").intlTelInput({
	utilsScript: "<?php echo asset('Intl-Tel-Input/js/utils.js'); ?>"
});
$(".inTelIn").intlTelInput("setCountry", "<?php echo $Cliente->pais; ?>");
$("#frmAgregar").submit(function(e){
	e.preventDefault();
	if($("#frmAgregar").valid()){
		$.isLoading({ text: "Cargando..." }); NProgress.start();
		$("#btnAgregar").html('<i class="fa fa-spinner fa-spin"></i> Cargando').prop("disabled", true);
		if($(".nmPV").length > 0){
			$("#frmAgregar").find("#productos").val(1);
		}
		var idsp = [];
		$("#tblProductosVenta").find("[data-idps]").each(function(){
			idsp.push($(this).attr("data-idps"));
		});
		$("#tblProductosVenta").find("[data-idvps]").each(function(){
			var idV = $(this).attr("data-idvps");
			var cantidad = $(this).find(".nmPVC").val(); 
			$("#frmAgregar").append('<input type="hidden" name="cantidad'+idV+'" class="data-eliminar" value="'+cantidad+'">');
		});
		$("#frmAgregar").append('<input type="hidden" name="idPS" class="idsPS data-eliminar" value="'+idsp+'">');
		var frmAgregar = new FormData(document.getElementById("frmAgregar"));
		if( $("#btnAgregar").attr("data-procesando") == 0 ){
			$("#btnAgregar").attr("data-procesando", 1);
			$.ajax({
				type: "POST",
				url: "<?php echo URL::route('SysWebGClientesClientesAgregarVenta', array()); ?>",
				data: frmAgregar,
				cache: false,
				contentType: false,
				processData: false,
				dataType: "json",
				success: function(data){
					$.isLoading("hide"); NProgress.done();
					$("#btnAgregar").attr("data-procesando", 0);
					$("#btnAgregar").html("Guardar").prop("disabled", false);
					$("#frmAgregar").find(".data-eliminar").remove();
					$(".idsPS").remove();
					if(data.success){
						new PNotify({ title: "Realizado", text: data.mensaje, type: "success" });
						setTimeout( function(){ window.location.href = "<?php echo URL::route('SysWebGClientesClientes'); ?>"; }, 3000 );
					}
					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(""); } });
					}
				},
				error: function(jqXHR, textStatus, errorThrown){
					new PNotify({ title: "Error", text: textStatus + " " + errorThrown, type: "error" });
				}
			});
		}
	}
});
<?php $__env->stopSection(); ?>
<?php echo $__env->make('BaseSistemaWeb', array_except(get_defined_vars(), array('__data', '__path')))->render(); ?>