function botons(id, src){
	document.getElementById(id).src = src;
}

String.prototype.espIndexOf = function(str,num){
	counter=0
	for(i=0; i < this.length; i++){
		if(this.charAt(i) == str){
			counter++
			if(counter == num){
				return i
			}
		}
	}
}
String.prototype.Val_replace = function(a,b) {
	var str = "";
	for (lS=0; lS < this.length; lS++){
		if (this.charAt(lS) == a) { str += b } else { str += this.charAt(lS) }
	}
	return str;
}
String.prototype.padLeft = function (nChar, character){
	retorno = new String();
	for(nC = this.length; nC < nChar; nC++){
		retorno += character.toString();
	}
	return retorno + this;
}
String.prototype.padRight = function (nChar, character){
	retorno = new String();
	for(nC = this.length; nC < nChar; nC++){
		retorno += character.toString();
	}
	return this + retorno;
}
var objForm = [];
ValIni = function() {
	var nForm = 0;
	for (nF=0; nF < document.forms.length; nF++) { 
		if (document.forms[nF].name != '') { 
			if(!document.forms[nF].onSubmit){
				document.forms[nF].onSubmit = function(){
					return false;
				}
			}
			objForm[nF] = new Val(document.forms[nF].name);
			objForm[document.forms[nF].name] = new Val(document.forms[nF].name);
		}
	}
}
Val = function (fName,lyr1,lyr2) {
	if (lyr1 && is.ns4) {
		if (lyr2) { this.base = eval("document.layers."+lyr1+".document.layers."+lyr2+".document."+fName); } else { this.base = eval("document.layers."+lyr1+".document."+fName); }
	} else {
		this.base = eval("document."+fName);
	}
	this.elements = [];
	this.elementsName = [];
	this.elementsValue = [];
	for (i=0; i < this.base.elements.length; i++) {
		this.elements[i] 		= this.base.elements[i].type;
		this.elementsName[i] 	= this.base.elements[i].name;
		this.elementsValue[i] 	= this.base.elements[i].value;
	}
	this.senderOther = new Function();
}
Val.onload = new Function();
/* valida email */
function ValValidaEmail(campo) {
	invalidChars = " /:,;";
	email = eval("this.base."+campo+".value");
	//if (this.isEmpty(campo)) return false;
	for (i=0; i < invalidChars.length; i++) {
		badChar = invalidChars.charAt(i);
		if (email.indexOf(badChar,0) > -1) return false;
	}
	atPos = email.indexOf("@",1);
	if (atPos == -1) return false;
	if (email.indexOf("@",atPos+1) != -1) return false;
	periodPos = email.indexOf(".",atPos);
	if (periodPos == -1) return false;
	if (periodPos+3 > email.length) return false;
	return true;
}
/* valida CPF */
function ValValidaCpf(campo) {
	var soma1 = resto = dig1 = dig2 = 0;
	nCpf = eval("this.base."+campo+".value");
	invalidChars = " /:,;-..";
	var seq = [
		"00000000000",
		"11111111111",
		"22222222222",
		"33333333333",
		"44444444444",
		"55555555555",
		"66666666666",
		"77777777777",
		"88888888888",
		"99999999999",
		"01234567890"
	]
	for(nS=0; nS < seq.length; nS++){
		if(nCpf == seq[nS])
			return false
	}
	for (i=0; i < invalidChars.length; i++) {
		badChar = invalidChars.charAt(i);
		nCpf = nCpf.replace(badChar,"");
	}
	for (var i = 10; i > 1; i --) { soma1 += parseInt(nCpf.substr(nCpf.length-i-1, 1)) * i }
	resto = soma1 % 11;
	switch (resto) {
		case 0:
		case 1:
			dig1 = 0
			break
		default:
			dig1 = 11 - resto
			break
	}
	soma1 = 0;
	for (i = 11; i > 2; i--) { soma1 += parseInt(nCpf.substr(nCpf.length-i,1)) * i  }
	soma1 = soma1 + dig1 * 2;
	resto = soma1 % 11;
	switch (resto) {
		case 0:
		case 1:
			dig2 = 0
			break
		default:
			dig2 = 11 - resto
			break
	}
	var controle = String(dig1) + String(dig2);
	if (controle == nCpf.substr(9)) { return true } else { return false }
}
/* verifica RG */
function ValRG(campo) {
	vRg = eval("this.base."+campo+".value");
	vRg = vRg.Val_replace(" ","")
	validChars = "0123456789x";
	if(vRg == "")
		return false

	if(isNaN(vRg.substring(0,vRg.lrngth-1)))
		return false

	if(isNaN(vRg.charAt(vRg.length)) && vRg.charAt(vRg.length).toUpperCase() != "X")
		return false;

	for(nL=0; nL < vRg.length; nL++){
		if(validChars.toLowerCase().indexOf(vRg.charAt(nL).toLowerCase()) == -1)
			return false
	}
	return true
}
/* verifica CNPJ */
function ValCNPJ(campo) {
	VCNPJ = eval("this.base."+campo+".value");
	var NewCGC = "";
	var CGC = VCNPJ;

	invalidChars = " /:,;-..";
	for (i=0; i < invalidChars.length; i++) {
		badChar = invalidChars.charAt(i);
		VCNPJ = VCNPJ.replace(badChar,"");
		CGC = CGC.replace(badChar,"");
	}

	if (
	VCNPJ.length != 14 || VCNPJ == "00000000000000" || VCNPJ == "11111111111111" ||
	VCNPJ == "22222222222222" ||	VCNPJ == "33333333333333" || VCNPJ == "44444444444444" ||
	VCNPJ == "55555555555555" || VCNPJ == "66666666666666" || VCNPJ == "77777777777777" ||
	VCNPJ == "88888888888888" || VCNPJ == "99999999999999"
	) 
	{ return false; }
	var DVCGC = CGC.substring(0,12);

	var s1 = 0;
	for (i=1;i<=4;i++) { s1 = s1 + ((DVCGC.charAt(i-1))*(6-i)); }
	for (i=5;i<=12;i++) { s1 = s1 + ((DVCGC.charAt(i-1))*(14-i)); }
	r1 = s1 % 11;
	if (r1<2) { dv1=0; } else { dv1 = 11 - r1; }

	var s2 = dv1*2;
	for (i=1;i<=5;i++) { s2 = s2 + ((DVCGC.charAt(i-1))*(7-i)); }
	for (i=6;i<=12;i++) { s2 = s2 + ((DVCGC.charAt(i-1))*(15-i)); }
	r2 = s2 % 11;
	if (r2<2) { dv2=0; } else { dv2 = 11 - r2; }
	var DV = "";
	DV = DV + dv1 + dv2;

	var NewDV = CGC.substring(12,14)
	if (NewDV==DV) { return true; } else { return false; }
}
/* verifica data */
var dia="", mes="", ano="";
function ValIsDate(campo) {
alert(campo)
	if (campo==null) return false;
	var date = null;
	if(InStr(campo,'_',0)){
		date = eval("this.base."+campo+".value")
	}else{
		date = campo
	}
	return isDate(date);
}
function ValCompareDate(campo){
	var dataField = eval("this.base."+campo);
	var campo1 = eval("this.base."+dataField.first);
	var campo2 = eval("this.base."+dataField.second);
	if(!ValIsDate(campo1.value) || !ValIsDate(campo2.value)){
		return false;
	}
	var formatodata = campo1.value.split('/');

	var data1 = new Date();
	data1.setYear(formatodata[2]);
	data1.setMonth(formatodata[1]-1);
	data1.setDate(formatodata[0]);

	formatodata = campo2.value.split('/');
	var data2 = new Date();
	data2.setYear(formatodata[2]);
	data2.setMonth(formatodata[1]-1);
	data2.setDate(formatodata[0]);
	if(isSmaller(data2, data1) && !data1.equals(data2)){
		return 'A data inicial não pode ser maior que a data final.';
	}
	if(dataField.interval){
		data1 = data1.addDay(dataField.interval);
		if(data1 < data2){
			return 'O intervalo entre as datas deve ser no máximo de '+dataField.interval+' dias.';
		}
	}
	return false;
}

/* InStr() */
function InStr(texto,c,posInicial){
	if (posInicial<0) posInicial=0;
	for(var i=posInicial; i<texto.length;i++){
		if(texto.charAt(i)==c) return true
	}
	return false
}
/* verifica caracteres válidos pa CEP */
function ValIsCep(campo) {
	validChars = "0123456789-";
	cont = eval("this.base."+campo+".value");
	if(cont.indexOf("-") > -1){
		if(cont.length != 9){
			return false
		}
	} else {
		if(cont.length != 8){
			return false
		}
	}
	for (i=0; i < cont.length; i++) {
		asc =  cont.charAt(i);
		if (validChars.indexOf(asc) == -1){ 
			return false;
		}
	}
	return true;
}

/* função de comparar */
function ValCompare(campo, sameday){
	data = eval("this.base."+campo+".value")
	entrada_saida = data.split(";")
	for(i=0; i < entrada_saida.length; i++){
		if(ValIsDate(entrada_saida[i])){
			entrada_saida[i] = ano+mes+dia
		}else{
			return false
		}
	}
	if(sameday){
		if(entrada_saida[0] > entrada_saida[1]){
			return false
		}else{
			return true
		}
	}else{
		if(entrada_saida[0] >= entrada_saida[1]){
			return false
		}else{
			return true
		}
	}
}
/* verifica se o campo esta vazio */
function ValIsEmpty(campo) {
	valor_campo = eval("this.base."+campo+".value")
	if (valor_campo.Val_replace(" ","") == "") { return true; } else { return false; }
}
/* verifica se o campo e numerico */
function ValIsNum(campo) {
	if (isNaN(eval("this.base."+campo+".value")) || (eval("this.base."+campo+".value") == "")) { return true; } else { return false; }
}
/* verifica se o campo e string */
function ValIsStr(campo) {
	if (isNaN(eval("this.base."+campo+".value"))) { return true } else { return false }
}
/* retorna quantos caracteres tem no campo */
function ValLength(campo) {
	return eval("this.base."+campo+".value.length");
}

/* valida quantidade de caracteres  */
function ValVerLength(campo,qntde) {
	valueall = eval("this.base."+campo+".value.length");
	if(valueall > qntde || eval("this.base."+campo+".value") == ""){
		return false
	} else {
		return true
	}
}

/* verifica caracteres invalidos */
function ValValidChar(campo) {
	invalidChars = "@/1:4,;5&#®$6!?7¨%89*-+{2}3[0]\)(><|=|ºÜÖÄ";
	cont = eval("this.base."+campo+".value");
	for (i=0; i < invalidChars.length; i++) {
		asc = invalidChars.charAt(i);
		if (cont.indexOf(asc, 0) > -1) return false
	}
	return true
}
/* verifica Radio e CheckBox*/
function ValRadioCheck(campo,num_sele) {
	selecteds = (num_sele)? num_sele : 1
	good = 0
	for(var i=0; i < this.base.elements.length; i++){
		if(this.base.elements[i].name == campo){
			if(this.base.elements[i].checked){
				good++
			}
		}
	}
	if(num_sele){
		if(good != selecteds){
			if(good > 0){
				return "integridadeDados";
			} else {
				return "checksRadios";
			}
		}
	} else {
		return (good < 1)
	}
}
/* verifica APENAS UM Checkbox */
function ValIsOneCheckboxSelected(campo) {
	eval("ini = this.base."+campo)
	if (ini.checked) return false; 
	return true
}
/* faz busca de caracter definido */
function ValFind(campo,c) {
	cont = eval("this.base."+campo+".value");
	if (cont.indexOf(c, 0) > - 1) { return true } else { return false }
}
/* seta focus */
function ValFocus(campo) {
	return eval("this.base."+campo+".focus()");
}
function ValTrocaList(campo){
	campo = eval("this.base."+campo);
	return (campo.type.indexOf("select") > -1 && campo.options.length > 0)
}

/* faz troca de OPTION de um SELECT pra outro */
function ValChangeOption(from, to) {
	this.cTo = eval("this.base."+to);
	this.cFrom = eval("this.base."+from);
	qtC = this.cFrom.length;
	for (f=0; f < qtC; f++) {
		if (this.cFrom.selectedIndex!=-1) {
			this.cTo.options[this.cTo.length] = new Option(this.cFrom.options[this.cFrom.selectedIndex].text, this.cFrom.options[this.cFrom.selectedIndex].value);
			this.cFrom.options[this.cFrom.selectedIndex] = null;
		}
	}
}
/* troca comboBox */
var ValComboContent = new Array ();
function ValSetCombo(campo,masterId,setFirst) {
	var SelectedIndex = 0;
	var Combo = eval("this.base."+campo);
	for (idxs = Combo.options.length - 1; idxs > 0; idxs--)
		Combo.options[idxs] = null;
		setFirst = (setFirst) ? setFirst : " ";
		Combo.options[0] = new Option(setFirst,'');
		var j = 1;
		for(i=0; i < ValComboContent.length; i++) {
			if (ValComboContent[i][0] == masterId) {
				var optionNew = new Option(ValComboContent[i][2], ValComboContent[i][1]);
				Combo.options[j] = optionNew;
				j++;
			}
		}
	Combo.options[0].selected = true;
}

/* Compara senhas */
function ValComparePass(campo) {
	pass = eval("this.base."+campo+".value")
	senhas = pass.split(";");
	if(senhas[0].length < 3 || senhas[0].length > 10){
		return false
	} else if(senhas[0] != senhas[1] || senhas[1].length < 3 || senhas[1].length > 10){
		return false
	} else {
		return true
	}
}

/* verifica Telefone */
function ValIsTel(campo) {
	validChars = "0123456789 -.()/";
	cont = eval("this.base."+campo+".value");
	if(cont.length == 0){
		return false
	}
	if(eval("this.base."+campo+".value").indexOf("(") > -1){
		if(cont.length != 14 && cont.length != 13){
			return false;
		}
	} else if(eval("this.base."+campo+".value").indexOf("-") > -1){
		if(cont.length != 9 && cont.length != 8){
			return false;
		}
	} else {
		if(cont.length != 8 && cont.length != 7){
			return false;
		}
	}
	for (i=0; i < cont.length; i++) {
		asc =  cont.charAt(i);
		if (validChars.indexOf(asc) == -1){ 
			return false;
		}
	}
	return true;
}

function isCel(dop){
	range_operadoras = []
	dop = dop.split(",")
	ddd = dop[0]
	valor = dop[1]
	operadora = dop[2]
	valor = valor.Val_replace("-","")
	valid = false
	range_operadoras["ddd11"] = [
		["71",1],
		["95",1],
		["96",1],
		["97",1],
		["98",1],
		["99",1],
		["81",2],
		["82",2],
		["83",2],
		["84",2],
		["85",2],
		["91",3],
		["92",3],
		["93",3],
		["94",3]
	]
	
	range_operadoras["dddoutros"] = [
		["95",1],
		["96",1],
		["97",1],
		["98",1],
		["99",1],
		["81",2],
		["82",2],
		["83",2],
		["84",2],
		["85",2],
		["91",3],
		["92",3],
		["93",3],
		["94",3]
	]
	
	if(valor == "")
		return "Celular"

	if(isNaN(Math.floor(valor)))
		return "Celular"

	if(valor.charAt(0) < 7)
		return "Celular"
	
	if(valor.length != 8)
		return "Celular"
	
	firstNumbers = valor.substring(0,2)
	if(ddd != "null" && valor != "null" && operadora != "null"){
		if(ddd == 11){
			for(nO=0; nO < range_operadoras["ddd11"].length; nO++){
				if(range_operadoras["ddd11"][nO][0] == firstNumbers && range_operadoras["ddd11"][nO][1] == operadora){
					valid = true
				}
			}
		} else {
			for(nO=0; nO < range_operadoras["dddoutros"].length; nO++){
				if(range_operadoras["dddoutros"][nO][0] == firstNumbers && range_operadoras["dddoutros"][nO][1] == operadora){
					valid = true
				}
			}
		}
	} else {
		valid = true
	}
	if(!valid)
		return "Operadora/Celular"
	
	return true
}

/* submit no form */
function ValSubmit() {
	return this.base.submit()
}
// envia dados com parametro de [ campo | nome da função de validacao | em qual prioridade(Obrigatorio, selecione) | para a funcao de validação ]
Val.prototype.sender = function(valida, path) {
	if (valida==null) return false;
	obrigatorios = "";
	checksRadios = "";
	integridadeDados = "";
	lastFieldName = "";
	gridMessage = "";
	for (cVal=0; cVal < valida.length; cVal++) {
		for (cL=0; cL < this.elements.length; cL++) {
			if (this.elementsName[cL] == valida[cVal][0] && lastFieldName != valida[cVal][0]) {
				setEmail = (valida[cVal][1]=='email' || valida[cVal][1]=='radio_check' || valida[cVal][1]=='cnpj') ? "!" : ""
				functionReturn = eval(setEmail + "this."+valida[cVal][1] + "(this.elementsName[cL]" + ((valida[cVal][3])? ", " + valida[cVal][3] : "" ) +")")
				if ( functionReturn ) {
					valida[cVal][2] = (valida[cVal][2]) ? valida[cVal][2] : 'obrigatorios';
					functionReturn = (functionReturn == true) ? valida[cVal][2] : functionReturn;
					this.addField(functionReturn, this.elementsName[cL].substring(this.elementsName[cL].indexOf('_')+1).toUpperCase().Val_replace("_"," "), (valida[cVal][2]=='gridMessage'));
				}
				lastFieldName = valida[cVal][0];
			}
		}
	}
	this.senderOther();
	if(obrigatorios != ""){
		var errorMessage = new Object();
		errorMessage.fields = obrigatorios;
		errorMessage.title = "Preencha o(s) campo(s):";
		alert(errorMessage);
		return false;
	}
	if(checksRadios != ""){
		var errorMessage = new Object();
		errorMessage.fields = checksRadios;
		errorMessage.title = "Selecione o(s) campo(s):";
		alert(errorMessage);
		return false;
	}
	if(integridadeDados != ""){
		var errorMessage = new Object();
		errorMessage.fields = integridadeDados;
		errorMessage.title = "Verifique se o(s) campo(s) abaixo foi(ram) preenchido(s) corretamente:";
		alert(errorMessage);
		return false;
	}
	if(gridMessage != ""){
		var errorMessage = "Selecione " + ((gridMessage == "item")? "um " : "um(a) ") + gridMessage;
		alert(errorMessage);
		return false;
	}
	return true;
}

// valida automáticamente
var obrigatorios = "";
var checksRadios = "";
var integridadeDados = "";
var gridMessage = "";
var otherMsg = ""
Val.prototype.senderPlus = function(path) {
	obrigatorios = "";
	checksRadios = "";
	integridadeDados = "";
	otherMsg = "";
	var empty = true
	ultimo = ""
	
	for (cL=0; cL < this.elements.length; cL++) {
		// valida isEmpty
		if (this.elementsName[cL].toLowerCase().indexOf('empty_') != -1) {
			if (this.isEmpty(this.elementsName[cL]) ) {
				this.addField('obrigatorios', eval("this.base."+this.elementsName[cL]));
			}
		}
		// valida trocaList
		if (this.elementsName[cL].toLowerCase().indexOf('trocalist_') != -1) {
			if (!this.trocaList(this.elementsName[cL]) ) {
				this.addField('obrigatorios', eval("this.base."+this.elementsName[cL]));
			}
		}
		// valida radio e checkBox
		if (this.elementsName[cL].toLowerCase().indexOf('radio_') != -1 || this.elementsName[cL].toLowerCase().indexOf('check_') != -1) {
			if(ultimo != this.elementsName[cL]){
				split_campo = this.elementsName[cL].split("_");
				param2 = (!isNaN(split_campo[1]))? split_campo[1] : null
				checkRadioReturn = this.radio_check(this.elementsName[cL], param2)
				if (checkRadioReturn) {
					checkRadioReturn = (checkRadioReturn == true)? "checksRadios" : checkRadioReturn;
					if(!isNaN(split_campo[1])){
						fieldName = ""
						for(i=2; i < split_campo.length; i++){
							fieldName += split_campo[i].toUpperCase() + " "
						}
						this.addField(checkRadioReturn, fieldName);
					} else {
						this.addField(checkRadioReturn, this.elementsName[cL].substring(this.elementsName[cL].indexOf('_')+1).toUpperCase().Val_replace("_"," "));
					}
				}
				ultimo = this.elementsName[cL]
			}
		}
		// valida email
		if (this.elementsName[cL].toLowerCase().indexOf('email_') != -1) {
			if (this.isEmpty(this.elementsName[cL]) ) {
				if(this.elementsName[cL].toLowerCase().indexOf('validata_') == -1){
					this.addField('obrigatorios', eval("this.base."+this.elementsName[cL]));
				}
			} else {
				if (!this.email(this.elementsName[cL]) ) {
					if(this.elementsName[cL].toLowerCase().indexOf('validata_') == -1)
						this.addField('integridadeDados', eval("this.base."+this.elementsName[cL]))
					else
						this.addField('integridadeDados', eval("this.base."+this.elementsName[cL]))
				}
			}
		}
		// valida cpf
		if (this.elementsName[cL].toLowerCase().indexOf('cpf_') != -1) {
			if (this.isEmpty(this.elementsName[cL])) {
				if(this.elementsName[cL].toLowerCase().indexOf('validata_') == -1){
					this.addField('obrigatorios', eval("this.base."+this.elementsName[cL]));
				}
			} else {
				if (!this.cpf(this.elementsName[cL]) ) {
					if(this.elementsName[cL].toLowerCase().indexOf('validata_') == -1)
						this.addField('integridadeDados', eval("this.base."+this.elementsName[cL]))
					else
						this.addField('integridadeDados', eval("this.base."+this.elementsName[cL]))
				}
			}
		}
		// valida cnpj
		if (this.elementsName[cL].toLowerCase().indexOf('cnpj_') != -1) {
			if (this.isEmpty(this.elementsName[cL])) {
				if(this.elementsName[cL].toLowerCase().indexOf('validata_') == -1){
					this.addField('obrigatorios', eval("this.base."+this.elementsName[cL]));
				}
			} else {
				if (!this.cnpj(this.elementsName[cL]) ) {
					if(this.elementsName[cL].toLowerCase().indexOf('validata_') == -1)
						this.addField('integridadeDados', eval("this.base."+this.elementsName[cL]))
					else
						this.addField('integridadeDados', eval("this.base."+this.elementsName[cL]))
				}
			}
		}
		// valida RG
		if (this.elementsName[cL].toLowerCase().indexOf('rg_') != -1) {
			if (this.isEmpty(this.elementsName[cL])) {
				if(this.elementsName[cL].toLowerCase().indexOf('validata_') == -1){
					this.addField('obrigatorios', eval("this.base."+this.elementsName[cL]));
				}
			} else {
				if (!this.isRg(this.elementsName[cL]) ) {
					if(this.elementsName[cL].toLowerCase().indexOf('validata_') == -1)
						this.addField('integridadeDados', eval("this.base."+this.elementsName[cL]))
					else
						this.addField('integridadeDados', eval("this.base."+this.elementsName[cL]))
				}
			}
		}
		// valida data
		if (this.elementsName[cL].toLowerCase().indexOf('date_') != -1) {
			if (this.isEmpty(this.elementsName[cL])) {
				if(this.elementsName[cL].toLowerCase().indexOf('validata_') == -1){
					this.addField('obrigatorios', eval("this.base."+this.elementsName[cL]));
				}
			} else {
				if (!this.isDate(this.elementsName[cL]) ) {
					if(this.elementsName[cL].toLowerCase().indexOf('validata_') == -1)
						this.addField('integridadeDados', eval("this.base."+this.elementsName[cL]))
					else
						this.addField('integridadeDados', eval("this.base."+this.elementsName[cL]))
				}
			}
		}
		// comparação data
		if (this.elementsName[cL].toLowerCase().indexOf('datecomp_') != -1) {
			var compareReturn = this.compareDate(this.elementsName[cL]);
			if (compareReturn) {
				this.addField('otherMsg', compareReturn, true);
			}
		}
		// comparação Senha
		if (this.elementsName[cL].toLowerCase().indexOf('compare_') != -1) {
			if (this.isEmpty(this.elementsName[cL])) {
				if(this.elementsName[cL].toLowerCase().indexOf('validata_') == -1){
					this.addField('obrigatorios', eval("this.base."+this.elementsName[cL]));
				}
			} else {
				if (!this.Compare(this.elementsName[cL]) ) {
					if(this.elementsName[cL].toLowerCase().indexOf('validata_') == -1)
						this.addField('integridadeDados', eval("this.base."+this.elementsName[cL]))
					else
						this.addField('integridadeDados', eval("this.base."+this.elementsName[cL]))
				}
			}
		}
		// valida campo Numérico
		if (this.elementsName[cL].toLowerCase().indexOf('num_') != -1) {
			if (this.isEmpty(this.elementsName[cL])) {
				if(this.elementsName[cL].toLowerCase().indexOf('validata_') == -1){
					this.addField('obrigatorios', eval("this.base."+this.elementsName[cL]));
				}
			} else {
				if (this.isNum(this.elementsName[cL]) ) {
					if(this.elementsName[cL].toLowerCase().indexOf('validata_') == -1)
						this.addField('integridadeDados', eval("this.base."+this.elementsName[cL]))
					else
						this.addField('integridadeDados', eval("this.base."+this.elementsName[cL]))
				}
			}
		}
		// valida campo Telefone
		if (this.elementsName[cL].toLowerCase().indexOf('tel_') != -1) {
			if (this.isEmpty(this.elementsName[cL])) {
				if(this.elementsName[cL].toLowerCase().indexOf('validata_') == -1){
					this.addField('obrigatorios', eval("this.base."+this.elementsName[cL]));
				}
			} else {
				if (!this.isTel(this.elementsName[cL]) ) {
					if(this.elementsName[cL].toLowerCase().indexOf('validata_') == -1)
						this.addField('integridadeDados', eval("this.base."+this.elementsName[cL]))
					else
						this.addField('integridadeDados', eval("this.base."+this.elementsName[cL]))
				}
			}
		}

		// valida campo CEP
		if (this.elementsName[cL].toLowerCase().indexOf('cep_') != -1) {
			if (this.isEmpty(this.elementsName[cL])) {
				if(this.elementsName[cL].toLowerCase().indexOf('validata_') == -1){
					this.addField('obrigatorios', eval("this.base."+this.elementsName[cL]));
				}
			} else {
				if (!this.isCep(this.elementsName[cL]) ) {
					if(this.elementsName[cL].toLowerCase().indexOf('validata_') == -1)
						this.addField('integridadeDados', eval("this.base."+this.elementsName[cL]))
					else
						this.addField('integridadeDados', eval("this.base."+this.elementsName[cL]))
				}
			}
		}
	}


	this.senderOther();

	if(obrigatorios != ""){
		message = "Preencha o(s) campo(s):\n\n"+obrigatorios;
		alert(message);
		return false;
	}
	if(checksRadios != ""){
		var errorMessage = "Selecione o(s) campo(s):\n\n" + checksRadios;
		alert(errorMessage);
		return false;
	}
	if(integridadeDados != ""){
		var errorMessage = "Verifique se o(s) campo(s) abaixo foi(ram)\n preenchido(s) corretamente:\n\n"+integridadeDados;
		alert(errorMessage);
		return false;
	}
	if(otherMsg != ""){
		alert(otherMsg);
		return false;
	}
	return true;
}

function submitPlus(nome_obj, path){
	ValIni();
	if(objForm[nome_obj]){
		return objForm[nome_obj].senderPlus(path);
	} else {
		alert("Formulário \"" + nome_obj +  "\" não foi encontrado")
		return false
	}
}

function sendThese(form, arrFields, path){
	ValIni();
	if(objForm[form]){
		return objForm[form].sender(arrFields, path);
	} else {
		alert("Formulário \"" + form +  "\" não foi encontrado");
		return false;
	}
}
Val.prototype.addField = function(validationType, objField, justName){
	if(typeof(objField) != "string"){
		if(objField.validationmsg){
			fieldName = objField.validationmsg.toUpperCase();
		} else {
			if(objField.name.indexOf('validata_') > -1){
				fieldName = objField.name.substring(objField.name.espIndexOf("_",2)+1).toUpperCase().Val_replace("_"," ").Val_replace("[","").Val_replace("]","").toUpperCase();
			} else {
				fieldName = objField.name.substring(objField.name.indexOf('_')+1).toUpperCase().Val_replace("_"," ").Val_replace("[","").Val_replace("]","").toUpperCase();
			}
		}
	} else {
		fieldName = objField;
	}
	if(!justName){
		fieldName = ' » ' + fieldName.toUpperCase() + '\n';
	}
	eval(validationType + " += fieldName");
}


Val.prototype.email 			= ValValidaEmail
Val.prototype.cpf 				= ValValidaCpf
Val.prototype.cnpj 			= ValCNPJ
Val.prototype.isRg				= ValRG
Val.prototype.isDate			= ValIsDate
Val.prototype.compareDate		= ValCompareDate
Val.prototype.Compare			= ValComparePass
Val.prototype.isEmpty 			= ValIsEmpty
Val.prototype.isNum 			= ValIsNum
Val.prototype.isTel 			= ValIsTel
Val.prototype.isCep 			= ValIsCep
Val.prototype.isStr 			= ValIsStr
Val.prototype.length 			= ValLength
Val.prototype.Verlength 		= ValVerLength
Val.prototype.trocaList		= ValTrocaList

Val.prototype.validChar	 	= ValValidChar
Val.prototype.radio_check 		= ValRadioCheck
Val.prototype.check_one		= ValIsOneCheckboxSelected
Val.prototype.find 			= ValFind
Val.prototype.focus 			= ValFocus
Val.prototype.changeOption 	= ValChangeOption
Val.prototype.setCombo 		= ValSetCombo
Val.prototype.submit 			= ValSubmit
//Val.prototype.inscForm 		= Valinscricao
Val.prototype.comparepass		= ValComparePass
