function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function textCounter(campo, maxlimit){ //Esta função que irá contar, mostrar e restringir o tamanho do campo  
	if (campo.value.length > maxlimit) { //se passar do limite não deixará entrar o caracter  
		campo.value = campo.value.substring(0, maxlimit);
	}
	elMax			= document.getElementById("max_" + campo.id);
	elMax.innerHTML	= "Caracteres restantes: " + (maxlimit - campo.value.length);
}


function sh()  {
	var o			= document.getElementById("detalhamento");
	o.style.display	= (o.style.display=="block")?"none":"block";
}


/* MONTAGEM DE DADOS DA CALCULADORA */

function montaDados()  {
	formz			= "gasolina10|gasolina15|gas10|gas15|dies1|dies2";
	titles			= "GASOLINA - veículos 1.0 a 1.4|GASOLINA - veículos 1.5 a 2.0|GNV - veículos 1.0 a 1.4|GNV - veículos 1.5 a 2.0|DIESEL - veículos 1.0 a 1.4|DIESEL - veículos 1.5 a 2.0";
	formularios		= formz.split("|");
	tituos			= titles.split("|");
	enviar 			= false;
	strOut			= "";
	for ( i=0; i<formularios.length; i++ )  {
		formulario	= document.forms[formularios[i]];
		if ( formulario.vehicles.value != "" )  {
			enviar	= true;
			strOut += "** " 											+ tituos[i]						+	"\n\n";
			strOut += "Quantidade de veículos: " 						+ formulario.vehicles.value		+	"\n";
			strOut += "Percurso diário por veículo (km): " 				+ formulario.kmday.value		+	"\n";
			strOut += "Quantos dias ao ano eles rodam: " 				+ formulario.ridedaysyear.value	+ 	"\n";
			strOut += "Nº de anos para neutralização: " 				+ formulario.numberyears.value	+	 "\n";
			strOut += "---------------------------------------------------\n";
			strOut += "Números gerados pela calculadora:\n";
			strOut += "Emissão de gás carbônico por dia (kg): "			+ formulario.carbonday.value	+ 	"\n";
			strOut += "Percurso anual total (km): " 					+ formulario.rideperyear.value	+ 	"\n";
			strOut += "CO2 a ser neutralizado por ano (ton): "			+ formulario.carbonyear1.value	+ 	"\n";
			strOut += "CO2 a ser neutralizado pelo n° de anos (ton): "	+ formulario.carbonyear2.value	+ 	"\n";
			strOut += "===================================================\n\n";
		}
	}
	if ( enviar )  {
		document.forms['neutralizacao'].conteudo.value=strOut;
		document.forms['neutralizacao'].submit();
	}
	else  {
		alert("Você não informou dados de nenhum tipo de veículo.");
	}
}


/* CARRINHO DE COMPRAS */

function apagar(n)  {
	var dv				= confirm("Tem certeza que deseja excluir este produto de sua lista de cotação?");
	if (dv)
		GTR_AjaxClick("ajxManCarrinho.php?codorcamento_x_produto=" + n + "&acao=exc", "conteudo");
}

var qtdAct;

function do_submit(tp)  {
	var objForm			= document.forms['carrinho'];
	el					= objForm.elements;
	tudocerto			= true;
	if ( tp != "S" )  {
		for (i=0; i<el.length; i++)  {
			if ( el[i].name.substring(0,4) == "qtd_" )  {
				if ( isNaN(el[i].value) || el[i].value.length <= 0 || el[i].value <= 0 )  {
					tudocerto= false;
					alert("O produto precisa ter uma quantidade válida:\nSomente números inteiros.");
					break;
				}
			}
		}
	}
	if ( tudocerto )  {
		objForm.opt.value	= tp;
		objForm.submit();
	}
}


function limitaquantidade(num)  {
	obj		= document.getElementById("mensagem");
	obj.style.display="block";
	objNum	= document.getElementById("numero");
	objNum.innerHTML = num;
}
function fechaqtdlimite()  {
	obj		= document.getElementById("mensagem");
	obj.style.display="none";
}

/* CADASTRO DE USUÁRIOS */

function testaCamposUser(o, from)  {
	if ( from == "" )  {
		// TESTA AS SENHAS
		if ( o.elements['nn_dessenha'].value == "" || o.elements['nn_dessenha'].value != o.elements['nn_dessenha2'].value )  {
			alert("Você precisa digitar senhas iguais!");
			o.elements['nn_dessenha'].focus();
			return false;
		}
	}
	// TESTA OS CAMPOS
	for ( i=0; i<o.elements.length; i++ )  {
		if ( o.elements[i].name.substring(0,3) == "nn_" )  {
			res = gtr_testaTipo(o.elements[i]);
			if (!res)  {
				return false;
			}
		}
	}
	return true;
}

var idevalidar	= false;
function valida()  {
	if ( idevalidar )  {
		objForm	= document.forms['endereco_form'];
		if ( objForm.intdistancia.value == "" || isNaN(objForm.intdistancia.value) )  {
			alert("Você precisa informar a distância em quilômetros!");
			objForm.intdistancia.focus();
		}
		else  {
			if ( parseInt(objForm.intdistancia.value) > 0 )  {
				GTR_AjaxClick("ajxCadPagamento.php?intdistancia=" + objForm.intdistancia.value, "conteudo");
			}
			else  {
				alert("A quilometragem precisa ser maior que zero!");
				objForm.intdistancia.focus();
			}
		}
	}
	else  {
		GTR_AjaxClick("ajxCadPagamento.php", "conteudo");
	}
}

// ******************************** cadastro de produtores de guanandi ********************************
// ******************************** adicionado por Karina 01/04/2009 ********************************
// *********************************** cadProdutor.php ********************************************
function ValidaCampos(){

	erro = false;

	if($("nome").value == ""){
		alert("O campo Nome é obrigatório.");
		$("nome").focus();		
		erro = true;
	} else if($("email").value == ""){
		alert("O campo Email é obrigatório.");
		$("email").focus();		
		erro = true;
	} else if(!ValidaEmail($("email").value)){
		erro = true;
		alert('Email Inválido!');
		$("email").value = '';
		$("email").focus();
	} else if($("telefone").value == ""){
		alert("O campo Telefone é obrigatório.");
		$("telefone").focus();		
		erro = true;
	} else if(($("codestado").value == -1) || ($("codestado").value == "")){
		alert("O campo Estado é obrigatório.");
		erro = true;
	} else if(($("codcidade").value == -1) || ($("codcidade").value == "")){
		alert("O campo Município é obrigatório.");
		erro = true;
	} else if($("nome_prop").value == ""){
		alert("O campo Nome da Propriedade é obrigatório.");
		$("nome_prop").focus();		
		erro = true;
	} else if($("area_total").value == ""){
		alert("O campo Área Total é obrigatório.");
		$("area_total").focus();		
		erro = true;
	} else if($("telefone_prop").value == ""){
		alert("O campo Telefone da Propriedade é obrigatório.");
		$("telefone_prop").focus();		
		erro = true;
	} else if(($("cod_estado_prop").value == -1) || ($("cod_estado_prop").value == "")){
		alert("O campo Estado da Propriedade é obrigatório.");
		erro = true;
	} else if(($("cod_cidade_prop").value == -1) || ($("cod_cidade_prop").value == "")){
		alert("O campo Cidade da Propriedade é obrigatória.");
		erro = true;
	} else if($("latitude").value == ""){
		alert("O campo Latitude da Propriedade é obrigatório.");
		$("latitude").focus();		
		erro = true;
	} else if($("longitude").value == ""){
		alert("O campo Longitude da Propriedade é obrigatório.");
		$("longitude").focus();		
		erro = true;
	}
	
	if (erro){
		return false;
	} else {
		if (validaCamposBloco(1))  {
			return true;
		}
		else  {
			return false;
		}
	}
}

function $(campo){
	return document.getElementById(campo);
}

function $$(campo){
	return document.getElementsByName(campo);
}

function insereBlocoTabela(){

	var qtde_blocos = ($("qtde_blocos").value) ? $("qtde_blocos").value : 1;

	if(validaCamposBloco(qtde_blocos)){

		var newdiv = document.createElement('div');
		
		var campos_listagem = '';

		campos_listagem += '<table width="100%" border="0" cellspacing="0" cellpadding="0" id="listagem_plantios">';
		campos_listagem += '<tr>';
		campos_listagem += '<td class="lbl" width="175"><label>* Espécie:&nbsp;</label></td>';
		campos_listagem += '<td class="inp"><input type="text" name="desespecie[]" /></td>';
		campos_listagem += '</tr>';
		campos_listagem += '<tr>';
		campos_listagem += '<td class="lbl"><label>Data de plantio:&nbsp;</label></td>';
		campos_listagem += '<td class="inp"><input type="text" maxlength="10" name="datplantio[]" onkeypress="formata(this, \'data\');" /></td>';
		campos_listagem += '</tr>';
		campos_listagem += '<tr>';
		campos_listagem += '<td class="lbl"><label>Área:&nbsp;</label></td>';
		campos_listagem += '<td class="inp"><input type="text" name="area[]" onkeypress="formata(this, \'decimal\');" /> ha</td>';
		campos_listagem += '</tr>';
		campos_listagem += '<tr>';
		campos_listagem += '<td class="lbl"><label>* N&ordm; de árvores plantadas:&nbsp;</label></td>';
		campos_listagem += '<td class="inp"><input type="text" name="arvores_plantadas[]" onkeypress="formata(this, \'inteiro\');" /></td>';
		campos_listagem += '</tr>';
		campos_listagem += '<tr>';
		campos_listagem += '<td class="lbl"><label>Procedências das mudas ou sementes:&nbsp;</label></td>';
		campos_listagem += '<td class="inp"><input type="text" name="procedencias_mudas[]" /></td>';
		campos_listagem += '</tr>';
		campos_listagem += '</table>';
		campos_listagem += '<input type="hidden" name="n_bloco" value="'+qtde_blocos+'">';
		campos_listagem += '<hr />';
		
		$("qtde_blocos").value = parseInt(qtde_blocos) + 1;
		
		newdiv.innerHTML = campos_listagem;
		
		document.getElementById("reg_adicional").appendChild(newdiv);
	}
	//$("reg_adicional").innerHTML += campos_listagem;
}

function validaCamposBloco(qtde_blocos){
	
	i = parseInt(qtde_blocos) - 1;
	
	var erro = false;

	if($$("desespecie[]")[i].value == ""){
		erro = true;
		alert('O campo Espécie é obrigatório!');
		$$("desespecie[]")[i].focus();
	}else if($$('datplantio[]')[i].value == ""){
		erro = true;
		alert('O campo \'Data de plantio\' é obrigatório!');
		$$('datplantio[]')[i].focus();
	}else if($$('area[]')[i].value == ""){
		erro = true;
		alert('O campo \'Área\' é obrigatório!');
		$$('area[]')[i].focus();
	}else if($$('arvores_plantadas[]')[i].value == ""){
		erro = true;
		alert('O campo \'Nº de árvores plantadas\' é obrigatório!');
		$$('arvores_plantadas[]')[i].focus();
	}else if($$('procedencias_mudas[]')[i].value == ""){
		erro = true;
		alert('O campo \'Procedências das mudas\' é obrigatório!');
		$$('procedencias_mudas[]')[i].focus();
	}
	
	if(!erro){
		return true;	
	} else {
		return false;
	}
}

function formata(o, f) {
    v_obj = o;
    v_fun = eval('formata_' + f);
    setTimeout("executa()", 1);
}

function executa(){
    v_obj.value = v_fun(v_obj.value);
}

function formata_inteiro(v){
    return v.replace(/\D/g,"");         //Remove tudo o que não é dígito
}

function formata_telefone(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 formata_data(v){
    v = v.replace(/\D/g,"");              // Remove tudo o que não é dígito
    v = v.replace(/(\d{2})(\d)/,"$1/$2"); // Coloca barra entre o segundo e o terceiro digito
    v = v.replace(/(\d{2})(\d)/,"$1/$2"); // Coloca barra entre o quinto e o sexto digito
    return v;
}

function formata_decimal(v) {
    v = v.replace(",", ".");        // Troca eventual vírgula por ponto
    v = v.replace(/[^\d.]/g,"");    // Elimina todos os caracteres que não são ponto decimal e números

    // Mantem somente o primeiro ponto decimal. Os demais serão ignorados
    aux = "";
    for (i = 0; i < v.split(".").length; i++) {
        if (i ==  1) {
            aux = aux + ".";
        }
        aux = aux + v.split(".")[i];
    }

    return aux;
}

function ValidaEmail(emailStr) {
    var emailPat=/^(.+)@(.+)$/;
    var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]";
    var validChars="\[^\\s" + specialChars + "\]";
    var quotedUser="(\"[^\"]*\")";
    var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
    var atom=validChars + '+';
    var word="(" + atom + "|" + quotedUser + ")";
    var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
    var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
    var matchArray=emailStr.match(emailPat);
    if (matchArray==null) {
        return false;
    }
    var user=matchArray[1];
    var domain=matchArray[2];
    if (user.match(userPat)==null) {
        return false;
    }
    var IPArray=domain.match(ipDomainPat);
    if (IPArray!=null) {
        for (var i=1;i<=4;i++) {
            if (IPArray[i]>255) {
                return false;
            }
        }
        return true;
    }
    var domainArray=domain.match(domainPat);
    if (domainArray==null) {
        return false;
    }
    var atomPat=new RegExp(atom,"g");
    var domArr=domain.match(atomPat);
    var len=domArr.length;
    if (domArr[domArr.length-1].length<2 || domArr[domArr.length-1].length>3) {
       return false;
    }
    if (len<2) {
        return false;
    }
    return true;
}

// ************************************************************ fim cadastro de produtores ****************************************************************
