const listarPersonal = (selectorName) => {
	initSelect2(selectorName, baseURLRest + URI_TRABAJADORES, {title: "nombresapellidos", subtitle: "documentoidentidad"});
};

const listarTipoJustificacion = (nodeIdentifier) => {
	ajaxWebService.get(URI_JUSTIFICACION_TIPO).then((response) => {
		let data = response.data
		let html = "<option>[SELECCIONE]</option>"
		html += data.map((tipoJustificacion) => `<option value="${tipoJustificacion.id}">${tipoJustificacion.descripcion}</option>`)
		$(nodeIdentifier).html(html)
	})
}

const formControls = {
	init() {
		this.initializeRadioButton()
		this.initializeChooseFile()
		pickersNoConflict()
		initDateRangePicker("#dpRangoFechas")
	},
	initializeRadioButton() {
		$(".styled, .multiselect-container input").uniform({
			radioClass: 'choice'
		});
	},
	initializeChooseFile() {
		$(".file-styled-primary").uniform({
			fileButtonClass: 'action btn bg-blue'
		});
	}
}

const registrarJustificacion = () => {
	let personal = $("#cboPersonal").select2('data')[0];
	let {
		id: trabajador_id,
		nombres: trabajador_nombres,
		apellidos: trabajador_apellidos,
		documentoidentidad: trabajador_documentoidentidad
	} = personal

	let daterangepicker = $("#dpRangoFechas").data('daterangepicker')
	let fecha_inicio = daterangepicker.startDate.format('DD/MM/YYYY')
	let fecha_fin = daterangepicker.endDate.format('DD/MM/YYYY')
	let tipojustificacion_id = $("#cboTipoJustificacion").val()
	let tipojustificacion_descripcion = $("#cboTipoJustificacion option:selected").text()
	let hora_ingreso = $("#txtHora").val()
	let motivo = $("#txtMotivo").val();
	let observacion = $("#txtObservacion").val()
	let numero_documentos_adjuntos = $("#txtNumeroDocumentosAdjuntos").val()
	let documentos_adjuntados = ""
	
	let documentos = [];
	
	
	documentos.push({url: "https://picsum.photos/300/300/?random"})
	documentos.push({url: "https://picsum.photos/300/300/?random"})
	
	let estado = 1

	let params = {
		trabajador_id,
		trabajador_nombres,
		trabajador_apellidos,
		trabajador_documentoidentidad,
		fecha_inicio,
		fecha_fin,
		hora_ingreso,
		tipojustificacion_id,
		tipojustificacion_descripcion,
		motivo,
		observacion,
		numero_documentos_adjuntos,
		estado
	}

	ajaxWebService.post(URI_JUSTIFICACION, params)
		.then((response) => {
			if (response.status) {
				console.log(response.message)
				console.log(response.data)
			}
		})
}

$(document).ready(function () {
	formControls.init()
	listarTipoJustificacion("#cboTipoJustificacion")
	listarPersonal("#cboPersonal")
	$("#btnRegistrar").click(registrarJustificacion)
});