function Mascara(formato, keypress, objeto){

campo = eval (objeto);

if (formato=='CGC_CNPJ')
{
	separador1 = '.';
	separador2 = '/';
	separador3 = '-';
	conjunto1 = 2;
	conjunto2 = 6;
	conjunto3 = 10;
	conjunto4 = 15;
	if (campo.value.length == conjunto1){
		campo.value = campo.value + separador1;
	}
	if (campo.value.length == conjunto2){
		campo.value = campo.value + separador1;
	}
	if (campo.value.length == conjunto3){
		campo.value = campo.value + separador2;
	}
	if (campo.value.length == conjunto4){
		campo.value = campo.value + separador3;
	}
}
if (formato=='DATA')
{
separador = '/';
conjunto1 = 2;
conjunto2 = 5;
if (campo.value.length == conjunto1){
campo.value = campo.value + separador;
}
if (campo.value.length == conjunto2){
campo.value = campo.value + separador;
}
}
if (formato=='CEP')
{
separador = '-';
conjunto1 = 5;
if (campo.value.length == conjunto1){
campo.value = campo.value + separador;
}
}
}

function Mascara2(objForm, strField, sMask) {
var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla;

if(document.all) { // Internet Explorer
nTecla = event.keyCode; }
else if(document.layers) { // Nestcape
nTecla = event.which;
}

if(nTecla == 39) return false;

sValue = objForm[strField].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( "$", "" );
sValue = sValue.toString().replace( "R", "" ); 
fldLen = sValue.length;
mskLen = sMask.length; // = 5

i = 0;
nCount = 0;
sCod = "";
mskLen = fldLen;

while (i <= mskLen) {
bolMask = ((sMask.charAt(i) == "-") || (sMask.charAt(i) == ".") || (sMask.charAt(i) == "/"));
bolMask = bolMask || ((sMask.charAt(i) == "(") || (sMask.charAt(i) == ")") || (sMask.charAt(i) == " "));
bolMask = bolMask || ((sMask.charAt(i) == ":") || (sMask.charAt(i) == "$") || (sMask.charAt(i) == "R") || (sMask.charAt(i) == ","));

if (bolMask) {
sCod += sMask.charAt(i);
mskLen++; }
else {
sCod += sValue.charAt(nCount);
nCount++;
}

i++;
}

objForm[strField].value = sCod;

if (nTecla != 8) { // backspace
if (sMask.charAt(i-1) == "9") { // apenas números...
return ((nTecla > 47) && (nTecla < 58)); } // números de 0 a 9
else { // qualquer caracter...
return true;
} }
else {
return true;
}
}

function isEmail(who) {
	function isEmpty(who) {
		var testArr=who.split("");
		if(testArr.length==0)
			return true;
		var toggle=0;
		for(var i=0; i<testArr.length; i++) {
			if(testArr[i]==" ") {
				toggle=1;
				break;
			}
		}
		if(toggle)
			return true;
		return false;
	}

	function isValid(who) {
		var invalidChars=new Array("~","!","@","#","$","%","^","&","*","(",")","+","=","[","]",":",";",",","\"","'","|","{","}","\\","/","<",">","?");
		var testArr=who.split("");
		for(var i=0; i<testArr.length; i++) {
			for(var j=0; j<invalidChars.length; j++) {
				if(testArr[i]==invalidChars[j]) {
					return false;
				}
			}
		}
		return true;
	}

	function isfl(who) {
		var invalidChars=new Array("-","_",".");
		var testArr=who.split("");
		which=0;
		for(var i=0; i<2; i++) {
			for(var j=0; j<invalidChars.length; j++) {
				if(testArr[which]==invalidChars[j]) {
					return false;
				}
			}
			which=testArr.length-1;
		}
		return true;
	}

	function isDomain(who) {
		var invalidChars=new Array("-","_",".");
		var testArr=who.split("");
		if(testArr.length<2||testArr.length>4) {
			return false;
		}
		for(var i=0; i<testArr.length; i++) {
			for(var j=0; j<invalidChars.length; j++) {
				if(testArr[i]==invalidChars[j]) {
					return false;
				}
			}
		}
		return true;
	}


	var testArr=who.split("@");
	if(testArr.length<=1||testArr.length>2) {
		return false;
	}
	else {
		if(isValid(testArr[0])&&isfl(testArr[0])&&isValid(testArr[1])) {
			if(!isEmpty(testArr[testArr.length-1])&&!isEmpty(testArr[0])) {
				var testArr2=testArr[testArr.length-1].split(".");
				if(testArr2.length>=2) {
					var toggle=1;
					for(var i=0; i<testArr2.length; i++) {
						if(isEmpty(testArr2[i])||!isfl(testArr2[i])) {
							toggle=0;
							break;
						}
					}
					if(toggle&&isDomain(testArr2[testArr2.length-1]))
						return true;
					return false;
				}
				return false;
			}
		}
	}
}



//= ESTE É O EXEMPLO DE COMO O CAMPO DO FORMULARIO DEVERÁ ESTAR ESCRITO O CNPJ
//<input type="text" name="cnpj" onkeypress="javascript: Mascara('CGC_CNPJ', window.event.keyCode, 'document.cadastro.cnpj');"  size="18" maxlength="18" tabindex="8">

//= ESTE É O EXEMPLO DE COMO O CAMPO DO FORMULARIO DEVERÁ ESTAR ESCRITO O CEP
//<input type="text" name="cep" onkeypress="javascript: Mascara('CEP', window.event.keyCode, 'document.cadastro.cep');" size="9" maxlength="9" tabindex="22">

//= ESTE É O EXEMPLO DE COMO O CAMPO DO FORMULARIO DEVERÁ ESTAR ESCRITO O E-MAIL PARA SER VALIDADO
//<input type="text" name="email_login" size="60" value=<% response.write("'" & EMAIL_LOGIN & "'") %> tabindex="2" maxlength="90" ONBLUR="if(isEmail(document.cadastro.email_login.value)){} else{alert('Seu e-mail não é valido, digite-o corretamente!'); document.cadastro.email_login.focus();}">

//= ESTE É O EXEMPLO DE COMO O CAMPO DO FORMULARIO DEVERÁ ESTAR ESCRITO O CPF
//<input type="text" name="cpf_repre_1" size="15" value=<% response.write("'" & cpf_repre_1 & "'") %> tabindex="41" maxlength="14" onkeypress="return Mascara2(document.cadastro, 'cpf_repre_1', '999.999.999-99', event);">

//= ESTE É O EXEMPLO DE COMO O CAMPO DO FORMULARIO DEVERÁ ESTAR ESCRITO A DATA
//<input type="text" name="fundacao" onkeypress="javascript: Mascara('DATA', window.event.keyCode, 'document.cadastro.fundacao');" value=<% response.write("'" & fundacao & "'") %> size="10" maxlength="10" tabindex="9">