var dangle=22,rise=4.848,RAD=180/Math.PI,centersAngle,runStartAngle;function SetCalc(){Calculate();SetNumeric();if(document.getElementById("sldr").type=="range")document.getElementById("sldr").style.display="block"}
function Calculate(){var b,h=parseInt(document.getElementById("ddLengthFeet").value)*384+parseInt(document.getElementById("ddLengthInches").value)*32+parseInt(document.getElementById("ddLengthFrac").value),j=parseInt(document.getElementById("ddCentersFeet").value)*384+parseInt(document.getElementById("ddCentersInches").value)*32+parseInt(document.getElementById("ddCentersFrac").value);if(j<32)alert('Centers must be at least 1"');else{var f=parseInt(document.getElementById("ddStartInches").value)*
32+parseInt(document.getElementById("ddStartFrac").value);if(document.getElementById("rbAngle").checked){dangle=parseFloat(document.getElementById("_txtAngle").value);if(isNaN(dangle)||dangle<0||dangle>60){alert("Please enter an angle between 0 and 60");return}b=dangle/RAD}else{rise=parseFloat(document.getElementById("_txtAngle").value);if(isNaN(rise)||rise<0||rise>19.2){alert("Please enter a Rise between 0 and 19.2");return}b=Math.atan(rise/12);dangle=b*RAD}var i=document.getElementById("rbUseFeet").checked;
centersAngle=j/Math.cos(b);var e=runStartAngle=f==0?centersAngle:f/Math.cos(b);document.getElementById("spnCentersAngle").innerHTML="Centers at "+RoundTo(dangle,2)+"&deg; "+ConEng(centersAngle,i);var d=h/Math.cos(b);document.getElementById("spnLengthAngle").innerHTML="Length  at "+RoundTo(dangle,2)+"&deg; "+ConEng(d,i);for(var g="";e<d+1;)g+=ConEng(e,i)+", ",e+=centersAngle;g=g.substring(0,g.length-2);document.getElementById("spnCentersAngleAt").innerHTML="Running Centers at "+RoundTo(dangle,2)+"&deg;";
document.getElementById("spnCentersAngleRun").innerHTML=g;var c=document.getElementById("cnvsCenters");if(c.getContext){b=Math.tan(b);e=c.width-40;d=b*e;c.setAttribute("height",d+200);g=e/(h/j);d+=100;e+=20;var a=c.getContext("2d");a.clearRect(0,0,c.width,c.height);a.fillStyle="#00f";a.beginPath();a.moveTo(20,d);a.lineTo(e,100);a.lineTo(e,d);a.closePath();a.fillStyle="#dcdcdc";a.save();a.shadowOffsetY=8;a.shadowOffsetX=8;a.shadowBlur=8;a.shadowColor="#c0c0c0";a.fill();a.restore();var c=f==0?20+g:
20+e/(h/f),f=f==0?j:f,k=runStartAngle;a.textBaseline="top";a.font="12px Verdana";a.fillStyle="#f00";for(a.beginPath();c<e+1;)a.moveTo(c,d),a.lineTo(c,d-b*(c-20)),a.save(),a.fillStyle="#000",disp=ConEng(f,i),a.translate(c+6,d+4),a.rotate(90/RAD),a.fillText(disp,0,0),a.restore(),disp=ConEng(k,i),sz=a.measureText(disp).width,a.save(),a.translate(c+6,d-b*c-sz),a.rotate(90/RAD),a.fillText(disp,0,0),a.restore(),f+=j,k+=centersAngle,c+=g;a.stroke();a.fillStyle="#00f";a.fillText(RoundTo(dangle,1)+"\u00b0",
0,d-12);a.save();disp=ConEng(b*h,i);a.translate(e+20,d/2+20);a.rotate(90/RAD);a.fillText(disp,0,0);a.restore()}}}
function SetType(){document.getElementById("rbRise").checked?(document.getElementById("spnAngle").innerHTML=" in 12",document.getElementById("divAuto").style.display="none",rise=Math.tan(dangle/RAD)*12,document.getElementById("_txtAngle").value=RoundTo(rise,2)):(document.getElementById("spnAngle").innerHTML="&deg;",document.getElementById("divAuto").style.display="block",dangle=Math.atan(rise/12)*RAD,document.getElementById("_txtAngle").value=RoundTo(dangle,2))}
function sldr_onchange(b){document.getElementById("_txtAngle").value=RoundTo(b.value,1);Calculate()}var autoTimer=null;function StartAuto(b){autoTimer=setInterval("Auto("+b+")",100)}function Auto(b){b=parseInt(document.getElementById("_txtAngle").value)+b;if(b>-1&&b<60)document.getElementById("_txtAngle").value=b,document.getElementById("sldr").value=b,Calculate()}function StopAuto(){clearInterval(autoTimer)}var sizeTimer;function Resize(b){sizeTimer=setInterval("Sizer("+b+")",100)}
function Sizer(b){var h=document.getElementById("cnvsCenters"),b=parseInt(h.width)+b;b>100&&b<1E3?(h.setAttribute("width",b),Calculate()):StopSizer()}function StopSizer(){clearInterval(sizeTimer)}function GetQR(b){BuildQR(b,"Centres "+ConEng(centersAngle,!0)+" Start at "+ConEng(runStartAngle,!0))}function RunTalk(){RunTalkQR("RunTalk - Imperial",centersAngle,runStartAngle)};
