/* Inclui a máscara para incluir parenteses no DDD de um Telefone
O parametro "obj" deve receber um objeto que suporta texto, por exemplo um TextBox.
Exemplo de chamada: validaNumero(document.form1.campoText);
Essa funcao deve ser chamada através do "onKeyUp" ou "OnKeyPress"
*/
function incluirMascaraDDD(obj) {
	vValor = obj.value;
	vTamanho = obj.value.length;

	if (vTamanho == 1)
		obj.value = '(' + vValor;
	if (vTamanho == 3)
		obj.value = vValor + ') ';
}

//-------------------------------------------------------------------

/* Inclui a máscara do CPF (999.999.999-99)
O parametro "obj" deve receber um objeto que suporta texto, por exemplo um TextBox.
Exemplo de chamada: validaNumero(document.form1.campoText);
Essa funcao deve ser chamada através do "onKeyUp" ou "OnKeyPress"
*/
function incluirMascaraCPF(obj) {
	vValor = obj.value;
	vTamanho = obj.value.length;
		
	if (vTamanho == 3)
		obj.value = vValor + '.';
	if (vTamanho == 7)
		obj.value = vValor + '.';
	if (vTamanho == 11)
		obj.value = vValor + '-';
}

//-------------------------------------------------------------------

/* Inclui a máscara do CGC (99.999.999/9999-99)
O parametro "obj" deve receber um objeto que suporta texto, por exemplo um TextBox.
Exemplo de chamada: validaNumero(document.form1.campoText);
Essa funcao deve ser chamada através do "onKeyUp" ou "OnKeyPress"
*/
function incluirMascaraCGC(obj) {
	vValor = obj.value;
	vTamanho = obj.value.length;
		
	if (vTamanho == 2)
		obj.value = vValor + '.';
	if (vTamanho == 6)
		obj.value = vValor + '.';
	if (vTamanho == 10)
		obj.value = vValor + '/';
	if (vTamanho == 15)
		obj.value = vValor + '-';
}

//-------------------------------------------------------------------

/* Inclui a máscara do CEP (99.999-999)
O parametro "obj" deve receber um objeto que suporta texto, por exemplo um TextBox.
Exemplo de chamada: validaNumero(document.form1.campoText);
Essa funcao deve ser chamada através do "onKeyUp" ou "OnKeyPress"
*/
function incluirMascaraCEP(obj) {
	vValor = obj.value;
	vTamanho = obj.value.length;
		
	if (vTamanho == 2)
		obj.value = vValor + '.';
	if (vTamanho == 6)
		obj.value = vValor + '-';
}

//-------------------------------------------------------------------

/* Incluir a máscara de moeda
Exemplo de chamada: incluiMascaraMoeda(this,event);
Essa funcao deve ser chamada através do "onKeyUp" ou "OnKeyPress"
*/
function incluirMascaraMoeda(fld, e) { 
		var milSep = "."; 
		var decSep = ","; 
		var sep = 0; 
		var key = ''; 
		var i = j = 0; 
		var len = len2 = 0; 
		var strCheck = '0123456789'; 
		var aux = aux2 = ''; 
		var whichCode = (window.Event) ? e.which : e.keyCode; 
		
		if (whichCode == 13) 
		return true; 

		key = String.fromCharCode(whichCode); 

		//if (strCheck.indexOf(key) == -1) 
		//return false; 

		len = fld.value.length; 

		for (i = 0; i < len; i++) 
		if ((fld.value.charAt(i) != '0') && (fld.value.charAt(i) != decSep)) 
		break; 

		aux = '';

		for (; i < len; i++) 
		if (strCheck.indexOf(fld.value.charAt(i))!=-1) 
		aux += fld.value.charAt(i); 

		aux += key; 
		len = aux.length; 

		if (len == 0) 
		fld.value = ''; 

		if (len == 1) 
		fld.value = '0'+ decSep + '0' + aux; 

		if (len == 2) 
		fld.value = '0'+ decSep + aux; 

		if (len > 2){ 
		aux2 = ''; 

		for (j = 0, i = len - 3; i >= 0; i--){ 
		if (j == 3){ 
		aux2 += milSep; 
		j = 0; 
		} 
		aux2 += aux.charAt(i); 
		j++; 
		} 

		fld.value = ''; 
		len2 = aux2.length; 

		for (i = len2 - 1; i >= 0; i--) 
		fld.value += aux2.charAt(i); 
		fld.value += decSep + aux.substr(len - 2, len); 
		} 

		return false; 
}

//-------------------------------------------------------------------
/*Cleilton 28/03/2007
Inclui a máscara da Hora: incluirMascaraHora (99:99)
Valida números e dois pontos: validarNumeroCom2Pontos
Valida a hora: validarHora
O parametro "obj" deve receber um objeto que suporta texto, por exemplo um TextBox.
Exemplo de chamada: incluirMascaraHora(obj);
Essas funcoes devem ser chamadas através do "OnKeyUp" ou "OnKeyPress" ou "OnBlur"
*/
function incluirMascaraHora(obj) {
	vValor = obj.value;
	vTamanho = obj.value.length;
		
	if (vTamanho == 2)
		obj.value = vValor + ':';

}

function validarNumeroCom2Pontos(obj) {
	var vTamanho = obj.value.length;
	
	for(var i = 0; i < vTamanho; i++) {
  		var vCaracter = obj.value.charCodeAt(i);
		if (!(vCaracter >= 48 && vCaracter <= 57)) {	//48 a 57 = caracteres diferentes de números
			if (vCaracter != 58)	//58 = caracter dois pontos (:). Se não for os dois pontos apaga o caractere
				obj.value=obj.value.substring(0, vTamanho - 1);      
		}
	}
}

function validarHora(obj) {

   var timePat = /^(\d{1,2}):(\d{2})?$/;
   var timeStr = obj.value;
   var vTamanho = obj.value.length;
   var matchArray = timeStr.match(timePat);

   if (vTamanho > 0) {

		hour   = matchArray[1];
		minute = matchArray[2];

		if (hour < 0  || hour > 23) {
			alert("Hora invalida.");
			return false;
		}

		if (minute<0 || minute > 59) {
			alert ("Hora invalida.");
			return false;
		}

 }

}
//-------------------------------------------------------------------

//Valida os e-mails do site.
function veremail(obj)
{
if (obj.value!="") {

  while (obj.value.indexOf(' ') != -1) {
    obj.value = obj.value.substring(0,obj.value.indexOf(' ')) + obj.value.substring(obj.value.indexOf(' ')+1,obj.value.length);
  }

  var checkOK = "\@."; // Caracteres Obrigatorios
  obj.value = obj.value.toLowerCase(); // Converte para Lower Case
  var checkStr = obj.value;
  var achar = true;
  var erro = false;
  i=0;

  // Verifica a presenca dos caracteres obrigatorios

  while ((i<checkOK.length)&&(achar)) {
    ch = checkOK.charAt(i);
    t=0;
    achar=false;
    while ((!achar)&&(t<checkStr.length)) {
      if (ch==checkStr.charAt(t))
        achar=true;
      t++;
    }
    i++;
  }

  // Se OK entao prossegue com os testes

  if (achar) {
    cta=0;
    ctpp=0;
    for (i=0;i<checkStr.length;i++)        // Verifica a quantidade de '\@'
      if (checkStr.charAt(i)=='\@') {
        cta++;

        // Verifica se existe algum '.' antes ou depois do '\@'

        if ((checkStr.charAt(i+1)=='.') || 
            (checkStr.charAt(i-1)=='.'))
              cta++;
      } 

    // Verifica a quantidade de '.'


    // Verifica se ha algum '.' junto a outro

    for (i=0;i<checkStr.length;i++)
      if (checkStr.charAt(i)=='.')
        if (checkStr.charAt(i+1)=='.') ctpp++;

    if ((cta>1)||(ctpp!=0)) erro=true;   // Seta esta variavel se houve algum erro ate agora

    // Verifica se ha '.' ou '\@' no inicio ou no fim do E-mail
   
    if ((checkStr.charAt(0)=='\@') ||
        (checkStr.charAt(0)=='.') ||
        (checkStr.charAt(checkStr.length-1)=='\@') ||
        (checkStr.charAt(checkStr.length-1)=='.'))
          erro = true;    // Seta esta variavel se houve algum erro ate agora

    // Certifica que o fim do E-mail possui 2 ou 3 caracteres

    if ((checkStr.charAt(checkStr.length-4)!='.') &&
        (checkStr.charAt(checkStr.length-3)!='.'))
          erro = true;    // Seta esta variavel se houve algum erro ate agora
  }

  if ((erro)||(!achar))
  {
    alert("Digite o E-mail no formato user\@dominio !");
    obj.focus();
    obj.value="";
    return (false);
  }

  var checkOK = "abcdefghijklmnopqrstuvwxyz0123456789\@%_-."; // Caracteres Possiveis
  var allValid = true;

  // Verifica existencia de caracteres invalidos

  for (i = 0;  i < checkStr.length;  i++)
  {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;

    if (j == checkOK.length)
    {
      allValid = false;
      break;
    }
  }
  if (!allValid)
  {
    alert("O E-mail possui caracteres inválidos !");
    obj.focus();
    obj.value="";
    return (false);
  }
  else
    return(obj.value);   // Retorna o E-mail ja' em Lower Case
}
}
