// ################################### //
// # 					MASCARA CNPJ
// ################################### //

function cnpjMask(field,pressedKey){
	
		if(navigator.appName.indexOf('Netscape')!= -1) {
				key= pressedKey.which;
		} else {
				key= pressedKey.keyCode;
		}
		var _content = '';
		var frmx=eval(field);
		var _value=eval(field+'.value');
		_content = _content + _value;
		
		if (key!=8 && _content.length==2 || _content.length==6){
				_content = _content + '.';
				frmx.value=_content;
		}
		else if (key!=8 && _content.length==10){
				_content = _content + '/';
				frmx.value=_content;
		}
		else if (key!=8 && _content.length==15){
				_content = _content + '-';
				frmx.value=_content;
		}

}

// ################################### //
// # 					VALIDA CNPJ
// ################################### //

function isCnpj(_field) {
	
		_value = eval(_field + ".value");
		CNPJ = _value;
		erro = new Boolean;

		if (CNPJ.length < 18) erro=true;
		if ((CNPJ.charAt(2) != ".") || (CNPJ.charAt(6) != ".") || (CNPJ.charAt(10) != "/") || (CNPJ.charAt(15) != "-")){
				erro=true;
		}
		//substituir os caracteres que nao sao numeros
		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=true; 
		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=true;
		}
		if (erro == true){
				if (_value == ""){
						return true;
				}else{
						alert("O CNPJ: \""+_value+"\" não é válido!");
						document.FORMDATA.cnpj.focus();
						return false;
				}
		} else {
				return true;
				//alert("CNPJ valido!");
		}
		return true;

}

// ################################### //
// # 					MASCARA CPF
// ################################### //

function cpfMask(field,pressedKey){

		if(navigator.appName.indexOf('Netscape')!= -1) {
				key= pressedKey.which;
		} else {
				key= pressedKey.keyCode;
		}

		var _content = '';
		//var frmx=eval(field);
		//var _value=eval(field+'.value');
		var frmx=field;
		var _value=field.value;
		_content = _content + _value;
		if (key!=8 && _content.length==3 || _content.length==7){
				_content = _content + '.';
				frmx.value=_content;
		}
		else if (key!=8 && _content.length==11){
				_content = _content + '-';
				frmx.value=_content;
		}
		else if (key!=8 && _content.length==15){
				_content = _content + '-';
				frmx.value=_content;
		}
		

}

// ################################### //
// # 					VALIDA CPF
// ################################### //

function isCpf(_field) {
	var i = 0;
	var n_checked = 0;
	var error = 0;
	var error_message = "";
	//var _value = eval("FORMDATA." + _field + ".value");
	//var _value = eval(_field + ".value");
	var _value = _field.value;
	var CPF = _value;
	CPF = CPF.replace(".","");
	CPF = CPF.replace(".","");
	CPF = CPF.replace("-","");
	
	if (CPF.length != 11 || CPF == "00000000000" || CPF == "11111111111" || CPF == "22222222222" || CPF == "33333333333" || CPF == "44444444444" || CPF == "55555555555" || CPF == "66666666666" || CPF == "77777777777" || CPF == "88888888888" || CPF == "99999999999") {
		error = 1;
	}
	soma = 0;
	for (i=0; i<9; i++) {
		soma += parseInt(CPF.charAt(i))*(10-i);
	}
	resto = 11-(soma%11);
	if (resto == 10 || resto == 11) {
		resto = 0;
	}
	if (resto != parseInt(CPF.charAt(9))) {
		error = 1;
	}
	soma = 0;
	for (i=0; i<10; i++) {
		soma += parseInt(CPF.charAt(i))*(11-i);
	}
	resto = 11-(soma%11);
	if (resto == 10 || resto == 11) {
		resto = 0;
	}
	if (resto != parseInt(CPF.charAt(10))) {
		error = 1;
	}
	if (error == 1) {
		if (_value == ""){
				return true;
		}else{
				error_message = "O CPF \""+ _value +"\" não é válido!";
				//document.FORMDATA.cpf.focus();
				_field.focus();
				alert(error_message);
				return false;
		}
	} else {
		return true;
	}
}

function ZipCodeSearch(CEP){
		CEP = CEP.replace("-","");
		if(CEP.length == 8){
					//var searching = window.open('zipcodesearch.php?CEP='+CEP+'','','width=300,height=100');
					//searching.focus();
					//window.showModalDialog('zipcodesearch.php?CEP='+CEP+'','','dialogWidth:300; dialogHeight:100');
					var _left = (screen.width-100)/2;
					var _top  = (screen.Height-100)/2;
					document.getElementById('PESQUISANDO').style.visibility = 'visible';
					document.getElementById('PESQUISANDO').style.left = _left;
					document.getElementById('PESQUISANDO').style.top = _top;
					document.getElementById('SEARCH').src = 'http://www.ocarreteiro.com.br/modules/zipcodesearch.php?CEP='+CEP+'';
		}else{
					alert('CEP inválido');
					document.FORMDATA.cep.blur();
					document.FORMDATA.cep.focus();
		}
		return false;
}

function TabEnter(){
		if(event.keyCode == 13)
				event.keyCode = 9;
		return false;
}
