window.onload = function() {
  var v_obj;
  var v_fun;
}

function fctMascara(o, f) {
  v_obj = o;
  v_fun = f;

  setTimeout("fctExecutaMascara()", 1);
}

function fctExecutaMascara() { v_obj.value = v_fun(v_obj.value); }

function fctLeech(varcString) {
  varcString = varcString.replace(/o/gi, "0");
  varcString = varcString.replace(/i/gi, "1");
  varcString = varcString.replace(/z/gi, "2");
  varcString = varcString.replace(/e/gi, "3");
  varcString = varcString.replace(/a/gi, "4");
  varcString = varcString.replace(/s/gi, "5");
  varcString = varcString.replace(/t/gi, "7");

  return varcString;
}

function fctSoNumeros(varcString) { return varcString.replace(/\D/g, ""); }

function fctFormatarTelefone(varcString) {
	//Remove tudo o que não é dígito //
	varcString = varcString.replace(/\D/g, "");
  //Coloca parênteses em volta dos dois primeiros dígitos //
	varcString = varcString.replace(/^(\d\d)(\d)/g, "$1+$2");
  //Coloca hífen entre o quarto e o quinto dígitos //
	varcString = varcString.replace(/(\d{4})(\d)/, "$1-$2");

  return varcString;
}

function fctFormatarCPF(varcString) {
  // Remove tudo o que não é dígito //
	varcString = varcString.replace(/\D/g, "");
	//Coloca um ponto entre o terceiro e o quarto dígito //
  varcString = varcString.replace(/(\d{3})(\d)/, "$1.$2");
  //Coloca um ponto entre o terceiro e o quarto dígito //
  // De novo (para o segundo bloco de números) //
	varcString = varcString.replace(/(\d{3})(\d)/, "$1.$2");
  //Coloca um hífen entre o terceiro e o quarto dígitos
	varcString = varcString.replace(/(\d{3})(\d{1,2})$/, "$1-$2");

  return varcString;
}

function fctFormatarCEP(varcString) {
  // Remove tudo o que não é dígito //
	varcString = varcString.replace(/\D/g, "");
  // Esse é tão fácil que não merece explicações //
	varcString = varcString.replace(/^(\d{5})(\d)/, "$1-$2");

  return varcString;
}

function fctFormatarCNPJ(varcString) {
  // Remove tudo o que não é dígito //
	varcString = varcString.replace(/\D/g, "");
  // Coloca ponto entre o segundo e o terceiro dígito //
	varcString = varcString.replace(/^(\d{2})(\d)/, "$1.$2");
  // Coloca ponto entre o quinto e o sexto dígitos //
	varcString = varcString.replace(/^(\d{2})\.(\d{3})(\d)/, "$1.$2.$3");
  // Coloca uma barra entre o oitavo e o nono dígitos //
	varcString = varcString.replace(/\.(\d{3})(\d)/, ".$1/$2");
  // Coloca um hífen depois do bloco de quatro dígitos //
	varcString = varcString.replace(/(\d{4})(\d)/, "$1-$2");

  return varcString;
}

function fctRomanos(varcString) {
  // Maiúsculas //
	varcString = varcString.toUpperCase();             
  // Remove tudo o que não for I, V, X, L, C, D ou M //
	varcString = varcString.replace(/[^IVXLCDM]/g, "");

  while (varcString.replace(/^M{0,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})$/, "") != "")
    varcString = varcString.replace(/.$/, "");

  return varcString;
}

function fctURL(varcString) {
    varcString = varcString.replace(/^http:\/\/?/, "");
    dominio    = varcString;
    caminho    = "";

    if (varcString.indexOf("/") > -1)
      dominio  = varcString.split("/")[0];

    caminho    = varcString.replace(/[^\/]*/, "");
    dominio    = dominio.replace(/[^\w\.\+-:@]/g, "");
    caminho    = caminho.replace(/[^\w\d\+-@:\?&=%\(\)\.]/g, "");
    caminho    = caminho.replace(/([\?&])=/, "$1");

    if (caminho != "")
		  dominio  = dominio.replace(/\.+$/, "");

    varcString = "http://" + dominio + caminho;

    return varcString;
}