blnPer0 = false;
blnPer1 = false;
blnPer2 = false;

blnSem0 = false;
blnSem3 = false;
blnSem6 = false;
blnSem9 = false;
blnSem12 = false;
blnSem15 = false;
blnSem18 = false;

function chkSemAll(intValor) {
	var objChk;
	var blnSem;
	switch (intValor) {
		case 0:
			blnSem = blnSem0;
			blnSem0 = !blnSem;
			break;
		case 3:
			blnSem = blnSem3;
			blnSem3 = !blnSem;
			break;
		case 6:
			blnSem = blnSem6;
			blnSem6 = !blnSem;
			break;
		case 9:
			blnSem = blnSem9;
			blnSem9 = !blnSem;
			break;
		case 12:
			blnSem = blnSem12;
			blnSem12 = !blnSem;
			break;
		case 15:
			blnSem = blnSem15;
			blnSem15 = !blnSem;
			break;
		case 18:
			blnSem = blnSem18;
			blnSem18 = !blnSem;
			break;
		default:
	}
	for (var i = intValor; (i < (intValor + 3)) ; i++) {
		objChk = eval("document.forms[0].chkDisp" + i);
		objChk.checked = !blnSem;
	}
}

function chkPerAll(intValor) {
	var objChk;
	var blnPer;
	switch (intValor) {
		case 0:
			blnPer = blnPer0;
			blnPer0 = !blnPer;
			break;
		case 1:
			blnPer = blnPer1;
			blnPer1 = !blnPer;
			break;
		case 2:
			blnPer = blnPer1;
			blnPer1 = !blnPer;
			break;
		default:
	}
	for (var i = intValor; (i < (intValor + 19)) ; i+=3) {
		objChk = eval("document.forms[0].chkDisp" + i);
		objChk.checked = !blnPer;
	}
}

function mnuSobre() {
	window.alert('Sistema desenvolvido por HWN Consult \r\n- website http://www.hwn.com.br \r\n- e-mail hwn@hwn.com.br');
	window.open('http://www.hwn.com.br');
}

function maskTel(objValor) {
	var strValor = objValor.value;
	strValor = removerTracoEspacoParenteses(strValor);
	var strTmpValor = "";
	var iRev = 0;
	for (var i = 0; i < strValor.length; i++) {
		iRev = strValor.length - i - 1;
		switch (i) {
			case 4:
				if (strValor.indexOf("-") <= 0) 
					strTmpValor = "-" + strTmpValor;
				break;
		}
		strTmpValor =  strValor.charAt(iRev) + strTmpValor;
	}
	if (strTmpValor.length > 9) {
		strTmpValor = ((strValor.indexOf("(") < 0) ? "(" : "") + strTmpValor;
		strTmpValor = ((strValor.indexOf(")") <= 0) ? strTmpValor.substr(0,3) + ") " + strTmpValor.substr(3) : strTmpValor)
	} else if (strTmpValor.length > 7) {
		strTmpValor = "(11) " + strTmpValor;
	}
	objValor.value = strTmpValor;
}

function removerTracoEspacoParenteses(strValor) {
	var strTmpValor = "";
	for (var i = 0; i < strValor.length; i++) {
		if ((strValor.substr(i, 1) != "-") && (strValor.substr(i, 1) != "(") && (strValor.substr(i, 1) != ")") && (strValor.substr(i, 1) != " ")) {
			strTmpValor += strValor.substr(i, 1);
		}
	}
	return strTmpValor;
}

function maskData(objValor) {
	if (false == validaData(objValor)) {
		return false;
	}
	var strValor = objValor.value;
	strValor = removerTracoPontoBarra(strValor);
	var data = new Date();
	var strTmpValor = "";
	for (var i = 0; i < strValor.length; i++) {
		switch (i) {
			case 2:
				strTmpValor += "/";
				break;
			case 4:
				strTmpValor += "/";
				break;
		}
		strTmpValor +=  strValor.charAt(i);
	}
	if (strTmpValor.length == 5) {
		strTmpValor += "/" + data.getFullYear();
	}
	objValor.value = strTmpValor;

}

function maskRG(objValor) {
	var strValor = objValor.value;
	strValor = removerTracoPontoBarra(strValor);
	var strTmpValor = "";
	var iRev = 0;
	for (var i = 0; i < strValor.length; i++) {
		iRev = strValor.length - i - 1;
		switch (i) {
			case 1:
				strTmpValor = "-" + strTmpValor;
				break;
			case 4:
				strTmpValor = "." + strTmpValor;
				break;
			case 7:
				strTmpValor = "." + strTmpValor;
				break;
			case 10:
				strTmpValor = "." + strTmpValor;
				break;
		}
		strTmpValor =  strValor.charAt(iRev) + strTmpValor;
	}
	objValor.value = strTmpValor;
}

function maskCPF(objValor) {
	var strValor = objValor.value;
	strValor = removerTracoPontoBarra(strValor);
	var strTmpValor = "";
	var iRev = 0;
	for (var i = 0; i < strValor.length; i++) {
		iRev = strValor.length - i - 1;
		switch (i) {
			case 2:
				strTmpValor = "-" + strTmpValor;
				break;
			case 5:
				strTmpValor = "." + strTmpValor;
				break;
			case 8:
				strTmpValor = "." + strTmpValor;
				break;
			case 11:
				strTmpValor = "." + strTmpValor;
				break;
		}
		strTmpValor =  strValor.charAt(iRev) + strTmpValor;
	}
	objValor.value = strTmpValor;
	if (strTmpValor.length > 0) {
		if (false == valida_CPF(objValor)) {
			window.alert("Confira o CPF, pois a numeração está incorreta");
			objValor.focus();
			return false;
		}
	}
}
//new code 
function maskCNPJ(objValor) {
	var strValor = objValor.value;
	strValor = removerTracoPontoBarra(strValor);
	var strTmpValor = "";
	var iRev = 0;
	for (var i = 0; i < strValor.length; i++) {
		iRev = strValor.length - i - 1;
		switch (i) {
			case 2:
				strTmpValor = "-" + strTmpValor;
				break;
			case 6:
				strTmpValor = "/" + strTmpValor;
				break;
			case 9:
				strTmpValor = "." + strTmpValor;
				break;
			case 12:
				strTmpValor = "." + strTmpValor;
				break;
		}
		strTmpValor =  strValor.charAt(iRev) + strTmpValor;
	}
	objValor.value = strTmpValor;
	if (strTmpValor.length > 0) {
		if (false == valida_CGC(objValor)) {
			window.alert("Confira o CNPJ, pois a numeração está incorreta");
			objValor.focus();
			return false;
		}
	}
}


//new code

function maskCEP(objValor) {
	var strValor = objValor.value;
	strValor = removerTracoPontoBarra(strValor);
	var strTmpValor = "";
	if ((strValor.length > 0) && (strValor.length < 8)) {
		window.alert("CEP incorreto, por favor, verifique.");
		objValor.focus();
		return false;
	} else {
		for (var i = 0; i < strValor.length; i++) {
			switch (i) {
				case 5:
					strTmpValor += "-";
					break;
			}
			strTmpValor +=  strValor.charAt(i);
		}
		objValor.value = strTmpValor;
	}
	return false;
}

function removerTracoPontoBarra(strValor) {
	var strTmpValor = "";
	for (var i = 0; i < strValor.length; i++) {
		if ((strValor.substr(i, 1) != "-") && (strValor.substr(i, 1) != ".") && (strValor.substr(i, 1) != " ") && (strValor.substr(i, 1) != "/") && (strValor.substr(i, 1) != "\\")) {
			strTmpValor += strValor.substr(i, 1);
		}
	}
	return strTmpValor;
}

function validaCampos() {
	var meuForm = document.forms[0];
	// :D Valida a Data
	if (meuForm.txtDataFicha.value.length != 10) {
		window.alert("O campo Data Ficha deve ser preenchido com a data da ficha no formato dd/mm/aaaa");
		meuForm.txtDataFicha.focus();
		return false;
	}
	if ((isNaN(meuForm.txtDataFicha.value.substr(0,2))) || (isNaN(meuForm.txtDataFicha.value.substr(3,2))) || (isNaN(meuForm.txtDataFicha.value.substr(6)))) {
		window.alert("O campo Data Ficha deve ser preenchido com a data da ficha no formato dd/mm/aaaa");
		meuForm.txtDataFicha.focus();
		return false;
	}
	//:) Valida a Data
	
	//:D Valida o campo Nome

	meuForm.txtNome.value = hwnTrim(meuForm.txtNome.value);
	if (meuForm.txtNome.value.length <= 0) {
		window.alert("O campo Nome é necessário");
		meuForm.txtNome.focus();
		return false;
	}
	//:) Valida o campo Nome
	// :D Valida a Data Nascimento
	if (meuForm.txtDataNasc.value.length != 10) {
		window.alert("O campo Data de Nascimento deve ser preenchido com a data de nascimento no formato dd/mm/aaaa");
		meuForm.txtDataNasc.focus();
		return false;
	}
	if ((isNaN(meuForm.txtDataNasc.value.substr(0,2))) || (isNaN(meuForm.txtDataNasc.value.substr(3,2))) || (isNaN(meuForm.txtDataNasc.value.substr(6)))) {
		window.alert("O campo Data de Nascimento deve ser preenchido com a data de nascimento no formato dd/mm/aaaa");
		meuForm.txtDataNasc.focus();
		return false;
	}
	var data = new Date();
	if (parseInt(meuForm.txtDataNasc.value.substr(6,4)) > (data.getFullYear() - 16)) {
		if (parseInt(meuForm.txtDataNasc.value.substr(6,4)) > data.getFullYear()) {
			window.alert("O campo Data de Nascimento está preenchido com uma data de nascimento incorreta.");
			return false;
		} else {
			window.alert("ATENÇÃO À PRÓXIMA MENSAGEM:");
			window.alert("O campo Data de Nascimento pode estar preenchido com uma data de nascimento incorreta. Antes de SALVAR verifique a data.");
		}
	}

	//:) Valida a Data Nascimento
	//:D Valida a Região Próxima ao Endereço
	meuForm.txtProxRegiao.value = hwnTrim(meuForm.txtProxRegiao.value);
	if (meuForm.txtProxRegiao.value.length <= 0) {
		window.alert("O campo Região Próxima é necessário");
		meuForm.txtProxRegiao.focus();
		return false;
	}
	//:) Valida a Região Próxima ao Endereço

	//:D Valida o Endereço
	meuForm.txtEndereco.value = hwnTrim(meuForm.txtEndereco.value);
	if (meuForm.txtEndereco.value.length <= 0) {
		window.alert("O campo Endereço é necessário");
		meuForm.txtEndereco.focus();
		return false;
	}
	//:) Valida o Endereço

	// :D Valida o CEP
	if (meuForm.txtCEP.value.length != 9) {
		window.alert("O campo CEP deve ser preenchido no formato 99999-999");
		meuForm.txtCEP.focus();
		return false;
	}
	if ((meuForm.txtCEP.value.substr(5,1) != "-") || (isNaN(meuForm.txtCEP.value.substr(0,5))) || (isNaN(meuForm.txtCEP.value.substr(6)))) {
		window.alert("O campo CEP deve ser preenchido no formato 99999-999");
		meuForm.txtCEP.focus();
		return false;
	}
	//:) Valida o CEP

	//:) Valida a Região Próxima ao Endereço

	//:D Valida Cidade
	meuForm.txtCidade.value = hwnTrim(meuForm.txtCidade.value);
	if (meuForm.txtCidade.value.length <= 0) {
		window.alert("O campo Cidade é necessário");
		meuForm.txtCidade.focus();
		return false;
	}
	//:) Valida o Cidade

	//:D Valida Bairro
	meuForm.txtBairro.value = hwnTrim(meuForm.txtBairro.value);
	if (meuForm.txtBairro.value.length <= 0) {
		window.alert("O campo Bairro é necessário");
		meuForm.txtBairro.focus();
		return false;
	}
	//:) Valida o Bairro
	//:D Valida o campo Cargo Pretendido
	var blnValor = false;
	for (var i = 0; i < meuForm.lstCargo.options.length; i++) {
		if (meuForm.lstCargo.options[i].selected) {
			blnValor = true;
			break;
		}
	}
	if (false == blnValor) {
		window.alert("O campo Cargo deve ter pelo menos um item selecionado");
		return false;
	}
	//:) Valida o campo Cargo Pretendido
	//:D Valida telefone, Telefone Celular, Telefone Recado
		meuForm.txtTelefone.value = hwnTrim(meuForm.txtTelefone.value);
		meuForm.txtTelCelular.value = hwnTrim(meuForm.txtTelCelular.value);
		meuForm.txtTelRecado.value = hwnTrim(meuForm.txtTelRecado.value);
		meuForm.txtRecado.value = hwnTrim(meuForm.txtRecado.value);
		if ((meuForm.txtTelefone.value.length <= 0) && (meuForm.txtTelCelular.value.length <= 0) && (meuForm.txtTelRecado.value.length <= 0)) {
			window.alert("Ao menos um dos campos de telefone deve ser preenchido");
			meuForm.txtTelefone.focus();
			return false;
		} else {
			if (meuForm.txtTelefone.value.length > 0) {
				if ((meuForm.txtTelefone.value.substr(0, 1) != "(") || (isNaN(meuForm.txtTelefone.value.substr(1, 2))) || (meuForm.txtTelefone.value.substr(3, 2) != ") ") || (isNaN(meuForm.txtTelefone.value.substr(5, 3))) || (!((meuForm.txtTelefone.value.substr(9, 1) == "-") || (meuForm.txtTelefone.value.substr(8, 1) == "-"))) || (isNaN(meuForm.txtTelefone.value.substr(10)))) {
					window.alert("O telefone deve ser preenchido no formato (xx) 9999-9999 ou no formato (xx) 999-9999");
					meuForm.txtTelefone.focus();
					return false;
				}
			}
			if (meuForm.txtTelCelular.value.length > 0) {
				if ((meuForm.txtTelCelular.value.substr(0, 1) != "(") || (isNaN(meuForm.txtTelCelular.value.substr(1, 2))) || (meuForm.txtTelCelular.value.substr(3, 2) != ") ") || (isNaN(meuForm.txtTelCelular.value.substr(5, 3))) || (!((meuForm.txtTelCelular.value.substr(9, 1) == "-") || (meuForm.txtTelCelular.value.substr(8, 1) == "-"))) || (isNaN(meuForm.txtTelCelular.value.substr(10)))) {
					window.alert("O telefone deve ser preenchido no formato (xx) 9999-9999 ou no formato (xx) 999-9999");
					meuForm.txtTelCelular.focus();
					return false;
				}
			}
			if (meuForm.txtTelRecado.value.length > 0) {
				if ((meuForm.txtTelRecado.value.substr(0, 1) != "(") || (isNaN(meuForm.txtTelRecado.value.substr(1, 2))) || (meuForm.txtTelRecado.value.substr(3, 2) != ") ") || (isNaN(meuForm.txtTelRecado.value.substr(5, 3))) || (!((meuForm.txtTelRecado.value.substr(9, 1) == "-") || (meuForm.txtTelRecado.value.substr(8, 1) == "-"))) || (isNaN(meuForm.txtTelRecado.value.substr(10)))) {
					window.alert("O telefone deve ser preenchido no formato (xx) 9999-9999 ou no formato (xx) 999-9999");
					meuForm.txtTelRecado.focus();
					return false;
				}
				if (meuForm.txtRecado.value.length <= 0) {
					window.alert("Ao preencher o campo Tel. Recado torna-se necessário preencher o campo Falar com");
					meuForm.txtRecado.focus();
					return false;
				}
			}
		}
	//:) Valida telefone, Telefone Celular, Telefone Recado
	// :D Valida E-mail
	if (meuForm.txtEmail.value.length > 0) {
		if (false == validaEmail(meuForm.txtEmail.value)) {
			meuForm.txtEmail.focus();
			return false;
		}
	}
	// :) Valida E-mail
	//:D Valida o Campo Mãe
	meuForm.txtNomeMae.value = hwnTrim(meuForm.txtNomeMae.value);
	if (meuForm.txtNomeMae.value.length <= 0) {
		window.alert("O campo Nome da Mãe é necessário");
		meuForm.txtNomeMae.focus();
		return false;
	}
	//:) Valida o Campo Mãe
	//:D Valida o Campo RG
	meuForm.txtRG.value = hwnTrim(meuForm.txtRG.value);
	if (meuForm.txtRG.value.length <= 0) {
		window.alert("O campo RG é necessário");
		meuForm.txtRG.focus();
		return false;
	}
	//:) Valida o Campo RG
	//:D Valida o Campo CPF
	meuForm.txtCPF.value = hwnTrim(meuForm.txtCPF.value);
	if (meuForm.txtCPF.value.length <= 0) {
		window.alert("O campo CPF é necessário");
		meuForm.txtCPF.focus();
		return false;
	}
	if (false == valida_CPF(meuForm.txtCPF)) {
		window.alert("Confira o CPF, pois a numeração está incorreta");
		meuForm.txtCPF.focus();
		return false;
	}
	//:) Valida o Campo CPF
	//:D Retirar espaço
		meuForm.txtNomePai.value = hwnTrim(meuForm.txtNomePai.value);
	//:) Retirar espaço

	if (meuForm.lstEscFormacao.options.length <= 0) {
		window.alert("O campo Escolaridade X Formação é necessário");
		return false;
	}
	selCampos();
	
	//:D Somatorio de Disponibilidade
	if ("" == meuForm.txtHidSomatorio.value) {
		window.alert("O campo Disponibilidade deve ter pelo menos um item selecionado");
		meuForm.txtObsDisponibilidade.focus();
		return false;
	}
	//:D Somatorio de Disponibilidade	
	//:D Valida Altura
	if (meuForm.txtAltura.value.length <= 0) {
		window.alert("O campo Altura é necessário");
		meuForm.txtAltura.focus();
		return false;
	}
	if (true == isNaN(meuForm.txtAltura.value)) {
		window.alert("O campo Altura deve ser numérico. Utilize ponto caso tenha utilizado vírgula");
		meuForm.txtAltura.focus();
		return false;
	}
	if (!(meuForm.txtAltura.value.indexOf(".") > 0)) {
		meuForm.txtAltura.value = meuForm.txtAltura.value.substr(0, 1)  + "." + meuForm.txtAltura.value.substr(1) + "0";
	}
	//:) Valida Altura
	//:D Valida Peso
	meuForm.txtPeso.value = hwnTrim(meuForm.txtPeso.value);
	if (meuForm.txtPeso.value.length <= 0) {
		window.alert("O campo Peso é necessário");
		meuForm.txtPeso.focus();
		return false;
	}
	if (true == isNaN(meuForm.txtPeso.value)) {
		window.alert("O campo Peso deve ser numérico");
		meuForm.txtPeso.focus();
		return false;
	}
	//:) Valida Peso
	//:D Valida o campo Aspecto da Pele
	blnValor = false;
	for (var i = 0; i < meuForm.lstAspectoPele.options.length; i++) {
		if (meuForm.lstAspectoPele.options[i].selected) {
			blnValor = true;
			break;
		}
	}
	if (false == blnValor) {
		window.alert("O campo Aspecto da Pele deve ter pelo menos um item selecionado");
		return false;
	}
	//:) Valida o campo Aspecto da Pele
	//:D Valida o campo Dente
	blnValor = false;
	for (var i = 0; i < meuForm.lstDente.options.length; i++) {
		if (meuForm.lstDente.options[i].selected) {
			blnValor = true;
			break;
		}
	}
	if (false == blnValor) {
		window.alert("O campo Dente deve ter pelo menos um item selecionado");
		return false;
	}
	//:) Valida o campo Dente
	//:D Valida Tamanho da Calça
	meuForm.txtTamCalca.value = hwnTrim(meuForm.txtTamCalca.value);
	if (meuForm.txtTamCalca.value.length <= 0) {
		window.alert("O campo Tamanho da Calça é necessário");
		meuForm.txtTamCalca.focus();
		return false;
	}
	if (true == isNaN(meuForm.txtTamCalca.value)) {
		window.alert("O campo Tamanho da Calça deve ser numérico");
		return false;
	}
	//:) Valida Tamanho da Calça
	//:D Valida Tamanho do Sapato
	meuForm.txtTamSapato.value = hwnTrim(meuForm.txtTamSapato.value);
	if (meuForm.txtTamSapato.value.length <= 0) {
		window.alert("O campo Tamanho do Sapato é necessário");
		meuForm.txtTamSapato.focus();
		return false;
	}
	if (true == isNaN(meuForm.txtTamSapato.value)) {
		window.alert("O campo Tamanho do Sapato deve ser numérico");
		return false;
	}
	//:) Valida Tamanho do Sapato
	//:D Valida o campo Comportamento
	blnValor = false;
	for (var i = 0; i < meuForm.lstComportamento.options.length; i++) {
		if (meuForm.lstComportamento.options[i].selected) {
			blnValor = true;
			break;
		}
	}
	if (false == blnValor) {
		window.alert("O campo Comportamento deve ter pelo menos um item selecionado");
		return false;
	}
	//:) Valida o campo Comportamento

	if (true == window.confirm("Pressione OK se realmente desejar SALVAR os dados")) {
		meuForm.submit();
	}
}

function selCampos() {
	var meuForm = document.forms[0];
	//:D Valida Escolaridade e Formação
	for (var i = 0; i < meuForm.lstEscFormacao.options.length; i++) {
		meuForm.lstEscFormacao.options[i].selected = true;
	}
	var objIdadeFilho = meuForm.lstIdadeFilho;
	if (objIdadeFilho != null) {
		for (var i = 0; i < objIdadeFilho.options.length; i++) {
			objIdadeFilho.options[i].selected = true;
		}
	}
	for (var i = 0; i < meuForm.lstHabilidade.options.length; i++) {
		meuForm.lstHabilidade.options[i].selected = true;
	}
	for (var i = 0; i < meuForm.lstIdiomaNivel.options.length; i++) {
		meuForm.lstIdiomaNivel.options[i].selected = true;
	}
	for (var i = 0; i < meuForm.lstCursoNivel.options.length; i++) {
		meuForm.lstCursoNivel.options[i].selected = true;
	}
	//:) Valida Escolaridade e Formação
	// :D Somatório de disponibilidade
	var lngValor = 0;
	var objChk;
	for (var i = 0; i <= 20; i++) {
		objChk = eval("document.forms[0].chkDisp" + i);
		if (true == objChk.checked) {
			lngValor += parseInt(objChk.value);
		}
	}
	if (0 == lngValor) {
		meuForm.txtHidSomatorio.value = "";
	} else {
		meuForm.txtHidSomatorio.value = lngValor;
	}
	// :) Somatório de disponibilidade
	// :D Valida Altura
	meuForm.txtAltura.value = hwnTrim(meuForm.txtAltura.value);
	meuForm.txtAltura.value = meuForm.txtAltura.value.replace(",", ".");
	// :) Valida Altura
}

function hwnTrim(strValor) {
	var intInicio = 0;
	var intFinal  = 0;
	for(var i = 0; i < strValor.length; i++) {
		if (strValor.substr(i, 1) != " ") {
			intInicio = i;
			break;
		}
	}
	for(var i = (strValor.length - 1); i >= 0; i--) {
		if (strValor.substr(i, 1) != " ") {
			intFinal = i - intInicio + 1;
			break;
		}
	}
	return strValor.substr(intInicio, intFinal);
}

function validaEmail(strEmail) {
	var intPosArroba = 0;
	var intPosPonto = 0;
	intPosArroba = strEmail.lastIndexOf('@');
	intPosPonto  = strEmail.lastIndexOf('.');
	if (6 > strEmail.length) {
		window.alert("E-mail inválido. Quantidade caracteres muito pequena");
		return false
	}
	if ((intPosPonto + 2) >= strEmail.length) {
		window.alert("E-mail inválido. Devem haver dois caracteres após o último ponto");
		return false;
	}
	if (1 > intPosArroba) {
		window.alert("E-mail inválido. Não tem @ no e-mail");
		return false;
	}
	if ((3 > intPosPonto) || ((strEmail.length - 1) == intPosPonto)){
		window.alert("E-mail inválido. Quantidade caracteres muito pequena ou ponto no final do e-mail");
		return false;
	}
	if (strEmail.indexOf('@') != intPosArroba) {
		window.alert("E-mail inválido. Somente uma @ por e-mail é permitida");
		return false;
	}
	if (intPosArroba > intPosPonto) {
		window.alert("E-mail inválido. Deve haver um . após o @");
		return false;
	}
	if (strEmail.substr((intPosArroba + 1), 1) == '.') {
		window.alert("E-mail inválido. Deve haver ao menos um caracter entre o @ e o .");
		return false;
	}
	return true;	
}

function removerTracoEPonto(strValor) {
	var strTmpValor = "";
	for (var i = 0; i < strValor.length; i++) {
		if ((strValor.substr(i, 1) != ".") && (strValor.substr(i, 1) != "-")) {
			strTmpValor += strValor.substr(i, 1);
		}
	}
	return strTmpValor;
}


function maskMoeda(objValor) {
	var strValor = objValor.value;
	strValor = removerTracoPontoBarra(strValor);
	var aspa = new RegExp("[,]", "g");
	strValor = strValor.replace(aspa, "");
	var strTmpValor = "";
	var iRev = 0;
	for (var i = 0; i < strValor.length; i++) {
		iRev = strValor.length - i - 1;
		switch (i) {
			case 2:
				strTmpValor = "," + strTmpValor;
				break;
			case 5:
				strTmpValor = "." + strTmpValor;
				break;
			
		}
		strTmpValor =  strValor.charAt(iRev) + strTmpValor;
	}
	strTmpValor = (strTmpValor.length <= 2 && strTmpValor.length != 0)?(strTmpValor + ",00"):(strTmpValor); 
	objValor.value = strTmpValor;
}


function valida_CPF(obj) {
	s = obj.value;
	s = removerTracoEPonto(s);
	if (isNaN(s)) {
		return false;
	}
	var i;
	var c = s.substr(0,9);
	var dv = s.substr(9,2);
	var d1 = 0;
	for (i = 0; i < 9; i++) {
		d1 += c.charAt(i)*(10-i);
	}
	if (d1 == 0) {
		return false;
	}         
	d1 = 11 - (d1 % 11);
	if (d1 > 9) d1 = 0;         
	if (dv.charAt(0) != d1) {
		return false;         
	}
	d1 *= 2;
	for (i = 0; i < 9; i++) {
		d1 += c.charAt(i)*(11-i);
	}
	d1 = 11 - (d1 % 11);
	if (d1 > 9) d1 = 0;
	if (dv.charAt(1) != d1) {
		return false;
	}
	return true;
}

function valida_CGC(obj) {
	s = obj.value;
	s = removerTracoPontoBarra(s);
	if (isNaN(s)) {
		return false;
	}
	var i;
	var c = s.substr(0,12);
	var dv = s.substr(12,2);
	var d1 = 0;
	for (i = 0; i <12; i++) {
		d1 += c.charAt(11-i)*(2+(i % 8));
	}
	if (d1 == 0) 
	return false;
	d1 = 11 - (d1 % 11);
	if (d1 > 9) d1 = 0;
	if (dv.charAt(0) != d1) {
		return false;
	}
	d1 *= 2;
	for (i = 0; i < 12; i++) {
		d1 += c.charAt(11-i)*(2+((i+1) % 8));
	}
	d1 = 11 - (d1 % 11);
	if (d1 > 9) d1 = 0;
	if (dv.charAt(1) != d1) {
		return false;
	}
	return true;
}

function validaData(field) {
	var checkstr = "0123456789";
	var DateField = field;
	var Datevalue = "";
	var DateTemp = "";
	var seperator = "/";
	var day;
	var month;
	var year;
	var leap = 0;
	var err = 0;
	var i;
	var err = 0;
	DateValue = DateField.value;
	// Apague todos os caracteres, salvo 0..9
	for (i = 0; i < DateValue.length; i++) {
		if (checkstr.indexOf(DateValue.substr(i,1)) >= 0) {
			DateTemp = DateTemp + DateValue.substr(i,1);
		}
	}
	DateValue = DateTemp;
	// Permite a mudança de data até 8 dígitos
	// se o ano entrado tiver dois dígitos, assuma 20xx
	var data = new Date();
	if (DateValue.length == 6) {
		if (parseInt(DateValue.substr(4,2)) > parseInt(data.getFullYear().toString().substr(2,2))) {
			DateValue = DateValue.substr(0,4) + '19' + DateValue.substr(4,2);
		} else {
			DateValue = DateValue.substr(0,4) + '20' + DateValue.substr(4,2);
		}
	}
	if (DateValue.length != 8) {
		err = 19;
	}
	// se o ano for 0000, ele está incorreto
	year = DateValue.substr(4,4);
	if (year == 0) {
		err = 20;
	}
	// Validação do Mês
	month = DateValue.substr(2,2);
	if ((month < 1) || (month > 12)) {
		err = 21;
	}
	// Validação parcial do dia
	day = DateValue.substr(0,2);
	if (day < 1) {
		err = 22;
	}
	// Validação do ano bissexto - dia de Fevereiro
	if ((year % 4 == 0) || (year % 100 == 0) || (year % 400 == 0)) {
		leap = 1;
	}
	if ((month == 2) && (leap == 1) && (day > 29)) {
		err = 23;
	}
	if ((month == 2) && (leap != 1) && (day > 28)) {
		err = 24;
	}
	// Validação dos demais meses
	if ((day > 31) && ((month == "01") || (month == "03") || (month == "05") || (month == "07") || (month == "08") || (month == "10") || (month == "12"))) {
		err = 25;
	}
	if ((day > 30) && ((month == "04") || (month == "06") || (month == "09") || (month == "11"))) {
		err = 26;
	}
	// se o primeiro 00 for encontrado, sem erro, apagar a entrada
	if ((day == 0) && (month == 0) && (year == 00)) {
		err = 0; day = ""; month = ""; year = ""; seperator = "";
	}
	// se nunhum erro for encontrado, escreva a data completa no campo de entrada (ex.: 09/12/1975)
	if (err == 0) {
		DateField.value = day + seperator + month + seperator + year;
		return true;
	} else {
		// Escrever a mensagem conforme o erro
		switch (err) {
		case 19:
			window.alert("Tamanho de data incorreto. Por favor, informe data no formato: DD/MM/AAAA.");
			break;
		case 20:
			window.alert("O ano não pode ser zero (0000). Por favor, informe data no formato: DD/MM/AAAA.");
			break;
		case 21:
			window.alert("Entrada de mês inválida. O mês deve ser maior ou igual a 1 e menor ou igual a 12. Por favor, informe data no formato: DD/MM/AAAA.");
			break;
		case 22:
			window.alert("Dia incorreto. O dia deve ser maior ou igual a 1 e menor ou igual a 31, respeitando o mês. Por favor, informe data no formato: DD/MM/AAAA.");
			break;
		case 23:
		case 24:
			window.alert("Data inválida. Verifique as regras para ano bissexto. Por favor, informe data no formato: DD/MM/AAAA.");
			break;
		case 25:
		case 26:
			window.alert("Entrada de dia do mês inválida. O dia deve ser maior ou igual a 1 e menor ou igual a 31, respeitando o mês. Por favor, informe data no formato: DD/MM/AAAA.");
			break;
		default:
			window.alert("Formato da data incorreto! Por favor, informe data no formato: DD/MM/AAAA.");
		}
		DateField.select();
		DateField.focus();
		return false;
	}
}


function ConverteIdade(nascimento) {
	var data          = new Date();
	var addAno        = 0
	var strDataBr     = nascimento.toString();
	var AnoDataAtual  = data.getFullYear();
	var MesAtual	  = data.getMonth() + 1;
	var DiaAtual 	  = data.getDate();
	var AnoDataNasc   = parseInt(strDataBr.substr(6,4), 10);
	var DiaDataNasc   = parseInt(strDataBr.substr(0,2), 10);
	var MesDataNasc   = parseInt(strDataBr.substr(3,2), 10);
	
	if (MesAtual == MesDataNasc) {
		if (DiaAtual >= DiaDataNasc) {
			addAno = 0;
		} else {
			addAno = 1;
		}
	} else if (MesAtual < MesDataNasc) {
		addAno = 1;
	}
	var Idade = (AnoDataAtual - AnoDataNasc) - (addAno);
	document.forms[0].txtIdade.value= Idade
}
function verificaCNPJCPF(strValor) {

	var strTexto = removerTracoPontoBarra(strValor.value);

	if (strTexto.length >= 14) {
		maskCNPJ(strValor);
		return false;
	} else {
		maskCPF(strValor);
		return true;
	}
}


function validaFormAcao(nome) {
	var strTexto = document.forms[0].txtNome.value;
	if("" == hwnTrim(strTexto)){
		window.alert("O campo " + nome + " é necessário");
		return false;
	} 
	 if (-1 != strTexto.indexOf("'")) {
		window.alert("O campo " + nome + "  não permiter caracteres de aspa simples (')");
		return false;
	}
	return true;
}

function mysqlData(databr) {
	//  12/12/1912
	var mysqlData = "";
	if(databr == "")
	return "";
	var dia = databr.substring(0,2);
	var mes = databr.substring(3,5);
	var ano = databr.substring(6,10);
	mysqlData = ano + "/" + mes + "/" + dia;
	return mysqlData;

}

// object janela do window

function setOpen(url, config) {
	this.config = "width = " + (screen.availWidth - 7) + ", height = " + (screen.availHeight - 30) + ", scrollbars=no, resizable=yes";
	this.url = url;
}

function winOpen() {
	var minhajanela = window.open(this.url,'', this.config);
	minhajanela.moveTo(0,0);
}

