// JavaScript Document

function enviarOrcamento() {

	var formulario = document.formOrcamento;

	var cnpj = formulario.cnpj.value;
	var email = formulario.email.value;
	var cadastrado = formulario.cadastrado.checked;
	var uf = formulario.uf.value;

	if (formulario.nome.value!="" || formulario.empresa.value!="" || cnpj!="") {
		formulario.cadastrado.checked = false;
	}

	// verifica se é um CNPJ valido
//	if ( cnpj.length>0 ) {
//		if ( !validaCNPJ(cnpj) ) {
//			alert("CNPJ inválido. \n\nInforme o CNPJ corretamente.\n\n");
//			return false;
//		}
//	}
	
	// verifica o email informado
	if (email.length>0) {
		p=email.indexOf('@');
		p2=email.indexOf('.');
		if (p<1 || p2<1) {
			alert("Um endereço de e-mail válido dever ser informado.\n");
			return false;
		}
	}

	//  verificando o estado
	if (uf.length>0) {
		if ( verifica_UF(uf)==0 ) {
			alert("A UF informada é inválida.\n\n Informe a sigla do seu estado.\n");
			return false;
		}
	}
	
	// se tudo estiver correto
	return true; 
}


function MM_findObj(n, d) { //v4.01

  var p,i,x;  

  if(!d) d=document;

  if( (p=n.indexOf("?")) > 0 && parent.frames.length ) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);
  }

  if( !(x=d[n]) && d.all ) x=d.all[n]; 
  
  for( i=0; !x && i<d.forms.length; i++ ) x=d.forms[i][n];

  for( i=0;!x&&d.layers&&i<d.layers.length;i++ ) x=MM_findObj(n,d.layers[i].document);

  if( !x && d.getElementById ) x=d.getElementById(n); 
  
  return x;
}

function MM_validateForm() { //v4.0
	var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
	
	for (i=0; i<(args.length-2); i+=3) {
		test=args[i+2]; 
		val=MM_findObj(args[i]);

		if (val) { 
			nm=val.name;
			if ((val=val.value)!="") {
				if (test.indexOf('isEmail')!=-1) { 
					p=val.indexOf('@');

					if ( nm != 'cnpj' && nm != 'uf') {
						if (p<1 || p==(val.length-1)) errors+='- '+nm+' deve ser um endereço de e-mail.\n';
					}
					
				} else if (test!='R') { 
					num = parseFloat(val);

					if ( nm != 'cnpj' && nm != 'uf') {
						if (isNaN(val)) errors+='- '+nm+' só aceita números.\n';
						if (test.indexOf('inRange') != -1) { 
							p=test.indexOf(':');
							min=test.substring(8,p); max=test.substring(p+1);
							if (num<min || max<num) errors+='- '+nm+'só aceita números entre '+min+' e '+max+'.\n';
						} 
					}

				}
			} else if (test.charAt(0) == 'R') errors += '- '+nm+' é obrigatório.\n'; 
		}

		//-------------------------------
		//  verificando o estado
		if (nm=="uf" && val!="") {
			if ( verifica_UF(val)==0 ) errors += '- '+nm+' inválido.\n';
		}
		//-------------------------------
		//  validando o CNPJ
		if (nm=="cnpj" && val!="") {
			if ( !validaCNPJ(val) ) errors += '- '+nm+' inválido.\n';
		}
		//-------------------------------
		
	} if (errors) alert('Acorreram os seguintes erros:\n\n'+errors);

	document.MM_returnValue = (errors == '');
}



function verifica_UF(pUf) {

	var aUf = Array();
	var wFlag;
	
	aUf[0]='AC';
	aUf[1]='AL';
	aUf[2]='AP';
	aUf[3]='AM';
	aUf[4]='BA';
	aUf[5]='CE';
	aUf[6]='DF';
	aUf[7]='ES';
	aUf[8]='GO';
	aUf[9]='MA';
	aUf[10]='MT';
	aUf[11]='MS';
	aUf[12]='MG';
	aUf[13]='PA';
	aUf[14]='PB';
	aUf[15]='PR';
	aUf[16]='PE';
	aUf[17]='PI';
	aUf[18]='RJ';
	aUf[19]='RN';
	aUf[20]='RS';
	aUf[21]='RO';
	aUf[22]='RR';
	aUf[23]='SC';
	aUf[24]='SP';
	aUf[25]='SE';
	aUf[26]='TO';

	wFlag = 0;
	for (i=0; i<=26; i++) {
		if (pUf == aUf[i]) { 
			wFlag = i;
			i=27;
		}
	}
	
	return wFlag;
}



//***********************************************
//	 VALIDACAO DE CNPJ
//
function validaCNPJ(CNPJ) {
//	CNPJ = document.validacao.CNPJID.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 (/./g,"");
		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 com problema!";
	}
	if (erro.length > 0){
//		alert(erro);
		return false;
	} else {
//		alert("CNPJ valido!");
	}
	return true;
}


//----------------------------------------------------
//   verifica os valores passados para a
//   busca de produtos
//
function busca() {

   var objFrmB = document.getElementById("frmBusca");

   if ( objFrmB.buscaProduto.value == "" ) {
      alert("Informe um termo para a busca.");
      return false;
   }

   return true;
}

//----------------------------------------------------
//   verifica os valores passados para o
//   filtro de produtos
//
function filtro() {

   var objFrmF = document.getElementById("frmFiltro");

   if ( objFrmF.tipoPrd.value == "0" ) {
      alert("Selecione uma categoria ou sub-categoria.");
      return false;
   }

   return true;
}

