<?php
//global $txttotal_peso,$txttotal_volumen;
function generateRandomString($length,$characters) {
    // = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
    $charactersLength = strlen($characters);
    $randomString = '';
    for ($i = 0; $i < $length; $i++) {
        $randomString .= $characters[rand(0, $charactersLength - 1)];
    }
    return $randomString;
}
function getRealIP()

{

//   echo $_SERVER['HTTP_X_FORWARDED_FOR'] . " " . $_SERVER['REMOTE_ADDR'] . " " ;

   if( $_SERVER['HTTP_X_FORWARDED_FOR'] != '' )

   {

      $client_ip =

         ( !empty($_SERVER['REMOTE_ADDR']) ) ?

            $_SERVER['REMOTE_ADDR']

            :

            ( ( !empty($_ENV['REMOTE_ADDR']) ) ?

               $_ENV['REMOTE_ADDR']

               :

               "unknown" );

   

      // los proxys van añadiendo al final de esta cabecera

      // las direcciones ip que van "ocultando". Para localizar la ip real

      // del usuario se comienza a mirar por el principio hasta encontrar

      // una dirección ip que no sea del rango privado. En caso de no

      // encontrarse ninguna se toma como valor el REMOTE_ADDR

   

      $entries = split('[, ]', $_SERVER['HTTP_X_FORWARDED_FOR']);

   

      reset($entries);

      while (list(, $entry) = each($entries))

      {

         $entry = trim($entry);

         if ( preg_match("/^([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)/", $entry, $ip_list) )

         {

            // http://www.faqs.org/rfcs/rfc1918.html

            $private_ip = array(

                  '/^0\./',

                  '/^127\.0\.0\.1/',

                  '/^192\.168\..*/',

                  '/^172\.((1[6-9])|(2[0-9])|(3[0-1]))\..*/',

                  '/^10\..*/');

   

            $found_ip = preg_replace($private_ip, $client_ip, $ip_list[1]);

   

            if ($client_ip != $found_ip)

            {

               $client_ip = $found_ip;

               break;

            }

         }

      }

   }

   else

   {

      $client_ip =

         ( !empty($_SERVER['REMOTE_ADDR']) ) ?

            $_SERVER['REMOTE_ADDR']

            :

            ( ( !empty($_ENV['REMOTE_ADDR']) ) ?

               $_ENV['REMOTE_ADDR']

               :

               "unknown" );

   }

   

   return $client_ip;

   

}

function fegresos_extraordinarios_referencia($referencia,$tc_egreso){
global $concepto;
$result = mysqli_query("SELECT sum(importe_profit) from profits_hbl where referencia_profit= '".$referencia."' and observaciones = 'OTROS EGRESOS'");
	while($row = mysqli_fetch_array($result)){
	$concepto['OTROS EGRESOS'][$referencia]+=$row[0]* $tc_egreso;
	}

}

//*****************************************************
function calcula_numero_dia_semana($dia,$mes,$ano){
	$numerodiasemana = date('w', mktime(0,0,0,$mes,$dia,$ano));
	if ($numerodiasemana == 0) 
		$numerodiasemana = 6;
	else
		$numerodiasemana--;
	return $numerodiasemana;
}

function dia_de_la_semana($fecha){
	$dia[0]="Lunes";
	$dia[1]="Martes";
	$dia[2]="Miércoles";
	$dia[3]="Jueves";
	$dia[4]="Viernes";
	$dia[5]="Sábado";
	$dia[6]="Domingo";
	return $dia[calcula_numero_dia_semana(dia_de_fecha($fecha),mes_de_fecha($fecha),anio_de_fecha($fecha))];
}

function dia_de_fecha($fecha){
	$tmp=explode("-",$fecha);
	return $tmp[2];
}
function mes_de_fecha($fecha){
	$tmp=explode("-",$fecha);
	return $tmp[1];
}
function mes_de_fecha1($fecha){
	$tmp=explode("-",$fecha);
	return mesador($tmp[1]);
}
function anio_de_fecha($fecha){
	$tmp=explode("-",$fecha);
	return $tmp[0];
}

//*****************************************************

function fegresos_contenedor_referencia($referencia,$tc_egreso,$cant_hbl){
global $concepto;//and hbl_egreso= '".$hbl."'concepto_egreso='RECARGO LINEA NAVIERA'
$result = mysqli_query("SELECT importe_egreso,`moneda_egreso` from egresos_interteam where referencia_egreso= '".$referencia."' and concepto_egreso<>'DESCONSOLIDACION' ");
	$total_recargo=0;
	while($row = mysqli_fetch_array($result)){
		$total_recargo+=$row[0]* ($row[1]=='USD' ? $tc_egreso : 1);
	}
	 //echo 'total recqrgo '.$total_recargo;
	$concepto['EGRESOS POR CONTENEDOR'][$referencia]= $total_recargo;
}


 
 
//	$prorrat = ($row[0]* ($row[1]=='USD' ? $tc_egreso : 1)) / $cant_hbl;
	//echo 'prorrat '.$prorrat.' cant gbl '.$cant_hbl.'<br>';
	//while($row = mysqli_fetch_array($result)){
	//$concepto['EGRESOS POR CONTENEDOR'][$hbl]=$prorrat * $cant_hbl;
	//}
 


function total_peso_volumen_impo($referencia){
global $txttotal_peso,$txttotal_volumen;
$result = mysqli_query("SELECT sum(peso_total),sum(volumen_total) FROM datosimpoint  where referencia='$referencia'");
$row = mysqli_fetch_array($result);
$txttotal_peso=$row[0];$txttotal_volumen=$row[1];
}
function fpeso_volumen($hbl,$referencia){
global $peso_hbl,$volumen_hbl;
$result = mysqli_query("SELECT sum(peso_cargas),sum(volumen_cargas) FROM cargasimpoint where hbl_cargas ='$hbl' and referencia_cargas ='$referencia'");
$row = mysqli_fetch_array($result);
$peso_hbl=number_format($row[0],2);$volumen_hbl=number_format($row[1],3);
$result1 = mysqli_query("SELECT sum(no_de_paquetes_cargas) FROM cargasimpoint where hbl_cargas ='$hbl' and referencia_cargas ='$referencia'");
$row1 = mysqli_fetch_array($result1);
echo 'PESO: '.$peso_hbl.' VOLUMEN: '.$volumen_hbl.' BULKS: '.$row1[0]; 

}

function fpeso_volumen1($hbl,$referencia){
global $peso_hbl,$volumen_hbl;
$result = mysqli_query("SELECT sum(peso_cargas),sum(volumen_cargas) FROM cargasimpoint where hbl_cargas ='$hbl' and referencia_cargas ='$referencia'");
$row = mysqli_fetch_array($result);
$peso_hbl=$row[0];$volumen_hbl=$row[1];
$result1 = mysqli_query("SELECT sum(no_de_paquetes_cargas) FROM cargasimpoint where hbl_cargas ='$hbl' and referencia_cargas ='$referencia'");
$row1 = mysqli_fetch_array($result1);
}

function fpeso_volumen_exportacion($bookingno){
global $peso_hbl,$volumen_hbl;
$result = mysqli_query("SELECT sum(weight),sum(measurement) FROM detailcargaexpint where bookingno ='$bookingno' ");
$row = mysqli_fetch_array($result);
$peso_hbl=$row[0];$volumen_hbl=$row[1];
}

function cambio_usd_mxp($fecha){
	//include("../comun/conexion3.php");
	$txtfecha_facturas2=str_replace("-","/",$fecha);
	$results = mysqli_query("SELECT * FROM tipodecambioint  where fecha ='" .  $txtfecha_facturas2 . "'");
	if(mysqli_num_rows($results)==0){
				$results = mysqli_query("SELECT * FROM  tipodecambioint  where 
				fecha < '" . $txtfecha_facturas2 ."' order by idtipodecambioint desc limit 1");
	}
	if($rows = mysqli_fetch_array($results)) {
		$valor=$rows['importe'];
	}else{
		$valor=0;
	}
	
	return $valor;//$txttipo_de_cambio;
}
function fingresos_locales($hbl,$referencia){ //,$tc_referenciaand (`tipo_de_comprobante_facturas`='INGRESO' or `tipo_de_comprobante_facturas`='ingreso')
global $concepto;
$result = mysqli_query("SELECT if(F.concepto_otros_usd=C.descripcion_conceptos_facturas,C.descripcion_conceptos_facturas,''),
if(F.concepto_otros_usd=C.descripcion_conceptos_facturas,C.importe_conceptos_facturas,''),F.moneda_factura,F.fecha_facturas,F.serie_facturas,F.folio_facturas,F.archivo_pdf,F.archivo_xml,F.tipo_de_comprobante_facturas,F.total_factura,F.cancela_tipo_de_cambio,F.cancela_folio_facturas,F.tipo_de_cambio,C.* from facturasint F inner join conceptos_facturas C on F.idfacturasint=C.id_factura_facturas and F.referencia_factura= '".$referencia."' and F.bl_factura= '".$hbl."' and NOT F.razon_social_facturas LIKE '%INTERTEAM%' and F.impresa_facturas='SI' and (F.tipo_de_comprobante_facturas='INGRESO' OR F.tipo_de_comprobante_facturas='ingreso') and F.cancelada_facturas<>'SI' and F.cancelado_por_nc=0 and (F.uuid<>'' or F.uuid is not null) and F.archivo_pdf<>'' and C.idconceptos_facturas>1150000  and F.factura_se_cancelara=0 ");
/*echo "SELECT if(F.concepto_otros_usd=C.descripcion_conceptos_facturas,C.descripcion_conceptos_facturas,''),
if(F.concepto_otros_usd=C.descripcion_conceptos_facturas,C.importe_conceptos_facturas,''),F.moneda_factura,F.fecha_facturas,F.serie_facturas,F.folio_facturas,F.archivo_pdf,F.archivo_xml,F.tipo_de_comprobante_facturas,F.total_factura,F.cancela_tipo_de_cambio,F.cancela_folio_facturas,F.tipo_de_cambio,C.* from facturasint F inner join conceptos_facturas C on F.idfacturasint=C.id_factura_facturas and F.referencia_factura= '".$referencia."' and F.bl_factura= '".$hbl."' and NOT F.razon_social_facturas LIKE '%INTERTEAM%' and F.impresa_facturas='SI' and (F.tipo_de_comprobante_facturas='INGRESO' OR F.tipo_de_comprobante_facturas='ingreso') and F.cancelada_facturas<>'SI' and F.cancelado_por_nc=0 and (F.uuid<>'' or F.uuid is not null) and F.archivo_pdf<>'' and F.factura_se_cancelara=0 ";*/
$otros_gravamenes=0;$sotros=0;
		while($row = mysqli_fetch_array($result)){
				$tc_referencia=cambio_usd_mxp($row[fecha_facturas]);

				$tc_ingresos=$row[tipo_de_cambio];


				$concepto['OTROS_nc_agente'][$hbl]+=($row[moneda_factura]=='USD' ? $row[1]*1*$tc_ingresos : $row[1]);		

				$concepto[$row[descripcion_conceptos_facturas]][$hbl]+=($row[moneda_factura]=='USD' ?  $row[importe_conceptos_facturas]* $tc_ingresos : $row[importe_conceptos_facturas]);

				
				if($row[descripcion_conceptos_facturas]!='DESCONSOLIDACION' and $row[descripcion_conceptos_facturas]!='LIBERACION EN PUERTO' and $row[descripcion_conceptos_facturas]!='REVALIDACION' and $row[descripcion_conceptos_facturas]!='CONTAINER CLEANING FEE' and $row[descripcion_conceptos_facturas]!='CANJE DE DOCUMENTOS' and $row[descripcion_conceptos_facturas]!='PORT TRANSFER FEE' and $row[descripcion_conceptos_facturas]!='TRANSMISION ELECTRONICA' and $row[descripcion_conceptos_facturas]!='ADMINISTRATION FEE'  and $row[descripcion_conceptos_facturas]!='FLETE MARITIMO'  and $row[descripcion_conceptos_facturas]!='FLETE TERRESTRE' and $row[descripcion_conceptos_facturas]!='FLETE AEREO' and $row[descripcion_conceptos_facturas]!='OTROS' and $row[descripcion_conceptos_facturas]!=$row[0] ){
					//echo '<BR>OTROS CON IVA hbl '.$hbl.'  '.$row[descripcion_conceptos_facturas].'  '.$row[importe_conceptos_facturas].'<br>';
					//if($row[tipo_de_comprobante_facturas]=='INGRESO' or $row[tipo_de_comprobante_facturas]=='ingreso'){
					$otros_gravamenes+= ($row[moneda_factura]=='USD' ? ($row[importe_conceptos_facturas]*1==0 ? $row[valor_unitario_conceptos_facturas]*1*$row[cantidad_conceptos_facturas]*1 : $row[importe_conceptos_facturas]*1) *$tc_referencia : ($row[importe_conceptos_facturas]*1==0 ? $row[valor_unitario_conceptos_facturas]*1*$row[cantidad_conceptos_facturas]*1 : $row[importe_conceptos_facturas]*1)); 


				}

				if($row[descripcion_conceptos_facturas]=='OTROS' ){
					$sotros+=($row[moneda_factura]=='USD' ? $row[importe_conceptos_facturas]*1*$tc_referencia : $row[importe_conceptos_facturas]);	
				}

				$conce[]=$row[descripcion_conceptos_facturas];
		}
 
$k=0;
while($k<count($conce)){
	if($concepto[$conce[k]][$hbl]<0) $concepto[$conce[k]][$hbl]=0;
	$k++;
}
 
$concepto['OTROS'][$hbl]= $sotros+$otros_gravamenes;
$concepto['LIBERACION EN PUERTO Y REVALIDACION'][$hbl]=$concepto['LIBERACION EN PUERTO'][$hbl]*1+$concepto['REVALIDACION'][$hbl]*1;
$concepto['CANJE DE DOCUMENTOS Y CONTAINER CLEANING FEE'][$hbl]=$concepto['CANJE DE DOCUMENTOS'][$hbl]*1+$concepto['CONTAINER CLEANING FEE'][$hbl]*1;
if($concepto['OTROS_nc_agente'][$hbl]<0) $concepto['OTROS_nc_agente'][$hbl]=0;
if($concepto['OTROS'][$hbl]<0) $concepto['OTROS'][$hbl]=0;
if($concepto['OTROS GRAVAMENES'][$hbl]<0) $concepto['OTROS GRAVAMENES'][$hbl]=0;
if($concepto['LIBERACION EN PUERTO Y REVALIDACION'][$hbl]<0) $concepto['LIBERACION EN PUERTO Y REVALIDACION'][$hbl]=0;
if($concepto['CANJE DE DOCUMENTOS Y CONTAINER CLEANING FEE'][$hbl]<0) $concepto['CANJE DE DOCUMENTOS Y CONTAINER CLEANING FEE'][$hbl]=0;
 
}

/*
function fingresos_locales_aviso($hbl,$referencia,$mes_e,$anio){
	global $concepto;
$result = mysqli_query("SELECT * from datosimpoint where bl_house = '".$hbl."' and referencia='".$referencia."'");
$otros_gravamenes=0;
		while($row = mysqli_fetch_array($result)){
			//$fecha_de_envio=str_replace('/','-',$row[fecha_de_envio]);
			//$cambio = cambio_usd_mxp($fecha_de_envio)*1;
			
			$mes = date("m");
			$result1 = mysqli_query("SELECT AVG( `importe` )
			FROM `tipodecambioint`
			WHERE `fecha`
			BETWEEN '".$anio.'/'.$mes_e.'/01'."' and '".$anio.'/'.$mes_e.'/31'."' ");
		 
			$row1 = mysqli_fetch_array($result1);
			$tc_promedio=$row1[0];echo mysqli_error();
 
			$concepto['desconsolidacion_mn'][$hbl]=($row[moneda_importes]=='USD' ?  $row[desconsolidacion_mn]* ($row[t_c_desconsolidacion_mn]*1==0 ? $tc_promedio*1 : $row[t_c_desconsolidacion_mn]*1) : $row[desconsolidacion_mn]);
			$concepto['liberacion_en_puerto_mn'][$hbl]=($row['moneda_liberacion_en_puerto']=='USD' ?  $row[liberacion_en_puerto_mn]* ($row['t_c_liberacion_en_puerto_mn']*1==0 ? $tc_promedio : $row['t_c_liberacion_en_puerto_mn']*1) : $row[liberacion_en_puerto_mn]);
			$concepto['canje_de_documentos_mn'][$hbl]=($row[moneda_importes]=='USD' ?  $row['canje_de_documentos_mn']* ($row['t_c_canje_de_documentos_mn']*1==0 ? $tc_promedio:$row['t_c_canje_de_documentos_mn']*1) : $row['canje_de_documentos_mn']);
			$concepto['port_transfer_fee_mn'][$hbl]=($row['moneda_port_transfer_fee']=='USD' ? $row['port_transfer_fee_mn']*($row['t_c_port_transfer_fee_mn']*1==0 ? $tc_promedio : $row['t_c_port_transfer_fee_mn']*1) : $row['port_transfer_fee_mn']);
			$concepto['importe_transmision'][$hbl]=($row[moneda_importes]=='USD' ? $row['importe_transmision']* ($row['t_c_importe_transmision']*1==0 ? $tc_promedio : $row['t_c_importe_transmision']*1) : $row['importe_transmision']);
			$concepto['administration_fee'][$hbl]=($row[moneda_importes]=='USD' ? $row['administration_fee']* ($row['t_c_administration_fee']*1==0 ? $tc_promedio : $row['t_c_administration_fee']*1==0) : $row['administration_fee']);
			$concepto['flete_terrestre'][$hbl]=($row['moneda_flete_terrestre']=='USD' ? $row['flete_terrestre']*1* ($row['t_c_administration_fee']*1==0? $tc_promedio : $row['t_c_administration_fee']*1) : $row['flete_terrestre']);
			$concepto['otros_mn'][$hbl]=($row[moneda_importes]=='USD' ? $row['otros_mn']* ($row['t_c_otros_mn']*1==0?$tc_promedio:$row['t_c_otros_mn']*1) : $row['otros_mn']);
			//$concepto['flete_maritimo_usd'][$hbl]=($row[moneda_importes]=='USD' ?  $row['flete_maritimo_usd']* ($row['t_flete_maritimo']*1==0?$tc_promedio:$row['t_flete_maritimo']*1): $row['flete_maritimo_usd']);
			$concepto['flete_maritimo_usd'][$hbl]=$row['flete_maritimo_usd']* ($row['t_flete_maritimo']*1==0?$tc_promedio:$row['t_flete_maritimo']*1);
			
			$concepto['importe_concepto_importe_usd'][$hbl]=($row[moneda_importes]=='USD' ?  $row['importe_concepto_importe_usd']* ($row['t_concepto_usd']*1==0?$tc_promedio:$row['t_concepto_usd']*1): $row['importe_concepto_importe_usd']);
		 
		}
			
			
		
  
  
}
*/

/*function fnotas_credito_agentes($hbl,$referencia,$tc_ingreso,$link1){
global $concepto;
$result = mysqli_query("SELECT sum(importe_profit) from profits_hbl where referencia_profit= '".$referencia."' and hbl_profit= '".$hbl."' and observaciones = 'OTROS INGRESOS'",$link1);
	while($row = mysqli_fetch_array($result)){ //echo 'tc ingreso '.$tc_ingreso;
	$concepto['OTROS INGRESOS'][$hbl]=$row[0]* $tc_ingreso;
	}

}*/

function fnotas_credito_agentes1($hbl,$referencia,$tc_ingreso){
global $concepto;
$result = mysqli_query("SELECT sum(importe_profit) from profits_hbl where referencia_profit= '".$referencia."' and observaciones = 'OTROS INGRESOS'");
	while($row = mysqli_fetch_array($result)){ //echo 'tc ingreso '.$tc_ingreso;
	$concepto['OTROS INGRESOS'][$referencia]=$row[0]* $tc_ingreso;
	}

}

function fREBATE_FLETE_TERRESTRE($hbl,$referencia,$tc_ingreso){
	//echo $tc_ingreso;
global $concepto;
$qEgresos = mysqli_query("SELECT * from profits_hbl where referencia_profit= '".$referencia."' and hbl_profit= '".$hbl."'  ");
 
	while($rEgresos = mysqli_fetch_array($qEgresos)){
		if($rEgresos[tipo_profit]=='INGRESO' and $rEgresos[observaciones]==''){
			$concepto[$rEgresos['concepto_profit']][$hbl]+=$rEgresos[importe_profit]* $tc_ingreso;
		}
		if($rEgresos[observaciones]=='OTROS INGRESOS'){
			$concepto['OTROS INGRESOS'][$hbl]+=$rEgresos[importe_profit]* $tc_ingreso;
		}
		if($rEgresos[observaciones]=='OTROS EGRESOS'){
			$concepto['OTROS EGRESOS'][$hbl]+=$rEgresos[importe_profit]* $tc_ingreso;
		}
		if($rEgresos[tipo_profit]=='EGRESO' ){
			 if($rEgresos['concepto_profit']=='txtflete_terrestre_egreso'){
					 $concepto['txtflete_terrestre_egreso'][$hbl]+= $rEgresos[importe_profit]*1;
			 }elseif($rEgresos['concepto_profit']=='txtliberacion_en_puerto_mxp'){
					 $concepto['txtliberacion_en_puerto_mxp'][$hbl]+= $rEgresos[importe_profit]*1;
			 }else{
				$concepto[$rEgresos[concepto_profit]][$hbl]+=  $rEgresos[importe_profit]* $tc_ingreso;
			 }
		}
	}

}

function fREBATE_FLETE_TERRESTRE1($hbl,$referencia,$tc_ingreso){
	//echo $tc_ingreso;
global $concepto;
$result = mysqli_query("SELECT importe_profit,concepto_profit from profits_hbl where referencia_profit= '".$referencia."'  and tipo_profit='INGRESO' and OBSERVACIONES is null");
	while($row = mysqli_fetch_array($result)){
	$concepto[$row[concepto_profit]][$referencia]=$row[0]* $tc_ingreso;
	}

}

/*function fegresos_extraordinarios($hbl,$referencia,$tc_egreso){
global $concepto;
$result = mysqli_query("SELECT sum(importe_profit) from profits_hbl where referencia_profit= '".$referencia."' and hbl_profit= '".$hbl."' and observaciones = 'OTROS EGRESOS'");
	while($row = mysqli_fetch_array($result)){
	$concepto['OTROS EGRESOS'][$hbl]=$row[0]* $tc_egreso;
	}

}*/

function fegresos_extraordinarios1($hbl,$referencia,$tc_egreso){
global $concepto;
$result = mysqli_query("SELECT sum(importe_profit) from profits_hbl where referencia_profit= '".$referencia."'  and observaciones = 'OTROS EGRESOS'");
	while($row = mysqli_fetch_array($result)){
	$concepto['OTROS EGRESOS'][$referencia]=$row[0]* $tc_egreso;
	}

}
/*
function fEGRESOS($hbl,$referencia,$tc_egreso){
global $concepto;
 
$result = mysqli_query("SELECT distinct importe_profit,concepto_profit,moneda_profit from profits_hbl where referencia_profit= '".$referencia."' and hbl_profit= '".$hbl."' and tipo_profit='EGRESO' and OBSERVACIONES is null");
	while($row = mysqli_fetch_array($result)){
	 if($row['concepto_profit']=='txtflete_terrestre_egreso'){
	 $concepto['txtflete_terrestre_egreso'][$hbl]= $row[0]*1;
	 }elseif($row['concepto_profit']=='txtliberacion_en_puerto_mxp'){
			 $concepto['txtliberacion_en_puerto_mxp'][$hbl]= $row[0]*1;
	 }else{
		$concepto[$row[concepto_profit]][$hbl]+=  $row[0]* $tc_egreso;
	 }
 
	}

}*/
function fEGRESOS1($hbl,$referencia,$tc_egreso){
global $concepto;
 
$result = mysqli_query("SELECT importe_profit,concepto_profit,moneda_profit from profits_hbl where referencia_profit= '".$referencia."'   and tipo_profit='EGRESO' and OBSERVACIONES is null");
	while($row = mysqli_fetch_array($result)){
	 if($row['concepto_profit']=='txtflete_terrestre_egreso'){
	 $concepto['txtflete_terrestre_egreso'][$referencia]= $row[0]*1;
	 }elseif($row['concepto_profit']=='txtliberacion_en_puerto_mxp'){
			 $concepto['txtliberacion_en_puerto_mxp'][$referencia]= $row[0]*1;
	 }else{
		$concepto[$row[concepto_profit]][$referencia]+=  $row[0]* $tc_egreso;
	 }
 
	}

}
 
function fegresos_contenedor($hbl,$referencia,$tc_egreso,$cant_hbl){
global $concepto;//and hbl_egreso= '".$hbl."'

$result = mysqli_query("SELECT importe_egreso,`moneda_egreso` from egresos_interteam where referencia_egreso= '".$referencia."' and concepto_egreso<>'DESCONSOLIDACION'");

$total_recargo=0;
	while($row = mysqli_fetch_array($result)){
		$total_recargo+=$row[0]* ($row[1]=='USD' ? $tc_egreso : 1);
	}
	
	$concepto['EGRESOS POR CONTENEDOR'][$referencia]= $total_recargo;
	
}

function apost($valor){
	$valor = str_replace("'","\'",strtoupper($valor));
	$valor = str_replace('"',"`",strtoupper($valor));
	return $valor;
}


function deshab($perfil,$numero_privilegio){
	/*if($perfil=='') return;
	if($perfil=='Consulta' ){
		return 'disabled = "disabled"';
	}
	
	$buscar2 = mysqli_query("select id from privilegios_personalizados where `numero_privilegio` = '".$numero_privilegio."' and valor_privilegio = 0 and user = '".$_SESSION[user]."'" );
	
	if(mysqli_num_rows($buscar2)>0){  // deshabilitado para un usuario en especial
		return  'disabled = "disabled"';
	}
	
	return '';*/
}

 

function personalizados($perfil,$numero_privilegio){
	$buscar3 = mysqli_query("select id from privilegios_personalizados where numero_privilegio = '".$numero_privilegio."' and tipo = 'Personalizado' ");
	
	$buscar1 = mysqli_query("select id from privilegios_personalizados where user = '".$_SESSION[user]."' and numero_privilegio = '".$numero_privilegio."' and tipo = 'Personalizado' ");
	$buscar2 = mysqli_query("select id from privilegios_personalizados where `numero_privilegio` = '".$numero_privilegio."' and valor_privilegio = 0 and user = '".$_SESSION[user]."'" );
// si el perfil es personalizado guardo un 1 en la opcion a la que tiene acceso y sino no guardo nada
// si el perfil es general o consulta guardo un cero en la opcion que le es negada
	
	if($perfil=='Personalizado' and mysqli_num_rows($buscar1)==0){
		return  'disabled = "disabled"';
	}
	
	if(mysqli_num_rows($buscar3)>0){  // habilitado solo para un usuario en especial
		if($perfil!='Personalizado'){
			return  'disabled = "disabled"';
		}
		if(mysqli_num_rows($buscar1)>0)
		return  '';
		else
		return  'disabled = "disabled"';
	}
	
	if(mysqli_num_rows($buscar2)>0){  // deshabilitado para un usuario en especial
		return  'disabled = "disabled"';
	}
	
	return '';
}

function formato_importe($valor) {

	if (! isset($valor))

		return "";

	return "\$".number_format($valor,2);

}

function formato_fecha($valor) {

	if (! isset($valor))

		return "";

	$time	= strtotime($valor);

	return date("d-m-Y",$time);

}

function formato_hora($valor) {

	if (! isset($valor))

		return "";

	$time	= strtotime($valor);

	return date("H:i",$time);

}

function dame_textoU($campo) {

	return strtoupper(utf8_decode($campo));

}

function dame_importe($campo) {

	$campo = str_replace("\$","",$campo);

	$campo = str_replace(",","",$campo);

	return doubleval($campo);

}

function dame_porcentaje($campo) {

	return doubleval(str_replace("%","",$campo));

}

function startsWith($texto, $comparativo) {

	if (is_array($texto)) {

		foreach($texto as $linea) {

			if(substr($linea, 0, strlen($comparativo)) == $comparativo) {

				return true;

			}

		}

		return false;

	} else {

		return (substr($texto, 0, strlen($comparativo)) == $comparativo);

	}

}

function textoSQL($texto) {

	if ( ! isset($texto) || $texto=="" ) {

		return "null";

	}

	return "'$texto'";

}

function numeroSQL($texto) {

	if ( ! isset($texto) || trim($texto)=="" ) {

		return "null";

	}

	return "$texto";

}

function fechaSQL($fecha) {

	// en formato yyyy-mm-dd

	if ( ! isset($fecha) || $fecha=="" ) {

		return "null";

	}

	return "STR_TO_DATE('$fecha','%d-%m-%Y')";

}

function horaSQL($hora) {

	if ( ! isset($hora) || $hora=="" ) {

		return "null";

	}

	$laDatos	= split(":", $hora);

	$hora		= str_pad($laDatos[0], 2, "0", STR_PAD_LEFT);

	$mins		= str_pad($laDatos[1], 2, "0", STR_PAD_LEFT);

	//return "'$hora:$mins'";

	return "STR_TO_DATE('$hora:$mins','%H:%i')";

}



/*!

  @function num2letras ()

  @abstract Dado un n�mero lo devuelve escrito.

  @param $num number - N�mero a convertir.

  @param $fem bool - Forma femenina (true) o no (false).

  @param $dec bool - Con decimales (true) o no (false).

  @result string - Devuelve el n�mero escrito en letra.



*/

function num2letras($num, $dec=true, $upper=true, $pesos=true, $round=2, $fem=false ) {

	//if (strlen($num) > 14) die("El n�mero introducido es demasiado grande");

	$matuni[2]  = "dos";

	$matuni[3]  = "tres";

	$matuni[4]  = "cuatro";

	$matuni[5]  = "cinco";

	$matuni[6]  = "seis";

	$matuni[7]  = "siete";

	$matuni[8]  = "ocho";

	$matuni[9]  = "nueve";

	$matuni[10] = "diez";

	$matuni[11] = "once";

	$matuni[12] = "doce";

	$matuni[13] = "trece";

	$matuni[14] = "catorce";

	$matuni[15] = "quince";

	$matuni[16] = "dieciseis";

	$matuni[17] = "diecisiete";

	$matuni[18] = "dieciocho";

	$matuni[19] = "diecinueve";

	$matuni[20] = "veinte";

	$matunisub[2] = "dos";

	$matunisub[3] = "tres";

	$matunisub[4] = "cuatro";

	$matunisub[5] = "quin";

	$matunisub[6] = "seis";

	$matunisub[7] = "sete";

	$matunisub[8] = "ocho";

	$matunisub[9] = "nove";



	$matdec[2] = "veint";

	$matdec[3] = "treinta";

	$matdec[4] = "cuarenta";

	$matdec[5] = "cincuenta";

	$matdec[6] = "sesenta";

	$matdec[7] = "setenta";

	$matdec[8] = "ochenta";

	$matdec[9] = "noventa";

	$matsub[3]  = 'mill';

	$matsub[5]  = 'bill';

	$matsub[7]  = 'mill';

	$matsub[9]  = 'trill';

	$matsub[11] = 'mill';

	$matsub[13] = 'bill';

	$matsub[15] = 'mill';

	$matmil[4]  = 'millones';

	$matmil[6]  = 'billones';

	$matmil[7]  = 'de billones';

	$matmil[8]  = 'millones de billones';

	$matmil[10] = 'trillones';

	$matmil[11] = 'de trillones';

	$matmil[12] = 'millones de trillones';

	$matmil[13] = 'de trillones';

	$matmil[14] = 'billones de trillones';

	$matmil[15] = 'de billones de trillones';

	$matmil[16] = 'millones de billones de trillones';



	$num = trim((string)@$num);

	if ($num[0] == '-') {

		$neg = 'menos ';

		$num = substr($num, 1);

	} else

		$neg = '';

	while ($num[0] == '0') $num = substr($num, 1);

	if ($num[0] < '1' or $num[0] > 9) $num = '0' . $num;

	$zeros = true;

	$punt = false;

	$ent = '';

	$fra = '';

	for ($c = 0; $c < strlen($num); $c++) {

		$n = $num[$c];

		if (! (strpos(".,'''", $n) === false)) {

			if ($punt) break;

			else{

				$punt = true;

				continue;

			}

		} elseif (! (strpos('0123456789', $n) === false)) {

			if ($punt) {

				if ($n != '0') $zeros = false;

				$fra .= $n;

			} else

				$ent .= $n;

		} else

			break;

	}



	$ent = '     ' . $ent;

	if ($pesos) {

		//$centavos = round($fra,$round);

		//$fin .= ' pesos ' . str_pad($centavos,$round,'0',STR_PAD_RIGHT) . '/100 M.N.';

		if ( $fra == '' )

			$fra = '0';

		$centavos = round('0.'.$fra,$round);

		if (strlen($centavos) <= 2)	// El resultado de centavos=0 � 0.

			$centavos = '0.0';

		@$fin .= ' pesos ' . @str_pad(@substr($centavos,2),$round,'0', STR_PAD_RIGHT). '/100 M.N.';

	} else {

		if ($dec and $fra and ! $zeros) {

			$fin = ' punto';

			for ($n = 0; $n < strlen($fra); $n++) {

				if (($s = $fra[$n]) == '0')

					$fin .= ' cero';

				elseif ($s == '1')

					$fin .= $fem ? ' una' : ' un';

				else

					$fin .= ' ' . $matuni[$s];

			}

			//$fin .= ' ' . num2letras($fra, false, $upper, $pesos, $round, $fem);

		} else

			$fin = '';

	}



	if ((int)$ent === 0) {

		$tex = 'cero' . $fin;

	} else {

		$tex = '';

		$sub = 0;

		$mils = 0;

		$neutro = false;

		while ( ($num = substr($ent, -3)) != '   ') {

			$ent = substr($ent, 0, -3);

			if (++$sub < 3 and $fem) {

				$matuni[1] = 'una';

				$subcent = 'as';

			} else {

				$matuni[1] = $neutro ? 'un' : 'uno';

				$subcent = 'os';

			}

			$t = '';

			$n2 = substr($num, 1);

			if ($n2 == '00') {

			} elseif ($n2 < 21)

				$t = ' ' . $matuni[(int)$n2];

			elseif ($n2 < 30) {

				$n3 = $num[2];

				if ($n3 != 0) $t = 'i' . $matuni[$n3];

				$n2 = $num[1];

				$t = ' ' . $matdec[$n2] . $t;

			} else {

				$n3 = $num[2];

				if ($n3 != 0) $t = ' y ' . $matuni[$n3];

				$n2 = $num[1];

				$t = ' ' . $matdec[$n2] . $t;

			}

			$n = $num[0];

			if ($n == 1) {

				$t = ' ciento' . $t;

			} elseif ($n == 5) {

				$t = ' ' . $matunisub[$n] . 'ient' . $subcent . $t;

			} elseif ($n != 0) {

				$t = ' ' . $matunisub[$n] . 'cient' . $subcent . $t;

			}

			if ($sub == 1) {

			} elseif (! isset($matsub[$sub])) {

				if ($num == 1) {

					$t = ' mil';

				} elseif ($num > 1) {

					$t .= ' mil';

				}

			} elseif ($num == 1) {

				$t .= ' ' . $matsub[$sub] . 'on';

			} elseif ($num > 1) {

				$t .= ' ' . $matsub[$sub] . 'ones';

			}

			if ($num == '000') $mils ++;

			elseif ($mils != 0) {

				if (isset($matmil[$sub])) $t .= ' ' . $matmil[$sub];

				$mils = 0;

			}

			$neutro = true;

			$tex = $t . $tex;

		}

		$tex = $neg . substr($tex, 1) . $fin;

	}

	if ($upper)

		return strtoupper($tex);

	else

		return ucfirst($tex);

}



function mesador($mes)
{
	// Obtiene el mes actual 
	// retorna el nombre del mes
	// un clasico :P
	switch($mes)
	{
		case '1':
			$mesLetra = 'Enero';
		break;
		case '2':
			$mesLetra = 'Febrero';
		break;
		case '3':
			$mesLetra = 'Marzo';
		break;
		case '4':
			$mesLetra = 'Abril';
		break;
		case '5':
			$mesLetra = 'Mayo';
		break;
		case '6' :
			$mesLetra = 'Junio';
		break;
		case '7':
			$mesLetra = 'Julio';
		break;
		case '8':
			$mesLetra = 'Agosto';
		break;
		case '9':
			$mesLetra = 'Septiembre';
		break;
		case '10':
			$mesLetra = 'Octubre';
		break;
		case '11':
			$mesLetra = 'Noviembre';
		break;
		case '12':
			$mesLetra = 'Diciembre';
		break;
	}
	return $mesLetra;
}



function busquedaB($link,$param,$resultado){
	$query = mysqli_query($link,$param);
	if(mysqli_num_rows($query)>0){
		$row = mysqli_fetch_array($query);
		return $row[$resultado];
	}else{
		return;
	}
}


function tran_date($fecha){
$tmp=explode("-",$fecha);
if($tmp[2].'-'.$tmp[1].'-'.$tmp[0]!='--'){
return $tmp[2].'-'.$tmp[1].'-'.$tmp[0];
}else{return '';}
}

function reverse_date($fecha){
$tmp=explode("/",$fecha);
return $tmp[2].'-'.$tmp[1].'-'.$tmp[0];
}

function _and($cond){
	if($cond=='') return ''; else return ' and ';
}

function data($link,$query){
	$query = mysqli_query($link,$query);
	if(mysqli_num_rows($query)>0){
		return mysqli_fetch_array($query);
	}else{
		return;
	}
}

function vacios($param){
if($param=="") return "0"; else return $param;
}

function defectoValue($concepto,$valor_por_defecto){
if($concepto=="") return $valor_por_defecto; else return $concepto;
}

function explote_mes($fecha){
$tmpA = explode("-",$fecha);
return number_format($tmpA[1]); 
}

function explote_dia($fecha){
$tmpA = explode("-",$fecha);
return number_format($tmpA[2]); 
}

function explote_anio($fecha){
$tmp = explode("-",$fecha);
return $tmp[0];echo $tmp[0];
}

function sumarDias($fecha_db,$dias){
//$fecha_db = "2000-10-29";
$fecha_db = explode("-",$fecha_db);

$fecha_cambiada = mktime(0,0,0,$fecha_db[1],$fecha_db[2]+$dias,$fecha_db[0]);
//$fecha = date("d/m/Y", $fecha_cambiada);
$fecha = date("Y-m-d", $fecha_cambiada);
return $fecha;
}

function compararFechas($primera, $segunda)   
 {   
  $valoresPrimera = explode ("-", $primera);      
  $valoresSegunda = explode ("-", $segunda);    
  $diaPrimera    = $valoresPrimera[2];     
  $mesPrimera  = $valoresPrimera[1];     
  $anyoPrimera   = $valoresPrimera[0];    
  $diaSegunda   = $valoresSegunda[2];     
  $mesSegunda = $valoresSegunda[1];     
  $anyoSegunda  = $valoresSegunda[0];   
  $diasPrimeraJuliano = gregoriantojd($mesPrimera, $diaPrimera, $anyoPrimera);     
  $diasSegundaJuliano = gregoriantojd($mesSegunda, $diaSegunda, $anyoSegunda);        
  if(!checkdate($mesPrimera, $diaPrimera, $anyoPrimera)){   
    // "La fecha ".$primera." no es válida";   
    return 0;   
  }elseif(!checkdate($mesSegunda, $diaSegunda, $anyoSegunda)){   
    // "La fecha ".$segunda." no es válida";   
    return 0;   
  }else{   
    return  $diasPrimeraJuliano - $diasSegundaJuliano;   
  }    
} 
 
function bookingexpint($condicion,$txtbooking){
	global $rbookingexpint;
	include("comun/conexion3.php");
	$query = mysqli_query("SELECT * FROM bookingexpint where ".$condicion." like '$txtbooking%'");
	$rbookingexpint=mysqli_fetch_array($query);
	return $rbookingexpint;
}

function hblexpint($condicion,$hbl){
	global $rhblexpint;
	include("comun/conexion3.php");
	$query = mysqli_query("SELECT * FROM hblexpint where ".$condicion." like '$hbl%'");
	$rhblexpint=mysqli_fetch_array($query);
	return $rhblexpint;
}


global $rbookingexpint;
global $rhblexpint;

?> 