/**
* @return 
* @param Numerico $numero
* @desc Retorna o d�gito vefificador com MOD11
*/
function	mod11($numero) //passar como string
   {
   $string  = new string();
   $retorno = 0;
   $numero  = $string->strzero($numero,50);
   $mult    = "32987654329876543298765432987654329876543298765432";
   for ($x = 0; $x < 50; $x ++):
       {
       $digito   = substr($numero,$x,1) ;
       $multiplo = substr($mult,$x,1) ;
       $soma = $digito * $multiplo;
       $retorno += $soma;
       }
   endfor;
   $retorno += 11;
   $retorno = (($retorno % 11) <= 1)?(1):(11 - ($retorno % 11));
   return $retorno;
   }



class string
   {
   /**
   * @return String
   * @param Numerico $valor
   * @param Numerico $dig
   * @desc Transforma Numerico em String e Completa com Zeros a esquerda
   */
   function strzero($valor,$dig)
      {
      
      $valor = str_replace(".","",$valor);
      $valor = str_replace(",","",$valor);	
      
      $tamanho = strlen($valor);
      $retorno = ""  ;
      if ($tamanho < $dig):
         {
         $qtde = $dig-$tamanho;
         $zeros = "" ;
         for( $x = 0; $x < $qtde; $x++):
            {
            $zeros.="0";
            }
         endfor;
         $retorno = $zeros.$valor ;
         }
      else:
         {
         $retorno = $valor ;
         }
      endif;
      }
   }