//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.visc_din.elements.length

		for (i=0; i < n; i++){
			if (document.visc_din.elements[i].type=="text" && document.visc_din.elements[i].value!="" && document.visc_din.elements[i].name!=campnome && document.visc_din.elements[i].name!="camp_1"){
			document.visc_din.elements[i].value=""}	
		}
	}
	else {
	alert ("Esse é um campo calculado, não pode se editado.");
	camp.value="";
	}
}
//Fim da Verificação de Campos


//Verifica Campos do Formulario de Conversão de Viscosidade
var ro = 1000;
var cin_val, din_val;
function verifcampo2(camp2, form){
	obj_format.setValue(camp2.value, true, decSep, milSep, tipo);	
	if (camp2.name=="camp_1") {		
		ro = obj_format.setValue(camp2.value, true);
		if (tipo==3){
			obj_format.setValue(camp2.value, true, decSep, milSep, 2);
		}			
		camp2.value = obj_format.getValueFormat();
		
		if (ro<0 || isNaN(ro)) {
			document.visc_cin.camp_1.value = "1000";
			ro = 1000;
			if (!isNaN(ro)) {alert("Valor inválido para a densidade");}								
		}
		dincin(form, 1);
	}
	else if (camp2.name=="din") {
		din_val = obj_format.setValue(camp2.value, true);
		camp2.value = obj_format.getValueFormat();
		dincin(form, 1);
		dincin(form, 2);
	}
	else if (camp2.name=="cin") {
		cin_val = obj_format.setValue(camp2.value, true);
		camp2.value = obj_format.getValueFormat();
		dincin(form, 2);
	}
}
//Fim de Verifica 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]="1000"; fc[0][2]="1"; fc[0][3]="0.10197162129779283"; fc[0][4]="10"; fc[0][5]="10"; fc[0][6]="1000"; fc[0][7]="0.6719689496587742"; fc[0][8]="0.02088543378837124"; fc[0][9]="0.00014503774389728312"; fc[0][10]="10"; fc[0][11]="2419.088153749502"; fc[0][12]="0.6719689496587742"; fc[0][13]="0.02088543378837124";

fc[1][0]="0.001"; fc[1][1]="1"; fc[1][2]="0.001"; fc[1][3]="0.00010197162129779283"; fc[1][4]="0.01"; fc[1][5]="0.01"; fc[1][6]="1"; fc[1][7]="0.0006719689496587742"; fc[1][8]="0.00002088543378837124"; fc[1][9]="0.000000145"; fc[1][10]="0.01"; fc[1][11]="2.419088153749502"; fc[1][12]="0.0006719689496587742"; fc[1][13]="0.00002088543378837124";  

fc[2][0]="1"; fc[2][1]="1000"; fc[2][2]="1"; fc[2][3]="0.10197162129779283"; fc[2][4]="10"; fc[2][5]="10"; fc[2][6]="1000"; fc[2][7]="0.6719689496587742"; fc[2][8]="0.02088543378837124"; fc[2][9]="0.00014503774389728312"; fc[2][10]="10"; fc[2][11]="2419.088153749502"; fc[2][12]="0.6719689496587742"; fc[2][13]="0.02088543378837124";

fc[3][0]="9.80665"; fc[3][1]="9806.65"; fc[3][2]="9.80665"; fc[3][3]="1"; fc[3][4]="98.0665"; fc[3][5]="98.0665"; fc[3][6]="9806.65"; fc[3][7]="6.589764300171217"; fc[3][8]="0.20481613926073083"; fc[3][9]="0.0014223343911902915"; fc[3][10]="98.0665"; fc[3][11]="23723.150842967552"; fc[3][12]="6.589764300171217"; fc[3][13]="0.20481613926073083"; 

fc[4][0]="0.1"; fc[4][1]="100"; fc[4][2]="0.1"; fc[4][3]="0.010197162129779283"; fc[4][4]="1"; fc[4][5]="1"; fc[4][6]="100"; fc[4][7]="0.06719689496587742"; fc[4][8]="0.002088543378837124"; fc[4][9]="0.000014503774389728312"; fc[4][10]="1"; fc[4][11]="241.9088153749502"; fc[4][12]="0.06719689496587742"; fc[4][13]="0.002088543378837124"; 

fc[5][0]="0.1"; fc[5][1]="100"; fc[5][2]="0.1"; fc[5][3]="0.010197162129779283"; fc[5][4]="1"; fc[5][5]="1"; fc[5][6]="100"; fc[5][7]="0.06719689496587742"; fc[5][8]="0.002088543378837124"; fc[5][9]="0.000014503774389728312"; fc[5][10]="1"; fc[5][11]="241.9088153749502"; fc[5][12]="0.06719689496587742"; fc[5][13]="0.002088543378837124";
 
fc[6][0]="0.001"; fc[6][1]="1"; fc[6][2]="0.001"; fc[6][3]="0.00010197162129779283"; fc[6][4]="0.01"; fc[6][5]="0.01"; fc[6][6]="1"; fc[6][7]="0.0006719689496587742"; fc[6][8]="0.00002088543378837124"; fc[6][9]="0.000000145"; fc[6][10]="0.01"; fc[6][11]="2.419088153749502"; fc[6][12]="0.0006719689496587742"; fc[6][13]="0.00002088543378837124";

fc[7][0]="1.488164"; fc[7][1]="1488.164"; fc[7][2]="1.488164"; fc[7][3]="0.1517504958370086"; fc[7][4]="14.88164"; fc[7][5]="14.88164"; fc[7][6]="1488.164"; fc[7][7]="1"; fc[7][8]="0.031080950688237702"; fc[7][9]="0.00021583994910915643"; fc[7][10]="14.88164"; fc[7][11]="3600"; fc[7][12]="1"; fc[7][13]="0.031080950688237702"; 

fc[8][0]="47.88026"; fc[8][1]="47880.26"; fc[8][2]="47.88026"; fc[8][3]="4.882427740359858"; fc[8][4]="478.8026"; fc[8][5]="478.8026"; fc[8][6]="47880.26"; fc[8][7]="32.174048021589016"; fc[8][8]="1"; fc[8][9]="0.006944444887615329"; fc[8][10]="478.8026"; fc[8][11]="115826.56976444613"; fc[8][12]="32.174048021589016"; fc[8][13]="1"; 
 
fc[9][0]="6894.757"; fc[9][1]="6894757"; fc[9][2]="6894.757"; fc[9][3]="703.0695497443062"; fc[9][4]="68947.57"; fc[9][5]="68947.57"; fc[9][6]="6894757"; fc[9][7]="4633.06261944248"; fc[9][8]="144"; fc[9][9]="1"; fc[9][10]="68947.57"; fc[9][11]="16679024.981681455"; fc[9][12]="4633.06261944248"; fc[9][13]="144"; 

fc[10][0]="0.1"; fc[10][1]="100"; fc[10][2]="0.1"; fc[10][3]="0.010197162129779283"; fc[10][4]="1"; fc[10][5]="1"; fc[10][6]="100"; fc[10][7]="0.06719689496587742"; fc[10][8]="0.002088543378837124"; fc[10][9]="0.000014503774389728312"; fc[10][10]="1"; fc[10][11]="241.9088153749502"; fc[10][12]="0.06719689496587742"; fc[10][13]="0.002088543378837124";

fc[11][0]="0.0004133789"; fc[11][1]="0.4133789"; fc[11][2]="0.0004133789"; fc[11][3]="0.00004215291664329817"; fc[11][4]="0.004133789"; fc[11][5]="0.004133789"; fc[11][6]="0.4133789"; fc[11][7]="0.00027777778"; fc[11][8]="0.000008633597645459736"; fc[11][9]="0.00000006"; fc[11][10]="0.004133789"; fc[11][11]="1"; fc[11][12]="0.00027777778"; fc[11][13]="0.000008633597645459736"; 

fc[12][0]="1.488164"; fc[12][1]="1488.164"; fc[12][2]="1.488164"; fc[12][3]="0.1517504958370086"; fc[12][4]="14.88164"; fc[12][5]="14.88164"; fc[12][6]="1488.164"; fc[12][7]="1"; fc[12][8]="0.031080950688237702"; fc[12][9]="0.00021583994910915643"; fc[12][10]="14.88164"; fc[12][11]="3600"; fc[12][12]="1"; fc[12][13]="0.031080950688237702";

fc[13][0]="47.88026"; fc[13][1]="47880.26"; fc[13][2]="47.88026"; fc[13][3]="4.882427740359858"; fc[13][4]="478.8026"; fc[13][5]="478.8026"; fc[13][6]="47880.26"; fc[13][7]="32.174048021589016"; fc[13][8]="1"; fc[13][9]="0.006944444887615329"; fc[13][10]="478.8026"; fc[13][11]="115826.56976444613"; fc[13][12]="32.174048021589016"; 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";
				}
			}
			
			if (tipo!=3){
				obj_format.setValue(campovalor, false);
				form.elements[campnome].value = obj_format.getValueFormat();
				obj_format.setValue(ro, false);
				form.camp_1.value = obj_format.getValueFormat();			
			}
			
			if (form.d6.value!="") {
				din_val = obj_format.setValue(campovalor, false);
				form.din.value = form.d6.value;
			}
			else {
				din_val = obj_format.setValue(form.p6.value, false);
				form.din.value = form.p6.value;
			}
		}
		verfns=Math.round(1000000000000000*Math.tan(campovalor))/1000000000000000
		if (verfns==0.142465824387511){
		alert("1126185415.2151821")
		}
		dincin(form, 1);	
	}
}
//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.visc_din.elements.length
		
		for (i=0; i < n; i++){
		
			var valor3=document.visc_din.elements[i].value
			var nome3=document.visc_din.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.visc_din.elements[i].value=""}	
		}
	}
}
//Fim Exclui Resultado


//Zera valor de Variáveis
function limpa(form){
	campovalor="";
	campid="";
	conv=0;
	ro = 1000;
	document.config.dec.style.backgroundColor = "#FFFFFF";
	for (var i=0; i < document.visc_din.elements.length; i++){
		if (document.visc_din.elements[i].type=="text"){
			form.elements[i].style.backgroundColor = "#FFFFFF";
		}	
	}
}
//Fim de Zera valor de Variáveis


//Converte Viscosidade Din. <-> Cinem.
function dincin(form, op){
	if (tipo!=3){
		if (form.din.value=="" && form.d6.value!="") {form.din.value = form.d6.value;}	
		if (op==1 && !isNaN(din_val)) {
			cin_val = (din_val/ro)*1000;
			obj_format.setValue(cin_val, false);
			form.cin.value = obj_format.getValueFormat();		
		}
		if (op==2 && !isNaN(cin_val)) {
			din_val = (cin_val*ro)/1000;		
			obj_format.setValue(din_val, false);
			form.d6.value = obj_format.getValueFormat();
			verifcampo(form.d6);
			form.calcular.click();
		}
	}
	else {
		form.din.value = "";
		form.cin.value = "";
	}
}
//Fim de //Converte Viscosidade Din. <-> Cinem.


//Transfere para Memoria
function Transfere(form) {
	if (parent.frames[0].name!="iframewebcalc") {
		var cpresult;
		var opmemo = 0;
		
		for (var i = 0; i < form.opcaomemo.length; i++) {
			if (form.opcaomemo[i].checked) {
				opmemo = form.opcaomemo[i].value;
				break
			}
		}		
		
		cpresult = eval("form.p"+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 = ["Pa.s", "mPa.s", "N.s/m2", "kgf.s/m2", "dyn.s/cm2", "P", "cP", "pdl.s/ft2", "lbf.s/ft2", "lbf.s/in2", "g/(cm.s)", "lb/(ft.h)", "lb/(ft.s)", "slug/(ft.s)"];
			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("visc_dinamica_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


//Janela de Valores de Densidade
var opener_form;
function JanDensidade(){
		opener_form = "form_calc";
		winimp = window.open("densidade_tab.html","janela_imp","toolbar=0,location=no,directories=0,status=0,menubar=1,scrollbars=1,resizable=1,width=410,height=400,left=50,top=30");
}
//Fim de Janela de Valores de Densidade
