var statusCalificacion = false;
var conCallBack = [];
var cronometro = null;
var TiempoTot = 0;

function addZero(val) {
	if (parseInt(val) < 10) {
		val = "0".concat(val);
	}
	return val;
}

function conviertePM(val) {
	val = parseInt(val) + 12;
	return val.toString();
}

function lanzaCalificacion(id) {
	if (idAnterior !== id) {
		idAnterior = id;
		presionaEstados = -1;
	}
	presionaEstados++;
	if (!statusCalificacion && presionaEstados <= 2) {
		statusCalificacion = true;
		$.ajax({
			url: "/" + RUTA_MAESTRA + "/index.php/homeAgente/getDispoSelect",
			type: "POST",
			data: {},
			dataType: "text",
			success: function (result) {
				if (!bln_hangup_block) {
					$("#calif").show();
				}
				var resp = JSON.parse(result);
				if (resp.Estado == "ok") {
					conCallBack = [];
					$("#codigosCalif").html("");
					if (resp.Horario === "24hours") {
						$("#cbTime").removeAttr("min");
						$("#cbTime").removeAttr("max");
					} else {
						var arregloasd = resp.Horario.split("-");
						arregloasd = arregloasd.map((val) => {
							val = val.indexOf("pm") != -1 ? conviertePM(val.replace("pm", "")) : val.replace("am", "");
							return val;
						});
						$("#cbTime").attr("min", `${addZero(arregloasd[0])}:00:00`);
						$("#cbTime").attr("max", `${addZero(arregloasd[1])}:00:00`);
					}
					for (var i = 0; i < resp.Registros.length; i++) {

						if (resp.Registros[i].status == id) {

							$("#codigosCalif").append("<a href='#'style='padding:3px;' class='  letraSize col-sm-3  bg-success text-white text-center list-group-item list-group-item-secondary text-wrap' onclick='enviaCalificacion(\"" + resp.Registros[i].status + "\",1)'>" + resp.Registros[i].status + "-" + resp.Registros[i].status_name + "</a>");
						} else {
							$("#codigosCalif").append("<a href='#' style='padding:3px;' class=' letraSize col-sm-3 botonCalificar text-center list-group-item-action text-wrap' onclick='enviaCalificacion(\"" + resp.Registros[i].status + "\",0)'>" + resp.Registros[i].status + "-" + resp.Registros[i].status_name + "</a>");
						}

						if (resp.Registros[i].scheduled_callback == "Y") {
							conCallBack.push(resp.Registros[i].status);
						}
					}
					if (id == null) {
						// document.getElementById("my_iframe").contentWindow.dialedcall_send_hangup('', '', '', '', 'YES');
						TiempoTot = TiempoDispo;
						disminuyeTiempo(TiempoDispo);
						cronometro = setInterval(function () {
							if (TiempoTot == 0) {
								enviaCalificacion('NOCAL', 1);
								clearInterval(cronometro);
								setTimeout(() => cronometro = null, 5000);
							} else {
								disminuyeTiempo(TiempoTot);
								TiempoTot--;
							}
						}, 1000);
					}
				} else {
					$("#ListaAlert").html(i18n.gettext(resp.Descripcion))
					crearTooltip();
				}
				if (conCallBack.indexOf(id) == -1) {
					$("#callback").hide();
				}
			},
			error: function (error) {
				console.log(error);
				statusCalificacion = false;
			}
		});
	}
	return false;
}

function disminuyeTiempo(tiempo) {
	$("#TiempoCal").html(i18n.gettext("Tiempo restante") + ": <b>" + tiempo + '</b>');
}

function ocultaCalificacion() {
	$("#calif").hide();
	statusCalificacion = false;
	$("#botonCalificar").attr("disabled", false);
	$("#cbComments").val("")
	$("#cbTipo").val("USERONLY");
	$("#cbDate").val("");
	$("#cbTime").val("")
}

function buscaCB(id) {
	if (conCallBack.indexOf(id) != -1) {
		$("#callback").show();
		let dt = new Date()
		let dt_date = ("0" + dt.getDate()).slice(-2)
		let dt_month = ("0" + (dt.getMonth() + 1)).slice(-2)
		let dt_hours = ("0" + dt.getHours()).slice(-2)
		let dt_minutes = ("0" + dt.getMinutes()).slice(-2)
		let dt_years = dt.getFullYear()
		$("#cbDate").val(`${dt_years}-${dt_month}-${dt_date}`)
		$("#cbTime").val(`${dt_hours}:${dt_minutes}`)
	} else {
		$("#callback").hide();
	}
}

function dameFecha() {
	return $("#cbDate").val() + " " + $("#cbTime").val();
}

function comentaLead(comentario, lead_id) {
	$.ajax({
		url: "/" + RUTA_MAESTRA + "/index.php/homeAgente/commentLead",
		type: "POST",
		data: { comment: comentario, lead_id: lead_id },
		dataType: "text",
		success: function (result) {
			console.log("Todo bien")
		},
		error: function (err) {
			console.log(err);
		},
	});
}

function revisaListas(numero, calificacion, campana, vendor_lead_code) {
	$.ajax({
		url: "/" + RUTA_MAESTRA + "/index.php/homeAgente/checkBlackList",
		type: "POST",
		data:
			{ numero: numero, calificacion: calificacion, campana: campana, vendor_lead_code: vendor_lead_code },
		dataType: "text",
		success: function (result) {
			console.log("Todo bien")
		},
		error: function (err) {
			console.log(err);
		},
	});
}

function enviaCalificacion(id, cant) {
	if (cant == 0) {
		statusCalificacion = false;
		lanzaCalificacion(id);
		$("#cbDate").val("")
		$("#cbTime").val("")
		$("#cbComments").val("")
		$("#cbTipo").val("USERONLY")
		buscaCB(id);
	} else {
		$("#btncuelga").attr("disabled", true);
		if (!bln_hangup_block) {
			bln_hangup_block = true;
			let pausaBoton = $("#PausaCal").prop("checked");
			if ($("#PausaCal").prop("checked")) {
				$("#PausaCal").prop("checked", false)
				document.getElementById("my_iframe").contentWindow.document.getElementById("DispoSelectStop").checked = true;

				setTimeout(() => {
					$("#codPausa").show();
					statusPausa = true;
					$("#botonPausaCalificar").attr("disabled", false);
					pideRazonPausa();
				}, 1000);
			}
			document.getElementById("my_iframe").contentWindow.DispoSelectContent_create(id, 'ADD', 'YES');
			document.getElementById("my_iframe").contentWindow.DispoSelect_submit('', '', 'YES')
			let comentario = $("#comentario").val()
			$("#comentario").val("")
			comentaLead(comentario, ultimoLeadId);
			revisaListas(dialvoxCRM, id, campanaActual, ultimoVendor)
			var conCall = 0;
			if ($("#cbDate").val() !== "") {
				let cbDate = $("#cbDate").val().split("-")
				let cbTime = $("#cbTime").val().split(":")
				let cbComments = $("#cbComments").val()
				let cbTipo = $("#cbTipo").val() === 'ANYONE' ? true : false
				let cbPhoneNumber = $("#pantalla").val()
				scheduler.fn_schedule(
					cbDate[0], cbDate[1], cbDate[2],
					cbTime[0], cbTime[1],
					cbComments,
					cbPhoneNumber,
					cbTipo
				)
				$("#cbDate").val("")
				$("#cbTime").val("")
				$("#cbComments").val("")
				$("#cbTipo").val("USERONLY")
			}
			$("#pantalla").val("");
			if (conCallBack.indexOf(id) != -1) conCall = 1;
			$("#botonCalificar").attr("disabled", true);
			if (!scheduler.bln_anyone) {
				scheduler.fn_checkCallback();
				scheduler.bln_anyone = false;
			}
			TiempoTot = 0;
			clearInterval(cronometro);

			ocultaCalificacion();
			if (!pausaBoton && Manual === "INBOUND_MAN") {
				document.getElementById("my_iframe").contentWindow.AutoDial_ReSume_PauSe('VDADready', '', '', '', '', '', '', 'YES');
			}
			setTimeout(() => {
				cronometro = null;
				presionaEstados = -1;
				idAnterior = null;
			}, 5000);
		}
	}
	return false;
}

function regresaAlDefault() {
	$("#calificacionSelect").val("NULO");
	$("#cbComments").val("");
	$("#cbDate").val("");
	$("#cbTime").val("");
}
