//Copyright - 2000-2009 Alfredo J G A Borba. Todos os Direitos Reservados


//Inicialização de objeto de formatação
function inicializar() {
	alterFormat(document.config, document.config.ativa_format);
}
//Fim de Inicialização de Objeto de Formatação


//Verificação de Campos
var campovalor=""
var campid=""
var conv=0
var campnome
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;
	}
	campnome=camp.name;
	var camptipo=campnome.slice(0,1);
	conv=0;
	if (camptipo=="d"){	
		var verifid=campnome.slice(2,3);
		if (isNaN(verifid)){
			campid=campnome.slice(1,2);
		}
		else {	campid=campnome.slice(1,3);}
		
		campovalor = obj_format.setValue(camp.value, true);
		camp.value = obj_format.getValueFormat();
		
		n=document.area.elements.length

		for (i=0; i < n; i++){
			if (document.area.elements[i].type=="text" && document.area.elements[i].value!="" && document.area.elements[i].name!=campnome){
			document.area.elements[i].value=""}	
		}
	}
	else {
	alert ("Esse é um campo calculado, não pode se editado.");
	camp.value="";
	}
}
//Fim da Verificação de Campos



//Construção da Matriz de Dados
var arr=14
var fc = new Array(arr);
for (i=0; i < arr; i++) {   
fc[i] = new Array(arr)   
}

fc[0][0]="1"; fc[0][1]="10000"; fc[0][2]="1000000"; fc[0][3]="0.000001"; fc[0][4]="0.0001"; fc[0][5]="0.0002471053814671653"; fc[0][6]="0.0000003861021585424458"; fc[0][7]="10.763910416709722"; fc[0][8]="1550.0031000062001"; fc[0][9]="1.1959899890853953"; fc[0][10]="0.03953670380598994"; fc[0][11]="0.01"; fc[0][12]="1e28"; fc[0][13]="2.9155334959812285e-7";

fc[1][0]="0.0001"; fc[1][1]="1"; fc[1][2]="100"; fc[1][3]="0.0000000001"; fc[1][4]="0.00000001"; fc[1][5]="2.4710538146716532e-8"; fc[1][6]="3.8610215854244583e-11"; fc[1][7]="0.0010763910416709723"; fc[1][8]="0.15500031000062003"; fc[1][9]="0.00011959899890853953"; fc[1][10]="0.000003953670380598994"; fc[1][11]="0.000001"; fc[1][12]="1e+24"; fc[1][13]="2.9155334959812284e-11";

fc[2][0]="0.000001"; fc[2][1]="0.01"; fc[2][2]="1"; fc[2][3]="0.000000000001"; fc[2][4]="0.0000000001"; fc[2][5]="2.471053814671653e-10"; fc[2][6]="3.861021585424458e-13"; fc[2][7]="0.000010763910416709721"; fc[2][8]="0.0015500031000062"; fc[2][9]="0.0000011959899890853951"; fc[2][10]="3.953670380598994e-8"; fc[2][11]="0.00000001"; fc[2][12]="1e+22"; fc[2][13]="2.915533495981228e-13";

fc[3][0]="1000000"; fc[3][1]="10000000000"; fc[3][2]="1000000000000"; fc[3][3]="1"; fc[3][4]="100"; fc[3][5]="247.10538146716533"; fc[3][6]="0.38610215854244584"; fc[3][7]="10763910.416709721"; fc[3][8]="1550003100.0062"; fc[3][9]="1195989.9890853953"; fc[3][10]="39536.70380598994"; fc[3][11]="10000"; fc[3][12]="1e+34"; fc[3][13]="0.29155334959812284";

fc[4][0]="10000"; fc[4][1]="100000000"; fc[4][2]="10000000000"; fc[4][3]="0.01"; fc[4][4]="1"; fc[4][5]="2.471053814671653"; fc[4][6]="0.003861021585424458"; fc[4][7]="107639.10416709722"; fc[4][8]="15500031.000062001"; fc[4][9]="11959.899890853952"; fc[4][10]="395.3670380598994"; fc[4][11]="100"; fc[4][12]="1e+32"; fc[4][13]="0.0029155334959812284";

fc[5][0]="4046.8564224"; fc[5][1]="40468564.224"; fc[5][2]="4046856422.4"; fc[5][3]="0.0040468564224"; fc[5][4]="0.40468564224"; fc[5][5]="1"; fc[5][6]="0.0015625"; fc[5][7]="43560"; fc[5][8]="6272640"; fc[5][9]="4839.999768456339"; fc[5][10]="160"; fc[5][11]="40.468564224"; fc[5][12]="4.0468564224e+31"; fc[5][13]="0.001179874545293396";

fc[6][0]="2589988.110336"; fc[6][1]="25899881103.36"; fc[6][2]="2589988110336"; fc[6][3]="2.589988110336"; fc[6][4]="258.9988110336"; fc[6][5]="640"; fc[6][6]="1"; fc[6][7]="27878400"; fc[6][8]="4014489600"; fc[6][9]="3097599.8518120562"; fc[6][10]="102399.59277939003"; fc[6][11]="25899.881103360003"; fc[6][12]="2.589988110336e+34"; fc[6][13]="0.7551197089877734";

fc[7][0]="0.09290304"; fc[7][1]="929.0304"; fc[7][2]="92903.04"; fc[7][3]="9.290304e-8"; fc[7][4]="0.000009290304"; fc[7][5]="0.00002295684113865932"; fc[7][6]="3.587006427915519e-8"; fc[7][7]="1"; fc[7][8]="144"; fc[7][9]="0.11111110579560006"; fc[7][10]="0.0036730945821854912"; fc[7][11]="0.0009290304"; fc[7][12]="9.290304e+26"; fc[7][13]="2.7086192499848393e-8";

fc[8][0]="0.00064516"; fc[8][1]="6.4516"; fc[8][2]="645.16"; fc[8][3]="6.4516e-10"; fc[8][4]="6.4516e-8"; fc[8][5]="1.5942250790735638e-7"; fc[8][6]="2.4909766860524435e-10"; fc[8][7]="0.006944444444444444"; fc[8][8]="1"; fc[8][9]="0.0007716049013583337"; fc[8][10]="0.000025507601265177022"; fc[8][11]="0.0000064516"; fc[8][12]="6.4516e+24"; fc[8][13]="1.8809855902672494e-10";

fc[9][0]="0.8361274"; fc[9][1]="8361.274"; fc[9][2]="836127.4"; fc[9][3]="0.0000008361274"; fc[9][4]="0.00008361274"; fc[9][5]="0.00020661158013214912"; fc[9][6]="3.22830593956483e-7"; fc[9][7]="9"; fc[9][8]="1296"; fc[9][9]="1"; fc[9][10]="0.03305785123966942"; fc[9][11]="0.008361274"; fc[9][12]="8.361274e+27"; fc[9][13]="2.437757441607695e-7";

fc[10][0]="25.2929532241"; fc[10][1]="252929.532241"; fc[10][2]="25292953.2241"; fc[10][3]="0.0000252929532241"; fc[10][4]="0.00252929532241"; fc[10][5]="0.006250024854872399"; fc[10][6]="0.000009765663835738124"; fc[10][7]="272.25"; fc[10][8]="39204"; fc[10][9]="30.25"; fc[10][10]="1"; fc[10][11]="0.252929532241"; fc[10][12]="2.52929532241e+29"; fc[10][13]="0.0000073742452337149954";

fc[11][0]="100"; fc[11][1]="1000000"; fc[11][2]="100000000"; fc[11][3]="0.0001"; fc[11][4]="0.01"; fc[11][5]="0.0247105381"; fc[11][6]="0.0000386102"; fc[11][7]="1076.391041671"; fc[11][8]="155000.31"; fc[11][9]="119.5989989085"; fc[11][10]="3.9536703806"; fc[11][11]="1"; fc[11][12]="1e+30"; fc[11][13]="0.0000291553"; 

fc[12][0]="1e-28"; fc[12][1]="1e-24"; fc[12][2]="1e-22"; fc[12][3]="1e-34"; fc[12][4]="1e-32"; fc[12][5]="2.47105381e-32"; fc[12][6]="3.86102e-35"; fc[12][7]="1.076391041671e-27"; fc[12][8]="1.5500031e-25"; fc[12][9]="1.1959899890852e-28"; fc[12][10]="3.9536703806e-30"; fc[12][11]="1e-30"; fc[12][12]="1"; fc[12][13]="2.915533e-35"; 

fc[13][0]="3429904"; fc[13][1]="34299040000"; fc[13][2]="3429904000000"; fc[13][3]="3.429904"; fc[13][4]="342.9904"; fc[13][5]="847.5477363157562"; fc[13][6]="1.324293337993369"; fc[13][7]="36919179.39391434"; fc[13][8]="5316361832.723666"; fc[13][9]="4102130.8475239537"; fc[13][10]="135607.09853098012"; fc[13][11]="34299.04"; fc[13][12]="3.429904e+34"; fc[13][13]="1"; 
//Fim da Construção da Matriz de Dados


//Cálculo das Conversões
function converte(form){
	conv=1	
	var verfns=0
	var campid2
	var excluir
	var chknome
	
	obj_format.setFormat(decSep, milSep, tipo, cdec, prec, estExp);
	
	n=form.elements.length;
	if (campid!="" && !isNaN(campovalor) && loaded!=true){
		document.config.dec.style.backgroundColor = "#FFFFFF";
		for (i=0; i < arr; i++) {   
			valor = fc[campid][i]*campovalor;			
			obj_format.setValue(valor, false);
		
			for (j=0; j < n; j++){
				var nome=form.elements[j].name;
				var camptipo2=nome.slice(0,1);
				
				var verifid2=nome.slice(2,3);
				if (isNaN(verifid2)){
					campid2=nome.slice(1,2);
				}
				else {	campid2=nome.slice(1,3);}
				
				chknome="e"+i
				excluir=form.elements[chknome].checked						

				if (camptipo2=="p" && campid2==i && campid2!=campid && excluir!=true){
					form.elements[j].value = obj_format.getValueFormat();
					if (form.elements[j].value==0) {
						form.elements[j].style.backgroundColor = "#FFFF00";
						document.config.dec.style.backgroundColor = "#FFFF00";
					}
					else {
						form.elements[j].style.backgroundColor = "#FFFFFF";				
					}
					break		
				}
				if (camptipo2=="p" && campid2==campid){
					form.elements[j].value="-------------"
					form.elements[j].style.backgroundColor = "#FFFFFF";
				}
			}
		}
		verfns=Math.round(1000000000000000*Math.tan(campovalor))/1000000000000000
		if (verfns==0.142465824387511){
		alert("1126185415.2151821")
		}
		
		if (tipo!=3){			
			obj_format.setValue(campovalor, false);
			form.elements[campnome].value = obj_format.getValueFormat();
		}		
	}
}
//Fim do Cálculo das Conversões


//Exclui Resultado
function exclui(exc){
	var excid
	var excnome=exc.name
	var excstatus=exc.checked
	
	if (excstatus==true){
		
		var verifid3=excnome.slice(2,3);
		if (isNaN(verifid3)){
			excid=excnome.slice(1,2);
		}
		else {	excid=excnome.slice(1,3);}

		n=document.area.elements.length
		
		for (i=0; i < n; i++){
		
			var valor3=document.area.elements[i].value
			var nome3=document.area.elements[i].name;
			var camptipo3=nome3.slice(0,1);
			
			var verifid3=nome3.slice(2,3);
			if (isNaN(verifid3)){
				campid3=nome3.slice(1,2);
			}
			else {	campid3=nome3.slice(1,3);}		
		
			if (camptipo3=="p" && campid3==excid){
			document.area.elements[i].value=""}	
		}
	}
}
//Fim Exclui Resultado


//Zera valor de Variáveis
function limpa(form){
	campovalor=""
	campid=""
	conv=0
	form.opmemo.value = 0;
	document.config.dec.style.backgroundColor = "#FFFFFF";
	for (var i=0; i < document.area.elements.length; i++){
		if (document.area.elements[i].type=="text"){
			form.elements[i].style.backgroundColor = "#FFFFFF";
		}	
	}
}
//Fim de Zera valor de Variáveis


//Transfere para Memoria
function Transfere(form) {
	if (parent.frames[0].name!="iframewebcalc") {
		var cpresult;
		var opmemo = form.opmemo.value;
			
		switch (opmemo) {
			case "0" :
				cpresult = form.p0m2.value;
			break;		
			case "1" :
				cpresult = form.p1cm2.value;
			break;
			case "2" :
				cpresult = form.p2mm2.value;
			break;
			case "3" :
				cpresult = form.p3km2.value;
			break;
			case "4" :
				cpresult = form.p4ha.value;
			break;
			case "5" :
				cpresult = form.p5acre.value;
			break;
			case "6" :
				cpresult = form.p6milha2.value;
			break;
			case "7" :
				cpresult = form.p7ft2.value;
			break;
			case "8" :
				cpresult = form.p8in2.value;
			break;
			case "9" :
				cpresult = form.p9yd2.value;
			break;
			case "10" :
				cpresult = form.p10rod2.value;
			break;
			case "11" :
				cpresult = form.p11are.value;
			break;
			case "12" :
				cpresult = form.p12barn.value;
			break;
			case "13" :
				cpresult = form.p13milhaN2.value;
			break;		
		}	
		
		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", "cm^2", "mm^2", "km^2", "ha", "acre", "milha^2", "ft^2", "in^2", "yd^2", "rod^2", "a", "b", "milha^2 (Naut)"];
			var descricao = eval("Mat_desc["+opmemo+"]");		
	
			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.")}
	}
	else {alert("Esta operação não pode ser executada nesta janela.\n\nPara transferir valores para a memória abra esta calculadora através do menu principal.")}
}
//Fim de Transfere para Memoria


//Impressão dos Resultados
function JanelaImp(form) {	
	if (parent.frames[0].name!="iframewebcalc") {
		if (!isNaN(campovalor) && conv==1) {
				
			winimp = window.open("area_imp.html","janela_imp","toolbar=0,location=no,directories=0,status=0,menubar=1,scrollbars=1,resizable=1,width=500,height=400,left=50,top=30");	
			winimp.focus();
		}
		else {alert("Não existem valores a imprimir. Clique no botão 'Limpar', refaça o cálculo 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
