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

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

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

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

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

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

<style type="text/css">
	.intl-tel-input, .iti {
		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;
	}
	.tel .input-group, .whats .input-group{
		width: 100%;
	}
	.modal .modal-header .bootstrap-dialog-close-button{
		display: block !important;
	}
	#tblProductosVenta{
		margin-bottom: 0px
	}
	select.slReadonly {
		background: #eee !important;
		cursor: no-drop;
		pointer-events: none !important;
	}
	.ezdz-dropzone i.fa-cloud-upload {
		font-size: 110px !important;
		display: block !important;
	}
	.ezdz-dropzone span.spFlITitulo{
		display: block !important;
		margin: 0 auto !important;
		font-size: 24px !important;
		background: transparent !important;
		color: #989898 !important;
		font-weight: bold !important;
	}
	.ezdz-dropzone span.spFlITexto {
		display: block !important;
		margin: 0 auto !important;
		font-size: 18px !important;
		background: transparent !important;
		color: #989898 !important;
		font-weight: bold !important;
	}
	.ezdz-dropzone.ezdz-reject span.spFlITexto,
	.ezdz-dropzone.ezdz-reject span.spFlITitulo {
		color: #8b0000 !important;
	}
	.ezdz-dropzone img {
		max-width: 300px;
		max-height: 215px;
	}
	.ezdz-dropzone div{
		line-height: 0px;
	}
	.ezdz-accept {
		display: flex;
	}
	.ezdz-accept > div {
		margin: auto;
	}
	.ezdz-accept > div > span{
		padding: 10px;
	}
	.ezdz-dropzone {
		width: 86% !important;
		height: 165px !important;
		border-style: solid !important;
		border-width: 5px !important;
		cursor: pointer;
	}
	.centrar-tabla{
		display: flex;
		justify-content: center;
		align-items: center;
	}
	.row-filtro-tabla{
		margin: auto;
		width: 94%;
	}
	.alert-center{
		margin: auto;
		width: 50%;
	}
	@media  only screen and (max-width: 1024px) {
		div.row.row-filtro-tabla > div{
			width: 50% !important;
			padding-left: 61px;
		}
	}
	@media  only screen and (min-width: 1025px) and (max-width: 1152px) {
		div.row.row-filtro-tabla > div.col-sm-8{
			width: 60% !important;
		}
		div.row.row-filtro-tabla > div.col-sm-4{
			width: 39.333%!important;
			padding-left: 35px;
			padding-right: 0px;
		}
		#slEstadoP ~ div {
			width: 173px !important;
		}
	}
	@media  only screen and (min-width: 1153px) and (max-width: 1280px) {
		div.row.row-filtro-tabla > div.col-sm-8{
			width: 60% !important;
		}
		div.row.row-filtro-tabla > div.col-sm-4{
			width: 39.333%!important;
			padding-left: 81px;
			padding-right: 0px;
		}
		#slEstadoP ~ div {
			width: 195px !important;
		}
		#slFiltroPSProspecto ~ div {
			width: 233px !important;
		}
		#slFiltroEProspecto ~ div {
			width: 267px !important;
		}
	}
	@media  only screen and (min-width: 1281px) and (max-width: 1366px) {
		div.row.row-filtro-tabla > div.col-sm-8{
			width: 63% !important;
		}
		div.row.row-filtro-tabla > div.col-sm-4{
			width: 36.333%!important;
			padding-left: 73px;
		}
		#slEstadoP ~ div {
			width: 121px !important;
		}
		#slFiltroPSProspecto ~ div {
			width: 176px !important;
		}
		#slFiltroEProspecto ~ div {
			width: 170px !important;
		}
	}
	@media  only screen and (min-width: 1441px) and (max-width: 1600px) {
		div.row.row-filtro-tabla > div.col-sm-8{
			width: 62.667% !important;
		}
		div.row.row-filtro-tabla > div.col-sm-4{
			width: 37.333%!important;
			padding-left: 40px;
		}
		#slEstadoP ~ div {
			width: 205px !important;
		}
		#slFiltroPSProspecto ~ div {
			width: 250px !important;
		}
		#slFiltroEProspecto ~ div {
			width: 261px !important;
		}
	}
	@media  only screen and (min-width: 1601px) and (max-width: 1680px) {
		div.row.row-filtro-tabla > div.col-sm-8{
			width: 62.667% !important;
		}
		div.row.row-filtro-tabla > div.col-sm-4{
			width: 37.333%!important;
			padding-left: 61px;
		}
		#slEstadoP ~ div {
			width: 192px !important;
		}
		#slFiltroPSProspecto ~ div {
			width: 240px !important;
		}
		#slFiltroEProspecto ~ div {
			width: 274px !important;
		}
	}
	@media  only screen and (min-width: 800px) and (max-width: 1440px) {
		.alert-center {
			margin: auto !important;
			width: 100% !important;
			font-size: 13px;
		}
		.ezdz-dropzone {
			width: 53% !important;
			height: 120px !important;
			border-width: 3px !important;
		}
		.ezdz-dropzone i.fa-cloud-upload {
			font-size: 72px !important;
		}
		.ezdz-dropzone span.spFlITitulo {
			font-size: 18px !important;
		}
		#progressWizard > .nav > li > a{
			font-size: 11px !important;
		}
		#frmPaso2 > .row > div > .alert-center > .form-group{
			display: flex;
			justify-content: center;
			align-items: center;
		}
		#frmPaso3 > .row > div > div{
			width: 100% !important;
			font-size: 13px;
		}
		#frmPaso4 > .row > div > .sl_seguimiento{
			font-size: 11px;
		}
		#frmPaso4 > .row > div > .ck_seguimiento{
			font-size: 11px;
			margin-bottom: 20px !important;
		}
		#frmPaso4 > .row > div > .ck_seguimiento > div > .radio-inline{
			padding-left: 0px;
			font-size: 12px;
		}
		#slFiltroPSProspecto ~ div {
			width: 191px !important;
		}
		.filtro-tabla {
			padding-left: 64px;
		}
	}
	@media (max-width: 768px){
		.ext {
			width: 50px !important;
		}
	}
	@media  only screen and (orientation: landscape) and (max-width: 700px) {
		.ext {
			width: 70px !important;
		}
	}
	.atrib-product{
		padding-top: 15px;
	}
	.mdAvatar .modal-body{
		padding-bottom: 0px;
	}
	ul.list-unstyled li{
		margin-bottom: 5px;
	}
	ul.list-unstyled li span{
		cursor: pointer;
	}
</style>
<?php $__env->stopSection(); ?>
<?php $__env->startSection('Contenido'); ?>
<?php 
	$Cliente = Cliente::find( $Empleado->clientes_id );
	$Referencias = Referencia::select('referencias.id', 'referencias.nombre')
	->leftJoin('clientes AS c', 'c.id', '=', 'referencias.clientes_id')
	->where('referencias.clientes_id', '=', $Cliente->id)
	->get();
	$select = "empleados.id, empleados.nombre_completo,
	(SELECT COUNT(sc.id) FROM prospectos AS sc WHERE sc.asignado_a = empleados.id ) AS total,
	(SELECT COUNT(sc.id) FROM prospectos AS sc INNER JOIN seguimientos_x_prospectos AS exc ON exc.prospectos_id = sc.id WHERE sc.asignado_a = empleados.id AND exc.estado = 'V') AS vendidos,
	(SELECT COUNT(sc.id) FROM prospectos AS sc INNER JOIN seguimientos_x_prospectos AS exc ON exc.prospectos_id = sc.id WHERE sc.asignado_a = empleados.id AND exc.estado = 'R') AS rechazados,
	(
		(SELECT COUNT(sc.id) FROM prospectos AS sc WHERE sc.asignado_a = empleados.id )
		-
		(
			(SELECT COUNT(sc.id) FROM prospectos AS sc INNER JOIN seguimientos_x_prospectos AS exc ON exc.prospectos_id = sc.id WHERE sc.asignado_a = empleados.id AND exc.estado = 'V')
			+
			(SELECT COUNT(sc.id) FROM prospectos AS sc INNER JOIN seguimientos_x_prospectos AS exc ON exc.prospectos_id = sc.id WHERE sc.asignado_a = empleados.id AND exc.estado = 'R')
		)
	) pendientes";
	$Empleados = DB::table('empleados')
	->select(DB::raw($select))
	->join('users AS u', 'u.id', '=', 'empleados.users_id')
	->where('empleados.clientes_id', '=', $Cliente->id)
	->where('u.estado', '=', 1)
	->get();
	$Productos = DB::table('productos_servicios AS ps')
	->select('ps.id AS idPS', 'ps.tipo', 'ps.nombre', 'ps.sin_variaciones', 'ps.precio AS precioPS', 'ps.cantidad_ilimitada AS ilimitado', 'vps.id AS idVPS', 'vps.precio AS precioVPS', 'vps.inventario', 'vps.margen_ganancia AS margenGanancia', 'vps.tipo_margen_ganancia AS tipoMargenGanancia')
	->join('variaciones_productos_servicios AS vps', 'vps.productos_servicios_id', '=', 'ps.id')
	->where('ps.clientes_id', '=', $Cliente->id)
	->where('ps.activo', '=', 1)
	->orderBy('ps.id', 'ASC')
	->groupBy('ps.id')
	->get();
?>
<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"> Añadir prospectos desde <strong>Archivo de Excel.</strong> </h3>
			</div>
			<div class="porlets-content">
				<div id="progressWizard" class="basic-wizard dvImportarProspectosWizard">
					<ul class="nav nav-pills nav-justified">
						<li><a href="#ptab1" data-toggle="tab"><span>Paso 1:</span> Descargar Plantilla</a></li>
						<li><a href="#ptab2" data-toggle="tab"><span>Paso 2:</span> Subir Plantilla</a></li>
						<li><a href="#ptab3" data-toggle="tab"><span>Paso 3:</span> Verificar correos de plantilla</a></li>
						<li><a href="#ptab4" data-toggle="tab"><span>Paso 4:</span> Finalizar</a></li>
					</ul>
					<div class="tab-content" style="overflow: auto;">
						<div class="progress progress-striped" style="height: 18px !important;">
							<div id="progress-bar" class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="25" aria-valuemin="0" aria-valuemax="100"></div>
						</div>
						<div class="tab-pane" id="ptab1">
							<form id="frmPaso1">
								<div class="row">
									<div class="col-xs-12 col-sm-12 col-md-12">
										<div class="alert-center">
											<div class="alert alert-info text-center" role="alert"> 
												<h4 class="text-center"><b>Indicaciones Paso 1:</b></h4>
												Por favor, descarga la plantilla para poder cargar los prospectos.<br>
												Para descargar la plantilla haz clic en el boton "Descargar Plantilla". Luego presiona el boton "Siguiente".
											</div>
											<div class="alert alert-warning" role="alert"> 
												<h4 class="text-center"><b>Importante:</b></h4>
												<p class="text-center">
													Debido a la cantidad grande de datos que debe procesarse en cada solicitud, se ha limitado la cantidad máxima de prospectos a importar a 1,000. Procura que el archivo no sobrepase esta cantidad de registros.
												</p>

											</div>
											<div class="bottom text-center">
												<a href="<?php echo URL::route('SysWebGClientesProspectosAgregarImportarPlantilla'); ?>" class="btn btn-success"> Descargar plantilla </a>
											</div>
										</div>
									</div>
								</div>
							</form>
						</div>
						<div class="tab-pane" id="ptab2">
							<?php echo Form::open(array('method' => 'post', 'class' => 'form-horizontal row-border', 'id' => 'frmPaso2', 'files' => true)); ?>

							<!-- <?php echo Form::open(array('route' => 'SysWebGClientesProspectosAgregarImportar', 'method' => 'post', 'class' => 'form-horizontal row-border', 'id' => 'frmPaso2', 'files' => true)); ?> -->
								<div class="row">
									<div class="col-xs-12 col-sm-12 col-md-12">
										<div class="alert-center">
											<div class="alert alert-info text-center" role="alert"> 
												<h4 class="text-center"><b>Indicaciones Paso 2:</b></h4>
												Por favor llena la plantilla que descargaste en el paso 1 con la información de los prospectos que deseas agregar por medio de carga masiva.<br><br>
												<b>IMPORTANTE:</b> Recuerda que si utilizas copiar y pegar (copy-paste) para agregar información a la plantilla que descargaste, debes de pegarlo como "Texto sin formato". De igual forma, en el campo "País" de la plantilla escribe el código ISO ALPHA-2 del país del prospecto a importar. <b> Vea: <a href="https://www.iban.com/country-codes" target="_blank">Código ISO</a></b><br><br>
												Una vez que tengas el archivo de la plantilla listo con la información y guardado, por favor haz clic en el botón en la parte inferior que dice "Escoger Archivo" esto abrirá el explorador de archivos de tu computadora para que puedas seleccionar el archivo desde ahí.
											</div>
											<div class="form-group">
												<label class="col-sm-3 control-label"> Archivo de Excel </label>
												<div class="col-sm-6">
													<!-- <?php echo Form::file('archivocsv', array('class' => '', 'id' => 'archivocsv')); ?> -->
													<input accept="application/vnd.ms-excel" id="archivocsv" name="archivocsv" type="file">
													<span class="text-warning" style="display: none;" id="imgarchivocsv" class="loading">
														<div class="row">
															<div class="col-md-1">
																<img src="<?php echo asset('Cargando/hourglass.gif'); ?>" style="width: 32px; height: 32px;">
															</div>
															<div class="col-md-11">
																Espere mientras se carga el archivo...
															</div>
														</div>
													</span>
													<span class="text-danger" id="errarchivocsv"></span>
												</div>
											</div>
										</div>
									</div>
								</div>
							<?php echo Form::close(); ?>

						</div>
						<div class="tab-pane" id="ptab3">
							<form id="frmPaso3">
								<div class="row">
									<div class="col-xs-12 col-sm-12 col-md-12">
										<div style="margin:auto; width:75%;">
											<div class="alert alert-info" role="alert"> 
												<h4 class="text-center"><b>Indicaciones Paso 3:</b></h4>
												<div class="row" style="padding-left: 50px;padding-right: 50px;">
													<p style="text-align: justify;texto-justify: inter-palabra;">Los prospectos que estén en <b>COLOR ROJO</b> tienen algún error de en su escritura o no cuentan con 1 o más de los campos requeridos de esta lista por lo que tendrás que verificar sus datos desde la opción "Ver más..." para corregirlos y que puedan ser agregados a la lista.
													Si por alguna razón no deseas cargar un prospecto puedes eliminarlo desde el botón “Eliminar” en la columna de Acciones. Recuerda escribir en el campo País el código ISO ALPHA-2 del país del prospecto a importar. <b> Ver: <a href="https://www.iban.com/country-codes" target="_blank">Código ISO</a></b>
													</p>
													<p style="text-align: justify;texto-justify: inter-palabra;">Debes asignar productos y/o servicios a todos los prospectos. Puedes hacer esto en la sección “Información adicional de prospectos ó también puedes asignar productos y/o servicios de manera individual a cada prospecto desde la columna de Producto / Servicio.
													Adicionalmente puedes agregar etiquetas a los prospectos, tanto de manera individual como a todos en general (esto es opcional).<br><br>
													Recuerda que debes hacer clic el botón "Aplicar" una vez hayas terminado para asignar las etiquetas y los productos y/o servicios a todos los prospectos en la sección “Información adicional de prospectos.
													</p>
												</div>
											</div>
										</div>
										<div class="porlets-content" style="margin:auto; width:75%;">
											<fieldset>
												<legend>Información adicional de prospectos</legend>
												<div class="form-group">
													<label class="col-md-6 col-sm-6 control-label"> Etiquetas </label>
													<div class="col-sm-9">
														<select class="form-control selectpicker tooltips slEtiquetas" multiple data-width="310px" data-selected-text-format="count > 1" data-live-search="true" data-toggle="tooltip" data-original-title="Seleccione una Etiqueta" id="slEtiquetasG" name="slEtiquetasG">
															<?php foreach($Etiquetas as $Etiqueta): ?>
																<option value="<?php echo $Etiqueta->id; ?>" ><?php echo $Etiqueta->nombre; ?></option>
															<?php endforeach; ?>
														</select>
														<span class="text-danger" id="errreferenciaGP_l"> </span>
													</div>
												</div>
												<div id="dvPrecio" class="dvRegistroFP-L">
													<div class="form-group">
														<label class="col-md-6 control-label" style="padding-top: 15px;"> Producto/Servicio a asociar (*)  </label>
														<div class="col-sm-12">
															<table class="table table-bordered" id="tblProductosVenta">
																<thead>
																	<tr>
																		<th>Producto <span class="label label-success" style="cursor: pointer;" onclick="agregarProducto(this.id)" id="IPList"><i class="fa fa-plus"></i></span></th>
																		<th>Precio de lista (<?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="2" 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_l" id="productos_l">
															<input type="hidden" name="idsPSRS" value="">
															<span class="text-danger" id="errproductos"></span>
															<input type="hidden" name="psinputG" value="">
															<span class="text-danger" id="errpsinputG"></span>
														</div>
													</div>
													<div class="row">
														<div class="col-md-6 col-sm-6">
															<div class="form-group">
																<label class="col-md-6 control-label"> Referencia (*)</label>
																<div class="col-sm-12">
																	<select class="form-control selectpicker" data-live-search="true" id="slReferenciaGPG" name="slReferenciaGPG" title="Selecciona una referencia...">
																		<?php foreach( $Referencias as $Referencia ): ?>
																		<option value="<?php echo $Referencia->id; ?>" <?php if( $Referencia->nombre == "Cliente existente (Oportunidad)" ): ?> disabled <?php endif; ?> ><?php echo $Referencia->nombre; ?></option>
																		<?php endforeach; ?>
																	</select>
																	<span class="text-danger" id="errslReferenciaGPG"> </span>
																</div>
															</div>
														</div>
														<div class="col-md-6 col-sm-6">
															<div class="form-group">
																<label class="col-md-6 control-label"> Asignar a... (*)</label>
																<div class="col-sm-12" style="padding-bottom: 30px;">
																	<select class="form-control selectpicker" data-live-search="true" id="slUsuarioAsignarGPG" name="slUsuarioAsignarGPG" title="Seleccione el usuario a asignar...">
																		<?php foreach( $Empleados as $Empleado ): ?>
																		<option value="<?php echo $Empleado->id; ?>"> <?php echo $Empleado->nombre_completo; ?> - Pendientes: <?php echo $Empleado->pendientes; ?> </option>
																		<?php endforeach; ?>
																	</select>
																	<span class="text-danger" id="errslUsuarioAsignarGPG"> </span>
																</div>
															</div>
														</div>
													</div>
												</div>
												<div class="form-group">
													<div class="col-sm-9" style="margin-top: 20px;margin-bottom: 10px;">
														<a type="button" class="btn btn-primary btn-md" onclick="aplicarEtiquetasPSProspectos()"> Aplicar </a>
													</div>
												</div>
											</fieldset>
											<fieldset><legend style="margin-top: 10px;"></legend></fieldset>
											<div>
												<div class="col-md-3 col-sm-3" style="padding-left: 0px;padding-right: 0px; width: 29%;">
													<div class="form-group">
														<label>Filtrar por estado: </label>
														<select name="slEstadoP" id="slEstadoP" class="form-control selectpicker" data-width="150">
															<option value="" selected >Todos</option>
															<option value="1"> Validos </option>
															<option value="0"> No validos </option>
														</select>
														<button type="submit" id="btnBuscarProspecto" class="btn btn-primary tooltips" data-toggle="tooltip" data-original-title="Buscar"><i class="fa fa-search"></i></button>
														<button id="btnLimpiar" type="button" class="btn btn-default tooltips" data-toggle="tooltip" data-original-title="Limpiar"><i class="fa fa-paint-brush"></i></button>
													</div>
												</div>
												<div class="col-md-4 col-sm-4" style="padding-left: 10px;padding-right: 0px; width: 35.333%;">
													<div class="form-group">
														<label>Filtrar por Producto: </label>
														<select name="slFiltroPSProspecto" id="slFiltroPSProspecto" class="form-control selectpicker" data-size="10" multiple data-width="200">
															<?php foreach( $Productos as $Producto ): ?>
																<option value="<?php echo $Producto->nombre; ?>"><?php echo $Producto->nombre; ?></option>
															<?php endforeach; ?>
														</select>
														<button type="submit" id="btnBuscarProspectoPS" class="btn btn-primary tooltips" data-toggle="tooltip" data-original-title="Buscar"><i class="fa fa-search"></i></button>
														<button id="btnLimpiarPS" type="button" class="btn btn-default tooltips" data-toggle="tooltip" data-original-title="Limpiar"><i class="fa fa-paint-brush"></i></button>
													</div>
												</div>
												<div class="col-md-4 col-sm-4" style="padding-left: 20px;padding-right: 0px; width: 35.333%;">
													<div class="form-group">
														<label>Filtrar por etiqueta: </label>
														<select name="slFiltroEProspecto" id="slFiltroEProspecto" class="form-control selectpicker" data-size="10" multiple data-width="200">
															<?php foreach($Etiquetas as $Etiqueta): ?>
																<option value="<?php echo $Etiqueta->nombre; ?>" ><?php echo $Etiqueta->nombre; ?></option>
															<?php endforeach; ?>
														</select>
														<button type="submit" id="btnBuscarProspectoE" class="btn btn-primary tooltips" data-toggle="tooltip" data-original-title="Buscar"><i class="fa fa-search"></i></button>
														<button id="btnLimpiarE" type="button" class="btn btn-default tooltips" data-toggle="tooltip" data-original-title="Limpiar"><i class="fa fa-paint-brush"></i></button>
													</div>
												</div>
											</div>
											<div class="table-responsive">
												<table class="table table-striped-old table-bordered table-hover" id="tblProspectosImportar" cellspacing="0" width="100%">
												</table>
											</div>
										</div>
									</div>
								</div>
							</form>
						</div>
						<div class="tab-pane" id="ptab4">
							<form id="frmPaso4">
								<div class="row">
									<div class="col-xs-12 col-sm-12 col-md-12">
										<div class="alert-center">
											<div class="alert alert-info" role="alert"> 
												<h4 class="text-center"><b>Indicaciones paso 4:</b></h4>
												<p class="text-center"><b>¡Ya casi terminamos!</b></p>
												<p class="text-center">Verifica que hayas ingresado correctamente cada dato. Por último, presiona el botón "Finalizar" para que se inicie con el proceso de registro de los prospectos.
												</p>
											</div>
										</div>

										<div class="alert-center" style="margin-top: 45px;">
											<div class="bottom text-center">
												<a id="btnFinalizar" class="btn btn-success btn-lg btn-block" onclick="RegistroProspectosImportacion()"> Finalizar </a>
											</div>
											<div style="margin-top: 23px;">
												<span class="text-warning" style="display: none;" id="procesarProspectos" class="loading">
													<div class="row">
														<div class="col-md-1">
															<img src="<?php echo asset('Cargando/hourglass.gif'); ?>" style="width: 32px; height: 32px;">
														</div>
														<div class="col-md-11">
															Espere mientras se carga el archivo y se realiza la importación, este proceso puede tardar entre 5 y 45 minutos dependiendo de la cantidad de datos en el archivo.<br><br><strong> NO CIERRES ESTA VENTANA, </strong> si lo haces se interrumira el proceso.
														</div>
													</div>
												</span>
												<span id='errSubidaArchivo' class='text-danger'></span>
											</div>
										</div>
									</div>
								</div>
							</form>
						</div>
					</div>
					<ul class="pager wizard">
						<li class="previous">
							<a href="javascript:void(0)">
								Anterior
							</a>
						</li>
						<li class="next">
							<a href="javascript:void(0)">
								Siguiente
							</a>
						</li>
					</ul>
				</div>
			</div>
		</div>
	</div>
</div>
<?php $__env->stopSection(); ?>

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

<?php echo HTML::script('bootstrap-select/js/i18n/defaults-es_CL.min.js'); ?>

<?php echo HTML::script('Intl-Tel-Input/17.0.3/js/intlTelInput-jquery17-0-16.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('jquery-browser-plugin/jquery.browser.min.js'); ?>

<?php echo HTML::script('bootstrap-datetimepicker/js/moment-with-locales.js'); ?>

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

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

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

<?php echo HTML::script('jQueryValidate/additional-methods.min.js'); ?>

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

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

<?php echo HTML::script('jquery-ezdz/jquery.ezdz.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('DataTables/dataTables.select.min.js'); ?>

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

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

<script>
<?php
	$Productos = DB::table('productos_servicios AS ps')
	->select('ps.id AS idPS', 'ps.tipo', 'ps.nombre', 'ps.sin_variaciones', 'ps.precio AS precioPS', 'ps.cantidad_ilimitada AS ilimitado', 'vps.id AS idVPS', 'vps.precio AS precioVPS', 'vps.inventario', 'vps.margen_ganancia AS margenGanancia', 'vps.tipo_margen_ganancia AS tipoMargenGanancia')
	->join('variaciones_productos_servicios AS vps', 'vps.productos_servicios_id', '=', 'ps.id')
	->where('ps.clientes_id', '=', $Cliente->id)
	->where('ps.activo', '=', 1)
	/*->whereRaw("(ps.tipo IN('PD', 'S') OR (ps.tipo = 'P'))")*/
	->orderBy('ps.id', 'ASC')
	->groupBy('ps.id')
	->get();
	DB::statement('SET SESSION group_concat_max_len = 10000000000000000000;');
	$query = 'SELECT ps.id AS idPS, ps.nombre, ps.precio AS precioPS, ps.cantidad_ilimitada AS ilimitado, vps.id AS idVPS, ps.tipo, ps.sin_variaciones,
		(
			IF(	
				(SELECT COUNT(vps.id) FROM variaciones_productos_servicios AS vps WHERE vps.productos_servicios_id = ps.id) > 0,
				(SELECT
					CONCAT(\'[\',
						GROUP_CONCAT(
							\'{\',
								\'"idPS":"\',ps.id,\'",\'
								\'"idVPS":"\',vps.id,\'",\'
								\'"nombre":"\',ps.nombre,\'",\',
								\'"precio":"\',vps.precio,\'",\',
								\'"inventario":"\',vps.inventario,\'",\'
								\'"ilimitado":"\',vps.cantidad_ilimitada,\'",\'
								\'"margenGanancia": "\',IF(vps.margen_ganancia > 0, vps.margen_ganancia, 0.00),\'",\'
								\'"tipoMargenGanancia": "\',IF(vps.tipo_margen_ganancia <> \'\', vps.tipo_margen_ganancia, \'\'),\'",\'
								\'"atributos": \',
									IF(  ps.sin_variaciones = 0, 
										(
											SELECT
												CONCAT(\'[\',
													GROUP_CONCAT(\'"\',aps.nombre,\' : \',avps.valor,\'"\')
												,\']\')
											FROM
												atributos_x_variaciones_productos AS avps
											INNER JOIN
												atributos_productos_servicios AS aps
												ON aps.id = avps.atributos_productos_servicios_id
											WHERE
												avps.variaciones_productos_servicios_id = vps.id
										), 
										\'[]\' 
									),
								\'\'
							,\'}
						\')
					,\']\')
				FROM
					variaciones_productos_servicios AS vps
				WHERE
					vps.productos_servicios_id = ps.id
				),
				\'{"0":""}\'
			)
		) AS variaciones
	FROM
		productos_servicios  as ps 
	INNER JOIN 
		variaciones_productos_servicios as vps 
		ON(vps.productos_servicios_id = ps.id) 
	WHERE 
		ps.activo = 1
	AND 
		(ps.tipo IN(\'PD\', \'S\') OR (ps.tipo = \'P\'))
	AND 
		ps.clientes_id = '.$Cliente->id.'
	GROUP BY (ps.id)';
	$ProductosV = DB::select(DB::raw($query));
	$ProductosJSON = json_encode($Productos);
	$ProductosJSON2 = json_encode($ProductosV);
	$sql = "SELECT
		IF(
			((SELECT COUNT(id) FROM productos_servicios WHERE clientes_id = @idC) > 0),
			(SELECT
				CONCAT('[',
					GROUP_CONCAT('
						{
							\"idPS\": \"',ps.id,'\",
							\"nombrePS\": \"',REPLACE(ps.nombre, '\"', \"'\"),'\",
							\"relacionados\": ',(
								IF(
									((SELECT COUNT(id) FROM ps_relacionados WHERE principal = ps.id) > 0),
									(SELECT
										CONCAT('[',
											GROUP_CONCAT('{
												\"idPS\": \"',r.id,'\",
												\"nombrePS\": \"',REPLACE(r.nombre, '\"', \"'\"),'\"
											}')
										,']')
									FROM
										ps_relacionados AS psr
									INNER JOIN
										productos_servicios AS r
										ON r.id = psr.relacionado
									WHERE
										psr.principal = ps.id
									),
									'[]'
								)
							)
						,'}')
				,']') AS productos
			FROM
				productos_servicios AS ps
			WHERE
				ps.clientes_id = @idC
			),
			'[]'
		) AS productos
	;";
	$sql = str_replace('@idC', $Cliente->id, $sql);
	$jSonProductosR = DB::select(DB::raw($sql));
?>
	var confirmacionSalida = false;
	window.onbeforeunload = Confirmacion;
	function Confirmacion(){
		if (confirmacionSalida){
			return "Se está realizando un proceso, si sale de la ventana este se cancelará... ¿Realmente desea salir?";
		}
	}
var productos = <?php echo $ProductosJSON; ?>;
	var productos2 = <?php echo $ProductosJSON2; ?>;
	var jSonProductosR = <?php echo $jSonProductosR[0]->productos; ?>;
	function JsonStringValid(str) {
		try {
			JSON.parse(str);
		} catch (e) {
			return false;
		}
		return true;
	}
	function agregarProducto(id, row){
		var id = id;
		if(id == "IPList"){
			Table = $("#tblProductosVenta");
		}
		else{
			Table = $("#tblProductosVenta-"+id);

		}
		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( (Table.find('tr[data-idPS="'+producto.idPS+'"]').length == 0 && producto.sin_variaciones == 1) || producto.sin_variaciones == 0 ){
				var option = '<option id="ops'+producto.idPS+'" data-nombre="'+producto.nombre+'" data-variacion="'+producto.sin_variaciones+'" data-tipo="'+producto.tipo+'" value="'+producto.idPS+'" data-idPS="'+producto.idPS+'" data-precio="'+producto.precioVPS+'" 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> \
					<div class="form-group variaciones" style="display: none;"> \
						<label for="slProductos">Variaciones de productos</label> \
						<select class="form-control productosvps" name="slProductosVPS" data-live-search="true" title="Seleccione una opción" data-selected-text-format="count" multiple> \
						<select> \
						<span class="text-danger" id="errslProductosVPS"></span> \
						<div id="dvProductos" style="padding-top: 10px;"></div> \
					</div> \
				</form> \
			</div> \
		</div>';
		BootstrapDialog.show({
			title: "Agregar productos",
			type: BootstrapDialog.TYPE_SUCCESS,
			message: mensaje,
			draggable: true,
			cssClass: "mdAvatar color-head-modal",
			closable: true,
			closeByBackdrop: false,
			buttons: [{
				id: "btnAgregar",
				label: "Agregar",
				cssClass: "btn-success btn-lg btn-block",
				action: function(dialogItself){
					var modalBody = dialogItself.getModalBody();
					var servicios = Array();
					if( modalBody.find("#frmAgregarProductos").valid() ){
						modalBody.find('[name="slProductos"]>option[data-tipo="S"]:selected').each(function(){
							servicios.push($(this).attr("value"));
						});
						modalBody.find('[name="slProductos"]>option[data-variacion="1"]:selected').each(function(){
							if(servicios.indexOf($(this).attr("value")) == -1){
								servicios.push($(this).attr("value"));
							}
						});
						crearTabla(servicios);
						if(modalBody.find(".productosvps").val() != "" && modalBody.find(".productosvps").val() != null){
							crearTabla(modalBody.find(".productosvps").val());
						}
						programarTablaPrecios(Table);
						var total = 0;
						Table.find(".nmTU").each(function(e){
							total = total+parseFloat( $(this).val() );
						});
						total = Math.round(total*100)/100;
						Table.find(".nmTT").val( total.toFixed(2) );
						dialogItself.close();
						if(id != "IPList"){
							$('input[name="psinput"]').val(1)
						}
						else{
							$('input[name="psinputG"]').val(1)
						}
					}
				}
			}],
			onshown: function(dialogItself){
				var modalBody = dialogItself.getModalBody();
				modalBody.find(".selectpicker").selectpicker();
				modalBody.find(".selectpicker").on("changed.bs.select", function(e, clickedIndex, isSelected, previousValue){
					var idP = $(this).val();
					$("#dvProductos").html("");
					$.each(
						$(this).val(),
						function(key, value){
							$("#dvProductos").append(' \
								<span class="label label-info" data-valor="'+$("#ops"+value).html()+'"> \
									'+$("#ops"+value).html()+' \
								</span> &nbsp; \
							');
						}
					);
					var option = "";
					var tipo = 0;
					$.each(productos2, function(i, producto){
						var id = String(producto.idPS);
						if(idP.indexOf(id) > -1){
							if(producto.tipo != "S" && producto.sin_variaciones == 0 ){
								option += '<optgroup label="Variaciones de '+producto.nombre+'">';
								$.each(JSON.parse(producto.variaciones), function(i, variaciones){
									var atrib = variaciones.atributos.join(" , ");
									if( Table.find('tr[data-idvps="'+variaciones.idVPS+'"]').length == 0 ){
										option += ' <option id="ops'+variaciones.idVPS+'" data-subtext="[ '+atrib+' ]" value="'+variaciones.idVPS+'" data-nombre="'+variaciones.nombre+'" data-idPS="'+variaciones.idPS+'" data-precio="'+variaciones.precio+'" data-ilimitado="'+variaciones.ilimitado+'" data-idVPS="'+variaciones.idVPS+'" data-inventario="'+variaciones.inventario+'">'+variaciones.nombre+'</option>';
									}
									else{
										option += ' <option id="ops'+variaciones.idVPS+'" data-subtext="[ '+atrib+' ]" value="'+variaciones.idVPS+'" data-idPS="'+variaciones.idPS+'" data-precio="'+variaciones.precio+'" data-ilimitado="'+variaciones.ilimitado+'" data-idVPS="'+variaciones.idVPS+'" data-inventario="'+variaciones.inventario+'" disabled>'+variaciones.nombre+'</option>';
									}
								});
								option += '</optgroup>';
								tipo++;
							}
						}
					});
					if(tipo){
						modalBody.find(".variaciones").show("slow");
						modalBody.find('select[name="slProductosVPS"]').rules("add", {
							required: true,
							messages: { required: "Selecciona una variación de este producto por favor" }
						})
					}
					modalBody.find('[name="slProductosVPS"]').html(option);
					modalBody.find(".productosvps").selectpicker("refresh");
					modalBody.trigger("click");
				});
				modalBody.find("#frmAgregarProductos").validate({
					lang: "es",
					ignore: [],
					errorPlacement: function(error, element){
						if( element.hasClass("error") ){
							element.parent().addClass("has-error");
						}
						var mensaje = error.html();
						var id = "err"+error.attr("id").substr(0, error.attr("id").indexOf("-error"));
						modalBody.find("#"+id).html(mensaje);
					},
					success: function(label, element){
						modalBody.find(element).parent().removeClass("has-error");
						modalBody.find(element).siblings("span").html("");
					},
					rules: { slProductos: { required: true } },
					messages: { slProductos: { required : "Por favor agrega un producto o servicio" }}
				});
				modalBody.find(".productosvps").on("changed.bs.select", function(e, clickedIndex, isSelected, previousValue){
					modalBody.trigger("click");
				});
			}
		});
	}
	function crearTabla(valor, editar = false, datosT = "", origenT = "" ){
		var idTabla = Table.attr("id");
		var valor = valor;
		
		$.each(
			valor,
			function(key, value){
				var nPA = $('tr[data-PA]').length;
				nPA = "00"+nPA;
				var option = $("select").find("#ops"+value);
				var max = "";
				var errInventario = "";
				if( editar ){
					var idPS = "";
					var nombreProducto = "";
					var psIlimitado = "";
					var idVPS = "";
					var txtProducto = "";
					var precioProducto = "";
					var pInventario = "";
					var p_variacion = "";
					$.each(datosT, function(i, v){
						if( value == v.idPS ){
							idPS = v.idPS;
							nombreProducto = v.producto;
							psIlimitado = v.ilimitado;
							idVPS = v.idVPS;
							txtProducto = v.producto;
							precioProducto = v.precio_producto
							pInventario = v.inventario
							p_variacion = v.producto_variacion
						}
					});
					var precio = (precioProducto==0)?1:precioProducto;
					var variacion = (p_variacion != undefined)?'<div class="atrib-product"><p class="pA"><strong>Variación</strong></p><p class="pA-text">'+p_variacion+'</p></div>':"";
				}
				else{
					var idPS = option.attr("data-idps");
					var nombreProducto = option.attr("data-nombre");
					var psIlimitado = option.attr("data-ilimitado");
					var idVPS = option.attr("data-idvps");
					var txtProducto = option.html();
					var precioProducto = option.attr("data-precio"); 
					var precio = (option.attr("data-precio")==0)?1:option.attr("data-precio");
					var pInventario = option.attr("data-inventario");
					var variacion = (option.parent().attr("name") != "slProductos")?'<div class="atrib-product"><p class="pA"><strong>Variación</strong></p><p class="pA-text">'+option.attr("data-subtext")+'</p></div>':"";
				}
				var prVariacion = ( variacion != "" ) ? 'data-subtext="'+option.attr("data-subtext")+'"':"";
				if( parseInt(pInventario) == 0 ){
					var valor = (pInventario == 0)?1:pInventario;
					max = 'max="'+valor+'"';
					if(valor == 1){
						errInventario = '<span class="text-danger" id="errIn">Este producto actualmente no cuenta con inventario</span>';
					}
				}
				var total = 1*parseFloat(precio);
				total = Math.round(total*100)/100;
				var tr = '<tr data-idPS="'+idPS+'" data-producto="'+nombreProducto+'" data-precio="'+precioProducto+'" '+prVariacion+' data-inventario="'+pInventario+'"  data-i="'+psIlimitado+'" data-idVPS="'+idVPS+'" data-idVXP="0" data-PA="'+nPA+'"> \
					<td> \
						<span class="label label-warning" style="cursor: pointer;" onclick="eliminarProducto(\''+nPA+'\', \''+idTabla+'\')"><i class="fa fa-trash"></i></span> \
						'+txtProducto+' \
						<input type="hidden" name="PAproducto'+nPA+'" value="'+idPS+'"> \
						<input type="hidden" name="PAvariacion'+nPA+'" value="'+idVPS+'"> \
						<input type="hidden" name="PAilimitado'+nPA+'" value="'+psIlimitado+'"> \
						'+variacion+'\
					</td> \
					<td class="precio"> \
						'+precio+' \
					</td> \
					<td class="hide"> \
						<input class="form-control nmPV nmPVC" data-id="'+nPA+'" type="number" name="PAcantidad'+nPA+'" value="1" min="1" '+max+'> \
						<span class="text-danger" id="errcantidad'+nPA+'"></span> \
						'+errInventario+' \
					</td> \
					<td class="hide"> \
						<input class="form-control nmPV nmPVPV" data-id="'+nPA+'" type="number" name="PAprecio_venta'+nPA+'" value="'+parseFloat(precio).toFixed(2)+'" min="0.01"> \
						<span class="text-danger" id="errprecio_ventaPA'+idVPS+'"></span> \
					</td> \
					<td> \
						<input class="form-control nmTU" data-id="'+nPA+'" data-totalu="'+total+'" type="text" readonly value="'+total.toFixed(2)+'"> \
					</td> \
				</tr>';
				if( editar ){
					origenT.find("tbody > tr:last").before(tr);
				}
				else{
					Table.find("tbody > tr:last").before(tr);
				}
			}
		);
	}
	function programarTablaPrecios(tabla){
		var Table = tabla;
		Table.find(".nmPVC").numeric({
			allowMinus: false,
			allowThouSep: false,
			allowDecSep: false
		});
		Table.find(".nmPVPV").alphanum({
			allow: ".0123456789",
			disallow: "abcdefghijklmnñopqrstuvwxyz",
			allowSpace: false,
			allowNumeric: true,
			allowUpper: false,
			allowCaseless: false,
			allowOtherCharSets: false,
			forceLower: true
		});
		Table.find(".table").find(".precio").each(function(){
			var precio = accounting.formatMoney($(this).text().trim(), {
				symbol: " ",
				precision: 2,
				decimal : ".",
				thousand: ",",
				format: "%s%v"
			});
			$(this).text(precio);
		});
		Table.find(".nmPV").blur(function(){
			var input = $(this);
			var nInput = $(this).attr("data-id");
			var precioVenta = Table.find('.nmPVPV[data-id="'+nInput+'"]').val();
			var totalUnitario = parseFloat(precioVenta);
			Table.find('.nmPVPV[data-id="'+nInput+'"]').val(totalUnitario.toFixed(2));
		});
		Table.find(".nmPV").off("input").on("input", function(e){
			var input = $(this);
			var nInput = $(this).attr("data-id");
			var cantidad = Table.find('.nmPVC[data-id="'+nInput+'"]').val();
			var precioVenta = Table.find('.nmPVPV[data-id="'+nInput+'"]').val();
			var totalUnitario = parseInt(cantidad)*parseFloat(precioVenta);
			totalUnitario = Math.round(totalUnitario*100)/100;
			Table.find('.nmTU[data-id="'+nInput+'"]').attr("data-totalu", totalUnitario);
			totalUnitario = accounting.formatMoney(totalUnitario, {
				symbol: " ",
				precision: 2,
				decimal : ".",
				thousand: ",",
				format: "%s%v"
			});
			Table.find('.nmTU[data-id="'+nInput+'"]').val(totalUnitario);
			var total = 0;
			Table.find(".nmTU").each(function(e){
				total = total+parseFloat( $(this).attr("data-totalu") );
			});
			total = accounting.formatMoney(total, {
				symbol: " ",
				precision: 2,
				decimal : ".",
				thousand: ",",
				format: "%s%v"
			});
			if(tabla == "tblProductosVentaI"){
				var contador = 0;
				Table.find(".nmTT"+contador).val( total );
			}
			else{
				Table.find(".nmTT").val( total );
			}
		});
	}
	function eliminarProducto(idP, tabla){
		var mensajeEl = "<h2> ¿Seguro que desea eliminar? </h2>";
		var classEl = "";
		if( $("#"+tabla).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",
			closeByBackdrop: false,
			buttons: [{
				id: "btnEliminar",
				label: "Eliminar",
				cssClass: "btn-warning btn-lg btn-block "+classEl,
				action: function(dialogItself){
					if( $("#"+tabla).find("tbody tr").length > 1 ){
						if( idP.startsWith("00") ){
							$('tr[data-pa="'+idP+'"]').remove();
						}
						else{
							$("#"+tabla).append('<input type="hidden" name="PEidVXP'+idP+'" value="'+idP+'">')
							$('tr[data-idvxp="'+idP+'"]').remove();
						}
						var total = 0;
						$("#"+tabla).find(".nmTU").each(function(e){
							total = total+parseFloat( $(this).val() );
						});
						total = Math.round(total*100)/100;
						$("#"+tabla).find(".nmTT").val( total.toFixed(2) );
						programarTablaPrecios($("#"+tabla));
						dialogItself.close();
					}
				}
			}]
		});
	}
	function actualizarRelacionados(nodo){
		setTimeout(function(){
			nodo.hide("slow");
		},200);
	}
	function verInfoProspecto(datos, row, col, origen){
		var tr = $("#"+origen).closest("tr");
		var campos = "";
		var tabla = $("#tblProspectosImportar").DataTable();
		var camposRequeridos = Array();
		$.each(datos, function(i, value){
			$.each(value, function(k, valor){
				var primerLetra = valor.slug.charAt(0).toUpperCase();
				var campo = primerLetra + valor.slug.slice(1)
				campo = campo.replace(/_/g, " ");
				if( valor.valor == null ){
					valor.valor = "";
				}
				if( valor.requerido == 1 ){
					camposRequeridos.push(valor.slug)
					campos += '<div class="form-group"> \
						<label for="'+valor.slug+'"> '+campo+' * </label> \
						<input type="text" class="form-control campo-requerido-modal" value="'+valor.valor+'" name="'+valor.slug+'"> \
						<span class="text-danger" id="err'+valor.slug+'"> </span> \
					</div>'
				}
				else{
					campos += '<div class="form-group"> \
						<label for="'+valor.slug+'"> '+(campo=='Estadoprovinciadepto' ? 'Estado/Provincia/Deparamento' : campo)+' </label> \
						<input type="text" class="form-control" value="'+valor.valor+'" name="'+valor.slug+'"> \
					</div>'
				}
			});
		});
		var mensaje = '<div class="row"> \
			<div class="col-xs-12"> \
				<form id="frmEditarProspecto"> \
					'+campos+' \
				</form> \
			</div> \
		</div>';
		BootstrapDialog.show({
			title: "Editar información de prospecto",
			type: BootstrapDialog.TYPE_WARNING,
			message: mensaje,
			draggable: true,
			cssClass: "mdAvatar",
			closable: true,
			closeByBackdrop: false,
			buttons: [{
				id: "btnEditar",
				label: "Editar",
				cssClass: "btn-warning btn-lg btn-block",
				action: function(dialogItself){
					var modalBody = dialogItself.getModalBody();
					$.isLoading({ text: "Cargando..." }); NProgress.start();
					if( modalBody.find("#frmEditarProspecto").valid() ){
						var Data = $("#frmEditarProspecto").serializeArray();
						var arrayData = Array();
						for(var i = 0; i < Data.length; i++){
							Data[i].slug = Data[i]['name'];
							Data[i].valor = Data[i]['value'];
							delete Data[i].name;
							delete Data[i].value;
							var requerido = ( camposRequeridos.includes(Data[i].slug) ) ? 1: 0;
							Data[i].requerido =  requerido;
						}
						arrayData.push(Data)
						$("#btnEditar").prop("disabled", true).html('<i class="fa fa-spinner fa-spin"></i> Editando');
						setTimeout(function(){
							tabla.cell( tr.find("td:nth-child(2)")[0] ).data(arrayData).draw(false);
							tabla.cell( tr.find("td:nth-child(3)")[0] ).data(1);
							// tabla.cell( tr.find("td:nth-child(7)")[0] ).data(arrayData).draw(false);
							if(tr.hasClass("danger")){
								tr.removeClass("danger");
							}
							$.isLoading("hide"); NProgress.done();
							dialogItself.close();
						}, 500);
					}
					else{
						$.isLoading("hide"); NProgress.done();
					}
				}
			}],
			onshown: function(dialogItself){
				var modalBody = dialogItself.getModalBody();
				$("body").addClass("modal-open");
				modalBody.find("#frmEditarProspecto").validate({
					lang: "es",
					ignore: "",
					errorPlacement: function(error, element){
						if( element.hasClass("error") ){
							element.parent().addClass("has-error");
						}
						var mensaje = error.html();
						var id = "err"+error.attr("id").substr(0, error.attr("id").indexOf("-error"));
						$("#"+id).html(mensaje);
					},
					success: function(label, element){
						$(element).parent().removeClass("has-error");
						$(element).siblings("span").html("")
					},
				});
				modalBody.find('input[name="telefono"], input[name="numero_de_telefono"], input[name="celular"], input[name="numero_de_telefono_del_trabajo"]').alphanum({
					allow: " +-1234567890",
					disallow: ':;´"qwertyuiopasdfghjklmnbvcxzñ_,.ABCDEFGHIJKLMNÑOPQRSTUVWXYZ',
					allowSpace: true,
					allowNumeric: true,
					allowUpper: true,
					allowCaseless: false,
					allowOtherCharSets: false,
					forceLower: false
				});
				modalBody.find(".campo-requerido-modal").each(function(){
					$(this).rules("add", {
						required: true,
						messages: { required: "El campo es obligatorio" }
					});
				});
				modalBody.find("#frmEditarProspecto").valid();
			},
			onhidden: function(dialogItself){
				$("body").removeClass("modal-open");
			}
		});
	}
	function eliminarProspecto(row, col, origen){
		var tabla = $("#tblProspectosImportar").DataTable();
		var eliminarRow = tabla.row( $("#"+origen).closest("tr") );
		var mensaje = '<div class="row"> \
			<div class="col-xs-12"> \
				<h2> ¿Estas seguro que deseas eliminar este prospecto? </h2> \
				<div class="alert alert-danger" style="margin-bottom: 0px !important;" role="alert"> \
					Al confirmar, se eliminará este prospecto del archivo que estás importando. \
				</div> \
			</div> \
		</div>';
		BootstrapDialog.show({
			title: "Eliminar Prospecto",
			type: BootstrapDialog.TYPE_WARNING,
			message: mensaje,
			draggable: true,
			closeByBackdrop: false,
			cssClass: "mdAvatar",
			onshown: function(dialogItself){
				$("body").addClass("modal-open");
			},
			buttons: [{
				id: "btnEliminarProspecto",
				label: "Sí, confirmo que deseo eliminar",
				cssClass: "btn-danger btn-block btn-lg",
				action: function(dialogItself){
					$.isLoading({ text: "Cargando..." }); NProgress.start();
					$("#btnEliminarProspecto").prop("disabled", true).html('<i class="fa fa-spinner fa-spin"></i> Eliminando');
					setTimeout(function(){
						eliminarRow.remove().draw(false);
						$.isLoading("hide"); NProgress.done();
						dialogItself.close()
					}, 100);
				}
			}],
			onhidden: function(dialogItself){
				$("body").removeClass("modal-open");
			}
		});
	}
	function agregarEtiquetaProspecto(row, col, origen){
		var tabla = $("#tblProspectosImportar").DataTable();
		var tr = $("#"+origen).closest("tr");
		var datosEtiquetas = tabla.cell( row, col ).data();
		var mensaje = '<div class="row"> \
			<div class="col-xs-12"> \
				<form id="frmEtiquetas" class="form-horizontal row-border"> \
					<strong> Agregar etiquetas a prospecto </strong> \
					<p> \
					<br> \
						Al hacerlo se agregaran las etiquetas que selecciones a este prospecto en especifico. \
					</p> \
					<br> \
					<div class="form-group"> \
						<label class="col-sm-3 control-label"> Etiquetas </label> \
						<div class="col-sm-9"> \
							<select class="form-control selectpicker" multiple data-live-search="true" data-selected-text-format="count" id="etiquetas1" name="etiquetas[]"> \
									<option value="0" disabled> Seleccione las etiquetas a asociar... </option> \
									<?php foreach($Etiquetas as $indice => $Etiqueta): ?> \
									<option value="<?php echo $Etiqueta->id; ?>" id="op<?php echo $Etiqueta->id; ?>"> <?php echo $Etiqueta->nombre; ?> </option> \
									<?php endforeach; ?> \
							</select> \
							<div id="dvEtiquetas1" style="padding-top: 10px; padding-bottom: 25px;"></div> \
						</div> \
					</div> \
				</form> \
			</div> \
		</div>';
		BootstrapDialog.show({
			title: "Agregar Etiquetas",
			type: BootstrapDialog.TYPE_WARNING,
			message: mensaje,
			draggable: true,
			closeByBackdrop: false,
			cssClass: "mdAvatar",
			buttons: [{
				id: "btnEtiquetas",
				label: "Aplicar etiquetas",
				cssClass: "btn-success btn-lg btn-block ",
				action: function(dialogItself){
					var ventana = dialogItself.getModalBody();
					$.isLoading({ text: "Cargando..." }); NProgress.start();
					$("#btnEtiquetas").prop("disabled", true).html('<i class="fa fa-spinner fa-spin"></i> Asignando etiquetas...');
					var frmEtiquetas = ventana.find("#frmEtiquetas").serializeArray();
					var jsonEtiquetas  = Array();
					for(var i= 0; i < frmEtiquetas.length; i++) {
						var texto = ventana.find("#etiquetas1").find('option[value="'+frmEtiquetas[i].value+'"]').text();
						jsonEtiquetas.push({
							"etiqueta_id" : frmEtiquetas[i].value,
							"nombre": texto,
							"e_general": false
						});
					}
					tabla.cell( tr.find("td:nth-child(4)")[0] ).data(jsonEtiquetas).draw(false);
					tabla.cell( tr.find("td:nth-child(8)")[0] ).data(jsonEtiquetas).draw(false);
					setTimeout(function(){
						$.isLoading("hide"); NProgress.done();
						dialogItself.close();
					}, 500);
				}
			}],
			onshown: function(dialogRef){
				$("body").addClass("modal-open");
				var ventana = dialogRef.getModalBody();
				ventana.find(".selectpicker").selectpicker();
				ventana.find("#etiquetas1").on("changed.bs.select", function(e){
					var n = parseInt($(this).attr("id").replace("etiquetas", ""));
					$("#dvEtiquetas"+n).html("");
					if( $(this).val() ){
						$.each(
							$(this).val(),
							function(key, value){
								$("#dvEtiquetas"+n).append(' \
									<span class="label label-info" data-valor="'+$("#op"+value).html()+'"> \
										'+$("#op"+value).html()+' \
									</span> &nbsp;&nbsp;&nbsp;\
								');
							}
						);
						var info = $("#etiquetas"+n+", #hdnLid").serialize();
					}
				});
				if( datosEtiquetas.length != 0 ){
					datosEtiquetas.forEach( function(id, v) {
						ventana.find("#etiquetas1").find('option[value="'+id.etiqueta_id+'"]').prop("selected", true);
						ventana.find("#etiquetas1").trigger("changed");
					});
					ventana.find("#etiquetas1").selectpicker("refresh");
				}
				ventana.find(".form-group").css("margin-bottom", "0px");
				ventana.closest(".modal-body").attr("style", "padding-bottom: 1px !important");
			},
			onhidden: function(dialogItself){
				$("body").removeClass("modal-open");
			}
		});
	}
	function agregarPSProspecto(datos, row, col, origen){
		var ProductoConfigurado = datos;
		var tabla = $("#tblProspectosImportar").DataTable();
		var tr = $("#"+origen).closest("tr");
		var mensaje = '<div class="row"> \
			<div class="col-xs-12"> \
				<form id="frmProductosProspectos" class="form-horizontal row-border"> \
					<div class="form-group"> \
						<label class="col-sm-3 control-label"> Producto/Servicio a asociar (*)  </label> \
						<div class="col-sm-9"> \
							<table class="table table-bordered" id="tblProductosVenta-'+origen+'"> \
								<thead> \
									<tr> \
										<th>Producto <span class="label label-success" style="cursor: pointer;" onclick="agregarProducto(this.id)" id="'+origen+'"><i class="fa fa-plus"></i></span></th> \
										<th>Precio de lista (<?php echo $Cliente->codigo_moneda; ?> <?php echo $Cliente->simbolo_moneda; ?>)</th> \
										<th class="hide">Cantidad</th> \
										<th class="hide">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="2" 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_l" id="productos_l"> \
							<input type="hidden" name="idsPSRS" value=""> \
							<span class="text-danger" id="errproductos"></span> \
							<input type="hidden" name="psinput" value=""> \
							<span class="text-danger" id="errpsinput"></span> \
						</div> \
					</div> \
					<div class="form-group"> \
						<label class="col-sm-3 control-label"> Referencia </label> \
						<div class="col-sm-9" style="margin-bottom: 15px;"> \
							<select class="form-control selectpicker" data-live-search="true" id="slReferenciaGP-L" name="referenciaGP_l" title="Selecciona una referencia..."> \
								<?php foreach( $Referencias as $Referencia ): ?> \
								<option value="<?php echo $Referencia->id; ?>" <?php if( $Referencia->nombre == "Cliente existente (Oportunidad)" ): ?> disabled <?php endif; ?> ><?php echo $Referencia->nombre; ?></option> \
								<?php endforeach; ?> \
							</select> \
							<span class="text-danger" id="errslReferenciaGP-L"> </span> \
						</div> \
					</div> \
					<div class="form-group"> \
						<label class="col-sm-3 control-label"> Asignar a... </label> \
						<div class="col-sm-9"> \
							<select class="form-control selectpicker" data-live-search="true" id="slUsuarioAsignarGP" name="usuarioAsignarGP" title="Seleccione el usuario a asignar..."> \
								<?php foreach( $Empleados as $Empleado ): ?> \
								<option value="<?php echo $Empleado->id; ?>"> <?php echo $Empleado->nombre_completo; ?> - Pendientes: <?php echo $Empleado->pendientes; ?> </option> \
								<?php endforeach; ?> \
							</select> \
							<span class="text-danger" id="errslUsuarioAsignarGP"> </span> \
						</div> \
					</div> \
				</form> \
			</div> \
		</div>';
		BootstrapDialog.show({
			title: "Agregar producto a prospecto",
			type: BootstrapDialog.TYPE_WARNING,
			size: BootstrapDialog.SIZE_WIDE,
			message: mensaje,
			draggable: true,
			closeByBackdrop: false,
			cssClass: "mdAvatar",
			closable: true,
			buttons: [{
				id: "btnAgregarProducto",
				label: "Agregar Producto(s)",
				cssClass: "btn-success btn-lg btn-block",
				action: function(dialogItself){
					$.isLoading({ text: "Cargando..." }); NProgress.start();
					var modalBody = dialogItself.getModalBody();
					var frmProductos = modalBody.find("#frmProductosProspectos").serializeArray();
					var referencia = modalBody.find("#slReferenciaGP-L").val();
					var asignar = modalBody.find("#slUsuarioAsignarGP").val();
					var TablaProductos = modalBody.find("#tblProductosVenta-"+origen+"");
					var jsonProductos = [];
					if( modalBody.find("#frmProductosProspectos").valid() ){
						TablaProductos.find("tbody tr").each(function (i,v){
							var tr = $(this);
							var nombre = tr.attr("data-producto");
							var idPS = tr.attr("data-idps");
							var idV = tr.attr("data-idvps");
							var ilimitado = tr.attr("data-i");
							var precioProducto = tr.attr("data-precio");
							var inventario = tr.attr("data-inventario");
							if( nombre != undefined ){
								jsonProductos.push({
									"idPS" : idPS,
									"producto" : nombre,
									"idVPS" : idV,
									"ilimitado" : ilimitado,
									"precio_producto" : precioProducto,
									"inventario" : inventario,
									"referencia" : referencia,
									"asignar_a" : asignar,
									"producto_global" : false
								});
								if( tr[0].hasAttribute("data-subtext") ){
									jsonProductos[0].producto_variacion =  tr.attr("data-subtext");
								}	
							}
						});
						tabla.cell( tr.find("td:nth-child(5)")[0] ).data(jsonProductos).draw();
						tabla.cell( tr.find("td:nth-child(9)")[0] ).data(jsonProductos).draw();
						setTimeout(function(){
							$.isLoading("hide"); NProgress.done();
							dialogItself.close();
						}, 500);
					}
					else{
						$.isLoading("hide"); NProgress.done();
					}
				}
			}],
			onshown: function(dialogItself){
				$("body").addClass("modal-open");
				var modalBody = dialogItself.getModalBody();
				modalBody.find(".selectpicker").selectpicker();
				modalBody.find("#frmProductosProspectos").validate({
					lang: "es",
					ignore: [],
					errorPlacement: function(error, element){
						if( element.hasClass("error") ){
							element.parent().addClass("has-error");
						}
						var mensaje = error.html();
						var id = "err"+error.attr("id").substr(0, error.attr("id").indexOf("-error"));
						modalBody.find("#"+id).html(mensaje);
					},
					success: function(label, element){
						modalBody.find(element).parent().removeClass("has-error");
						modalBody.find(element).siblings("span").html("");
					},
					rules: {
						referenciaGP_l: { required: true },
						usuarioAsignarGP: { required: true },
						psinput: { required: true },
					},
					messages: { psinput: { required : "Por favor agrega un producto o servicio" }}
				});
				if( ProductoConfigurado.length != 0 ){
					var productoTabla = new Array();
					var total = 0;
					modalBody.find('input[name="psinput"]').val(1);
					ProductoConfigurado.forEach( function(id, v) {
						productoTabla.push(id.idPS)
						modalBody.find("#slReferenciaGP-L").find('option[value="'+id.referencia+'"]').prop("selected", true);
						modalBody.find("#slUsuarioAsignarGP").find('option[value="'+id.asignar_a+'"]').prop("selected", true);
					});
					crearTabla(productoTabla, editar = true, ProductoConfigurado,  modalBody.find("#frmProductosProspectos .table"));
					programarTablaPrecios(modalBody.find("#frmProductosProspectos #tblProductosVenta-"+origen+""))
					modalBody.find("#slReferenciaGP-L, #slUsuarioAsignarGP").selectpicker("refresh");
					modalBody.find("#frmProductosProspectos #tblProductosVenta-"+origen+"").find(".nmTU").each(function(e){
						total = total+parseFloat( $(this).val() );
					});
					total = Math.round(total*100)/100;
					modalBody.find("#frmProductosProspectos #tblProductosVenta-"+origen+"").find(".nmTT").val( total.toFixed(2) );
				}
			},
			onhidden: function(dialogItself){
				$("body").removeClass("modal-open");
			}
		});
	}
	function validarJSONTablaProspectos(datos){
		var datos = datos;
		var tabla = $("#tblProspectosImportar").DataTable();
		var esValido = true;
		var PSConfigurado = true;
		var campoIncompleto = false;
		var cantidadTotalDatos = datos.length;
		var cantidadRowsMostrados = parseInt($('select[name="tblProspectosImportar_length"]').val());
		$.each(datos, function(key, value){
			var rowProspecto = key+1;
			$.each(value.campos, function(indice, valor){
				$.each(valor, function(i, campo){
					if(campo.requerido==1){
						var pagina = 1;
						var btnPagina = $("div#tblProspectosImportar_paginate").find(".paginate_button").not(".previous").not(".next");
						var infoPagina = tabla.page.info();
						var totalPaginas = infoPagina.pages;
						var pag = rowProspecto / cantidadRowsMostrados;
						if( campo.valor == "" || campo.valor == undefined ){
							esValido = false;
							campoIncompleto = true;
							if( cantidadTotalDatos > cantidadRowsMostrados ){
								//IDENTIFICAR PAGINA
								pag = Math.ceil(pag);
								btnPagina.find('a[data-dt-idx='+pag+']').css({ "background-color" : "#d9534f", "border-color": "#d43f3a", "color": "#fff"});
							}
							else if( cantidadTotalDatos < cantidadRowsMostrados ){
								//DATOS MOSTRADOS EN UNA SOLA PAGINA
								btnPagina.find('a[data-dt-idx='+pagina+']').css({ "background-color" : "#d9534f", "border-color": "#d43f3a"});
							}
						}
					}
				})
			});
			if(value.productos.length == 0){
				esValido = false;
				PSConfigurado = false;
			}
		});
		if(!esValido && campoIncompleto){
			new PNotify({ title: "Importante", text: "Por favor verifica que la informacion de los prospectos este completa con los campos requeridos de la lista", type: "warning" });
		}
		if(!PSConfigurado){
			new PNotify({ title: "Importante", text: "Por favor aplica un producto/servicio a los prospectos.", type: "warning" });
		}
		return esValido;
	}
	function RegistroProspectosImportacion(){
		$.isLoading({ text: "Cargando..." }); NProgress.start();
		$("#procesarProspectos").show();
		var tabla = $("#tblProspectosImportar").DataTable();
		var datos = tabla.rows().data().toArray();
		var url = "<?php echo URL::route('SysWebGClientesProspectosImportacionMasivaV2'); ?>";
		datos = JSON.stringify(datos);
		$.post(url,
			{"datos": datos},
			function(data){
				if(data.success){
					$.isLoading("hide"); NProgress.done();
					$("#procesarProspectos").hide();
					new PNotify({ title: "¡Felicidades!", text: data.mensaje, type: "success" });
					setTimeout( function(){ window.location.href = "<?php echo URL::route('SysWebGClientesProspectos'); ?>"; }, 3000 );
				}
				else{
					if(data.mensaje != ''){ new PNotify({ title: "Error", text: "Ha ocurrido un error", type: "error" }); }
				}
			},
			"json"
		);
	}
	function aplicarEtiquetasPSProspectos(){
		var tabla = $("#tblProspectosImportar").DataTable();
		var datos = tabla.rows().data();
		var etiquetasGeneral = $("#slEtiquetasG").val();
		var TablaProductos = $("#tblProductosVenta");
		var productosTabla = TablaProductos.find("tbody tr").length;
		var referencia = $("#slReferenciaGPG").val();
		var asignar = $("#slUsuarioAsignarGPG").val();
		var etiquetasArray = Array();
		var productosArray = Array();
		var idProductosSeleccionados = Array();
		var Titulo = "Agregar etiquetas y/o productos a prospectos";
		var MensajeAlertaNESP =  "No seleccionaste Etiquetas ni Productos";
		var mensaje = '<div class="row"> \
			<div class="col-xs-12"> \
				<form id="frmEtiquetas" class="form-horizontal row-border"> \
					<strong> '+Titulo+' </strong> \
					<br> \
					<div class="alert alert-info" role="alert" style="margin-bottom: 0px;margin-top: 13px;"> \
						Al confirmar se agregarán las etiquetas y/o productos que selecciones a todos los prospectos cargados. \
						<br><br> \
						Si has asignado Productos/Servicios de manera individual se reemplazarán las opciones de "Referencia" y "Asignar a" por las que elegiste en este apartado. \
					</div> \
					<div  style="padding-left: 0;padding-top: 17px;"> \
						<label> \
							<input type="checkbox" value="0" id="rdAcuerdo" name="rdAcuerdo"> \
							<span class="custom-checkbox"></span> Confirmo que leí las indicaciones del texto en el recuadro azul. \
						</label> \
					</div>  \
				</form> \
			</div> \
		</div>';
		var valido = true;
		if( referencia == "" || asignar == "" || productosTabla == 1 ){
			valido = false;
		}
		if( valido ){
			BootstrapDialog.show({
				title: Titulo,
				type: BootstrapDialog.TYPE_WARNING,
				message: mensaje,
				draggable: true,
				cssClass: "mdAvatar",
				closeByBackdrop: false,
				closable: true,
				buttons: [{
					id: "btnAplicarGlobal",
					label: "Confirmar",
					cssClass: "btn-success btn-lg btn-block desactivado",
					action: function(dialogItself){
						var modalBody = dialogItself.getModalBody();
						$.isLoading({ text: "Cargando..." }); NProgress.start();
						if( etiquetasGeneral != null && productosTabla > 1 ){
							$.each(etiquetasGeneral, function(indice, etiqueta){
								var texto = $("#slEtiquetasG").find('option[value="'+etiqueta+'"]').text();
								etiquetasArray.push({
									"etiqueta_id" : etiqueta,
									"nombre": texto,
									"e_general": true
								});
							});
							TablaProductos.find("tbody tr").each(function (i,v){
								var tr = $(this);
								var nombre = tr.attr("data-producto");
								var idPS = tr.attr("data-idps");
								var idV = tr.attr("data-idvps");
								var ilimitado = tr.attr("data-i");
								var precioProducto = tr.attr("data-precio");
								var inventario = tr.attr("data-inventario");
								if( nombre != undefined ){
									productosArray.push({
										"idPS" : idPS,
										"producto" : nombre,
										"idVPS" : idV,
										"ilimitado" : ilimitado,
										"precio_producto" : precioProducto,
										"inventario" : inventario,
										"referencia" : referencia,
										"asignar_a" : asignar,
										"producto_global" : true
									});
									if( tr[0].hasAttribute("data-subtext") ){
										productosArray[0].producto_variacion =  tr.attr("data-subtext");
									}	
								}
								idProductosSeleccionados.push(idPS)
							});
							$.each(datos, function(key, value){
								//PROCESO ETIQUETAS
								if( etiquetasArray.length != 0 ){
									var etiquetaSet = value.etiquetas.map(function(e) { return e.etiqueta_id; });
									var etiquetaDiferente = etiquetaSet.filter(x => etiquetasGeneral.indexOf(x) === -1);
									if( value.etiquetas.length == 0 ){
										Array.prototype.push.apply(value.etiquetas, etiquetasArray); 
									}
									else{
										if( etiquetaDiferente.length > 0 ){
											//VALIDACION PARA DETECTAR ETIQUETA DIFERENTE
											$.each(value.etiquetas, function(i,v){
												$.each(etiquetaDiferente, function(f,g){
													if( v.etiqueta_id == g && v.e_general ){
														delete v.etiqueta_id;
														delete v.nombre;
														delete v.e_general;
													}
												});
											});
										}
										$.each(etiquetasArray, function(k,etiqueta){
											if( etiquetaSet.indexOf(etiqueta.etiqueta_id) == -1 ){
												value.etiquetas.push(etiqueta);
											}
										});
									}
								}
								//PROCESO PRODUCTOS
								if( productosArray.length != 0 ){
									if( value.productos.length == 0 ){
										Array.prototype.push.apply(value.productos, productosArray); 
									}
									else{
										$.each(value.productos, function(i,v){
											var productoSet = value.productos.map(function(e) { return e.idPS; });
											var productoDiferente = productoSet.filter(x => idProductosSeleccionados.indexOf(x) === -1);
											var referenciaSet = value.productos.map(function(e) { return e.referencia; });
											var asignarASet = value.productos.map(function(e) { return e.asignar_a; });
											$.each(productosArray, function(k,producto){
												if( productoSet.indexOf(producto.idPS) == -1 ){
													value.productos.push(producto);
													v.referencia = producto.referencia;
													v.asignar_a = producto.asignar_a;
												}
												else{
													if( productoDiferente.length > 0 ){
														$.each(productoDiferente, function(f,p){
															if( v.idPS == p && v.producto_global ){
																delete v.idPS;
																delete v.producto;
																delete v.idVPS;
																delete v.ilimitado;
																delete v.precio_producto;
																delete v.inventario;
																delete v.referencia;
																delete v.asignar_a;
																delete v.producto_global;
																delete v.producto_variacion;
															}
														});
													}
												}
											});
										});
									}
								}
							});
							setTimeout(function(){
								tabla.clear().draw();
								tabla.rows.add(datos);
								tabla.columns.adjust().draw();
								$.isLoading("hide"); NProgress.done();
								new PNotify({ title: "Importante", text: "Etiquetas y Productos/Servicios configurados a todos los prospectos", type: "success" });
								dialogItself.close();
							}, 900);
						}
						else if( etiquetasGeneral == null && productosTabla > 1  ){
							TablaProductos.find("tbody tr").each(function (i,v){
								var tr = $(this);
								var nombre = tr.attr("data-producto");
								var idPS = tr.attr("data-idps");
								var idV = tr.attr("data-idvps");
								var ilimitado = tr.attr("data-i");
								var precioProducto = tr.attr("data-precio");
								var inventario = tr.attr("data-inventario");
								if( nombre != undefined ){
									productosArray.push({
										"idPS" : idPS,
										"producto" : nombre,
										"idVPS" : idV,
										"ilimitado" : ilimitado,
										"precio_producto" : precioProducto,
										"inventario" : inventario,
										"referencia" : referencia,
										"asignar_a" : asignar,
										"producto_global": true
									});
									if( tr[0].hasAttribute("data-subtext") ){
										productosArray[0].producto_variacion =  tr.attr("data-subtext");
									}	
								}
							});
							$.each(datos, function(key, value){
								if( productosArray.length != 0 ){
									if( value.productos.length == 0 ){
										Array.prototype.push.apply(value.productos, productosArray); 
									}
									else{
										$.each(value.productos, function(i,v){
											var productoSet = value.productos.map(function(e) { return e.idPS; });
											var productoDiferente = productoSet.filter(x => idProductosSeleccionados.indexOf(x) === -1);
											var referenciaSet = value.productos.map(function(e) { return e.referencia; });
											var asignarASet = value.productos.map(function(e) { return e.asignar_a; });
											$.each(productosArray, function(k,producto){
												if( productoSet.indexOf(producto.idPS) == -1 ){
													value.productos.push(producto);
													v.referencia = producto.referencia;
													v.asignar_a = producto.asignar_a;
												}
												else{
													if( productoDiferente.length > 0 ){
														$.each(productoDiferente, function(f,p){
															if( v.idPS == p && v.producto_global ){
																delete v.idPS;
																delete v.producto;
																delete v.idVPS;
																delete v.ilimitado;
																delete v.precio_producto;
																delete v.inventario;
																delete v.referencia;
																delete v.asignar_a;
																delete v.producto_global;
																delete v.producto_variacion;
															}
														});
													}
												}
											});
										});
									}
								}
								$.each(value.etiquetas, function(i,v){
									if( value.etiquetas.length != 0 ){
										var nuevoArray = value.etiquetas.filter((item) => item.e_general === false);
										value.etiquetas = nuevoArray;
									}
								});
							});
							setTimeout(function(){
								tabla.clear().draw(); // Limpio la tabla
								tabla.rows.add(datos); // Agrego nueva data
								tabla.columns.adjust().draw(); // redibujo DataTable
								$.isLoading("hide"); NProgress.done();
								new PNotify({ title: "Importante", text: "Producto/Servicio configurados a todos los prospectos", type: "success" });
								dialogItself.close();
							}, 900);
						}
						else if( etiquetasGeneral != null && productosTabla == 1 ){
							$.each(etiquetasGeneral, function(indice, etiqueta){
								var texto = $("#slEtiquetasG").find('option[value="'+etiqueta+'"]').text();
								etiquetasArray.push({
									"etiqueta_id" : etiqueta,
									"nombre": texto,
									"e_general": true
								});
							});
							$.each(datos, function(key, value){
								if( etiquetasArray.length != 0 ){
									var etiquetaSet = value.etiquetas.map(function(e) { return e.etiqueta_id; });
									var etiquetaDiferente = etiquetaSet.filter(x => etiquetasGeneral.indexOf(x) === -1);
									if( value.etiquetas.length == 0 ){
										Array.prototype.push.apply(value.etiquetas, etiquetasArray); 
									}
									else{
										if( etiquetaDiferente.length > 0 ){
											//VALIDACION PARA DETECTAR ETIQUETA DIFERENTE
											$.each(value.etiquetas, function(i,v){
												$.each(etiquetaDiferente, function(f,g){
													if( v.etiqueta_id == g && v.e_general ){
														delete v.etiqueta_id;
														delete v.nombre;
														delete v.e_general;
													}
												});
											});
										}
										$.each(etiquetasArray, function(k,etiqueta){
											if( etiquetaSet.indexOf(etiqueta.etiqueta_id) == -1 ){
												value.etiquetas.push(etiqueta);
											}
										});
									}
								}
							});
							setTimeout(function(){
								tabla.clear().draw();
								tabla.rows.add(datos);
								tabla.columns.adjust().draw();
								$.isLoading("hide"); NProgress.done();
								new PNotify({ title: "Importante", text: "Etiquetas configuradas a todos los prospectos", type: "success" });
								dialogItself.close();
							}, 900);
						}
						else if( etiquetasGeneral == null && productosTabla == 1  ){
							$.each(datos, function(key, value){
								$.each(value.etiquetas, function(i,v){
									if( value.etiquetas.length != 0 ){
										var nuevoArray = value.etiquetas.filter((item) => item.e_general === false);
										value.etiquetas = nuevoArray;
									}
								});
							});
							setTimeout(function(){
								tabla.clear().draw();
								tabla.rows.add(datos);
								tabla.columns.adjust().draw();
								$.isLoading("hide"); NProgress.done();
								new PNotify({ title: "Importante", text: MensajeAlertaNESP, type: "warning" });
								dialogItself.close();
							}, 400);
						}
						else{
							if( etiquetasGeneral != null && lista.gestion_clientes == "N" ){
								$.each(etiquetasGeneral, function(indice, etiqueta){
									var texto = $("#slEtiquetasG").find('option[value="'+etiqueta+'"]').text();
									etiquetasArray.push({
										"etiqueta_id" : etiqueta,
										"nombre": texto,
										"e_general": true
									});
								});
								$.each(datos, function(key, value){
									if( etiquetasArray.length != 0 ){
										var etiquetaSet = value.etiquetas.map(function(e) { return e.etiqueta_id; });
										var etiquetaDiferente = etiquetaSet.filter(x => etiquetasGeneral.indexOf(x) === -1);
										if( value.etiquetas.length == 0 ){
											Array.prototype.push.apply(value.etiquetas, etiquetasArray); 
										}
										else{
											if( etiquetaDiferente.length > 0 ){
												//VALIDACION PARA DETECTAR ETIQUETA DIFERENTE
												$.each(value.etiquetas, function(i,v){
													$.each(etiquetaDiferente, function(f,g){
														if( v.etiqueta_id == g && v.e_general ){
															delete v.etiqueta_id;
															delete v.nombre;
															delete v.e_general;
														}
													});
												});
											}
											$.each(etiquetasArray, function(k,etiqueta){
												if( etiquetaSet.indexOf(etiqueta.etiqueta_id) == -1 ){
													value.etiquetas.push(etiqueta);
												}
											});
										}
									}
								});
								setTimeout(function(){
									tabla.clear().draw();
									tabla.rows.add(datos);
									tabla.columns.adjust().draw();
									$.isLoading("hide"); NProgress.done();
									new PNotify({ title: "Importante", text: "Etiquetas configuradas a todos los prospectos", type: "success" });
									dialogItself.close();
								}, 900);
							}
						}
						$("#slEtiquetasG").val("default");
						$("#slReferenciaGPG").val("default");
						$("#slUsuarioAsignarGPG").val("default");
						$("#slEtiquetasG").selectpicker("refresh");
						$("#slReferenciaGPG").selectpicker("refresh");
						$("#slUsuarioAsignarGPG").selectpicker("refresh");
						var limpiarTabla = $("#tblProductosVenta").find("tbody > tr").not(":last");
						limpiarTabla.each(function(k,v){
							$(this).remove();
						});
						$("#tblProductosVenta").find(".nmTT").val(0);
					}
				}],
				onshown: function(dialogItself){
					var modalBody = dialogItself.getModalBody();
					$("body").addClass("modal-open");
					modalBody.find('[name="rdAcuerdo"]').click(function(e){
						if(modalBody.find('[name="rdAcuerdo"]:checked').length == 1){
							$("#btnAplicarGlobal").removeClass("desactivado");
						}
						else{
							$("#btnAplicarGlobal").addClass("desactivado");
						}
					});
				},
				onhidden: function(dialogItself){
					$("body").removeClass("modal-open");
				}
			});
		}
		else{
			new PNotify({ title: "Importante", text: "Por favor verifica que seleccionaste un producto/servicio, referencia y vendedor", type: "warning" });
		}
	}
</script>
<?php $__env->stopSection(); ?>

<?php $__env->startSection('JSOr'); ?>
$(".sidebar-toggle-box").trigger("click");
$(".dvImportarProspectosWizard").bootstrapWizard({
	onInit: function(tab, navigation, index){
		$(".dvImportarProspectosWizard .progress").addClass("active");
	},
	onTabClick: function(tab, navigation, index){
		return false;
	},
	onTabShow: function(tab, navigation, index){
		var $total = navigation.find("li").length;
		var $current = index+1;
		var $percent = ($current/$total) * 100;
		$(".dvImportarProspectosWizard #progress-bar").css({
			width: $percent+"%"
		});
	},
	onNext: function(tab, navigation, index){
		if( index == 1 ){
			var pasa = true;
			return pasa;
		}
		if( index == 2 ){
			var flag = 0; 
			if( $("#frmPaso2").valid() ){
				$.isLoading({ text: "Cargando..." }); NProgress.start();
				if( $("#archivocsv").val() != "" ){ $("#imgarchivocsv").show(); }
				var frmPaso2 = new FormData(document.getElementById("frmPaso2"));
				var ajax = $.ajax({
					type: "POST",
					url: "<?php echo URL::route('SysWebGClientesProspectosAgregarImportar'); ?>",
					data: frmPaso2,
					cache: false,
					contentType: false,
					processData: false,
					dataType: "json",
					timeout: 1800000,
					success: function(data){
						if(data.success){
							flag = 1;
							$("#imgarchivocsv").hide();
							$.isLoading("hide"); NProgress.done();
							var datosProspectos = JSON.parse(data.prospectos);
							var tablaProspectos = $("#tblProspectosImportar").DataTable({
								"data": datosProspectos.prospectos,
								"pageLength": 50,
								"fixedHeader": true,
								"columns": [
									{"title": "N°.", className: "row_n", "data": "row", searchable: false}, 
									{"title": "Campos", "data": "campos", className: "row_c", orderable:false, searchable: false,
										render: function(data, type, row, meta){
											var lista = "";
											var contador = 0;
											$.each(data, function(i,value){
												$.each(value, function(k, valor){
													contador++;
													var requerido = (  valor.requerido == 1  ) ? "*":"";
													var primerLetra = valor.slug.charAt(0).toUpperCase();
													var campo = primerLetra + valor.slug.slice(1);
													campo = campo.replace(/_/g, " ");
													if( valor.valor == null ){
														valor.valor = "";
													}
													if( contador <= 2 ){
														lista += "<b style='font-size: 13px;'>"+campo+":"+requerido+"</b><br><p>"+valor.valor+"</p>";
													}
													else{
														lista += "<b style='font-size: 13px; display:none'>"+campo+":"+requerido+"</b><br style='display:none'><p style='display:none'>"+valor.valor+"</p>";
													}
												});
											});
											var dataFuncion = JSON.stringify(data);
											lista += "<a href='javascript:void(0)' id='Editar"+meta.row+"' onclick='verInfoProspecto("+dataFuncion+", "+meta.row+", "+meta.col+", this.id )'> Ver más... </a>";
											return lista;
										}
									},
									{"title": "Valido", className: "prospecto_valido hide", "data": "valido", orderable:false, searchable: true},
									{"title": "Etiquetas", className: "text-center row_e", "data": "etiquetas", orderable:false,
										render: function(data, type, row, meta){
											var contador = 0;
											var span = "";
											$.each(data, function(i, value){
												if( Object.keys(value).length !== 0 ){
													contador++;
													if( contador == 4 ){
														span += "<span class='label label-info'>...</span><br>";
													}
													else if( contador <= 3 ){
														span += "<span class='label label-info'>"+value.nombre+"</span><br>";
													}
												}
											});
											var etiqueta = "<a href='javascript:void(0)' id='Etiquetas"+meta.row+"' onclick='agregarEtiquetaProspecto("+meta.row+", "+meta.col+", this.id)'> Gestionar Etiquetas </a><div id='labels-etiquetas-"+meta.row+"'>"+span+"</div>";
											return etiqueta;
										}
									},
									{"title": "Productos", "data": "productos",  className: "text-center", orderable:false, searchable: false, visible: true,
										render: function(data, type, row, meta){
											var contador = 0;
											var li = ""
											$.each(data, function(k, valor){
												if( Object.keys(valor).length !== 0 ){
													contador++
													if( contador == 4 ){
														li += "<li>...</li>";
													}
													else if( contador <= 3 ){
														li += "<li>"+valor.producto+"</li>";
													}
												}
												
											});
											var dataProductos = JSON.stringify(data);
											var producto = "<a href='javascript:void(0)' id='Productos"+meta.row+"' onclick='agregarPSProspecto("+dataProductos+", "+meta.row+", "+meta.col+", this.id)'> Gestionar Producto/Servicio </a><div id='li-productos-"+meta.row+"'><ul class='list-group'>"+li+"</ul></div>";
											return producto;
										}
									},
									{"title": "Acciones", className: "btnAcciones text-center row_acciones", searchable: false, orderable:false, "width": "10%",
										render: function(data, type, row, meta) {
											var btnEliminar = "<a href='javascript:void(0)' id='btnEliminarRegistro"+meta.row+"' onclick='eliminarProspecto("+meta.row+", "+meta.col+", this.id)' class='btn btn-danger tooltips btnEliminarRegistro' data-toggle='tooltip' data-original-title='Eliminar'><i class='fa fa-trash'></i></a>";
											return btnEliminar;
										}
									},
									{"title": "",  "data": "campos", className: "fltD hide", searchable: true,
										render: function(data, type, row, meta){
											var lista = "";
											$.each(data, function(i,value){
												$.each(value, function(k, valor){
													if(  valor.slug == "nombre_completo" ){
														lista += "<p>"+valor.valor+"</p>";
													}
													if( valor.slug == "correo_electronico" ){
														lista += "<p>"+valor.valor+"</p>";
													}
													if(  valor.slug == "telefono" ){
														lista += "<p>"+valor.valor+"</p>";
													}
												});
											});
											return lista;
										}
									},
									{"title": "",  "data": "etiquetas", className: "fltE hide", searchable: true,
										render: function(data, type, row, meta){
											var lista = "";
											$.each(data, function(i,value){
												lista += "<p>"+value.nombre+"</p>";
											});
											return lista;
										}
									},
									{"title": "",  "data": "productos", className: "fltP hide", searchable: true,
										render: function(data, type, row, meta){
											var lista = "";
											$.each(data, function(i,value){

												lista += "<p>"+value.producto+"</p>";
											});
											return lista;
										}
									}
								],
								"order": [[3, "asc"]],
								"language": {
									"url": "<?php echo asset('DataTables/Spanish.json'); ?>"
								},
								"fnDrawCallback": function(oSettings){
									$(".selectpicker").selectpicker();
									$(".tooltips").tooltip({
										position: {
											my: "center bottom-5",
											at: "center top",
										},
										tooltipClass: "entry-tooltip-positioner",
									});
									$(".btnEliminarRegistro").attr("data-original-title", "Eliminar Prospecto");
									$(".btnEliminarRegistro").attr("data-toggle", "tooltip");
									$(".prospecto_valido").each(function(i,k){
										var valido = tablaProspectos.cell( $(this).closest("tr").find("td:nth-child(3)")[0] ).data();
										if( valido == 0 ){
											$(this).closest("tr").addClass("danger");
										}
									});
									$("td.fltES").each(function(i,k){
										var lista = 10;
										var existe = tablaProspectos.cell( $(this).closest("tr").find("td:nth-child("+lista+")")[0] ).data();
										if( existe != 0 ){
											$(this).closest("tr").addClass("info");
										}
									});
								},
								initComplete: function(){
									var input = $(".dataTables_filter input").unbind(),
									self = this.api(),
									$searchButton = $('<button class="btn btn-primary tooltips" id="btnFiltroProspectoB" style="margin-left: 5px;" data-toggle="tooltip" data-original-title="Buscar">').html('<i class="fa fa-search"></i>').click(function(e){
										e.preventDefault();
										self.search(input.val().trim()).draw();
									}),
									$clearButton = $('<button class="btn btn-default tooltips" id="btnFiltroProspectoC" style="margin-left: 5px;" data-toggle="tooltip" data-original-title="Limpiar">>').html('<i class="fa fa-paint-brush"></i>').click(function(e){
										e.preventDefault();
										input.val('');
										$searchButton.click(); 
									});
									$(".dataTables_filter").append($searchButton, $clearButton);
									$("body").tooltip({selector: "[data-toggle='tooltip']"});
								},
								dom: "<'row row-filtro-tabla'<'col-sm-8'l><'col-sm-4 filtro-tabla'f>>" +
									"<'row centrar-tabla'<'col-sm-11'tr>>" +
								"<'row'<'col-sm-5'i><'col-sm-7'p>>",
								autoWidth: false,
								responsive: true
							});
							return true;
						}
						else{
							$("#imgarchivocsv").hide();
							$.isLoading("hide"); NProgress.done();
							if(typeof data.MensajeError != "undefined"){
								$("#Errs").html(data.MensajeError);
								$("#MensajeError").show();
							}
							else{
								$("#MensajeError").hide();
								$("#Errs").html("");
							}
							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){
						try {
							var response = JSON.parse(jqXHR.responseText);
							var mensajeError = "Demasiada información para procesar, por favor reduzca el número de registros y vuelva a intentarlo.";
							if(textStatus == "parsererror" || response.error.message.includes("exhausted")){
								$("#errarchivocsv").text(mensajeError);
							}
							else{
								$("#errarchivocsv").text(response.error.message);
							}
							$("#imgarchivocsv").hide();
							$.isLoading("hide"); NProgress.done();
							$("input[type='submit']").prop("disabled", false);
							//new PNotify({ title: "Error", text: textStatus + " " + errorThrown, type: "error" });
						}
						catch(error){
							console.error(error);
						}
					}
				});
				$.when(ajax).then(function (res){
					if(res.success){
						$("#progressWizard").bootstrapWizard("show",2);
					}
				});
			}
			if(flag == 0){ 
				return false; 
			}
		}
		if( index == 3 ){
			$.isLoading({ text: "Cargando..." }); NProgress.start();
			var tabla = $("#tblProspectosImportar").DataTable();
			var datos = tabla.rows().data();
			setTimeout(() => {
				var validoJson = validarJSONTablaProspectos(datos);
				if(  $("#frmPaso3").valid() && validoJson ){
					$.isLoading("hide"); NProgress.done();
					$("#progressWizard").bootstrapWizard("show",3);
				}
				else{
					$.isLoading("hide"); NProgress.done();
				}
			}, 1);
			return false;
		}
	},
	onPrevious: function(tab, navigation, index){
		if(index == 1){
			return false;
		}
	}
});
$("#frmPaso2").validate({
	lang: "es",
	ignore: [],
	rules: {
		archivocsv: {
			required: true,
			extension: "csv|txt|ods|xls|xlsx",
		},
	},
	messages: {
		archivocsv: {
			extension: "La plantilla debe ser un archivo con formato: csv, txt, ods, xls, xlsx."
		},
	},
	errorPlacement: function(error, element){
		var mensaje = error.html();
		var id = "err"+error.attr("id").substr(0, error.attr("id").indexOf("-error"));
		$("#"+id).html(mensaje);
	},
	success: function(label, element){
		var id = "err"+label.attr("id").substr(0, label.attr("id").indexOf("-error"));
		$("#"+id).html("");
	}
});
$("#archivocsv").ezdz({
	text: '<i class="fa fa-cloud-upload"></i> \
	<span class="spFlITitulo">Escoger Archivo</span> \
	<span class="spFlITexto"></span>',
	validators: {
	},
	reject: function(file, errors) {
		if (errors.mimeType) {
			$("#errarchivocsv").text("Por favor carga el archivo Excel (Plantillla) que descargaste en el paso 1");
		}
	},
	previewImage: false
});
$("#btnBuscarProspecto").on("click", function(e){
    e.preventDefault();
	var tabla = $("#tblProspectosImportar").DataTable(); 
    var valor = $("#slEstadoP").val();
	tabla.column(2).search(valor).draw();
});
$("#btnLimpiar").on("click", function(e){
    e.preventDefault();
	var tabla = $("#tblProspectosImportar").DataTable();
	tabla.column(2).search("").draw();
});
$("#btnBuscarProspectoE").on("click", function(e){
    e.preventDefault();
	var tabla = $("#tblProspectosImportar").DataTable();
    var valor = $("#slFiltroEProspecto").val();
	if( valor != null ){
		var textos = valor.toString();
	}
	textos = textos.replace(/,/g, "|");
	tabla.column(7).search(textos ? textos : '', true, false).draw();
});
$("#btnLimpiarE").on("click", function(e){
    e.preventDefault();
	$("#slFiltroEProspecto option:selected").prop("selected", false);
	$("#slFiltroEProspecto").selectpicker("refresh");
	var tabla = $("#tblProspectosImportar").DataTable();
	tabla.column(7).search("").draw();
});
$("#btnBuscarProspectoPS").on("click", function(e){
    e.preventDefault();
	var tabla = $("#tblProspectosImportar").DataTable();
    var valor = $("#slFiltroPSProspecto").val();
	if( valor != null ){
		var textos = valor.toString();
	}
	textos = textos.replace(/,/g, "|");
	tabla.column(8).search(textos ? textos : '', true, false).draw();
});
$("#btnLimpiarPS").on("click", function(e){
    e.preventDefault();
	$("#slFiltroPSProspecto option:selected").prop("selected", false);
	$("#slFiltroPSProspecto").selectpicker("refresh");
	var tabla = $("#tblProspectosImportar").DataTable();
	tabla.column(8).search("").draw();
});
var newDate = new Date();
$(".datetimepicker").datetimepicker({
	locale:moment.locale("es"),
	format: "DD/MM/YYYY hh:mm a",
	minDate: moment(newDate).format("MM/DD/YYYY H:mm:ss"),
	ignoreReadonly: true,
});
$('[name="prospectoFuturo"]').val("");
$('[name="rdProgramar"]').on("click", function(){
	if($(this).val() == 1){
		$(".divProgramar").show("slow");
	}
	else {
		$(".divProgramar").hide("slow");
	}
});
$("#frmImportar").submit(function(e){
	$.isLoading({ text: "Cargando..." }); NProgress.start();
	$('[id^="err"]').html("");
	$("button[type='submit']").prop("disabled", true);
	$("#btnImportar").html('<i class="fa fa-spinner fa-spin"></i> Cargando');
	e.preventDefault();
	if($(".nmPV").length > 0){
		$("#frmImportar").find("#productos").val(1);
	}
	var frmImportar = new FormData(document.getElementById("frmImportar"));
	if( $("#archivocsv").val() != "" ){ $("#imgarchivocsv").show(); }
	$.ajax({
		type: "POST",
		url: "<?php echo URL::route('SysWebGClientesProspectosAgregarImportar'); ?>",
		data: frmImportar,
		cache: false,
		contentType: false,
		processData: false,
		dataType: "json",
		timeout: 1800000,
		success: function(data){
			confirmacionSalida = false;
			$.isLoading("hide"); NProgress.done();
			$("button[type='submit']").prop("disabled", false);
			$("#btnImportar").html("Importar");
			$("#imgarchivocsv").hide();
			if(data.success){
				new PNotify({ title: "Realizado", text: data.mensaje, type: "success" });
				if(typeof data.MensajeError != "undefined"){ $("#MensajeError2").html(data.MensajeError); $("#MensajeError2").show(); }else{ $("#MensajeError2").hide(); $("#MensajeError2").html(""); }
				$("#btnImportar").attr("disabled", true);
				setTimeout( function(){ window.location.href = "<?php echo URL::route('SysWebGClientesProspectos'); ?>"; }, 6000 );
			}
			else{
				if(typeof data.MensajeError != "undefined"){ $("#Errs").html(data.MensajeError); $("#MensajeError").show(); }else{ $("#MensajeError").hide(); $("#Errs").html(""); }
				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){
			$("input[type='submit']").prop("disabled", false);
			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(); ?>