//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
var arr=5
var fc = new Array(arr);
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.temp.elements.length

		for (i=0; i < n; i++){
			if (document.temp.elements[i].type=="text" && document.temp.elements[i].value!="" && document.temp.elements[i].name!=campnome){
			document.temp.elements[i].value=""}	
		}
		
		for (i=0; i < arr; i++) {   
			fc[i] = new Array(arr)   
		}
		
		fc[0][0]=campovalor; fc[0][1]=9*campovalor/5+32; fc[0][2]=1*campovalor+273.15; fc[0][3]=4*campovalor/5; fc[0][4]=1.8*(1*campovalor+273.15);
		
		fc[1][0]=5*(campovalor-32)/9; fc[1][1]="1"; fc[1][2]=5*(campovalor-32)/9+273.15; fc[1][3]=4*(campovalor-32)/9;  fc[1][4]=1.8*(5*(campovalor-32)/9+273.15);
		
		fc[2][0]=1*campovalor-273.15; fc[2][1]=9*(campovalor-273.15)/5+32; fc[2][2]="1"; fc[2][3]=4*(campovalor-273.15)/5;  fc[2][4]=1.8*campovalor;
		
		fc[3][0]=5*campovalor/4; fc[3][1]=9*campovalor/4+32; fc[3][2]=5*campovalor/4+273.15; fc[3][3]="1";  fc[3][4]=1.8*(5*campovalor/4+273.15);

		fc[4][0]=campovalor/1.8-273.15; fc[4][1]=9*(campovalor/1.8-273.15)/5+32; fc[4][2]=campovalor/1.8; fc[4][3]=4*(campovalor/1.8-273.15)/5;  fc[4][4]="1";		
		
	}
	else {
		alert ("Esse é um campo calculado, não pode se editado.");
		camp.value="";
	}
}
//Fim da Verificação de Campos



//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){		
		for (i=0; i < arr; i++) {   
			valor = fc[campid][i];			
			obj_format.setValue(valor, false);

			if (i==0 && valor<-273.15) {
				campovalor="NA";
				alert ("Não existe temperatura inferior a zero Kelvin!\n\nTente outro valor.");				
				break;			
			}

			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 (camptipo2=="p" && campid2==campid){
					form.elements[j].value="-------------";
				}				
			}
		}
		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.temp.elements.length
		
		for (i=0; i < n; i++){
		
			var valor3=document.temp.elements[i].value
			var nome3=document.temp.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.temp.elements[i].value=""}	
		}
	}
}
//Fim Exclui Resultado



//Zera valor de Variáveis
function limpa(form){
	campovalor=""
	campid=""
	conv=0
	document.config.dec.style.backgroundColor = "#FFFFFF";
	for (var i=0; i < document.temp.elements.length; i++){
		if (document.temp.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 = 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 = [ "°C", "°F", "K", "°R", "°Rankine"];
			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("temperatura_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