/***********************************************************
                 Texto na barra de status
***********************************************************/
var hellotext="FarahCafé"
var thetext=""
var started=false
var step=0
var times=1
 function welcometext()
    {
      times--
      if (times==0)
      {
        if (started==false)
        {
          started = true;
          window.status = hellotext;
          setTimeout("anim()",1);
        }
        thetext = hellotext;
      }
    }
 function showstatustext(txt)
    {
      thetext = txt;
      setTimeout("welcometext()",4000)
      times++
    }
 function anim()
    {
     step++
      if (step==7) {step=1}
      if (step==1) {window.status=thetext}
      if (step==2) {window.status=thetext}
      if (step==3) {window.status=thetext}
      if (step==4) {window.status=thetext}
      if (step==5) {window.status=thetext}
      if (step==6) {window.status=thetext}
	  //if (step==1) {window.status='>==='+thetext+'===<'}
      //if (step==2) {window.status='=>=='+thetext+'==<='}
      //if (step==3) {window.status='>=>='+thetext+'=<=<'}
      //if (step==4) {window.status='=>=>'+thetext+'<=<='}
      //if (step==5) {window.status='==>='+thetext+'=<=='}
      //if (step==6) {window.status='===>'+thetext+'<==='}
      setTimeout("anim()",200);
    }
welcometext();

/***********************************************************
                 Função para validar email
***********************************************************/
function valida_email(email){
    parte1 = email.indexOf("@");
    parte2 = email.indexOf(".");
    parte3 = email.length;
    if (!(parte1 >= 3 && parte2 >= 6 && parte3 >= 9)) {
        alert ("O campo E-Mail deve ser conter um endereco eletronico!");
        return false;
    }
    return true;
}
/***********************************************************
   Função para aceitar somente números em um input
***********************************************************/
function soNums(e,args){         
    // Função que permite apenas teclas numéricas e  
    // todos os caracteres que estiverem na lista 
    // de argumentos. 
    // Deve ser chamada no evento onKeyPress desta forma 
    //  onKeyPress ="return (soNums(event,'0'));" 
    // caso queira apenas permitir caracters como por exemplo um campo que só aceite valores em Hexadecimal (de 0 a F) usamos 
    //  onKeyPress ="return (soNums(event,'AaBbCcDdEeFf'));" 

/* Esta parte comentada é a que testei exaustivamente e garanto que funciona em praticamente todos os browsers 
        var evt='';// devido a um warning gerado pelo Console de Javascript que "enxergava" uma redeclaração de "evt" decidi declará-la uma vez e alterar ser valor posteriormente  

        if (document.all){evt=event.keyCode;} // caso seja IE 
        else{evt = e.charCode;}    // do contrário deve ser Mozilla 
O código a seguir teste apenas em FireFox e Internet Explorer 6 e funcionou perfeitamente. Caso vc tenha algum problema com esta função por favor entre em contato 
*/ 
        var evt= (e.keyCode?e.keyCode:e.charCode); 
        var chr= String.fromCharCode(evt);    // pegando a tecla digitada 
        // Se o código for menor que 20 é porque deve ser caracteres de controle 
        // ex.: <ENTER>, <TAB>, <BACKSPACE> portanto devemos permitir 
        // as teclas numéricas vão de 48 a 57 
        return (evt <20 || (evt >47 && evt<58) || (args.indexOf(chr)>-1 ) ); 
    } 

/* 
    outra variação só que mais rígida. Não permite nenhum caracter que não esteja na lista de permissão. 
    Aconselhável para algumas situações como por exemplo testes de digitação ou coisas do tipo. Também deve ser chamado da forma anterior 
    //  onKeyPress ="return (soNums(event,'0'));" 

*/ 
    function soNums(e,args) 
    {         

/* Esta parte comentada é a que testei exaustivamente e garanto que funciona em praticamente todos os browsers 
        var evt='';// devido a um warning gerado pelo Console de Javascript que "enxergava" uma redeclaração de "evt" decidi declará-la uma vez e alterar ser valor posteriormente  
        if (document.all){evt=event.keyCode;} // caso seja IE 
        else{evt = e.charCode;}    // do contrário deve ser Mozilla 
O código a seguir teste apenas em FireFox e Internet Explorer 6 e funcionou perfeitamente. Caso vc tenha algum problema com esta função por favor entre em contato 
*/ 
        var evt= (e.keyCode?e.keyCode:e.charCode); 
        var valid_chars = '0123456789'+args;    // criando a lista de teclas permitidas 
        var chr= String.fromCharCode(evt);    // pegando a tecla digitada 
        if (valid_chars.indexOf(chr)>-1 ){return true;}    // se a tecla estiver na lista de permissão permite-a 
        // para permitir teclas como <BACKSPACE> adicionamos uma permissão para  
        // códigos de tecla menores que 09 por exemplo (geralmente uso menores que 20) 
        return (valid_chars.indexOf(chr)>-1 || evt < 9);    // se a tecla estiver na lista de permissão permite-a 
        // do contrário nega 
} 

/***********************************************************
   Função para validar cpf ou cnpj
***********************************************************/
function valida_cpf(cpf){
      var numeros, digitos, soma, i, resultado, digitos_iguais;
      digitos_iguais = 1;
      if (cpf.length < 11)
            return false;
      for (i = 0; i < cpf.length - 1; i++)
            if (cpf.charAt(i) != cpf.charAt(i + 1))
                  {
                  digitos_iguais = 0;
                  break;
                  }
      if (!digitos_iguais)
            {
            numeros = cpf.substring(0,9);
            digitos = cpf.substring(9);
            soma = 0;
            for (i = 10; i > 1; i--)
                  soma += numeros.charAt(10 - i) * i;
            resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
            if (resultado != digitos.charAt(0))
                  return false;
            numeros = cpf.substring(0,10);
            soma = 0;
            for (i = 11; i > 1; i--)
                  soma += numeros.charAt(11 - i) * i;
            resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
            if (resultado != digitos.charAt(1))
                  return false;
            return true;
            }
      else
            return false;
}

function valida_cnpj(cnpj){
      var numeros, digitos, soma, i, resultado, pos, tamanho, digitos_iguais;
      digitos_iguais = 1;
      if (cnpj.length < 14 && cnpj.length < 15)
            return false;
      for (i = 0; i < cnpj.length - 1; i++)
            if (cnpj.charAt(i) != cnpj.charAt(i + 1))
                  {
                  digitos_iguais = 0;
                  break;
                  }
      if (!digitos_iguais)
            {
            tamanho = cnpj.length - 2
            numeros = cnpj.substring(0,tamanho);
            digitos = cnpj.substring(tamanho);
            soma = 0;
            pos = tamanho - 7;
            for (i = tamanho; i >= 1; i--)
                  {
                  soma += numeros.charAt(tamanho - i) * pos--;
                  if (pos < 2)
                        pos = 9;
                  }
            resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
            if (resultado != digitos.charAt(0))
                  return false;
            tamanho = tamanho + 1;
            numeros = cnpj.substring(0,tamanho);
            soma = 0;
            pos = tamanho - 7;
            for (i = tamanho; i >= 1; i--)
                  {
                  soma += numeros.charAt(tamanho - i) * pos--;
                  if (pos < 2)
                        pos = 9;
                  }
            resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
            if (resultado != digitos.charAt(1))
                  return false;
            return true;
            }
      else
            return false;
} 


//by bamboo, szilard & igbassani
function TESTA(CNUMB,CTYPE)
{
  if(Verify(CNUMB, CTYPE))
  {
    alert(CTYPE+" válido!");
  }
  else
  {
    alert(CTYPE+" inválido!");
  }
  return;
}

function ClearStr(str, char)
{
  while((cx=str.indexOf(char))!=-1)
  {		
    str = str.substring(0,cx)+str.substring(cx+1);
  }
  return(str);
}

function ParseNumb(c)
{
  c=ClearStr(c,'-');
  c=ClearStr(c,'/');
  c=ClearStr(c,',');
  c=ClearStr(c,'.');
  c=ClearStr(c,'(');
  c=ClearStr(c,')');
  c=ClearStr(c,' ');
  if((parseFloat(c) / c != 1))
  {
    if(parseFloat(c) * c == 0)
    {
      return(c);
    }
    else
    {
      return(0);
    }
  }
  else
  {
    return(c);
  }
}

function Verify(CNUMB,CTYPE)
{
  CNUMB=ParseNumb(CNUMB)
  if(CNUMB == 0)
  {
    return(false);
  }
  else
  {
    g=CNUMB.length-2;
    if(TestDigit(CNUMB,CTYPE,g))
    {
      g=CNUMB.length-1;
      if(TestDigit(CNUMB,CTYPE,g))
      {	
        return(true);
      }
      else
      {
        return(false);
      }
    }
    else
    {
      return(false);
    }
  }
}

function TestDigit(CNUMB,CTYPE,g)
{
  var dig=0;
  var ind=2;
  for(f=g;f>0;f--)
  {
    dig+=parseInt(CNUMB.charAt(f-1))*ind;
    if (CTYPE=='CNPJ')
    { if(ind>8) {ind=2} else {ind++} }
    else
    { ind++ }
  }
  dig%=11;
  if(dig<2)
  {
    dig=0;
  }
  else
  {
    dig=11-dig;
  }
  if(dig!=parseInt(CNUMB.charAt(g)))
  {
    return(false);
  }
  else
  {
    return(true);
  }
}

/***********************************************************
   Função para deixar somente números em uma string
***********************************************************/
function limpa_string(S){
	// Deixa so' os digitos no numero
	var Digitos = "0123456789";
	var temp = "";
	var digito = "";

	for (var i=0; i<S.length; i++)	{
		digito = S.charAt(i);
		if (Digitos.indexOf(digito)>=0)	{
			temp=temp+digito	}
	} //for

	return temp
}

/***********************************************************
   Função para colocar texto na barra de status do navegador
***********************************************************/
function TextoBarra(txt){
  if (txt == '') {
	  txt = 'Desenvolvido por Design Studio';
  }
  window.status = txt;
}

/************************************
	Função para abrir uma url remota
************************************/
function Remote(url,w,h) {
var remote = null
  remote = window.open('','arquivo','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,width='+w+',height='+h)
  if (remote != null) {
     remote.location.href = url
  }
}

/*******************************************
   Função para aceitar somente números 
*******************************************/
var alertar = 'on'; //Use 'on' para alertar quando o caracter for inválido. Use 'off' pra não avisar.

function fcnOnlyNum() {
  var caract = new RegExp(/^[0-9 ]+$/i);
  var caract = caract.test(String.fromCharCode(event.keyCode));

  if(!caract){
    if (alertar == 'on') alert("Caracter inválido: " +String.fromCharCode(event.keyCode));
    event.keyCode=0;
    return;
  }
}
function fcnFocusOnEnter () {
  if (event.keyCode == 13) event.keyCode = 9;
}

/****************************************************
   converte um valor para o formato de moeda
****************************************************/
function FormataValor(num, casas ) {
if (!casas || casas == "") casas = 2;
if (casas == 0) tcasas = 1;
if (casas == 1) tcasas = 10;
if (casas == 2) tcasas = 100;
if (casas == 3) tcasas = 1000;
if (casas == 4) tcasas = 10000;
num = num.toString().replace('.', '');
num = num.toString().replace(',', '.');
if(isNaN(num))
num = "0";
sign = (num == (num = Math.abs(num)));
num = Math.floor(num*tcasas+0.50000000001);
cents = num%tcasas;
num = Math.floor(num/tcasas).toString();
if (cents == 0) {
if (casas == 2) cents = "00";
if (casas == 3) cents = "000";
if (casas == 4) cents = "0000";
} else {
if (casas == 2 && cents < 10) cents = "0" + cents;
if (casas == 3) {
if (cents < 10) {
cents = "00" + cents;
} else if (cents > 10 && cents < 100) {
cents = "0" + cents;
}
}
if (casas == 4) {
if (cents < 10) {
cents = "000" + cents;
} else if (cents > 10 && cents < 100) {
cents = "00" + cents;
} else if (cents > 100 && cents < 1000) {
cents = "0" + cents;
}
}
}
for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
num = num.substring(0,num.length-(4*i+3))+'.'+
num.substring(num.length-(4*i+3));
num = (((sign)?'':'-') + num + ',' + cents);
return num;
}
