function isUrl(s) {
	var regexp = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/
	return regexp.test(s);
}

function txtBoxFormat(objeto, sMask, evtKeyPress) {
  
  var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla;

  if(document.all) { // Internet Explorer
      nTecla = evtKeyPress.keyCode;
  } else if(document.layers) { // Nestcape
      nTecla = evtKeyPress.which;
  } else {
      nTecla = evtKeyPress.which;
      if (nTecla == 8) {
          return true;
      }
  }

  sValue = objeto.value;

  // Limpa todos os caracteres de formatação que
  // já estiverem no campo.
  sValue = sValue.toString().replace( "-", "" );
  sValue = sValue.toString().replace( "-", "" );
  sValue = sValue.toString().replace( ".", "" );
  sValue = sValue.toString().replace( ".", "" );
  sValue = sValue.toString().replace( "/", "" );
  sValue = sValue.toString().replace( "/", "" );
  sValue = sValue.toString().replace( ":", "" );
  sValue = sValue.toString().replace( ":", "" );
  sValue = sValue.toString().replace( "(", "" );
  sValue = sValue.toString().replace( "(", "" );
  sValue = sValue.toString().replace( ")", "" );
  sValue = sValue.toString().replace( ")", "" );
  sValue = sValue.toString().replace( " ", "" );
  sValue = sValue.toString().replace( " ", "" );
  fldLen = sValue.length;
  mskLen = sMask.length;

  i = 0;
  nCount = 0;
  sCod = "";
  mskLen = fldLen;

  while (i <= mskLen) {
    bolMask = ((sMask.charAt(i) == "-") || (sMask.charAt(i) == ".") || (sMask.charAt(i) == "/") || (sMask.charAt(i) == ":"))
    bolMask = bolMask || ((sMask.charAt(i) == "(") || (sMask.charAt(i) == ")") || (sMask.charAt(i) == " "))

    if (bolMask) {
      sCod += sMask.charAt(i);
      mskLen++; }
    else {
      sCod += sValue.charAt(nCount);
      nCount++;
    }

    i++;
  }

  objeto.value = sCod;

  if (nTecla != 8) { // backspace
    if (sMask.charAt(i-1) == "9") { // apenas números...
      return ((nTecla > 47) && (nTecla < 58)); }
    else { // qualquer caracter...
      return true;
    }
  } else {
    return true;
  }
}


function fmtData(campo, e) {
  myVal = campo.value;
  if (myVal.length > 2 && !myVal.match(/\//)) {
      myVal = '';
  } else {
    if (window.event) {
      keycode = window.event.keyCode;
    } else if (e) {
      keycode = e.which;
    }
    if (myVal.length == 2) {
      myVal += '/';
			  campo.value = myVal;
    }
    if (myVal.length == 5) {
      myVal += '/';
			campo.value = myVal;
    }
  }
}

function fmtHora(campo, e) {
  myVal = campo.value;
  if (myVal.length > 2 && !myVal.match(/\//)) {
      myVal = '';
  } else {
    if (window.event) {
      keycode = window.event.keyCode;
    } else if (e) {
      keycode = e.which;
    }
    if (myVal.length == 2) {
      myVal += ':';
			  campo.value = myVal;
    }
  }
}  

function doDigits(pStr) {
  var reDigits = /^\d+$/;
  if (reDigits.test(pStr)) {
	  return(true);
  } else if (pStr != null && pStr != "") {
	  alert(pStr + " NÃO contém apenas dígitos.");
		this.focus();
		return(false);
  }
}

function doDate(pStr, pFmt) {
  var reDate = /^((0?[1-9]|[12]\d)\/(0?[1-9]|1[0-2])|30\/(0?[13-9]|1[0-2])|31\/(0?[13578]|1[02]))\/(19|20)?\d{2}$/;
  if (reDate.test(pStr)) {
	  return(true);
  } else if (pStr != null && pStr != "") {
    alert(pStr + " NÃO é uma data válida. \nUse formato (dd/mm/yyyy).");
		eval("document.formDados."+pFmt+".focus();");
		return(false);
	}
}

// VALIDA UM CPF
function validarCPF() {
  
	var CPF = document.formDados.frm_cpf.value;

  // Aqui começa a checagem do CPF
  var POSICAO, I, SOMA, DV, DV_INFORMADO;
  var DIGITO = new Array(10);
  DV_INFORMADO = CPF.substr(9, 2); // Retira os dois últimos dígitos do número informado
  // Desemembra o número do CPF na array DIGITO
  for (I=0; I<=8; I++) {
  	DIGITO[I] = CPF.substr( I, 1);
  }
  // Calcula o valor do 10º dígito da verificação
  POSICAO = 10;
  SOMA = 0;
  for (I=0; I<=8; I++) {
  	SOMA = SOMA + DIGITO[I] * POSICAO;
    	POSICAO = POSICAO - 1;
  }
  DIGITO[9] = SOMA % 11;
  if (DIGITO[9] < 2) {
  	DIGITO[9] = 0;
  } else{
    	DIGITO[9] = 11 - DIGITO[9];
  }
  // Calcula o valor do 11º dígito da verificação
  POSICAO = 11;
  SOMA = 0;
  for (I=0; I<=9; I++) {
    	SOMA = SOMA + DIGITO[I] * POSICAO;
    	POSICAO = POSICAO - 1;
  }
  DIGITO[10] = SOMA % 11;
  if (DIGITO[10] < 2) {
    	DIGITO[10] = 0;
  } else {
    	DIGITO[10] = 11 - DIGITO[10];
  }
  // Verifica se os valores dos dígitos verificadores conferem
  DV = DIGITO[9] * 10 + DIGITO[10];
  if (DV != DV_INFORMADO) {
    	alert('CPF inválido.');
    	document.formDados.frm_cpf.focus();
  };
}

	
// VALIDA UM EMAIL
function validarEmail(email){
	if(email != ""){//se for diferente de vazio entao tem que verificar email
		var xMail = /^[\w-]+(\.[\w-]+)*@(([A-Za-z\d][A-Za-z\d-]{0,61}[A-Za-z\d]\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])$/;
		if (!xMail.test(email)){//verifica se o formato do email é válido
			return false;
		} else{
			return true;
		}
   	}		
}


