// JavaScript Document
// JavaScript Document
// Fun��es gen�ricas
// valida e-mail:
function validaEmail(email){
	//return email.search(/(\w[\w\.\+\-]+)@(.+)\.(\w+)$/)==0;
	return email.search(/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i)==0;
	
}

// valida cpf.
// adaptado de: http://forum.imasters.uol.com.br/index.php?showtopic=195915
function validaCPF(cpf){
    var i;
    var soma = soma2 = 0;
    if (!(cpf.match(/^[0-9]{3,3}[.]{0,1}[0-9]{3,3}[.]{0,1}[0-9]{3,3}[-]{0,1}[0-9]{2,2}$/))) {
        return false;
    }
    cpf = retiraCaracter(retiraCaracter(cpf, '.'), '-');
    for(i=0;i<10;i++) {
        if (i<9) {
            soma += cpf.charAt(i) * (10 - i);
        }
        soma2 += cpf.charAt(i) * (11 - i);
    }
    if(((soma % 11) < 2 ? 0 : 11 - (soma  % 11 )) != cpf.charAt(9)) {
        return false;
    }
    return (((soma2 % 11 ) < 2 ? 0 : 11 - (soma2 % 11 )) != cpf.charAt(10)) ? false : true;
}

function ValidaCNPJ(cnpj) {

  var i = 0;
  var l = 0;
  var strNum = "";
  var strMul = "6543298765432";
  var character = "";
  var iValido = 1;
  var iSoma = 0;
  var strNum_base = "";
  var iLenNum_base = 0;
  var iLenMul = 0;
  var iSoma = 0;
  var strNum_base = 0;
  var iLenNum_base = 0;

  if (cnpj == "")
        return false;

  l = cnpj.length;
  for (i = 0; i < l; i++) {
        caracter = cnpj.substring(i,i+1)
        if ((caracter >= '0') && (caracter <= '9'))
           strNum = strNum + caracter;
  };

  if(strNum.length != 14)
        return false;

  strNum_base = strNum.substring(0,12);
  iLenNum_base = strNum_base.length - 1;
  iLenMul = strMul.length - 1;
  for(i = 0;i < 12; i++)
        iSoma = iSoma +
                        parseInt(strNum_base.substring((iLenNum_base-i),(iLenNum_base-i)+1),10) *
                        parseInt(strMul.substring((iLenMul-i),(iLenMul-i)+1),10);

  iSoma = 11 - (iSoma - Math.floor(iSoma/11) * 11);
  if(iSoma == 11 || iSoma == 10)
        iSoma = 0;

  strNum_base = strNum_base + iSoma;
  iSoma = 0;
  iLenNum_base = strNum_base.length - 1
  for(i = 0; i < 13; i++)
        iSoma = iSoma +
                        parseInt(strNum_base.substring((iLenNum_base-i),(iLenNum_base-i)+1),10) *
                        parseInt(strMul.substring((iLenMul-i),(iLenMul-i)+1),10)

  iSoma = 11 - (iSoma - Math.floor(iSoma/11) * 11);
  if(iSoma == 11 || iSoma == 10)
        iSoma = 0;
  strNum_base = strNum_base + iSoma;
  if(strNum != strNum_base)
        return false;
  return (true);

}

function vcnpj( c ) {
var numeros, digitos, soma, i, resultado, pos, tamanho, digitos_iguais, cnpj = c.value.replace(/\D+/g, '');
digitos_iguais = 1;
if (cnpj.length != 14) 
{
	return false;
}

for (i = 0; i < cnpj.length - 1; i++)
if (cnpj.charAt(i) != cnpj.charAt(i + 1))
{
	digitos_iguais = 0;
	break;
}
if (!digitos_iguais)
		 {
		 tamanho = cnpj.length - 2
		 numeros = cnpj.substring(0,tamanho);
		 digitos = cnpj.substring(tamanho);
		 soma = 0;
		 pos = tamanho - 7;
		 for (i = tamanho; i >= 1; i--)
					 {
					 soma += numeros.charAt(tamanho - i) * pos--;
					 if (pos < 2)
								 pos = 9;
					 }
		 resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
		 if (resultado != digitos.charAt(0))
{
					 //alert('CNPJ inv�lido');
					 //c.focus();
					 return false;
					 }

		 tamanho = tamanho + 1;
		 numeros = cnpj.substring(0,tamanho);
		 soma = 0;
		 pos = tamanho - 7;
		 for (i = tamanho; i >= 1; i--)
					 {
					 soma += numeros.charAt(tamanho - i) * pos--;
					 if (pos < 2)
								 pos = 9;
					 }
		 resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
		 if (resultado != digitos.charAt(1)){
					 //alert('CNPJ inv�lido');
					 //c.focus();
					 return false;
					 }
		 else {
// alert('CNPJ  OK !');
			return true;
			}
		 }
else{
//		 alert('CNPJ inv�lido');
//		 c.focus();
		 return false;
		 }
}

// fun��o para retirar caracteres
// adaptado de: http://forum.imasters.uol.com.br/index.php?showtopic=195775
function retiraCaracter(string, caracter) {
    var i = 0;
    var final = '';
    while (i < string.length) {
        if (string.charAt(i) == caracter) {
            final += string.substr(0, i);
            string = string.substr(i+1, string.length - (i+1));
            i = 0;
        }
        else {
            i++;
        }
    }
    return final + string;
}

function check_date(DATA) {
	var expReg = /^(([0-2]\d|[3][0-1])\/([0]\d|[1][0-2])\/[1-2][0-9]\d{2})$/;
	var msgErro = _FORMATO_DATA_INV;
	var vdt = new Date();
	var vdia = vdt.getDay();
	var vmes = vdt.getMonth();
	var vano = vdt.getFullYear();
	if ((DATA.value.match(expReg)) && (DATA.value!='')){
		var dia = DATA.value.substring(0,2);
		var mes = DATA.value.substring(3,5);
		var ano = DATA.value.substring(6,10);
		if((mes==04 && dia > 30) || (mes==06 && dia > 30) || (mes==09 && dia > 30) || (mes==11 && dia > 30)){
			alert(_DATA_INV);
//			return false;
		} else{ //1
			if(ano%4!=0 && mes==2 && dia>28){
				alert(_DATA_INV);
//				return false;
			} else{ //2
				if(ano%4==0 && mes==2 && dia>29){
					alert(_DATA_INV);
//					return false;
				} else{ //3
					if (ano > vano) {
						alert(_DATA_INV);
//						return false;
					}else{ //4
						//alert ("Data correta!");
						return true;
					} //4-else
				} //3-else
			}//2-else
		}//1-else
	} else { //5
		alert(msgErro);
	}
	return false;
}

/*----------------------------------------------------------------------------
Formata��o para qualquer mascara
** adaptado de:
http://www.codigofonte.com.br/codigo/js-dhtml/formulario/funcao-para-formatacao-de-mascara-generica
-----------------------------------------------------------------------------*/
function formatar(src, mask){
  var i = src.value.length;
  var saida = mask.substring(0,1);
  var texto = mask.substring(i)
if (texto.substring(0,1) != saida)
  {
    src.value += texto.substring(0,1);
  }
}


// FUN��ES PARA MASCARAR CAMPOS:
// adaptado de: http://elcio.com.br/ajax/mascara/
function mascara(o,f){
    v_obj=o
    v_fun=f
    setTimeout("execmascara()",1)
}
function execmascara(){
    v_obj.value=v_fun(v_obj.value)
}

function leech(v){
    v=v.replace(/o/gi,"0")
    v=v.replace(/i/gi,"1")
    v=v.replace(/z/gi,"2")
    v=v.replace(/e/gi,"3")
    v=v.replace(/a/gi,"4")
    v=v.replace(/s/gi,"5")
    v=v.replace(/t/gi,"7")
    return v
}

function soNumeros(v){
    return v.replace(/\D/g,"")
}

function mtelefone(v){
    v=v.replace(/\D/g,"")                 //Remove tudo o que n�o � d�gito
    v=v.replace(/^(\d\d)(\d)/g,"($1) $2") //Coloca par�nteses em volta dos dois primeiros d�gitos
    v=v.replace(/(\d{4})(\d)/,"$1-$2")    //Coloca h�fen entre o quarto e o quinto d�gitos
    return v
}

function mtelefone2(v){
    v=v.replace(/\D/g,"")                 //Remove tudo o que n�o � d�gito
    v=v.replace(/^(\d\d\d)(\d)/g,"($1) $2") //Coloca par�nteses em volta dos TR�S primeiros d�gitos
    v=v.replace(/(\d{4})(\d)/,"$1-$2")    //Coloca h�fen entre o quarto e o quinto d�gitos
    return v
}

function mcpf(v){
    v=v.replace(/\D/g,"")                    //Remove tudo o que n�o � d�gito
    v=v.replace(/(\d{3})(\d)/,"$1.$2")       //Coloca um ponto entre o terceiro e o quarto d�gitos
    v=v.replace(/(\d{3})(\d)/,"$1.$2")       //Coloca um ponto entre o terceiro e o quarto d�gitos
                                             //de novo (para o segundo bloco de n�meros)
    v=v.replace(/(\d{3})(\d{1,2})$/,"$1-$2") //Coloca um h�fen entre o terceiro e o quarto d�gitos
    return v
}

function mcep(v){
    v=v.replace(/D/g,"")                //Remove tudo o que n�o � d�gito
    v=v.replace(/^(\d{5})(\d)/,"$1-$2") //Esse � t�o f�cil que n�o merece explica��es
    return v
}

function mcnpj(v){
    v=v.replace(/\D/g,"")                           //Remove tudo o que n�o � d�gito
    v=v.replace(/^(\d{2})(\d)/,"$1.$2")             //Coloca ponto entre o segundo e o terceiro d�gitos
    v=v.replace(/^(\d{2})\.(\d{3})(\d)/,"$1.$2.$3") //Coloca ponto entre o quinto e o sexto d�gitos
    v=v.replace(/\.(\d{3})(\d)/,".$1/$2")           //Coloca uma barra entre o oitavo e o nono d�gitos
    v=v.replace(/(\d{4})(\d)/,"$1-$2")              //Coloca um h�fen depois do bloco de quatro d�gitos
    return v
}

function mromanos(v){
    v=v.toUpperCase()             //Mai�sculas
    v=v.replace(/[^IVXLCDM]/g,"") //Remove tudo o que n�o for I, V, X, L, C, D ou M
    //Essa � complicada! Copiei daqui: http://www.diveintopython.org/refactoring/refactoring.html
    while(v.replace(/^M{0,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})$/,"")!="")
        v=v.replace(/.$/,"")
    return v
}

function mdata(v){
    v=v.replace(/\D/g,"")                    //Remove tudo o que n�o � d�gito
    v=v.replace(/(\d{2})(\d)/,"$1/$2")       //Coloca uma barra entre o segundo e o terceiro d�gitos
    v=v.replace(/(\d{2})(\d)/,"$1/$2")       //Coloca uma barra entre o quarto  e o quinto d�gitos
                                             //de novo (para o segundo bloco de n�meros)
    return v
}

function mhora(v){
    v=v.replace(/\D/g,"")                    //Remove tudo o que n�o � d�gito
    v=v.replace(/(\d{2})(\d)/,"$1:$2")       //Coloca uma barra entre o segundo e o terceiro d�gitos
    v=v.replace(/(\d{2})(\d)/,"$1:$2")       //Coloca uma barra entre o quarto  e o quinto d�gitos
                                             //de novo (para o segundo bloco de n�meros)
    return v
}

function msite(v){

    //Esse sem comentarios para que voc� entenda sozinho ;-)
    v=v.replace(/^http:\/\/?/,"")
    dominio=v
    caminho=""
    if(v.indexOf("/")>-1)
        dominio=v.split("/")[0]
        caminho=v.replace(/[^\/]*/,"")
    dominio=dominio.replace(/[^\w\.\+-:@]/g,"")
    caminho=caminho.replace(/[^\w\d\+-@:\?&=%\(\)\.]/g,"")
    caminho=caminho.replace(/([\?&])=/,"$1")
    if(caminho!="")dominio=dominio.replace(/\.+$/,"")
    v="http://"+dominio+caminho
    return v
}

function mvalor(v){
    v=v.replace(/[^1234567890.,]/g,""); //somente numeros, ponto e virgula
	v=v.replace(/,/,"."); //se digitar virgula transforma em ponto.
	return v;
}

function mvalor2(v){
    v=v.replace(/[^1234567890.,]/g,""); //somente numeros, ponto e virgula
	v=v.replace(/\./,","); //se digitar ponto transforma em v�rgula.
	return v;
}
function mvalor3(v){
	v=(soNumeros(v));
	if (v.length > 2) {
		var i = Number(v);
		i = (i/100) ;
		return  i.toFixed(2);
	} else {
		return v
	}
	
}
function mcpfcnpj(v) {
	v=v.replace(/[^1234567890.-\/]/g,""); //somente numeros, ponto e tra�o
	return v;	
}
function musuario(v) {
	v=v.replace(/[^1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\/]/g,""); //somente numeros e letras
	return v;	
}
// FIM ---> FUN��ES PARA MASCARAR CAMPOS:

function formatar_moeda(campo, separador_milhar, separador_decimal, tecla) {
	var sep = 0;
	var key = '';
	var i = j = 0;
	var len = len2 = 0;
	var strCheck = '0123456789';
	var aux = aux2 = '';
	if (tecla.which == undefined) {
		var whichCode = tecla.keyCode;
	} else {
		var whichCode = tecla.which;
	}
	if (whichCode == 13) return true; // Tecla Enter
	if (whichCode == 8) return true; // Tecla Delete
	key = String.fromCharCode(whichCode); // Pegando o valor digitado
	if (strCheck.indexOf(key) == -1) return false; // Valor inv�lido (n�o inteiro)
	len = campo.value.length;
	for(i = 0; i < len; i++)
	if ((campo.value.charAt(i) != '0') && (campo.value.charAt(i) != separador_decimal)) break;
	aux = '';
	for(; i < len; i++)
	if (strCheck.indexOf(campo.value.charAt(i))!=-1) aux += campo.value.charAt(i);
	aux += key;
	len = aux.length;
	if (len == 0) campo.value = '';
	if (len == 1) campo.value = '0'+ separador_decimal + '0' + aux;
	if (len == 2) campo.value = '0'+ separador_decimal + aux;

	if (len > 2) {
		aux2 = '';

		for (j = 0, i = len - 3; i >= 0; i--) {
			if (j == 3) {
				aux2 += separador_milhar;
				j = 0;
			}
			aux2 += aux.charAt(i);
			j++;
		}

		campo.value = '';
		len2 = aux2.length;
		for (i = len2 - 1; i >= 0; i--)
		campo.value += aux2.charAt(i);
		campo.value += separador_decimal + aux.substr(len - 2, len);
	}

	return false;
}


// Fun��o para codificar uma string:
function URLencode(sStr) {
    return scape(sStr).
             replace(/\+/g, '%2B').
             replace(/\"/g,'%22').
             replace(/\'/g, '%27').
             replace(/\//g,'%2F');
}

//funcao valida form faleconosco
function validaFormFaleConosco(f) {
	if (f.nomeFaleConosco.value == '') {
		alert(_NOME_INF);
		f.nomeFaleConosco.focus();
		return false;
	}
	if (f.telefoneFaleConosco.value == '' && f.dddTelefoneFaleConosco.value == '' && f.movelFaleConosco.value == '' && f.dddMovelFaleConosco.value == '') {
		alert(_TELEFONE_INF);
		f.dddTelefoneFaleConosco.focus();
		return false;
	} else {
		if ((f.telefoneFaleConosco.value != '' && f.dddTelefoneFaleConosco.value == '') || (f.telefoneFaleConosco.value == '' && f.dddTelefoneFaleConosco.value != '')) {
			
			alert(_FONE_FIXO_INV);
			f.dddTelefoneFaleConosco.focus();
			return false;
		} else if ((f.movelFaleConosco.value != '' && f.dddMovelFaleConosco.value == '') || (f.movelFaleConosco.value == '' && f.dddMovelFaleConosco.value != '')) {
			alert(_FONE_MOVEL_INV);
			f.dddMovelFaleConosco.focus();
			return false;
		}
	}
	if (f.telefoneFaleConosco.value != '' && f.telefoneFaleConosco.value.length < 8) {
		alert(_FONE_FIXO_INV);
		f.telefoneFaleConosco.focus();
		return false;
	}
	if (f.movelFaleConosco.value != '' && f.movelFaleConosco.value.length < 8) {
		alert(_FONE_MOVEL_INV);
		f.movelFaleConosco.focus();
		return false;
	}
	if (!validaEmail(f.emailFaleConosco.value)) {
		alert(_EMAIL_INV);
		f.emailFaleConosco.focus();
		return false;
	}
	if (f.textoFaleConosco.value == '') {
		alert(_MESAGEM_INF);
		f.textoFaleConosco.focus();
		return false;
	}
	return true;
}
//funcao valida form de trabalhe conosco
function validaFormTrabalheConosco(f) {
	if (f.nomePessoa.value == '') {
		alert(_NOME_INF);
		f.nomePessoa.focus();
		return false;
	}
	
	if (f.cpfCnpjPessoa.value == '') {
		alert(_CPF_INF);
		f.cpfCnpjPessoa.focus();
		return false;
	} else {
		if (!validaCPF(f.cpfCnpjPessoa.value)) {
			alert(_CPF_INV);
			f.cpfCnpjPessoa.focus();
			return false;
		} 		
	}
	
	if (f.rgIePessoa.value == '') {
		if (f.tipoPessoa.value == '1') {
			alert(_RG_INF);
		} else {
			alert(_INSC_EST_INF);
		}
		f.rgIePessoa.focus();
		return false;
	}
	
	if (f.nascimentoPessoa.value == '') {
		alert(_DATA_NASC_INF);
		f.nascimentoPessoa.focus();
		return false;
	}
	if (f.cepEndPessoa.value == '') {
		alert(_CEP_INF);
		f.cepEndPessoa.focus();
		return false;
	}	
	if (f.logradouroEndPessoa.value == '') {
		alert(_LOGRADOURO_INF);
		f.logradouroEndPessoa.focus();
		return false;
	}
	if (f.numeroEndPessoa.value == '') {
		alert(_NUMERO_END_INF);
		f.numeroEndPessoa.focus();
		return false;
	}
	if (f.bairroEndPessoa.value == '') {
		alert(_BAIRRO_END_INF);
		f.bairroEndPessoa.focus();
		return false;
	}
	if (f.cidadeEndPessoa.value == '') {
		alert(_CIDADE_INF);
		f.cidadeEndPessoa.focus();
		return false;
	}	
	if (f.foneComPessoa.value == '') {
		alert(_FONE_COM_INF);
		f.foneComPessoa.focus();
		return false;
	}
	if (f.foneFaxPessoa.value == '') {
		alert(_FONE_FAX_INF);
		f.foneFaxPessoa.focus();
		return false;
	}
	if (f.foneResPessoa.value == '') {
		alert(_FONE_RES_INF);
		f.foneResPessoa.focus();
		return false;
	}
	if (f.foneCelPessoa.value == '') {
		alert(_FONE_CEL_INF);
		f.foneCelPessoa.focus();
		return false;
	}
//	if (f.operadoraCelular.value == '0') {
//		alert('Informe a operadora do celular.');
//		f.operadoraCelular.focus();
//		return false;
//	}
	if (!validaEmail(f.emailPessoa.value)) {
		alert(_EMAIL_INV);
		f.emailPessoa.focus();
		return false;
	}		
	if (f.cargoPretendido.value == '') {
		alert(_CARGO_PRETENDIDO_INF);
		f.cargoPretendido.focus();
		return false;
	}
	if (f.pretencaoSalarial.value == '') {
		alert(_PRETENCAO_SALARIO_INF);
		f.pretencaoSalarial.focus();
		return false;
	}
	if (f.objetivos.value == '') {
		alert(_SEUS_OBJETIVOS_INF);
		f.objetivos.focus();
		return false;
	}
	
	f.cpfCnpjPessoa.value = soNumeros(f.cpfCnpjPessoa.value);

	return true;
}
//valida form de representantes
function validaFormRepresentantes(f) {
	if (f.cpfCnpjPessoa.value == '') {
		if (f.tipoPessoa[0].checked) {		
			alert(_CPF_INF);
		} else {
			alert(_CNPJ_INF);	
		}
		f.cpfCnpjPessoa.focus();
		return false;
	} else {
		if (f.tipoPessoa[0].checked) {		
			if (!validaCPF(f.cpfCnpjPessoa.value)) {
				alert(_CPF_INV);
				f.cpfCnpjPessoa.focus();
				return false;
			}
		} else {
			if (!ValidaCNPJ(f.cpfCnpjPessoa.value)) {
				alert(_CNPJ_INV);
				f.cpfCnpjPessoa.focus();
				return false;
			}	
		}	
	}
	if (f.senhaPessoa.value != f.confirmaSenha.value) {
		alert(_SENHAS_NAO_CONF);
		f.confirmaSenha.focus();
		return false;
	}
	if (f.nomePessoa.value == '') {
		if (f.tipoPessoa[0].checked) {
			alert(_NOME_INF);
		} else {
			alert(_NOME_EMPRESA_INF);
		}
		f.nomePessoa.focus();
		return false;
	}
	if (f.cepEndPessoa.value == '') {
		alert(_CEP_INF);
		f.cepEndPessoa.focus();
		return false;
	}
	if (f.logradouroEndPessoa.value == '') {
		alert(_LOGRADOURO_INF);
		f.logradouroEndPessoa.focus();
		return false;
	}
	if (f.numeroEndPessoa.value == '') {
		alert(_NUMERO_END_INF);
		f.numeroEndPessoa.focus();
		return false;
	}
	if (f.bairroEndPessoa.value == '') {
		alert(_BAIRRO_INF);
		f.bairroEndPessoa.focus();
		return false;
	}	
	if (f.cidadeEndPessoa.value == '') {
		alert(_CIDADE_INF);
		f.cidadeEndPessoa.focus();
		return false;
	}
	if (f.dddFoneComPessoa.value == '') {
		alert(_DDD_COM_INF);
		f.dddFoneComPessoa.focus();
		return false;
	}
	if (f.foneComPessoa.value == '') {
		alert(_FONE_COM_INF);
		f.foneComPessoa.focus();
		return false;
	}
	if (f.dddFoneCelPessoa.value == '') {
		alert(_DDD_CEL_INF);
		f.dddFoneCelPessoa.focus();
		return false;
	}
	if (f.foneCelPessoa.value == '') {
		alert(_FONE_CEL_INF);
		f.foneCelPessoa.focus();
		return false;
	}
	if (!validaEmail(f.emailPessoa.value)) {
		alert(_EMAIL_INV);
		f.emailPessoa.focus();
		return false;
	}	
	
	f.cpfCnpjPessoa.value = soNumeros(f.cpfCnpjPessoa.value);
}
//valida form de usu�rios
function validaFormUsuarios(f) {
	if (f.cpfUsuario.value == '') {
		alert(_CPF_INF);
		f.cpfUsuario.focus();
		return false;
	} else {
		if (!validaCPF(f.cpfUsuario.value)) {
			alert(_CPF_INV);
			f.cpfUsuario.focus();
			return false;
		} 		
	}
	if (f.nomeUsuario.value == '') {
		alert(_NOME_INF);
		f.nomeUsuario.focus();
		return false;
	}
	if (f.loginUsuario.value == '') {
		alert(_USUARIO_INF);
		f.loginUsuario.focus();
		return false;
	}
	if (f.altera.value != 'true') {
		if (f.senhaUsuario.value == '') {
			alert(_SENHA_INF);
			f.senhaUsuario.focus();
			return false;
		} else {
			if (f.confSenhaUsuario.value == '') {
				alert(_SENHA_CONF_INF);
				f.confSenhaUsuario.focus();
				return false;
			} else {
				if (f.senhaUsuario.value != f.confSenhaUsuario.value) {
					alert(_SENHAS_NAO_CONF);
					f.senhaUsuario.focus();
					return false;
				}
			}
		}
			
	}
	if (!validaEmail(f.emailUsuario.value)) {
		alert(_EMAIL_INV);
		f.emailUsuario.focus();
		return false;
	}	
	
	f.cpfUsuario.value = soNumeros(f.cpfUsuario.value);
}
//valida form de clientes adm
function validaFormClientesAdm(f) {
	if (f.cpfCnpjPessoa.value == '') {
		if (f.tipoPessoa[0].checked) {		
			alert('O campo CPF � obrigat�rio.');
		} else {
			alert('O campo CNPJ � obrigat�rio.');	
		}
		f.cpfCnpjPessoa.focus();
		return false;
	} else {
		if (f.tipoPessoa[0].checked) {		
			if (!validaCPF(f.cpfCnpjPessoa.value)) {
				alert('O campo CPF � obrigat�rio.');
				f.cpfCnpjPessoa.focus();
				return false;
			}
		} else {
			if (!ValidaCNPJ(f.cpfCnpjPessoa.value)) {
				alert('O campo CNPJ � obrigat�rio.');
				f.cpfCnpjPessoa.focus();
				return false;
			}	
		}	
	}
	if (f.usuarioPessoa.value == '') {
		alert('O campo usu�rio � obrigat�rio.');
		f.usuarioPessoa.focus();
		return false;
	}	
	if (f.altera.value != '1') {
		if (f.senhaPessoa.value == '') {
			alert('O campo senha � obrigat�rio.');
			f.senhaPessoa.focus();
			return false;
		}
	}
	if (f.senhaPessoa.value != f.confirmaSenha.value) {
		alert('Senhas n�o conferem.');
		return false;
	}
	
	if (f.rgIePessoa.value == '') {
		if (f.tipoPessoa[0].checked) {	
			alert('O campo RG � obrigat�rio.');
		} else {
			alert('O campo Inscri��o Estadual � obrigat�rio.');
		}
		f.rgIePessoa.focus();
		return false;
	}
	if (f.nomePessoa.value == '') {
		if (f.tipoPessoa[0].checked) {
			alert('Informe o Nome.');
		} else {
			alert('Informe o nome da empresa.');
		}
		f.nomePessoa.focus();
		return false;
	}
	if (f.cepEndPessoa.value == '') {
		alert('Informe o CEP.');
		f.cepEndPessoa.focus();
		return false;
	}
	if (f.logradouroEndPessoa.value == '') {
		alert('Informe o logradouro.');
		f.logradouroEndPessoa.focus();
		return false;
	}
	if (f.numeroEndPessoa.value == '') {
		alert('Informe o n�mero do endere�o.');
		f.numeroEndPessoa.focus();
		return false;
	}
	if (f.bairroEndPessoa.value == '') {
		alert('Informe o bairro.');
		f.bairroEndPessoa.focus();
		return false;
	}	
	if (f.cidadeEndPessoa.value == '') {
		alert('Informe a cidade.');
		f.cidadeEndPessoa.focus();
		return false;
	}
	if (f.dddFoneComPessoa.value == '') {
		alert('Informe o DDD do telefone comercial.');
		f.dddFoneComPessoa.focus();
		return false;
	}
	if (f.foneComPessoa.value == '') {
		alert('Informe o n�mero do telefone comercial.');
		f.foneComPessoa.focus();
		return false;
	}
	if (f.dddFoneCelPessoa.value == '') {
		alert('Informe o DDD do telefone celular.');
		f.dddFoneCelPessoa.focus();
		return false;
	}
	if (f.foneCelPessoa.value == '') {
		alert('Informe o n�mero do telefone celular.');
		f.foneCelPessoa.focus();
		return false;
	}
//	if (f.operadoraCelular.value == '0') {
//		alert('Informe a operadora do celular.');
//		f.operadoraCelular.focus();
//		return false;
//	}
	if (!validaEmail(f.emailPessoa.value)) {
		alert('E-mail inv�lido.');
		f.emailPessoa.focus();
		return false;
	}
	if (f.formaInvestimentoPessoa.value == '') {
		alert('Informe a forma de investimento.');
		f.formaInvestimentoPessoa.focus();
		return false;
	}
	if (f.rcEmail1.value != '') {
		if (!validaEmail(f.rcEmail1.value)) {
			alert('E-mail da primeira refer�ncia comercial incorreto.');
			f.rcEmail1.focus();
			return false;
		}
	}
	if (f.rcEmail2.value != '') {
		if (!validaEmail(f.rcEmail2.value)) {
			alert('E-mail da segunda refer�ncia comercial incorreto.');
			f.rcEmail2.focus();
			return false;
		}
	}
	if (f.rbEmail1.value != '') {
		if (!validaEmail(f.rbEmail1.value)) {
			alert('E-mail da primeira refer�ncia banc�ria incorreto.');
			f.rbEmail1.focus();
			return false;
		}
	}
	if (f.rbEmail2.value != '') {
		if (!validaEmail(f.rbEmail2.value)) {
			alert('E-mail da segunda refer�ncia banc�ria incorreto.');
			f.rbEmail2.focus();
			return false;
		}
	}
	f.cpfCnpjPessoa.value = soNumeros(f.cpfCnpjPessoa.value);
}
//valida form de clientes
function validaFormClientes(f) {
	if (f.cpfCnpjPessoa.value == '') {
		if (f.tipoPessoa[0].checked) {		
			alert(_CPF_INF);
		} else {
			alert(_CNPJ_INF);	
		}
		f.cpfCnpjPessoa.focus();
		return false;
	} else {
		if (f.tipoPessoa[0].checked) {		
			if (!validaCPF(f.cpfCnpjPessoa.value)) {
				alert(_CPF_INV);
				f.cpfCnpjPessoa.focus();
				return false;
			}
		} else {
			if (!ValidaCNPJ(f.cpfCnpjPessoa.value)) {
				alert(_CNPJ_INV);
				f.cpfCnpjPessoa.focus();
				return false;
			}	
		}	
	}
//	if (f.usuarioPessoa.value == '') {
//		alert(_USUARIO_INF);
//		f.usuarioPessoa.focus();
//		return false;
//	}	
	if (f.altera.value != '1') {
		if (f.senhaPessoa.value == '') {
			alert(_SENHA_INF);
			f.senhaPessoa.focus();
			return false;
		}
	}
//	if (f.senhaPessoa.value != f.confirmaSenha.value) {
//		alert(_SENHAS_NAO_CONF);
//		return false;
//	}
	
	if (f.rgIePessoa.value == '') {
		if (f.tipoPessoa[0].checked) {	
			alert(_RG_INF);
		} else {
			alert(_INSC_EST_INF);
		}
		f.rgIePessoa.focus();
		return false;
	}
	if (f.nomePessoa.value == '') {
		if (f.tipoPessoa[0].checked) {
			alert(_NOME_INF);
		} else {
			alert(_NOME_EMPRESA_INF);
		}
		f.nomePessoa.focus();
		return false;
	}
	if (f.cepEndPessoa.value == '') {
		alert(_CEP_INF);
		f.cepEndPessoa.focus();
		return false;
	}
	if (f.logradouroEndPessoa.value == '') {
		alert(_LOGRADOURO_INF);
		f.logradouroEndPessoa.focus();
		return false;
	}
	if (f.numeroEndPessoa.value == '') {
		alert(_NUMERO_END_INF);
		f.numeroEndPessoa.focus();
		return false;
	}
	if (f.bairroEndPessoa.value == '') {
		alert(_BAIRRO_INF);
		f.bairroEndPessoa.focus();
		return false;
	}	
	if (f.cidadeEndPessoa.value == '') {
		alert(_CIDADE_INF);
		f.cidadeEndPessoa.focus();
		return false;
	}
	if (f.dddFoneComPessoa.value == '') {
		alert(_DDD_COM_INF);
		f.dddFoneComPessoa.focus();
		return false;
	}
	if (f.foneComPessoa.value == '') {
		alert(_FONE_COM_INF);
		f.foneComPessoa.focus();
		return false;
	}
	if (f.dddFoneCelPessoa.value == '') {
		alert(_DDD_CEL_INF);
		f.dddFoneCelPessoa.focus();
		return false;
	}
	if (f.foneCelPessoa.value == '') {
		alert(_FONE_CEL_INF);
		f.foneCelPessoa.focus();
		return false;
	}
	if (f.operadoraCelular.value == '0') {
		alert('Informe a operadora do celular.');
		f.operadoraCelular.focus();
		return false;
	}
	if (f.foneCelPessoa2.value != '') {
		if (f.operadoraCelular2.value == '0') {
			alert('Informe a operadora do segundo celular.');
			f.operadoraCelular2.focus();
			return false;
		}
	}
	if (!validaEmail(f.emailPessoa.value)) {
		alert(_EMAIL_INV);
		f.emailPessoa.focus();
		return false;
	}
	
	if (f.formaInvestimentoPessoa.value == '') {
		alert(_FORMA_INVEST_INF);
		f.formaInvestimentoPessoa.focus();
		return false;
	}
	if (f.rcEmail1.value != '') {
		if (!validaEmail(f.rcEmail1.value)) {
			alert(_EMAIL1_REF_COM_INV);
			f.rcEmail1.focus();
			return false;
		}
	}
	if (f.rcEmail2.value != '') {
		if (!validaEmail(f.rcEmail2.value)) {
			alert(_EMAIL2_REF_COM_INV);
			f.rcEmail2.focus();
			return false;
		}
	}
	if (f.rbEmail1.value != '') {
		if (!validaEmail(f.rbEmail1.value)) {
			alert(_EMAIL1_REF_BAN_INV);
			f.rbEmail1.focus();
			return false;
		}
	}
	if (f.rbEmail2.value != '') {
		if (!validaEmail(f.rbEmail2.value)) {
			alert(_EMAIL2_REF_BAN_INV);
			f.rbEmail2.focus();
			return false;
		}
	}
	f.cpfCnpjPessoa.value = soNumeros(f.cpfCnpjPessoa.value);
}
// valida form fornecedores
function validaFormFornecedor(f) {
	if (f.cpfCnpjPessoa.value == '') {
		if (f.tipoPessoa[0].checked) {		
			alert(_CPF_INF);
		} else {
			alert(_CNPJ_INF);	
		}
		f.cpfCnpjPessoa.focus();
		return false;
	} else {
		if (f.tipoPessoa[0].checked) {		
			if (!validaCPF(f.cpfCnpjPessoa.value)) {
				alert(_CPF_INV);
				f.cpfCnpjPessoa.focus();
				return false;
			}
		} else {
			if (!ValidaCNPJ(f.cpfCnpjPessoa.value)) {
				alert(_CNPJ_INV);
				f.cpfCnpjPessoa.focus();
				return false;
			}	
		}	
	}
	
	if (f.rgIePessoa.value == '') {
		if (f.tipoPessoa[0].checked) {	
			alert(_RG_INF);
		} else {
			alert(_INSC_EST_INF);
		}
		f.rgIePessoa.focus();
		return false;
	}
	if (f.nomePessoa.value == '') {
		if (f.tipoPessoa[0].checked) {
			alert(_NOME_INF);
		} else {
			alert(_NOME_EMPRESA_INF);
		}
		f.nomePessoa.focus();
		return false;
	}
	if (f.cepEndPessoa.value == '') {
		alert(_CEP_INF);
		f.cepEndPessoa.focus();
		return false;
	}
	if (f.logradouroEndPessoa.value == '') {
		alert(_LOGRADOURO_INF);
		f.logradouroEndPessoa.focus();
		return false;
	}
	if (f.numeroEndPessoa.value == '') {
		alert(_NUMERO_END_INF);
		f.numeroEndPessoa.focus();
		return false;
	}
	if (f.bairroEndPessoa.value == '') {
		alert(_BAIRRO_INF);
		f.bairroEndPessoa.focus();
		return false;
	}	
	if (f.cidadeEndPessoa.value == '') {
		alert(_CIDADE_INF);
		f.cidadeEndPessoa.focus();
		return false;
	}
	if (f.dddFoneComPessoa.value == '') {
		alert(_DDD_COM_INF);
		f.dddFoneComPessoa.focus();
		return false;
	}
	if (f.foneComPessoa.value == '') {
		alert(_FONE_COM_INF);
		f.foneComPessoa.focus();
		return false;
	}
	if (f.dddFoneCelPessoa.value == '') {
		alert(_DDD_CEL_INF);
		f.dddFoneCelPessoa.focus();
		return false;
	}
	if (f.foneCelPessoa.value == '') {
		alert(_FONE_CEL_INF);
		f.foneCelPessoa.focus();
		return false;
	}
	if (f.operadoraCelular.value == '0') {
		alert('Informe a operadora do celular.');
		f.operadoraCelular.focus();
		return false;
	}
	if (f.dddFoneCelPessoa2.value == '') {
		alert(_DDD_CEL_INF);
		f.dddFoneCelPessoa.focus();
		return false;
	}
	if (f.foneCelPessoa2.value == '') {
		alert(_FONE_CEL_INF);
		f.foneCelPessoa2.focus();
		return false;
	} else {
		if (f.operadoraCelular2.value == '0') {
			alert('Informe a operadora do celular.');
			f.operadoraCelular2.focus();
			return false;
		}
	}
	if (!validaEmail(f.emailPessoa.value)) {
		alert(_EMAIL_INV);
		f.emailPessoa.focus();
		return false;
	}
	f.cpfCnpjPessoa.value = soNumeros(f.cpfCnpjPessoa.value);
}
//valida form de trabalhe conosco
function validaFormTrabalheConosco(f) {
	if (f.cpfCnpjPessoa.value == '') {
		if (f.tipoPessoa[0].checked) {		
			alert(_CPF_INF);
		} else {
			alert(_CNPJ_INF);	
		}
		f.cpfCnpjPessoa.focus();
		return false;
	} else {
		if (f.tipoPessoa[0].checked) {		
			if (!validaCPF(f.cpfCnpjPessoa.value)) {
				alert(_CPF_INV);
				f.cpfCnpjPessoa.focus();
				return false;
			}
		} else {
			if (!ValidaCNPJ(f.cpfCnpjPessoa.value)) {
				alert(_CNPJ_INV);
				f.cpfCnpjPessoa.focus();
				return false;
			}	
		}	
	}
	if (f.rgIePessoa.value == '') {
		if (f.tipoPessoa[0].checked) {
			alert(_RG_INF);
		} else {
			alert(_INSC_EST_INF);
		}
		f.rgIePessoa.focus();
		return false;
	}
	if (f.nomePessoa.value == '') {
		if (f.tipoPessoa[0].checked) {
			alert(_NOME_INF);
		} else {
			alert(_NOME_EMPRESA_INF);
		}
		f.nomePessoa.focus();
		return false;
	}
	if (f.cepEndPessoa.value == '') {
		alert(_CEP_INF);
		f.cepEndPessoa.focus();
		return false;
	}
	if (f.logradouroEndPessoa.value == '') {
		alert(_LOGRADOURO_INF);
		f.logradouroEndPessoa.focus();
		return false;
	}
	if (f.numeroEndPessoa.value == '') {
		alert(_NUMERO_END_INF);
		f.numeroEndPessoa.focus();
		return false;
	}
	if (f.bairroEndPessoa.value == '') {
		alert(_BAIRRO_INF);
		f.bairroEndPessoa.focus();
		return false;
	}	
	if (f.cidadeEndPessoa.value == '') {
		alert(_CIDADE_INF);
		f.cidadeEndPessoa.focus();
		return false;
	}
	if (f.dddFoneComPessoa.value == '') {
		alert(_DDD_COM_INF);
		f.dddFoneComPessoa.focus();
		return false;
	}
	if (f.foneComPessoa.value == '') {
		alert(_FONE_COM_INF);
		f.foneComPessoa.focus();
		return false;
	}
	if (f.dddFoneCelPessoa.value == '') {
		alert(_DDD_CEL_INF);
		f.dddFoneCelPessoa.focus();
		return false;
	}
	if (f.foneCelPessoa.value == '') {
		alert(_FONE_CEL_INF);
		f.foneCelPessoa.focus();
		return false;
	}
	if (!validaEmail(f.emailPessoa.value)) {
		alert(_EMAIL_INV);
		f.emailPessoa.focus();
		return false;
	}
	f.cpfCnpjPessoa.value = soNumeros(f.cpfCnpjPessoa.value);
}

//buscar endereco
function buscaEndereco(cep) {
	var ajax = new AjaxReq('/novo/administrar/buscaCep.php', 'msgUsuarios', true, 'POST', 'cep='+cep);
	ajax.processaRes = function(r){
		document.getElementById(ajax.boxResult).innerHTML = r;
	}	
}
//mascara Moeada
function MascaraMoeda(objTextBox, SeparadorMilesimo, SeparadorDecimal, e){
	
    var sep = 0;
    var key = '';
    var i = j = 0;
    var len = len2 = 0;
    var strCheck = '0123456789';
    var aux = aux2 = '';
    var whichCode = (window.Event) ? e.which : e.keyCode;

    if (whichCode == 13) return true;
    key = String.fromCharCode(whichCode); // Valor para o c�digo da Chave
    if (strCheck.indexOf(key) == -1) return false; // Chave inv�lida
    len = objTextBox.value.length;
    for(i = 0; i < len; i++)
        if ((objTextBox.value.charAt(i) != '0') && (objTextBox.value.charAt(i) != SeparadorDecimal)) break;
    aux = '';
    for(; i < len; i++)
        if (strCheck.indexOf(objTextBox.value.charAt(i))!=-1) aux += objTextBox.value.charAt(i);
    aux += key;
    len = aux.length;
    if (len == 0) objTextBox.value = '';
    if (len == 1) objTextBox.value = '0'+ SeparadorDecimal + '0' + aux;
    if (len == 2) objTextBox.value = '0'+ SeparadorDecimal + aux;
    if (len > 2) {
        aux2 = '';
        for (j = 0, i = len - 3; i >= 0; i--) {
            if (j == 3) {
                aux2 += SeparadorMilesimo;
                j = 0;
            }
            aux2 += aux.charAt(i);
            j++;
        }
        objTextBox.value = '';
        len2 = aux2.length;
        for (i = len2 - 1; i >= 0; i--)
        objTextBox.value += aux2.charAt(i);
        objTextBox.value += SeparadorDecimal + aux.substr(len - 2, len);
    }
    return false;
}
function buscaCep(cep, arrayCampos) {

	$(cep).siblings('.aguardeCEP').html('<img src="http://www.biocomltda.com.br/novo/imagens/icone/imgLoading.gif" width="16" />');
	$.ajax({
		url:"http://www.biocomltda.com.br/novo/includes/cep.php",
		type: 'GET',
		cache: false,
		data: {cep: cep.value},
		success: function(text) {
			$(cep).siblings('.aguardeCEP').empty();
			var end = text.split('@');
			if (end.length == 1) {
				alert(_CEP_NAO_ENCONTRADO);
			} else {
				$('#' + arrayCampos[5]).val(end[5]);
				$('#' + arrayCampos[3]).val(end[3]);
				$('#' + arrayCampos[2]).val(end[2]);
				$('#' + arrayCampos[1]).val(end[1]);
				
				//var opt = $('#' + arrayCampos[4])[0].options;
				var opt = document.getElementById(arrayCampos[4]);
				for(o = 0; o < opt.length; o++) {
					opt.options[o].selected = opt.options[o].text == end[4];
				}
				
				$('#' + arrayCampos[5]).focus();
			}
			
		},
		error: function(text) {
			$(cep).siblings('.aguardeCEP').empty();
		}
		});

}

// ***
// Transforma strings 999.999.999,99 para n�mero 999999999.99
//
function strToNumero(s) {
	s = s + '';
	s = s.replace(/\./gi, "");
	s = s.replace(/,/gi, ".");
	return Number(s);
}

function formataMoeda(num, dec) {
num = num.toString().replace(/\$|\,/g,'');
if(isNaN(num))
num = "0";
sign = (num == (num = Math.abs(num)));
num = Math.floor(num*100+0.50000000001);
cents = num%100;
num = Math.floor(num/100).toString();
if(cents<10)
cents = "0" + cents;
for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
num = num.substring(0,num.length-(4*i+3))+'.'+
num.substring(num.length-(4*i+3));
if (dec) {
	return (((sign)?'':'-') + '' + num + ',' + cents);
} else {
	return (((sign)?'':'-') + '' + num);
}
}


//pega a posição atual do scroll
getScroll= function(){
	var w=window, d=document;
	return {
		x: (w.pageXOffset ? w.pageXOffset : de.scrollLeft ? de.scrollLeft : d.body.scrollLeft) || 0,		
		y: (w.pageYOffset ? w.pageYOffset : de.scrollTop ? de.scrollTop : d.body.scrollTop) || 0	
	};
};
