﻿dojo.addOnLoad(function()
{
	var subButton = dojo.byId("calculate");
	var radButton = dojo.byId("radCalculate");
	var radButtonSecond = dojo.byId("radCalculateB");
	var moButton = dojo.byId("moCalculate");
	var degButton = dojo.byId("degCalculate");

	dojo.connect(subButton, "onclick", function()
	{
		function arc(radius, degree)
		{
			var arc = radius * degree * .01745;
			return arc;
		}

		var radius = dojo.byId("radius").value;
		var degree = dojo.byId("degree").value;
		var arc = arc(radius, degree);
		arc = arc.toFixed(3);
		dojo.byId("arcTotal").innerHTML = arc;

		return false;
	});

	dojo.connect(radButton, "onclick", function()
	{

		function rad(chord, rise)
		{
			var rSqr = Math.pow(rise, 2);
			var half = chord / 2;
			var cSqr = Math.pow(half, 2);
			var result = (rSqr + cSqr) / (2 * rise);
			return result;
		}

		var chord = dojo.byId("chord").value;
		var rise = dojo.byId("rise").value;
		result = rad(chord, rise);
		result = result.toFixed(3);
		dojo.byId("radTotalOne").innerHTML = result;
		return false;
	});

	dojo.connect(radButtonSecond, "onclick", function()
	{
		function rad(arc, deg)
		{
			var result = arc / (.01745 * deg);
			return result;
		}

		var arc = dojo.byId("arcLength").value;
		var deg = dojo.byId("degreeBend").value;
		result = rad(arc, deg);
		result = result.toFixed(3);
		dojo.byId("radTotal").innerHTML = result;
		return false;
	});


	dojo.connect(moButton, "onclick", function()
	{
		function calcRise(radius, chord)
		{
			var chr = chord / 2;
			var sqrR = Math.pow(radius, 2);
			var sqrC = Math.pow(chr, 2);
			var root = Math.sqrt(sqrR - sqrC);
			var result = radius - root;
			return result;
		}

		var radius = dojo.byId("moRadius").value;
		var chord = dojo.byId("moChord").value;
		var result = calcRise(radius, chord);
		result = result.toFixed(3);
		dojo.byId("moTotal").innerHTML = result;
		return false;
	});

	dojo.connect(degButton, "onclick", function()
	{
		function calcDegree(length, radius)
		{
			var degree = length / (.01745 * radius);
			return degree;
		}

		var length = dojo.byId("degLength").value;
		var radius = dojo.byId("degRadius").value;
		var result = calcDegree(length, radius);
		result = result.toFixed(3);
		dojo.byId("degTotal").innerHTML = result;
		return false;
	});

	/* Clears */

	var clear = dojo.query(".clear");
	dojo.forEach(clear, function(obj)
	{
		dojo.connect(obj, "onclick", function(evt)
		{
			var form = this.parentNode;
			var inputs = form.getElementsByTagName("input");
			dojo.forEach(inputs, function(obj)
			{
				if (obj.type == "text")
				{
					obj.value = '';
				}
			});
			var p = form.getElementsByTagName("p");
			var last = p[0].lastChild;
			last.innerHTML = '';
		});
	});
});

