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;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 g=parseFloat(document.getElementById("txtCentersLevel").value);if(isNaN(g)||
g<50||g>1E4)alert("Please enter a Centres between 50 and 10000");else{var i=parseFloat(document.getElementById("txtLevelLength").value);if(isNaN(i)||i<100||i>1E5)alert("Please enter a Length between 100 and 100000");else{var e=parseFloat(document.getElementById("txtCentrseStartLevel").value);if(isNaN(e)||e<0||e>1E5)alert("Please enter a Start Point between 0 and 100000");else{centersAngle=g/Math.cos(b);var f=runStartAngle=e==0?centersAngle:e/Math.cos(b);document.getElementById("spnCentersAngle").innerHTML=
"Centres at "+RoundTo(dangle,2)+"&deg; "+Math.round(centersAngle)+" mm";var d=i/Math.cos(b);document.getElementById("spnLengthAngle").innerHTML="Length  at "+RoundTo(dangle,2)+"&deg; "+Math.round(d)+" mm";for(var h="";f<=d+1;)h+=Math.round(f)+", ",f+=centersAngle;h=h.substring(0,h.length-2);document.getElementById("spnCentersAngleAt").innerHTML="Running Centres at "+RoundTo(dangle,2)+"&deg;";document.getElementById("spnCentersAngleRun").innerHTML=h;var c=document.getElementById("cnvsCenters");if(c.getContext){b=
Math.tan(b);f=c.width-40;d=b*f;c.setAttribute("height",d+120);h=f/(i/g);d+=60;f+=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(f,60);a.lineTo(f,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=e==0?20+h:20+f/(i/e),e=e==0?g:e,j=runStartAngle;a.textBaseline="top";a.font="12px Verdana";a.fillStyle="#f00";for(a.beginPath();c<f+1;)a.moveTo(c,
d),a.lineTo(c,d-b*(c-20)),a.save(),a.fillStyle="#000",disp=Math.round(e),a.translate(c+6,d+4),a.rotate(90/RAD),a.fillText(disp,0,0),a.restore(),disp=Math.round(j),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(),e+=g,j+=centersAngle,c+=h;a.stroke();a.fillStyle="#00f";a.fillText(RoundTo(dangle,1)+"\u00b0",0,d-12);a.save();disp=Math.round(b*i);a.translate(f+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 g=document.getElementById("cnvsCenters"),b=parseInt(g.width)+b;b>100&&b<1E3?(g.setAttribute("width",b),Calculate()):StopSizer()}function StopSizer(){clearInterval(sizeTimer)}function GetQR(b){BuildQR(b,"Centres "+Math.round(centersAngle)+" Start at "+Math.round(runStartAngle))}function RunTalk(){RunTalkQR("RunTalk - Metric",centersAngle,runStartAngle)};
