';document.write(s);init();go();}
function init(){var s='';s+=getFieldsHTML();var div=document.getElementById('heronflds');div.innerHTML=s;this.ans1=document.getElementById('heron1');this.ans2=document.getElementById('heron2');}
function go(){var a=+document.getElementById('side0').value;var b=+document.getElementById('side1').value;var c=+document.getElementById('side2').value;this.ans1.innerHTML='';this.ans2.innerHTML='';if(validTriangleQ(a,b,c)){doAngles(a,b,c);heron(a,b,c);}else{document.getElementById('area').innerHTML='';document.getElementById('angle2').innerHTML='';document.getElementById('angle0').innerHTML='';document.getElementById('angle1').innerHTML='';}}
function getFieldsHTML(){var s='';var xys=[[240,80,'a',3,340,60],[350,210,'b',4,400,170],[480,80,'c',5,280,170]];for(i=0;i<3;i++){var xy=xys[i];s+='
';s+=''+xy[2]+':';s+='';s+='test';s+='
';}
return s;}
function heron(a,b,c){var s1='Classic Heron\'s Formula: ';var s=(a+b+c)/2;s1+="s = (a+b+c)/2 = "+s+" ";var Area=Math.sqrt(s*(s-a)*(s-b)*(s-c));s1+="Area = √( s(s-a)(s-b)(s-c) ) ";s1+="Area = "+Area;document.getElementById('heron1').innerHTML=s1;s2='Variation with less rounding error: ';var temp;if(a";area=(1/4)*Math.sqrt((a+(b+c))*(c-(a-b))*(c+(a-b))*(a+(b-c)));s2+="Area = √((a+(b+c))(c-(a-b))(c+(a-b))(a+(b-c)))/4 ";s2+="Area = "+Area;document.getElementById('heron2').innerHTML=s2;area=area.toPrecision(7);document.getElementById('area').innerHTML=area;}
function doAngles(a,b,c){var AngA=Math.acos((b*b+c*c-a*a)/(2*b*c))*180/Math.PI;var AngB=Math.acos((c*c+a*a-b*b)/(2*c*a))*180/Math.PI;var AngC=Math.acos((a*a+b*b-c*c)/(2*a*b))*180/Math.PI;document.getElementById('angle1').innerHTML=(Math.round(AngA*10000)/10000)+"°";document.getElementById('angle0').innerHTML=(Math.round(AngB*10000)/10000)+"°";document.getElementById('angle2').innerHTML=(Math.round(AngC*10000)/10000)+"°";}
function validTriangleQ(a,b,c){var OKQ=true;if(a<0)OKQ=false;if(b<0)OKQ=false;if(c<0)OKQ=false;if(!OKQ){this.ans1.innerHTML="Not a Triangle if any side is less than 0";return false;}
if(a>(b+c))OKQ=false;if(b>(a+c))OKQ=false;if(c>(a+b))OKQ=false;if(!OKQ){this.ans2.innerHTML="Not a Triangle when one side is bigger than the other two combined";return false;}
return true;}