function DeterminarFechaQuincena()
{
	$miconexion = new Conexion;
	$miconexion->conectar("staffcenter", "atc-nh-natsdb.nationalnet.com", "staffcenter", "XgwofvLY2ayLf");
	$fecha = $miconexion->StoredProcedure ("call FechasCorte (now())");
	list($fecha1,$fecha2) = explode("/",$fecha);
	$dateTime = new DateTime($fecha1);
	$fecha1 = date_format ($dateTime, 'Y-m-d');
	$dateTime2 = new DateTime($fecha2);
	$fecha2 = date_format ($dateTime2, 'Y-m-d');
	$fecha_quincena = $fecha1."/".$fecha2;
	return $fecha_quincena;
}
function DevolverCantidadDias($fecha_shift)
{	
	$miconexion = new Conexion;
	$miconexion-> conectar();
	$id_tipo_dia = $miconexion->StoredProcedure("call AsociarDia('$fecha_shift')");
	$total_shift = 0;
			
	list($fech, $hora_shift) = explode(" ",$fecha_shift);
	if ($hora_shift == '06:00:00'){
		$id_shift = 1;}
	else if ($hora_shift == '12:00:00'){
		$id_shift = 6;}
	else{
		$id_shift = 2;}
		
	$personas = $miconexion->StoredProcedureArray("call DevolverCantPersonasShift('$id_tipo_dia', '$id_shift')");
		
	$total_shift = 0;
	while ($myrow = mysqli_fetch_array($personas))
	{
		$id_usuario = $myrow["id_usuario"];	
		$total_shift++;
	}
		
	$excepciones = $miconexion->StoredProcedureArray("call DevolverExcepcionesShift('$fecha_shift')");
	
	while ($myrow = mysqli_fetch_array($excepciones))
	{
		$id_usuario = $myrow["id_usuario"];	
		$id_tipo_excepcion = $myrow["id_tipo_excepcion"];
		//echo "Excepcion: ".$id_tipo_excepcion;
		if ($id_usuario == 62)
				$total_shift--;
		else
		{	
			if ($id_tipo_excepcion == 1 || $id_tipo_excepcion == 4 || $id_tipo_excepcion == 5 || $id_tipo_excepcion == 9)
					$total_shift--;
				else if ($id_tipo_excepcion == 2 || $id_tipo_excepcion == 3)
					$total_shift++;	
		}
		
	}
	return $total_shift;
}
function ImprimirHorario ($dia, $hora_inicio, $hora_fin, $fecha)
{

	$miconexion = new Conexion;
	$miconexion->conectar("staffcenter", "atc-nh-natsdb.nationalnet.com", "staffcenter", "XgwofvLY2ayLf");
	echo "<td><table width=\"100%\" >";
	$dateTime = new DateTime($fecha);
	$new_fecha = date_format ($dateTime, 'Y-m-d');
	$fecha_final = $new_fecha." ".$hora_inicio;
	$tipo_dia = $miconexion->StoredProcedure("call DevolverTipoDia('$dia')");
	$id_shift = $miconexion->StoredProcedure("call DevolverIdShift('$hora_inicio', '$hora_fin')");
	$result = $miconexion->StoredProcedureArray("call ImprimirShifts('$dia', '$hora_inicio', '$hora_fin')");

			$cont = 1;
			while ($myrow = mysqli_fetch_array($result))
			{
				 $id_usuario = $myrow["id_usuario"];
				 $fecha_ingreso = $miconexion->StoredProcedure("call DevuelveFechaIngreso('$id_usuario')");
				 $fecha_fin = $miconexion->StoredProcedure("call DevuelveFechaFin('$id_usuario')");
				 echo "<tr>";
				 if ($cont % 2 != 0)
				 echo "<td>";
				 else
				 echo "<td bgcolor=\"#bbcbe3\">";
				 $id_horario = $miconexion->StoredProcedure("call DevolverIdHorario('$tipo_dia', '$id_shift', '$id_usuario')");
				 $nombre = $miconexion->StoredProcedure("call DevolverNombre('$id_usuario')");
				 $reemplazo = $miconexion->StoredProcedure("call ChequearCambio('$fecha_final', '$id_usuario', '$id_horario')");
				 $reemplazo_vac = $miconexion->StoredProcedure("call ChequearVac('$fecha_final', '$id_usuario', '$id_horario')");
				 $falta_solo = $miconexion->StoredProcedure("call ChequearFaltaSolo('$id_usuario', '$fecha_final', '$id_horario')");
				 $vacaciones = $miconexion->StoredProcedure("call ChequearVacacionesR('$id_horario', '$fecha_final','$id_usuario')");
				 $vac_p = $miconexion->StoredProcedure("call ChequearVacacionesP('$id_horario', '$fecha_final','$id_usuario')");
				 $incapacidad = $miconexion->StoredProcedure("call ChequearIncapacidad('$id_horario', '$fecha_final','$id_usuario')");
				 $doble = $miconexion->StoredProcedure("call ChequearPDoble('$id_horario', '$fecha_final','$id_usuario')");
				 $vacaciones_admin = $miconexion->StoredProcedure("call ChequearVacAdmin('$id_horario', '$fecha_final','$id_usuario')");


				 if ($reemplazo == 0 && $falta_solo == 0 && $vacaciones == 0 && $vac_p == 0 && $incapacidad == 0 && $doble == 0 && $vacaciones_admin == 0 && $supervisor == 0)

					echo $nombre;

				 else
				 {
					if ($reemplazo != 0)
					{
						echo "<strike style=\"color:#FF0000\">$nombre</strike>";
						echo "  ";
						$nombre_reemplazo = $miconexion->StoredProcedure("call DevolverNombre('$reemplazo')");
						echo $nombre_reemplazo;

					}
					else if ($falta_solo != 0)
						echo "<strike style=\"color:#FF0000\">$nombre</strike>";
						else if ($vacaciones != 0)
						{
							$nombre_reemplazo_vac = $miconexion->StoredProcedure("call DevolverNombre('$reemplazo_vac')");
							if ($nombre_reemplazo_vac != 0)
							{
									echo "<div style=\"color:#000000\"><strike style=\"color:#009900\">$nombre</strike><b style=\"color:#009900\"> (vacations) </b>- $nombre_reemplazo_vac</div>";
							}
							else
								echo "<div style=\"color:#000000\"><strike style=\"color:#009900\">$nombre</strike><b style=\"color:#009900\"> (vacations) </b></div>";
						}
							 else if ($vac_p != 0)
								echo "<div style=\"color:#0099FF\">$nombre - paid vacations (double)</div>";
									else if ($incapacidad != 0)
									echo "<div style=\"color:#CC3333\">$nombre - incapacitado(a)</div>";
										else if ($doble != 0)
											echo "<div style=\"color:#FF0000\"><b>$nombre - double</b></div>";
											else if ($vacaciones_admin != 0)
												echo "<div style=\"color:#009900\"><b>$nombre - vacaciones</b></div>";
				  }

				 echo "</td>";
				 echo "</tr>";
				 $cont ++;

				}
			$result2 = $miconexion->StoredProcedureArray("call ChequearExtrasSolo('$fecha_final')");

			//Imprime Extras

			if ($result2 != NULL)
			{

				while ($myrow = mysqli_fetch_array($result2))
				{
					echo "<tr>";
					if ($cont % 2 != 0)
					echo "<td>";
					else
					echo "<td bgcolor=\"#bbcbe3\">";
					$id_horarioh = $myrow["id_horario"];
					$id_usuarioh = $myrow["id_usuario"];
					$id_tipo_excepcion = $myrow["id_tipo_excepcion"];
					$nombreh = $miconexion->StoredProcedure("call DevolverNombre('$id_usuarioh')");
					$tipo_diah = $miconexion->StoredProcedure("call DevolverTipoDiaH('$id_horarioh')");
					$id_shifth = $miconexion->StoredProcedure("call DevolverIdShiftH('$id_horarioh')");
					if ($tipo_diah == $tipo_dia && $id_shifth == $id_shift)
						echo "<div style=\"color:#FF9900\">$nombreh - extra shift</div>";

					echo "</td>";
						echo "</tr>";
					$cont ++;
				}
			}

			$result3 = $miconexion->StoredProcedureArray("call ChequearTraining('$fecha_final')");

			if ($result3 != NULL)
			{


				//Imprime Personas en training

				while ($myrow = mysqli_fetch_array($result3))
				{
					echo "<tr>";
					if ($cont % 2 != 0)
					echo "<td>";
					else
					echo "<td bgcolor=\"#bbcbe3\">";
					$id_horarioh = $myrow["id_horario"];
					$id_usuarioh = $myrow["id_usuario"];
					$id_tipo_excepcion = $myrow["id_tipo_excepcion"];
					$nombreh = $miconexion->StoredProcedure("call DevolverNombre('$id_usuarioh')");
					$tipo_diah = $miconexion->StoredProcedure("call DevolverTipoDiaH('$id_horarioh')");
					$id_shifth = $miconexion->StoredProcedure("call DevolverIdShiftH('$id_horarioh')");
					if ($tipo_diah == $tipo_dia && $id_shifth == $id_shift)
						echo "<div style=\"color:#CC33FF\">$nombreh - training</div>";

					echo "</td>";
					echo "</tr>";
					$cont ++;
				}
			}

			echo "</tr>";
    		echo "</table></td>";
}
}

?>

<!-- Style added by Rommel  -->
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/themes/base/jquery-ui.css" type="text/css" media="all" />
</head>

<body id="body">
<?php

require ("conexion.php");

$miconexion = new Conexion;
$miconexion->conectar();
$nombre = $miconexion->StoredProcedure("call DevolverNombreCompleto('$usuario')");
$tipo_usuario = $miconexion->StoredProcedure("call DevolverTipoUsuario('$tipo')");
date_default_timezone_set ("America/Costa_Rica");
?>

<table style="table-layout: fixed; width:900;" id="bginterno"  border="0" align="center" cellpadding="0" cellspacing="0">
	<tr>
    	<td valign="top">
        	<table border="0" align="center" cellpadding="0" cellspacing="0">        
            	<tr>
                	<td valign="top">
                		<table style="table-layout: fixed; width:1150" cellpadding="0" cellspacing="0" border="0">
                    		<tr>
                            	<td width="18" align="left" valign="top"><img src="../images/bg_topmaintableizq.png" /></td>
                        		<td width="1120" height="28" align="right" nowrap="nowrap" class="ruteo" id="topgray" valign="top">
									<script language="JavaScript" type="text/javascript">
<?php

$tipo = $_REQUEST["tipo"];
$usuario = $_REQUEST['usuario'];
$id_cambio = $_REQUEST["id_cambio"];
$fecha = $_REQUEST["fecha"];
$id_usuario_solicitante = $_REQUEST["id_usuario_solicitante"];
$id_usuario_reemplazo = $_REQUEST["id_usuario_reemplazo"];
$id_horario = $_REQUEST["horario"];

define("user",$id_usuario_reemplazo);
define("user1",$id_usuario_solicitante);
require ("conexion.php");
$miconexion = new Conexion;
$miconexion->conectar("staffcenter", "atc-nh-natsdb.nationalnet.com", "staffcenter", "XgwofvLY2ayLf");
$nombre = $miconexion->StoredProcedure("call DevolverNombreCompleto('$usuario')");
$tipo_usuario = $miconexion->StoredProcedure("call DevolverTipoUsuario('$tipo')");

switch($_REQUEST["transaccion"]){

	case "motivo":
	echo "<div style='background-color:#ca0000;height:100%;background-image:url(../images/new/rechazar.jpg);' >
	<center>
	<form method='post' action='rechazarcambio.php?tipo=$tipo&usuario=$usuario&transaccion=rechazar'>
	<input type='hidden' name='id_cambio' value='$id_cambio'>
	<input type='hidden' name='fecha' value='$fecha'>
	<input type='hidden' name='id_usuario_solicitante' value='$id_usuario_solicitante'>
	<input type='hidden' name='id_usuario_reemplazo' value='$id_usuario_reemplazo'>
	<input type='hidden' name='horario' value='$id_horario'>
	Reject change <br>Reason: <input type='text' name='motivo'>
	<input type='submit'>
	case 'MsjTrabajarVac':
	
	$fechav = $_POST['fecha'];
	$shift = $_POST['shift'];
	$id_usuario = $miconexion->StoredProcedure("call DevolverIdUsuario('$usuario')");	
	$fecha_vac = $miconexion->StoredProcedure("call DeterminarFechaVacaciones('$id_usuario')");
	$dias_disponibles = $miconexion->StoredProcedure("call CalculoDiasDisponibles('$id_usuario')");
	$dias_usados = $miconexion->StoredProcedure("call CalculoDiasUsados('$id_usuario')");
	$dateTime = new DateTime($fecha_vac);
	$fecha_vacaciones = date_format ($dateTime, 'Y-m-d');
	include ("trabajar_vacaciones_form.php");
	
	list($hora_inicio,$hora_fin) = explode("-",$shift);
	
	$conexion = new Conexion;
	$fecha_actual = $conexion->StoredProcedure("call DevolverFechaActual()");
			
	$dateTime2 = new DateTime($fechav);
	$formatted_date2 = date_format ($dateTime2, 'Y-m-d');
	$fecha_solicitada = $formatted_date2." ".$hora_inicio;
				
	$comparacion_fechas = $miconexion->StoredProcedure("call RestriccionFechaVac ('$fecha_solicitada', '$fecha_actual')");
	$dia = $miconexion->StoredProcedure("call ConsultarNombreDia ('$fecha_solicitada')");
	$id_usuario = $miconexion->StoredProcedure("call DevolverIdUsuario('$usuario')");

	/*linea agregada*/
	$nombre=$miconexion->StoredProcedure("call DevolverNombre('$id_usuario')");

	$comparacion_fechas_vac = $miconexion->StoredProcedure("call RestriccionFechaVacaciones ('$fecha_vacaciones', '$fecha_actual')");
	if ($comparacion_fechas != '0')
	{
$usuario = $_GET['usuario'];
$id_cambio = $_GET["id_cambio"];
$fecha_cambio = $_GET["fecha"];
$id_usuario_solicitante = $_GET["id_usuario_solicitante"];
$id_usuario_reemplazo = $_GET["id_usuario_reemplazo"];
$id_horario = $_GET["horario"];

define("user",$id_usuario_reemplazo);
define("user1",$id_usuario_solicitante);

//include ("header.php");

require ("conexion.php");
$miconexion = new Conexion;
$miconexion->conectar("staffcenter", "atc-nh-natsdb.nationalnet.com", "staffcenter", "XgwofvLY2ayLf");
$nombre = $miconexion->StoredProcedure("call DevolverNombreCompleto('$usuario')");
$tipo_usuario = $miconexion->StoredProcedure("call DevolverTipoUsuario('$tipo')");


$result = $miconexion->StoredProcedure("call AprobarCambio('$id_cambio', '$id_horario', '$id_usuario_solicitante', '$id_usuario_reemplazo', '$fecha_cambio')");
///////////////////////////////////////////////////////////////////////////////////////////////////////////////

$enlace = mysql_connect('atc-nh-natsdb.nationalnet.com', 'staffcenter','XgwofvLY2ayLf') or die('No pudo conectarse : ' . mysql_error());
mysql_select_db('staffcenter',$enlace) or die('No pudo seleccionarse la BD.');
$sql = "SELECT id_usuario, nombre, 1erApellido, email FROM usuario";
$resultado = mysql_query($sql,$enlace) or die('La consulta fall&oacute;: ' . mysql_error());

while ($row = mysql_fetch_array($resultado)){
	if(user1==$row[0]){
		$nombresolicitante=$row[1]." ".$row[2];
		$emailsolicitante=$row[3];
function CuentaFaltas ($fecha_inicio, $fecha_fin, $id_usuario, $tipo)
{
	$miconexion = new Conexion;
	$miconexion->conectar("staffcenter", "atc-nh-natsdb.nationalnet.com", "staffcenter", "XgwofvLY2ayLf");
	$result = $miconexion->StoredProcedureArray("call ConsultarExcepciones('$fecha_inicio', '$fecha_fin', '$id_usuario')");
	$horas_falta = 0;

	while ($myrow = mysqli_fetch_array($result))
	{
		$id_tipo_excepcion = $myrow["id_tipo_excepcion"];
		$tipo_excepcion = $miconexion->StoredProcedure("call ChequearExcepcionFalta('$id_tipo_excepcion')");
		if ($tipo_excepcion == 1)
		{
			$fecha = $myrow["fecha"];
			$dateTime = new DateTime($fecha);
			$formatted_date = date_format ($dateTime, 'Y-m-d 00:00:00');
			$resultado_fecha = $miconexion->StoredProcedure("call ChequearFechas('$formatted_date', '$fecha_inicio', '$fecha_fin')");
			if ($resultado_fecha == 1)
			{
				$id_horario = $myrow["id_horario"];
				if ($tipo == "dia")
				{
					$rebajo_horas = $miconexion->StoredProcedure("call ChequeaRebajosDia('$id_horario', '$fecha', '$id_usuario')");
					if ($rebajo_horas != 0)
						$horas_falta = $horas_falta + $rebajo_horas;
					else
					{
						$resultado_horas = $miconexion->StoredProcedure("call ChequeaShiftDia('$id_horario')");
						$horas_falta = $horas_falta + $resultado_horas;
					}

				}
				else
				{
					$rebajo_horas = $miconexion->StoredProcedure("call ChequeaRebajosNoche('$id_horario', '$fecha', '$id_usuario')");
					if ($rebajo_horas != 0)
						$horas_falta = $horas_falta + $rebajo_horas;
					else
					{
						$resultado_horas = $miconexion->StoredProcedure("call ChequeaShiftNoche('$id_horario')");
						$horas_falta = $horas_falta + $resultado_horas;
					}
				}


			}

		}
	}
	return $horas_falta;
}
</head>
<body>
	<tr>";
  	 	echo "<td height=\"50\" colspan=\"2\"><h1>Phone Directory <br><br></h1></td>";
    	echo "</tr>";
		
		echo "<tr>"; 
		echo "<table class=\"tablaresultados\" width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"1\">";
 			
		echo "<TABLE BORDER=0 align=center class=\"tablaresultados\" width=\"100%\">";
		echo"<TR><TH><B>Name</B><TH><B>Mobile Phone</B><TH><B>Home Phone</B>";
		echo "</tr>";
		require ("conexion.php");
		$miconexion = new Conexion;
		$miconexion->conectar("staffcenter", "atc-nh-natsdb.nationalnet.com", "staffcenter", "XgwofvLY2ayLf");
		$nombre = $miconexion->StoredProcedure("call DevolverNombreCompleto('$usuario')");
		$tipo_usuario = $miconexion->StoredProcedure("call DevolverTipoUsuario('$tipo')");
		$temp_logins = $miconexion->StoredProcedureArray("call ConsultarLogin()");
		$result = $miconexion->StoredProcedureArray("call ConsultarLogin()");
			
		$cont = 1;
		while ($myrow = mysqli_fetch_array($result))
		{
			if ($cont % 2 != 0)
			{
				$login = $myrow["login"];
				$telefono_casa = $miconexion->StoredProcedure("call ConsultarTelefonoCasa('$login')");
				$telefono_celular = $miconexion->StoredProcedure("call ConsultarTelefonoCel('$login')");
				$name = $miconexion->StoredProcedure("call DevolverNombreCompleto('$login')");
				echo "<TR><TD>".$name;
				if ($telefono_celular != 0)		
<?php
$transaccion = $_GET["t"];
switch($transaccion){
	case '1':
			$usuario=$_POST['username'];		//Capturar el login
			$password=$_POST['password'];		//Capturar el password
			require ("conexion.php");
			
			$miconexion = new Conexion;
			$miconexion->conectar("staffcenter", "atc-nh-natsdb.nationalnet.com", "staffcenter", "XgwofvLY2ayLf");
			$miconexion->consulta("select * from tipo_usuario");
			
			/*$num_registros = $miconexion->numregistros();
                        print_r($num_registros);*/
			
			$tipo = $miconexion->StoredProcedure("call ValidarUsuario ('$usuario', '$password')");
			if (is_numeric($tipo))
			{
					//tiempo en segundos, 1200/60= 20 minutos
					setcookie("validado",$usuario.",".$tipo.",".$password,time()+3600,"/");
					echo "<SCRIPT LANGUAGE=\"JavaScript\">";
					echo "window.location.href = \"principal.php?usuario=$usuario&tipo=$tipo\"";
					echo "</script>";
			}
			else
			{
				readfile("headerindex.html");
				echo"
					<form name=\"login_form\" action=\"index.php?t=1\" method=\"post\">
					<input id=\"tipo\" name=\"tipo\" type=\"hidden\" value=\"ingresar_sistema\" size=\"25\" />