function fn_xca_listar () {
	swal({
		title 	: 'Alerta!',
		html 	: 'Cargando...',
		onOpen 	: function () {
			swal.showLoading();
			$.ajax({
				url 	: ruta + 'movimientos/xca/listar',
				data 	: {
					desde 		: $('#txt_desde').val(),
					hasta 		: $('#txt_hasta').val(),
					xco 		: $('#cbo_xco option:selected').val()
				},
				type 	: 'post',
				dataType: 'json',
				success : function (data) {
					$('#xca_data').DataTable().destroy();
					$('#xca_data tbody').html(data[0]);
					$('#xca_data').DataTable({
    		            "searching"     : false,
    		            "scrollY"       : ($(window).height() - 435) + "px",
    		            "scrollCollapse": true,
    		            "paging"        : false,
    		            "language"		: {
    		            	"url" 			: ruta + 'json/Spanish.json'
    		            }
					});
					swal.close();
				}
			});
		}
	});
}

function fn_xca_insertar() {
	mhtml 	= '';
	if($('#cbo_xpn option:selected').val()==''){
		mhtml 	= 'Programación requerida<br>';
		sel 	= $('#cbo_xpn');
	}
	if($('#cbo_xhc option:selected').val()==''){
		mhtml 	= 'Paciente requerido<br>';
		sel 	= $('#cbo_xhc');
	}
	if(mhtml!=''){
		swal({
			type 	: 'warning',
			title 	: 'Alerta!',
			html 	: mhtml + '<b>Campos requeridos</b>'
		}).then(function () {
			sel.focus();
		});
		this.stopPropagation();
		return;
	}
	var res = 0;
	swal({
		title 					: 'Alerta!',
		html 					: 'Desea grabar la cita?',
		type 					: 'question',
		showCancelButton 		: true,
  		confirmButtonText 		: '<span class="glyphicon glyphicon-floppy-disk"></span> <b>Si, Grabar!</b>',
  		cancelButtonText 		: 'Cancelar!',
  		confirmButtonClass 		: 'btn btn-primary',
  		cancelButtonClass 		: 'btn btn-danger',
  		allowOutsideClick 		: false,
        allowEscapeKey 			: false,
  		buttonsStyling 			: false,
		preConfirm: function () {
			return new Promise(function (resolve, reject) {
				var str = $('#form_xca').serialize();
				$.ajax({
					url 	: ruta + 'movimientos/xca/insertar',
					data 	: str,
					type 	: 'post',
					success : function (data) {
						resolve();
						if(data>0)res=1;
					}
				});
			});
		},
		allowOutsideClick: false
	}).then(function () {
		if(res==1)swal('Alerta!','El paciente ya cuenta con cita para esa fecha en ese consultorio. Verifique!','warning');
		else{
			swal({
				title 	: 'Alerta!',
				html 	: 'Cita registrada correctamente.',
				type 	: 'success',
				confirmButtonText 		: '<span class="glyphicon glyphicon-ok"></span> <b>Aceptar</b>',
  				confirmButtonClass 		: 'btn btn-primary',
  				allowOutsideClick 		: false,
        		allowEscapeKey 			: false,
  				buttonsStyling 			: false,
        	}).then(function () {
        		$('#cbo_xhc').val(0).change();
        		fn_xpn_combo();
        		$('#txt_fecha').focus();
        	});
		}
	});
}

function fn_xca_eliminar(d1, d2, d3, d4) {
	swal({
		title 					: 'Alerta!',
		html 					: 'Paciente: ' + d3 + '<br/>Fecha: ' + d4 + '<br/>Desea eliminar la cita?',
		type 					: 'question',
		showCancelButton 		: true,
  		confirmButtonText 		: '<span class="glyphicon glyphicon-floppy-trash"></span> <b>Si, Eliminar!</b>',
  		cancelButtonText 		: 'Cancelar!',
  		confirmButtonClass 		: 'btn btn-primary',
  		cancelButtonClass 		: 'btn btn-danger',
  		allowOutsideClick 		: false,
        allowEscapeKey 			: false,
  		buttonsStyling 			: false,
		preConfirm: function () {
			return new Promise(function (resolve, reject) {
				$.post(ruta + 'movimientos/xca/eliminar', {
					d1 : d1,
					d2 : d2
				}, function (data) {
					resolve();
				});
			});
		},
		allowOutsideClick: false
	}).then(function () {
		swal('Alerta!','Cita eliminada correctamente','success');
		fn_xca_listar();
	});
}