// JavaScript Document
// MOSTRA DIV OCULTA
function expandir_div(div_exibir, div_ocultar){
	$('#'+div_ocultar).fadeOut('fast', function() {
		$('#'+div_exibir).fadeIn('slow', function() {});
	});
}

function reseta_contratar(form, div_ocultar_1, div_ocultar_2){
    var x=form
    x.reset()
	$('#'+div_ocultar_1).fadeOut('fast', function() {});
	$('#'+div_ocultar_2).fadeOut('fast', function() {});
	return false;
}

function formata_campo(campo, sMask, evtKeyPress) {
	var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla;
 
	if(document.all) { // Internet Explorer
		nTecla = evtKeyPress.keyCode;
	} else if(document.layers) { // Nestcape
		nTecla = evtKeyPress.which;
	} else {
		nTecla = evtKeyPress.which;
		if (nTecla == 8) {
			return true;
		}
	}
 
	sValue = campo.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( " ", "" );
	fldLen = sValue.length;
	mskLen = sMask.length;
 
	i = 0;
	nCount = 0;
	sCod = "";
	mskLen = fldLen;
 
	while (i <= mskLen) {
		bolMask = ((sMask.charAt(i) == "-") || (sMask.charAt(i) == ":") || (sMask.charAt(i) == ".") || (sMask.charAt(i) == "/"))
		bolMask = bolMask || ((sMask.charAt(i) == "(") || (sMask.charAt(i) == ")") || (sMask.charAt(i) == " "))
	 
		if (bolMask) {
			sCod += sMask.charAt(i);
			mskLen++;
		} else {
			sCod += sValue.charAt(nCount);
			nCount++;
		}
			i++;
	}
	 
	campo.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 sem_letras(e){
    var tecla=(window.event)?event.keyCode:e.which;
    if((tecla > 47 && tecla < 58)) return true;
    else{
    if (tecla != 8) return false;
    else return true;
    }
}

function getElementsByClassName(strClass){
  var ret = new Array();
  var tag = arguments[1] || "tr";
  var node = arguments[2] || document;
  var base = node.getElementsByTagName(tag);
  var tBase = base.length;
  for(var i = 0; i < tBase; i++)
  {
    var aClass = base[i].className.split(" ");
    var taClass = aClass.length;
    for(var j = 0; j < taClass; j++)
    {
      if(aClass[j] == strClass)
      {
        ret[ret.length] = base[i];
        break;
      }
    }
  }
  return ret;
}

function altera(classe1,classe2){
	var class1 = getElementsByClassName(classe1);
	var class2 = getElementsByClassName(classe2);
	for (i=0; i<class1.length; i++){
		class1[i].style.display = "none";
	}
	for (i=0; i<class2.length; i++){
		class2[i].style.display = "block";
	}
	if (classe1 == 'pessoa'){
		Form.verifica.value = 1;
	}
	if (classe1 == 'empresa'){
		Form.verifica.value = 0;
	}
} 

function SemLetras(){
	if ((window.event.keyCode < 45) | (window.event.keyCode > 57)){
		window.event.keyCode = 0;
	}
}

function txtBoxFormat(campo, sMask, evtKeyPress) {
	var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla;
	
	if(document.all) { // Internet Explorer
		nTecla = evtKeyPress.keyCode;
	} else if(document.layers) { // Nestcape
		nTecla = evtKeyPress.which;
	} else {
		nTecla = evtKeyPress.which;
		if (nTecla == 8) {
			return true;
		}
	}

	sValue = campo.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( " ", "" );
	fldLen = sValue.length;
	mskLen = sMask.length;
	
	i = 0;
	nCount = 0;
	sCod = "";
	mskLen = fldLen;
	
	while (i <= mskLen) {
		bolMask = ((sMask.charAt(i) == "-") || (sMask.charAt(i) == ":") || (sMask.charAt(i) == ".") || (sMask.charAt(i) == "/"))
		bolMask = bolMask || ((sMask.charAt(i) == "(") || (sMask.charAt(i) == ")") || (sMask.charAt(i) == " "))
	
		if (bolMask) {
			sCod += sMask.charAt(i);
			mskLen++;
		} else {
			sCod += sValue.charAt(nCount);
			nCount++;
		}
		i++;
	}

	campo.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;
	}
}

	//Fim da Função Máscaras Gerais
	
	/***
	* AUTO TAB - ao prencher o campo, automaticamente manda o foco para o próximo!
	***/
	var isNN = (navigator.appName.indexOf("Netscape")!=-1);
	function autoTab(input,len, e) {
	var keyCode = (isNN) ? e.which : e.keyCode;
	var filter = (isNN) ? [0,8,9] : [0,8,9,16,17,18,37,38,39,40,46];
	if(input.value.length >= len && !containsElement(filter,keyCode)) {
	input.value = input.value.slice(0, len);
	input.form[(getIndex(input)+1) % input.form.length].focus();
}

function containsElement(arr, ele) {
	var found = false, index = 0;
	while(!found && index < arr.length)
	if(arr[index] == ele)
	found = true;
	else
	index++;
	return found;
}

function getIndex(input) {
	var index = -1, i = 0, found = false;
	while (i < input.form.length && index == -1)
		if (input.form[i] == input)index = i;
		else i++;
		return index;
		}
	return true;
}
//-----------------------------------------------------------------------------------------------------------------------------
// VALIDA FORMULARIO
function verifica_contratar(form) {
	
	if ((form.tipo[0].checked == false ) && (form.tipo[1].checked == false)) {
		alert('Escolha o tipo de pessoa contratante!');
		return false;
	}
	
	// PESSOA FISICA -----------------------------------------------------------------------------------------------
	if(form.verifica.value == 'F'){
		if ((form.sexo[0].checked == false ) && (form.sexo[1].checked == false)) {
			alert('Escolha o SEXO!');
			return false;
		}
		if ((form.nome.value=='')||(form.nome.value.length < 3)) {
			alert('Informe o seu NOME!');
				form.nome.focus();
			return false;
		}
		if ((form.sobrenome.value=='')||(form.sobrenome.value.length < 3)) {
			alert('Informe o seu SOBRENOME!');
				form.sobrenome.focus();
			return false;
		}
		
		if (/^((0[1-9]|[12]\d)\/(0[1-9]|1[0-2])|30\/(0[13-9]|1[0-2])|31\/(0[13578]|1[02]))\/\d{4}$/.test(form.data_nascimento.value))
		{ }
		else
		{ 
			alert('Informe a DATA DE NASCIMENTO correta!');
			form.data_nascimento.focus();
			return (false);
		}
	
		if (form.cpf.value=='') {
			alert('Informe o seu CPF, somente números!');
				form.cpf.focus();
			return false;
		}else{
			var	biru = form.cpf.value;
			biru = biru.replace(".","");
			biru = biru.replace(".","");
			biru = biru.replace(/-/,"");
			var CPF = biru;
			var POSICAO, I, SOMA, DV, DV_INFORMADO;
			var DIGITO = new Array(10);
			DV_INFORMADO = CPF.substr(9, 2);
			for (I=0; I<=8; I++) {
			  DIGITO[I] = CPF.substr( I, 1);
			}
			POSICAO = 10;
			SOMA = 0;
			   for (I=0; I<=8; I++) {
				  SOMA = SOMA + DIGITO[I] * POSICAO;
				  POSICAO = POSICAO - 1;
			   }
			DIGITO[9] = SOMA % 11;
			   if (DIGITO[9] < 2) {
					DIGITO[9] = 0;
			}
			   else{
				   DIGITO[9] = 11 - DIGITO[9];
			}
			POSICAO = 11;
			SOMA = 0;
			   for (I=0; I<=9; I++) {
				  SOMA = SOMA + DIGITO[I] * POSICAO;
				  POSICAO = POSICAO - 1;
			   }
			DIGITO[10] = SOMA % 11;
			   if (DIGITO[10] < 2) {
					DIGITO[10] = 0;
			   }
			   else {
					DIGITO[10] = 11 - DIGITO[10];
			   }
			DV = DIGITO[9] * 10 + DIGITO[10];
			   if (DV != DV_INFORMADO) {
				  alert('CPF inválido');
				  form.cpf.focus();
				  return false;
			   }
			}
			if (form.rg.value=='') {
				alert('Informe o seu RG, somente números!');
					form.rg.focus();
				return false;
			}
	}
	// FIM PESSOA FISICA --------------------------------------------------------------------------------------------

	// PESSOA JURIDICA -----------------------------------------------------------------------------------------------
	if (form.verifica.value=='J'){
		if (form.cnpj.value=='') {
			alert('Informe o seu CNPJ, somente números!');
				form.cnpj.focus();
			return false;
		}else{
			CNPJ = form.cnpj.value;
			erro = new String;
			if (CNPJ.length < 18) erro += "É necessario preencher corretamente o número do CNPJ! \n\n";
			if ((CNPJ.charAt(2) != ".") || (CNPJ.charAt(6) != ".") || (CNPJ.charAt(10) != "/") || (CNPJ.charAt(15) != "-")){
			if (erro.length == 0) erro += "É necessário preencher corretamente o número do CNPJ! \n\n";
			}
			//substituir os caracteres que não são números
			if(document.layers && parseInt(navigator.appVersion) == 4){
			x = CNPJ.substring(0,2);
			x += CNPJ. substring (3,6);
			x += CNPJ. substring (7,10);
			x += CNPJ. substring (11,15);
			x += CNPJ. substring (16,18);
			CNPJ = x;
			} else {
			CNPJ = CNPJ. replace (".","");
			CNPJ = CNPJ. replace (".","");
			CNPJ = CNPJ. replace ("-","");
			CNPJ = CNPJ. replace ("/","");
			}
			var nonNumbers = /\D/;
			if (nonNumbers.test(CNPJ)) erro += "A verificação de CNPJ suporta apenas números! \n\n";
			var a = [];
			var b = new Number;
			var c = [6,5,4,3,2,9,8,7,6,5,4,3,2];
			for (i=0; i<12; i++){
			a[i] = CNPJ.charAt(i);
			b += a[i] * c[i+1];
			}
			if ((x = b % 11) < 2) { a[12] = 0 } else { a[12] = 11-x }
			b = 0;
			for (y=0; y<13; y++) {
			b += (a[y] * c[y]);
			}
			if ((x = b % 11) < 2) { a[13] = 0; } else { a[13] = 11-x; }
			if ((CNPJ.charAt(12) != a[12]) || (CNPJ.charAt(13) != a[13])){
			erro +="Dígito verificador do CNPJ com problema, certifique-se se o mesmo está correto!";
			}
			if (erro.length > 0){
			alert(erro);
			return false;
			}
		}
		if ((form.razao_social.value=='')||(form.razao_social.value.length < 8)) {
			alert('Informe a RAZÃO SOCIAL da empresa!');
				form.razao_social.focus();
			return false;
		}
		if ((form.fantasia.value=='')||(form.fantasia.value.length < 3)) {
			alert('Informe o nome FANTASIA!');
				form.fantasia.focus();
			return false;
		}
		if ((form.nome_contato.value=='')||(form.nome_contato.value.length < 3)) {
			alert('Informe a PESSOA DE CONTATO!');
				form.nome_contato.focus();
			return false;
		}
	}
	// FIM PESSOA JURIDICA ---------------------------------------------------------------------------------------
	
	// DADOS GERAIS DE CADASTRO -----------------------------------------------------------------------------------
	if ((form.endereco.value=='')||(form.endereco.value.length < 6)) {
		alert('Informe o ENDEREÇO completo!');
			form.endereco.focus();
		return false;
	}
	if (form.numero.value=='') {
		alert('Informe o NÚMERO!');
			form.numero.focus();
		return false;
	}
	if ((form.bairro.value=='')||(form.bairro.value.length < 3)) {
		alert('Informe o BAIRRO!');
			form.bairro.focus();
		return false;
	}
	if ((form.cidade.value=='')||(form.cidade.value.length < 3)) {
		alert('Informe a CIDADE!');
			form.cidade.focus();
		return false;
	}
	if ((form.cep.value=='')||(form.cep.value.length < 8)) {
		alert('Informe o CEP!');
			form.cep.focus();
		return false;
	}
	if (form.mm_estados_id_estado.value=='') {
		alert('Informe o ESTADO!');
			form.mm_estados_id_estado.focus();
		return false;
	}
	if ((form.ddd_fone1.value=='')||(form.ddd_fone1.value.length < 2)) {
		alert('Informe o DDD!');
			form.ddd_fone1.focus();
		return false;
	}
	if ((form.fone1.value=='')||(form.fone1.value.length < 8)) {
		alert('Informe o TELEFONE!');
			form.fone1.focus();
		return false;
	}
	if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(form.email.value)==false)	{ 
		alert("O Campo E-MAIL está em incorreto!");
		form.email.style.background = "#C8DFF4";
		form.email.focus();
		return (false);
	}
	if ((form.usuario.value=='')||(form.usuario.value.length < 6)) {
		alert('Informe a USUÁRIO!');
			form.usuario.focus();
		return false;
	}
	if ((form.senha2.value=='')||(form.senha2.value.length < 6)) {
		alert('Informe a SENHA com 6 a 15 dígitos!');
			form.senha2.focus();
		return false;
	}
	if ((form.senha3.value=='')||(form.senha2.value.length < 6)) {
		alert('Informe a SENHA de confirmação com 6 a 15 dígitos!');
			form.senha3.focus();
		return false;
	}
	if (form.senha2.value != form.senha3.value){
			alert('Senha de confirmação não é igual a senha!');
			form.senha3.focus();
			return false;
	}
}
//-----------------------------------------------------------------------------------------------------------------------------

//funcao para pular de campo, exemplo: ddd-fone
function pula(f){
	if(f.value.length==f.maxLength){
  		for(var i=0;i<f.form.length;i++){
    		if(f.form[i]==f){
			f.form[i+1].focus();
			}
		}
	}
}
