<?php

include("../gestion/includes/db_connect.php");

include("../gestion/includes/bbdd.php");

include("../gestion/includes/functions.php");


$_SESSION['page'] = "controlHorari.php";

if ($_GET['finalizar']==1) {
	
	
	
	$dni = $_POST['dni'];
	$latitud = $_POST['latitud'];
	$longitud = $_POST['longitud'];
	$precision = $_POST['precision'];
	
	$result = mysqli_query($mysqli,"SELECT * FROM tr_trabajador WHERE dni LIKE '".substr(trim($dni),0,8)."%' AND (fechaB IS NULL OR fechaB>'".date("Y-m-d")."')");
	$row = mysqli_fetch_assoc($result);
	
	$nombre = $row['nombre'] . " " . $row['apellidos'];
	$idTrabajador = $row['id'];
	
	if ($idTrabajador=="") {
		echo "error: No existe el DNI!";
		exit;
	} else {
			// Check ultimo fichaje
			$result = mysqli_query($mysqli,"SELECT * FROM tr_trabajador_fitxar WHERE idTrabajador='".$idTrabajador."' ORDER BY fecha DESC LIMIT 1");
			$row = mysqli_fetch_assoc($result);
			$ultFichaje = $row['fecha'];
			$date1 = new DateTime($ultFichaje);
			$date2 = new DateTime(date("Y-m-d H:i:s"));
			$diff = $date1->diff($date2);
			$seconds = $diff->s + ($diff->i*60)  + ($diff->h*60*60)  + ($diff->d*60*60*24);
			
			if ($seconds<300 AND $seconds>0) {
				echo "error: Fichada reciente! tienes que esperar 5 minutos";
				exit;
			}
			
			$fecha = date("Y-m-d");
			mysqli_query($mysqli,"INSERT INTO tr_trabajador_fitxar (idTrabajador,fecha,firma,dni,latitud,longitud,precision_,ip) VALUES ('".$idTrabajador."','".$fecha ." " . date("H:i:s")."','".$_POST['imgData1']."','".$dni."','".$latitud."','".$longitud."','".$precision."','".$_SERVER['REMOTE_ADDR']."')");
			$id = mysqli_insert_id($mysqli);
			$result = mysqli_query($mysqli,"SELECT COUNT(*) AS CNT FROM tr_trabajador_fitxar WHERE idTrabajador='".$idTrabajador."' AND fecha>='".date("Y-m-d")." 00:00:00' AND fecha<='".date("Y-m-d")." 23:59:59'");
			$row = mysqli_fetch_assoc($result);
			$cnt = $row['CNT'];
			if ($cnt%2==0){
				echo "ok: Hasta luego " . $nombre ;
				mysqli_query($mysqli,"UPDATE tr_trabajador_fitxar SET tipo='S' WHERE id='".$id."'");
			} else {
				echo "ok: Bienvenido/da " . $nombre ;
				mysqli_query($mysqli,"UPDATE tr_trabajador_fitxar SET tipo='E' WHERE id='".$id."'");
			}
	}
	//tr_trabajador_fitxar

	exit;
}

?>
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <title><?=C_EMPRESA?> Control Horario</title>
  <!-- Tell the browser to be responsive to screen width -->
  <meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
  <!-- Bootstrap 3.3.6 -->
  <link rel="stylesheet" href="../gestion/bootstrap/css/bootstrap.min.css">
  <!-- Font Awesome -->
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.5.0/css/font-awesome.min.css">
  <!-- Ionicons -->
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/ionicons/2.0.1/css/ionicons.min.css">
  <!-- Theme style -->
  <link rel="stylesheet" href="../gestion/dist/css/AdminLTE.min.css">
  <link rel="stylesheet" href="../gestion/dist/css/skins/skin-blue.min.css">
  <link rel="stylesheet" type="text/css" href="../gestion/plugins/jqueryDialogBox/css/jquery.dialogbox.css">
 <link rel="stylesheet" type="text/css" href="../gestion/plugins/datepicker/datepicker3.css">

 
	<script type="text/javascript" src="../gestion/js/jquery/jquery-2.1.1.min.js"></script>
	<script src="../gestion/js/jquery/jquery-ui.min.js"></script>

	<!-- Bootstrap 3.3.6 -->
	<script src="../gestion/bootstrap/js/bootstrap.min.js"></script>
	<!-- AdminLTE App -->
	<script src="../gestion/dist/js/app.min.js"></script>
  

		
		<script src="../gestion/plugins/datepicker/bootstrap-datepicker.js"></script>
		
		
<style>

 .Codi{
	 cursor:pointer !important;
 }
.signed{
	opacity:0.5 !important;
}
</style>
</head>


<script>


var isSign1 = false;
	var leftMButtonDown1 = false;
	function init_Sign_Canvas1() {
			isSign1 = false;
			leftMButtonDown1 = false;
			
		
			//Set Canvas width
			var sizedWindowWidth = $(window).width()-20;
			
			
			/*if(sizedWindowWidth > 700)
				sizedWindowWidth = $(window).width() / 5;
		
			
			
			else if(sizedWindowWidth > 400)
				sizedWindowWidth = sizedWindowWidth - 150;
			else
				sizedWindowWidth = sizedWindowWidth - 100;
			*/


			sizedWindowWidth = sizedWindowWidth - 15;
			 $("#canvas1").width(sizedWindowWidth);
			 $("#canvas1").height(250);
			// $("#canvas1").css("border","1px solid #000");
			
			 var canvas1 = $("#canvas1").get(0);
			
			 canvasContext1 = canvas1.getContext('2d');

			 if(canvasContext1)
			 {
				 canvasContext1.canvas.width  = sizedWindowWidth;
				 canvasContext1.canvas.height = 250;

				 canvasContext1.fillStyle = "#fff";
				 //canvasContext.fillRect(0,0,sizedWindowWidth,200);
				 
				 //canvasContext.moveTo(50,150);
				 //canvasContext.lineTo(sizedWindowWidth-50,150);
				 //canvasContext.stroke();
				
				 //canvasContext.fillStyle = "#000";
				 //canvasContext.font="20px Arial";
				 //canvasContext.fillText("x",40,155);
			 }
			 // Bind Mouse events
			 $(canvas1).on('mousedown', function (e) {
				
				 if(e.which === 1) { 
					 leftMButtonDown1 = true;
					 canvasContext1.fillStyle = "#000";
					 var x = e.pageX - $(e.target).offset().left;
					 var y = e.pageY - $(e.target).offset().top;
					 canvasContext1.moveTo(x, y);
				 }
				 e.preventDefault();
				 return false;
			 });
			
			 $(canvas1).on('mouseup', function (e) {
				 if(leftMButtonDown1 && e.which === 1) {
					 leftMButtonDown1 = false;
					 isSign1 = true;
				 }
				 e.preventDefault();
				 return false;
			 });
			
			 // draw a line from the last point to this one
			 $(canvas1).on('mousemove', function (e) {
				 if(leftMButtonDown1 == true) {
					 canvasContext1.fillStyle = "#000";
					 var x = e.pageX - $(e.target).offset().left;
					 var y = e.pageY - $(e.target).offset().top;
					 canvasContext1.lineTo(x,y);
					 canvasContext1.stroke();
				 }
				 e.preventDefault();
				 return false;
			 });
			 
			 //bind touch events
			 $(canvas1).on('touchstart', function (e) {
				leftMButtonDown1 = true;
				canvasContext1.fillStyle = "#000";
				var t = e.originalEvent.touches[0];
				var x = t.pageX - $(e.target).offset().left;
				var y = t.pageY - $(e.target).offset().top;
				canvasContext1.moveTo(x, y);
				
				e.preventDefault();
				return false;
			 });
			 
			 $(canvas1).on('touchmove', function (e) {
				canvasContext1.fillStyle = "#000";
				var t = e.originalEvent.touches[0];
				var x = t.pageX - $(e.target).offset().left;
				var y = t.pageY - $(e.target).offset().top;
				canvasContext1.lineTo(x,y);
				canvasContext1.stroke();
				
				e.preventDefault();
				return false;
			 });
			 
			 $(canvas1).on('touchend', function (e) {
				if(leftMButtonDown1) {
					leftMButtonDown1 = false;
					isSign1 = true;
				}
			 
			 });
		}
		
		
		
var currCodi = "";
var timer;
var currClicks = 0;
$( document ).ready(function() {
	
	var latitud;
	var longitud;
	var precision;
	
	
	var opciones = {
		enableHighAccuracy: true,
		timeout: 10000,
		maximumAge: 1000
	};
	
	/* LOCALIZACION */
	if (navigator.geolocation) {
		navigator.geolocation.getCurrentPosition(mostrarPosicion, mostrarErrores, opciones);    
	} else {
		alert("Tu navegador no soporta la geolocalización, actualiza tu navegador y usa el dispositivo oficial de <?=C_EMPRESA?>!");
	}

	function mostrarPosicion(posicion) {
		latitud = posicion.coords.latitude;
		longitud = posicion.coords.longitude;
		precision = posicion.coords.accuracy;
		var fecha = new Date(posicion.timestamp);
		console.log(latitud);
		console.log(longitud);
		console.log(precision);
		console.log(fecha);
		}

	function mostrarErrores(error) {
		switch (error.code) {
			case error.PERMISSION_DENIED:
				alert('Permiso denegado por el usuario'); 
				break;
			case error.POSITION_UNAVAILABLE:
				alert('Posición no disponible');
				break; 
			case error.TIMEOUT:
				alert('Tiempo de espera agotado');
				break;
			default:
				alert('Error de Geolocalización desconocido :' + error.code);
		}
	}

	


	
	
	$("#errorFirma").hide();
	$("#errorDNI").hide();
	

	$("#btnConfirmFinalitzar").click(function(){
		
		var canvas = $("#canvas1").get(0);
		var imgData1 = canvas.toDataURL();
		
		
		if ($("#dni").val()=="") {
							$("#errorDNI").show();
							setTimeout(function(){$("#errorDNI").hide();},5000);
							return;
		}
	
	
	
		if (imgData1.length<5000) {
							$("#errorFirma").show();
							setTimeout(function(){$("#errorFirma").hide();},5000);
							return;
		}
		
		
		
		
		
		$.ajax({
			url: './controlHorario.php?finalizar=1',
			type:'POST',
			data: {imgData1:imgData1,dni:$("#dni").val(),latitud:latitud,longitud:longitud,precision:precision},
			success: function(data){
				var res = data.split(":");
				if (res.length>1) {
					if (res[0]=="ok") {
						
						if (res[1].split("luego").length==1) {
							res[1] = "<i class='fa fa-arrow-right' style='color:green;'></i>" + res[1];
						} else {
							res[1] = "<i class='fa fa-arrow-left' style='color:orange;'></i>" + res[1];
						}
						$("#resultado").css("color","green");
						$("#resultado").html(res[1]);
						$("#divOK").show();
						$("#divFail").hide();
						$("#modal-firmar").modal();
						setTimeout(function(){location.reload();},4000);	
					} else {
						$("#resultado").css("color","red");
						$("#resultado").html(res[1]);
						$("#divOK").hide();
						$("#divFail").show();
						$("#modal-firmar").modal();
						setTimeout(function(){$("#btnCancelarModal").click();},4000);	
						
					}
				}
				//
			}, error: function(data) {
				console.log(data);
				data = data.responseText;
				if (res.length>1) {
					if (res[0]=="ok") {
						
						if (res[1].split("luego").length==1) {
							res[1] = "<i class='fa fa-arrow-right' style='color:green;'></i>" + res[1];
						} else {
							res[1] = "<i class='fa fa-arrow-left' style='color:orange;'></i>" + res[1];
						}
						$("#resultado").css("color","green");
						$("#resultado").html(res[1]);
						$("#divOK").show();
						$("#divFail").hide();
						$("#modal-firmar").modal();
						setTimeout(function(){location.reload();},4000);	
					} else {
						$("#resultado").css("color","red");
						$("#resultado").html(res[1]);
						$("#divOK").hide();
						$("#divFail").show();
						$("#modal-firmar").modal();
						setTimeout(function(){$("#btnCancelarModal").click();},4000);	
						
					}
				}
					
			}
			
		});
		
		
	});

	setTimeout(function(){init_Sign_Canvas1();},500);	
	
	
	
});




</script>


<body class="hold-transition lockscreen" style="background-color:#fefefe">
<!-- Automatic element centering -->
<div class="lockscreen-wrapper" style="margin-top:20px !important;">
  <div class="lockscreen-logo">
    <a href="#"><b><?=C_EMPRESA?> </b>Solutions</a>
  </div>
  <!-- User name -->
  </div>
  <div class="wrapper">
 
  
  <div class="box-body no-padding" >
				<div class="col-md-12" style="text-align:center"><h3>INTRODUCE TU DNI</h3></div>
				<div class="col-md-12">
				 <input type="text" class="form-control" id="dni" name="dni" autocomplete="off" style="height:45px !important;font-size:18px !important;border:1px solid #dedede;"/>
				  <p id="errorDNI" style="color:red">Debes introducir tu DNI</p>
				</div>
				
				<div class="col-md-12" style="text-align:center"><h3>FIRMAR</h3></div>
				<div class="col-md-12">
								
								  <canvas id="canvas1" style="border:1px solid #dedede;width:100%;background-color:white !improtant;">Canvas is not supported</canvas>
								  <p id="errorFirma" style="color:red">Debes firmar</p>
				</div>
                 
				 
				 <div class="col-md-12">
					<button type="button" class="btn btn-bold  btn-primary btn-block" id="btnConfirmFinalitzar">Confirmar</button>
				 </div>
                </div>
				
	
</div>



<div class="modal fade" id="modal-firmar" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
  <div class="modal-dialog" role="document" id="mainParte" style="min-width:85% !important;width:85% !important;">
    <div class="modal-content" >
      <div class="modal-header">
        <h3 class="modal-title" id="resultado"></h3>
        <div class="col-md-12" id="divFirma">
							<div id="divOK" style="text-align:center;">							
								 <i class="fa fa-check" style="color:green;font-size:45px;"></i>
							</div>
							<div id="divFail" style="text-align:center;">							
								 <i class="fa fa-close" style="color:red;font-size:45px;"></i>
							</div>
	</div>
		<button type="button" class="btn btn-bold btn-secondary btn-block" id="btnCancelarModal" data-dismiss="modal" style="display:none !important"></button>		
      </div>
	  
    	
    </div>
  </div>
</div>




<div class="modal fade" id="modal-firmar-ok" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
  <div class="modal-dialog" role="document" id="mainParte" style="min-width:85% !important;width:85% !important;">
    <div class="modal-content" >
      <div class="modal-header">
        <h2 class="modal-title" id="exampleModalLabel">FIRMAR ACCEPTADA</h2>
       <div class="col-md-12">&nbsp;&nbsp;&nbsp;</div>		<div class="col-md-12">&nbsp;&nbsp;&nbsp;</div>		<div class="col-md-12">&nbsp;&nbsp;&nbsp;</div>		
	   <div class="row">
							<div class="col-md-12" style="text-align:center" >
							
								
								<div class="col-md-12">&nbsp;</div><div class="col-md-12">&nbsp;</div>
								<i class="fa fa-check" style="font-size:135px; color:green;"></i>
								
							</div>
							
		</div>		

      </div>
							
					
    </div>
  </div>
</div>




</body>
</html>
