//Copyright - 2000-2008 Alfredo J G A Borba. Todos os Direitos Reservados


//Inicialização de objeto de formatação
var est_exp_html;
function inicializar() {	
	est_exp_html = "html";	
	alterFormat(document.config, document.config.ativa_format);
}
//Fim de Inicialização de Objeto de Formatação


//Recebe Valores
var fator, desc, bracas, metros, uf, tp;
function recebeVal(fat, des, brac, met, est, tip){
	var quant = obj_format.setValue(document.area_agri.quant.value, false);
	var quant_ob = document.getElementById("quant");
	
	fator = fat;
	desc = des;
	bracas = brac;
	metros = met;
	uf = est;
	tp = tip;
	
	quant_ob.style.backgroundColor = "#FFFFFF";
	quant_ob.style.border = "solid 1 #336699";		
	document.area_agri.quant.value = (!isNaN(quant))? obj_format.getValueFormat() : 1;
	converte();
}
//Fim de Recebe Valores


//Verificação de Campos
var campovalor = 1;
function verifcampo(camp){
	if (!obj_format_loaded) {
		camp.value = "";
		alert ("Página Carregando...\n\nAguardar o carregamento total da página e tentar novamente");
		return;
	}
	campovalor = camp.value;
	var verfns = Math.round(1000000000000000*Math.tan(campovalor))/1000000000000000
	if (verfns==0.142465824387511){alert("1126185415.2151821");}
	
	campovalor = obj_format.setValue(camp.value, true);
	camp.value = obj_format.getValueFormat();
	
	if (campovalor<0){
		alert("O valor não pode ser negativo");
		camp.value = "";
		campovalor = "";
	}
	
	document.area_agri.camp_1.value = "";
	document.area_agri.camp_2.value = "";
	document.area_agri.camp_3.value = "";
	document.area_agri.camp_4.value = "";
	document.area_agri.camp_5.value = "";
	document.area_agri.camp_6.value = "";
}
//Fim da Verificação de Campos


//Cálculo das Conversões
var hist_memo = "";
var imp_dados = new Array();
var excel_dados = new Array();
function converte(){
	var fator_calc = fator;
	var m2 = 0, ha = 0, acre = 0;
	var m2_txt, m2_htm, m2_ex, ha_txt, ha_htm, ha_ex, acre_txt, acre_htm, acre_ex, quant_txt, quant_htm, quant_ex, result_text, unid_txt, unid_txt2, unid_txt3, desc_text, desc_text2, imp_dados_id;
	var form = document.area_agri;
	var quant = obj_format.setValue(campovalor, false, decSep, milSep, tipo, cdec, prec, estExp);	
	if (!isNaN(quant) && loaded!=true){
		quant_txt = obj_format.getValueFormat();
		form.quant.value = quant_txt;
		
		hist_memo = form.hist.value;
		desc_text = (quant==1)? desc : "Unid. de "+desc;
		desc_text2 = (quant==1)? "equivale a:" : "equivalem a:";
		fator_calc = (quant==1)? fator_calc : fator_calc*quant;		
		m2_ex = obj_format.setValue(fator_calc, false, decSep, milSep, tipo, cdec, prec);
		m2_txt = obj_format.getValueFormat();
		m2_htm = obj_format.getValueFormat(est_exp_html);		
				
		ha = fator_calc/10000;
		ha_ex = obj_format.setValue(ha, false, decSep, milSep, tipo, cdec, prec);
		ha_txt = obj_format.getValueFormat();
		ha_htm = obj_format.getValueFormat(est_exp_html);
		
		acre = fator_calc/4046.8564224;
		acre_ex = obj_format.setValue(acre, false, decSep, milSep, tipo, cdec, prec);
		acre_txt = obj_format.getValueFormat();
		acre_htm = obj_format.getValueFormat(est_exp_html);		
		
		document.area_agri.desc.value = '"'+desc_text+'" '+desc_text2;
		form.camp_1.value = m2_txt;		
		form.camp_2.value = (tp==1)? ha_txt : "-";
		form.camp_3.value = (tp==1)? acre_txt : "-";		
		form.camp_4.value = (tp==1)? bracas : "-";
		form.camp_5.value = (tp==1)? metros : "-";
		form.camp_6.value = uf;
		document.getElementById("bracas_txt").innerHTML = (tp==1)? "Dim. em Braças por "+desc : "Dim. em Braças por Unidade";
		document.getElementById("metros_txt").innerHTML = (tp==1)? "Dim. em Metros por "+desc : "Dim. em Metros por Unidade";
		
		if (tp==0) {
			document.getElementById("m_unid").innerHTML = "m";
			unid_txt = " m";
			unid_txt2 = "m";
			unid_txt3 = "m";
		}
		else {
			document.getElementById("m_unid").innerHTML = "m<sup>2</sup>";
			unid_txt = " m^2";
			unid_txt2 = "m<sup>2</sup>";
			unid_txt3 = "m2";
		}
		
		if (form.ativ_hist.checked) {						
			result_text = quant_txt+" "+desc_text+" "+desc_text2+"\n"+m2_txt+unid_txt;
			if (tp==1) {result_text += "  -  "+ha_txt+" ha  -  "+acre_txt+" acres";}
			result_text += "\n-Dimensões de uma unidade de "+desc+":\n-Braças: "+bracas+"\n-Metros: "+metros+"\nConversões para o(s) Estado(s): "+uf+"\n--------------------------------------------\n\n"
						
			form.hist.value += result_text;
			
			obj_format.setValue(quant, false);
			quant_htm = obj_format.getValueFormat(est_exp_html);
			quant_ex = obj_format.getValue();
			
			imp_dados_id = (imp_dados.length>0)? imp_dados.length-1 : imp_dados.length;			
			imp_dados[imp_dados_id] = ["", "", "", "", "", "", "", "", "", "", "", "", ""];			
			imp_dados[imp_dados_id][0] = quant_htm;
			imp_dados[imp_dados_id][1] = desc_text;
			imp_dados[imp_dados_id][2] = desc_text2;
			imp_dados[imp_dados_id][3] = m2_htm;
			imp_dados[imp_dados_id][4] = unid_txt;
			imp_dados[imp_dados_id][5] = unid_txt2;
			imp_dados[imp_dados_id][6] = ha_htm;
			imp_dados[imp_dados_id][7] = acre_htm;
			imp_dados[imp_dados_id][8] = bracas;
			imp_dados[imp_dados_id][9] = metros;
			imp_dados[imp_dados_id][10] = uf;
			imp_dados[imp_dados_id][11] = desc;
			imp_dados[imp_dados_id][12] = unid_txt3;
			imp_dados.length++
			
			excel_dados[imp_dados_id] = ["", "", "", "", "", "", "", "", "", "", "", "", ""];			
			excel_dados[imp_dados_id][0] = quant_ex;
			excel_dados[imp_dados_id][1] = desc_text;
			excel_dados[imp_dados_id][2] = desc_text2;
			excel_dados[imp_dados_id][3] = m2_ex;
			excel_dados[imp_dados_id][4] = unid_txt;
			excel_dados[imp_dados_id][5] = unid_txt2;
			excel_dados[imp_dados_id][6] = ha_ex;
			excel_dados[imp_dados_id][7] = acre_ex;
			excel_dados[imp_dados_id][8] = bracas;
			excel_dados[imp_dados_id][9] = metros;
			excel_dados[imp_dados_id][10] = uf;
			excel_dados[imp_dados_id][11] = desc;
			excel_dados[imp_dados_id][12] = unid_txt3;
			excel_dados.length++						
		}
	}
}
//Fim do Cálculo das Conversões


//Ativa Histórico
function ativHist(form) {
	if (form.ativ_hist.checked) {
		form.hist.disabled = false;
		form.hist.className = "bgCinza";
	}
	else {
		form.hist.disabled = true;
		form.hist.className = "bgCinzaEscuro";
	}

}
//Fim de Ativa Histórico


//Desfazer
function desfazer(form) {
	//form.hist.value = hist_memo;
	var hist_text = "";
	form.hist.value = "";
	imp_dados.pop();
	excel_dados.pop();
	
	for (var j = 0; j < imp_dados.length-1; j++) {
		hist_text = imp_dados[j][0]+" "+imp_dados[j][1]+" "+imp_dados[j][2]+"\n"+imp_dados[j][3]+imp_dados[j][4];
		if (tp==1) {hist_text += "  -  "+imp_dados[j][6]+" ha  -  "+imp_dados[j][7]+" acres";}
		hist_text += "\n-Dimensões de uma unidade de "+imp_dados[j][11]+":\n-Braças: "+imp_dados[j][8]+"\n-Metros: "+imp_dados[j][9]+"\nConversões para o(s) Estado(s): "+imp_dados[j][10]+"\n--------------------------------------------\n\n"
					
		form.hist.value += hist_text;
	}	
}
//Fim de Desfazer


//Limpar
function limpa(form){
	var iframe_ob = document.getElementById("area_agric");
	var quant_ob = document.getElementById("quant");

	quant_ob.style.backgroundColor = "#DDDDDD";
	quant_ob.style.border = "none";
	document.getElementById("bracas_txt").innerHTML = "Dim. em Braças por Unidade";
	document.getElementById("metros_txt").innerHTML = "Dim. em Metros por Unidade";
	iframe_ob.contentWindow.document.coef.selec[0].checked = true;
	iframe_ob.contentWindow.document.coef.selec[0].checked = false;
	form.hist.disabled = false;
	form.hist.className = "bgCinza";
	imp_dados = new Array();
	excel_dados = new Array();
}
//Fim Limpar


//Transfere para Memoria
function Transfere(form) {
	var cpresult;
	var opmemo = 1;
	
	var i;
	for (i = 0; i < document.area_agri.memo_op.length; i++) {
		if (document.area_agri.memo_op[i].checked)
			break;
	}
	
	opmemo = i+1;
	cpresult = eval("document.area_agri.camp_"+opmemo+".value");
	var resultmemo = obj_format.setValue(cpresult, false);
	
	if (!isNaN(resultmemo) && cpresult!="") {
		var memonr = form.memonr.options[form.memonr.selectedIndex].value;
		var operacao = form.operacao.options[form.operacao.selectedIndex].value;		
		var valormemo = eval("parent.frames['frame_menu'].document.memo.memotemp"+memonr+".value");
		var Mat_desc = [ "m^2", "ha", "acre"];
		if (tp==0) {Mat_desc[0] = "m";}
		var descricao = eval("Mat_desc["+i+"]");		

		valormemo = parseFloat(valormemo);
		if (isNaN(valormemo)) {valormemo=0;}
			
		switch (operacao) {
			case "1" :
eval("parent.frames['frame_menu'].document.memo.memotemp"+memonr+".value = resultmemo");			
eval("parent.frames['frame_menu'].document.memo.memodesc"+memonr+".value = descricao");
if (is.ie4) {parent.frames["frame_menu"].document.images["memoled"].src = "imagens/ledmemo2.gif";}			
			break;
			case "2" :
eval("parent.frames['frame_menu'].document.memo.memotemp"+memonr+".value = valormemo+resultmemo");
eval("parent.frames['frame_menu'].document.memo.memodesc"+memonr+".value = 'Soma'");
if (is.ie4) {parent.frames["frame_menu"].document.images["memoled"].src = "imagens/ledmemo2.gif";}
			break;
			case "3" :
eval("parent.frames['frame_menu'].document.memo.memotemp"+memonr+".value = valormemo-resultmemo");
eval("parent.frames['frame_menu'].document.memo.memodesc"+memonr+".value = 'Subtração'");
if (is.ie4) {parent.frames["frame_menu"].document.images["memoled"].src = "imagens/ledmemo2.gif";}
			break;
			case "4" :
eval("parent.frames['frame_menu'].document.memo.memotemp"+memonr+".value = valormemo*resultmemo");
eval("parent.frames['frame_menu'].document.memo.memodesc"+memonr+".value = 'Multiplicação'");
if (is.ie4) {parent.frames["frame_menu"].document.images["memoled"].src = "imagens/ledmemo2.gif";}
			break;
			case "5" :
eval("parent.frames['frame_menu'].document.memo.memotemp"+memonr+".value = valormemo/resultmemo");
eval("parent.frames['frame_menu'].document.memo.memodesc"+memonr+".value = 'Divisão'");
if (is.ie4) {parent.frames["frame_menu"].document.images["memoled"].src = "imagens/ledmemo2.gif";}
			break;
		}
	}
	else {alert("Não existe resultado a transferir.")}
}
//Fim de Transfere para Memoria


//Impressão dos Resultados
function JanelaImp(form) {	
	if (parent.frames[0].name!="iframewebcalc") {
		if (form.hist.value!="") {
				
			winimp = window.open("area_agri_imp.html","janela_imp","toolbar=0,location=no,directories=0,status=0,menubar=1,scrollbars=1,resizable=1,width=700,height=400,left=50,top=30");	
			winimp.focus();
		}
		else {alert("Não existem valores a imprimir no campo de histórico. Clique no botão 'Limpar', refaça as conversões e tente novamente.")}
	}
		else {alert("Esta operação não pode ser executada nesta janela.\n\nPara imprimir os resultados abra esta calculadora através do menu principal.")}
}
//Fim de Impressão dos Resultados
