pi=Math.PI;e=Math.E;ln2=Math.LN2;ln10=Math.LN10;sqrt2=Math.SQRT2;abs=Math.abs;pow=Math.pow;exp=Math.exp;sqrt=Math.sqrt;ln=Math.log;sin=Math.sin;sen=Math.sin;cos=Math.cos;tan=Math.tan;asin=Math.asin;asen=Math.asin;acos=Math.acos;atan=Math.atan;atan2=Math.atan2;floor=Math.floor;ceil=Math.ceil;random=Math.random;var saved_result=null;function comp_expression(form){try{var expr=prepare_expression(form.expression_input.value);if(!is_expression_safe(expr)||is_expression_empty(expr)){alert("Expressão inválida!");form.expression_result.value="";saved_result=null;return}else{var result=saved_result=eval(expr);if(form.expression_decs.selectedIndex<5){result=round(result,form.expression_decs.selectedIndex)}form.expression_result.value=result}}catch(err){alert("Expressão incorreta!\n"+err)}form.expression_input.focus()}function round(b,a){if(a==null){a=0}b=b*pow(10,a);b=Math.round(b);return b/pow(10,a)}function clear_calc(a){a.expression_input.value="";a.expression_result.value="";saved_result=null;a.expression_input.focus()}function prepare_expression(a){a=a.toLowerCase().replace(/[%]/g,"/100").replace(/mod/g,"%");a=remove_acentos(a);if(a.indexOf("conv")!=-1){a=prepare_convs(a)}return a}var torepl=null;function remove_acentos(a){var b;if(torepl==null){torepl={};var d=["áàãââéêíóõôúüç","aaaaaeeiooouuc"];for(b=0;b<d[0].length;b++){torepl[d[0].charAt(b)]=d[1].charAt(b)}}var f="";for(b=0;b<a.length;b++){var g=torepl[a.charAt(b)];if(g==null){g=a.charAt(b)}f+=g}return f}function calcular_exemplo(a){expr_input=document.getElementById("expression_input");expr_input.value=a;comp_expression(document.forms.calculator_alg);expr_input.focus()}caex=calcular_exemplo;function adjust_decimals(b){if(saved_result==null){return}var a=saved_result;if(b.expression_decs.selectedIndex<5){a=round(saved_result,b.expression_decs.selectedIndex)}b.expression_result.value=a}var allowed_array=["pv","fv","pmt","nper","rate","fatorial","radianos","graus","mmc","mdc","combinacao","arranjo","dias","diadasemana","media","mediageo","variancia","desviopadrao","projetadata","conv","abs","acos","asin","asen","atan","atan2","cos","exp","log","ln","pow","random","sin","sen","sqrt","tan","round","ceil","floor","pi","e","ln10","sqrt2","ln2","+","-","*","/","%","(",")","^","&","|",","," "];var allowed=null,allowedUnits=null;function is_expression_safe(f){if(allowed==null){allowed=new Object();var a=0;for(;a<allowed_array.length;a++){allowed[allowed_array[a]]="ok"}var c;allowedUnits={};for(c in alluns){if(c!="END"){allowedUnits[c]="ok"}}for(a=0;a<(convtbs.length-1);a++){for(c in convtbs[a]){if(c!="END"&&c!="UNIT"){allowedUnits[c]="ok"}}}}var b=0;var d="",h="";var g=false;for(;b<f.length;b++){d+=f.charAt(b);if(!isNaN(d+"1")){g=true}else{if(g){g=false;d=f.charAt(b);if(allowed[d]=="ok"){h=d;d=""}}else{if(isAllowed(d)||allowed[h+d]=="ok"){if(allowed[h+d]=="ok"){h=h+d}else{h=d}d=""}}}}return(d.length==0||g)}function isAllowed(a){if(a.indexOf("'")==-1){return allowed[a]=="ok"}else{if(a.length>1&&a.indexOf("'")==0&&a.lastIndexOf("'")==(a.length-1)){a=a.replace(/'*/g,"");return allowedUnits[a]=="ok"}}return false}function is_expression_empty(b){var a=0;for(;a<b.length;a++){if(b.charAt(a)!=" "){return false}}return true}function fv(d,a,c,f,b){if(isNaN(f)){f=0}if(isNaN(b)){b=0}return comp_fv(a,d,c,f,b)}function pv(d,a,c,f,b){if(isNaN(f)){f=0}if(isNaN(b)){b=0}return comp_pv(a,d,c,f,b)}function nper(c,b,d,f,a){if(isNaN(f)){f=0}if(isNaN(a)){a=0}return comp_np(c,b,f,d,a)}function pmt(c,a,d,f,b){if(isNaN(f)){f=0}if(isNaN(b)){b=0}return comp_pmt(a,c,f,d,b)}function rate(a,c,d,f,b){if(isNaN(f)){f=0}if(isNaN(b)){b=0}return comp_ir(a,0,c,d,f,b)}function fatorial(b,a){if(a==null){a=0}var c=b-a;if(c>50||c<0){throw"estourou o limite da função fatorial"}if(b==0||b==a){return 1}return b*fatorial(b-1,a)}function arranjo(b,a){if(b<a){throw"a funcao arranjo exige n > p"}return fatorial(b,b-a)}function combinacao(b,a){return arranjo(b,a)/fatorial(a)}function radianos(a){return a*Math.PI/180}function graus(a){return a*180/Math.PI}function mdc(){var b=eval_args(arguments);var g=b[0];var f,h,d;for(f=1;f<b.length;f++){h=b[f];while(h!=0){g-=h*Math.floor(g/h);d=h;h=g;g=d}}return g}function mmc(){var b=eval_args(arguments);var d=b[0];var c;for(c=1;c<b.length;c++){d*=b[c]/mdc(d,b[c])}return d}var months=[0,31,59,90,120,151,181,212,243,273,304,334];function leap_yearQ(a){if(a>4&&((a%4==0&&a%100!=0)||a%400==0)){return true}else{return false}}function dias(c,m,j,b,l,h){if(b==null){var g=new Date();b=g.getDate();l=g.getMonth()+1;h=g.getFullYear()}var d=1;if((j*10000+m*100+c)>(h*10000+l*100+b)){var k=j,a=m,f=c;j=h;m=l;c=b;h=k;l=a;b=f;d=-1}days=365-c-months[m-1];if(leap_yearQ(j)&&days>304){days++}for(i=j/1+1;i<h;i++){days+=365+leap_yearQ(i)}days+=b/1+months[l-1]-365*(j==h);return days*d}function diadasemana(f,a,b){var d=dias(17,5,2009,f,a,b);if(d>=0){return(d%7)+1}else{var c=(d%7)+8;if(c==8){c=1}return c}}function projetadata(f,d,a,b){var c=new Date();c.setHours(0);c.setMinutes(0);c.setSeconds(1);if(d!=null){c.setFullYear(b);c.setMonth(a-1);c.setDate(d)}c.setTime(c.getTime()+f*24*3600*1000);return c.getFullYear()*10000+(c.getMonth()+1)*100+c.getDate()}function media(){var b=eval_args(arguments);var d=0;var c=0;for(;c<b.length;c++){d+=b[c]}return d/b.length}function mediageo(){var c=eval_args(arguments);var b=1;var d=0;for(;d<c.length;d++){b*=c[d]}return pow(b,1/c.length)}function variancia(){var c=eval_args(arguments);var d=0,f=0,b=0,g=c.length;for(d=0;d<g;d++){f=f+c[d];b=b+(c[d]*c[d])}return(b-((f*f)/g))/g}function eval_args(a){if(a.length==1&&isNaN(a[0])){a=a[0]}return a}function desviopadrao(){return sqrt(variancia(arguments))}function log(c,a){if(a==null){a=10}return ln(c)/ln(a)};