<?php


// leitura das datas
$dia = date('d');
$mes = date('m');
$ano = date('Y');
$semana = date('w');

function DataInvertida($data, $divisor = '/')
{
  $dt = explode($divisor, $data);
  $dia = $dt[0];
  $mes = $dt[1];
  $ano = $dt[2];
  if ($data != '')
    return  "$ano/$mes/$dia";
  else
    return "";
}

function InverterData($data, $divisor = '/')
{
  $dia = substr($data, 8, 2);
  $mes = substr($data, 5, 2);
  $ano = substr($data, 0, 4);
  // return  "$dia/$mes/$ano";
  if ($data != '')
    return  "$dia/$mes/$ano";
  else
    return "";
}


function InverterDataHora($dataHora, $divisor = '/')
{
  $dia = substr($dataHora, 8, 2);
  $mes = substr($dataHora, 5, 2);
  $ano = substr($dataHora, 0, 4);
  $hora = substr($dataHora, 10, 9);


  if ($dataHora != '')
    return  "$dia/$mes/$ano $hora";
  else
    return "";
}

function FormatoValor($valor)
{
  return number_format($valor, 2, ',', '.');
}


function Login()
{
  if (!isset($_SESSION))
    session_start();
  // isset = "verifica se uma variavel existe"
  if (!isset($_SESSION['VfotoLogado']) || !$_SESSION['VfotoLogado']) {
    redirect('login/');
  }
}


function redirect($page)
{
  die("<script>location='{$page}';</script>");
}



function extenso($valor = 0, $maiusculas = false)
{

  $singular = array("centavo", "real", "mil", "milhão", "bilhão", "trilhão", "quatrilhão");
  $plural = array(
    "centavos",
    "reais",
    "mil",
    "milhões",
    "bilhões",
    "trilhões",
    "quatrilhões"
  );

  $c = array(
    "",
    "cem",
    "duzentos",
    "trezentos",
    "quatrocentos",
    "quinhentos",
    "seiscentos",
    "setecentos",
    "oitocentos",
    "novecentos"
  );
  $d = array(
    "",
    "dez",
    "vinte",
    "trinta",
    "quarenta",
    "cinquenta",
    "sessenta",
    "setenta",
    "oitenta",
    "noventa"
  );
  $d10 = array(
    "dez",
    "onze",
    "doze",
    "treze",
    "quatorze",
    "quinze",
    "dezesseis",
    "dezesete",
    "dezoito",
    "dezenove"
  );
  $u = array(
    "",
    "um",
    "dois",
    "três",
    "quatro",
    "cinco",
    "seis",
    "sete",
    "oito",
    "nove"
  );

  $z = 0;
  $rt = "";

  $valor = number_format($valor, 2, ".", ".");
  $inteiro = explode(".", $valor);
  for ($i = 0; $i < count($inteiro); $i++)
    for ($ii = strlen($inteiro[$i]); $ii < 3; $ii++)
      $inteiro[$i] = "0" . $inteiro[$i];

  $fim = count($inteiro) - ($inteiro[count($inteiro) - 1] > 0 ? 1 : 2);
  for ($i = 0; $i < count($inteiro); $i++) {
    $valor = $inteiro[$i];
    $rc = (($valor > 100) && ($valor < 200)) ? "cento" : $c[$valor[0]];
    $rd = ($valor[1] < 2) ? "" : $d[$valor[1]];
    $ru = ($valor > 0) ? (($valor[1] == 1) ? $d10[$valor[2]] : $u[$valor[2]]) : "";

    $r = $rc . (($rc && ($rd || $ru)) ? " e " : "") . $rd . (($rd &&
      $ru) ? " e " : "") . $ru;
    $t = count($inteiro) - 1 - $i;
    $r .= $r ? " " . ($valor > 1 ? $plural[$t] : $singular[$t]) : "";
    if ($valor == "000") $z++;
    elseif ($z > 0) $z--;
    if (($t == 1) && ($z > 0) && ($inteiro[0] > 0)) $r .= (($z > 1) ? " de " : "") . $plural[$t];
    if ($r) $rt = $rt . ((($i > 0) && ($i <= $fim) &&
      ($inteiro[0] > 0) && ($z < 1)) ? (($i < $fim) ? ", " : " e ") : " ") . $r;
  }

  if (!$maiusculas) {
    return ($rt ? $rt : "zero");
  } else {

    if ($rt) $rt = ereg_replace(" E ", " e ", ucwords($rt));
    return (($rt) ? ($rt) : "Zero");
  }
}


function RemoverAcentos($palavra)
{
  $beta = array(
    'a',
    'a',
    'a',
    'a',
    'a',
    'e',
    'e',
    'e',
    'e',
    'i',
    'i',
    'i',
    'i',
    'o',
    'o',
    'o',
    'o',
    'o',
    'u',
    'u',
    'u',
    'u',
    'c',
    'A',
    'A',
    'A',
    'A',
    'A',
    'E',
    'E',
    'E',
    'E',
    'I',
    'I',
    'I',
    'I',
    'O',
    'O',
    'O',
    'O',
    'O',
    'U',
    'U',
    'U',
    'U',
    'C'
  );
  $alfa = array(
    'á',
    'à',
    'ã',
    'â',
    'ä',
    'é',
    'è',
    'ê',
    'ë',
    'í',
    'ì',
    'î',
    'ï',
    'ó',
    'ò',
    'õ',
    'ô',
    'ö',
    'ú',
    'ù',
    'û',
    'ü',
    'ç',
    'Á',
    'À',
    'Ã',
    'Â',
    'Ä',
    'É',
    'È',
    'Ê',
    'Ë',
    'Í',
    'Ì',
    'Î',
    'Ï',
    'Ó',
    'Ò',
    'Õ',
    'Ô',
    'Ö',
    'Ú',
    'Ù',
    'Û',
    'Ü',
    'Ç'
  );
  return str_replace($alfa, $beta, $palavra);
}


/**
 * Retorna a diferença entre datas, pode retornar em dias ou meses 
 *  
 * @param string $start - Data inicial no format Y-m-d 
 * @param string $return  - Data final no format Y-m-d, se for vazio é preenchido com a data de hoje 
 * @example getDateDiff('2011-10-11','2011-11-20'); 
 * @return string 
 */
function getDateDiff($start, $end = "NOW", $return = 'days')
{
  //Transforma a data inicial em time    
  $sdate = strtotime($start);
  //Transforma a data final em time    
  $edate = strtotime($end);
  //Faz o cálculo para achar a diferença em dias    
  $pday = ($edate - $sdate) / 86400;
  //Faz o cálculo para achar a diferença em menses    
  $pmonth = $pday / 30;
  if ($return == 'days')
    $r = explode('.', $pday);
  elseif ($return == 'months')
    $r = explode('.', $pmonth);
  return $r[0];
}
