// TarrantIT 2005
function SetCalc()
{	
	CalcCentersAngle();
}
function CheckRange(ctrl, min, max)
{
	if (ctrl.value == "")
	{
		alert('Value Required');
		ctrl.select();
		return false;
	}
	var val = parseFloat(ctrl.value);
	if (isNaN(val))
	{
		ctrl.focus();
		alert('Numbers Only');
		ctrl.select();
		return false;
	}
	else if (val < min)
	{
		ctrl.focus();
		alert('Must be larger than or = '+ min);
		ctrl.select();
		return false;
	}
	else if (val > max)
	{				
		ctrl.focus();
		alert('Must be smaller than or = '+ max);
		ctrl.select();
		return false;
	}
	return true;
}
function CalcCentersAngle()
{
    var ctrl;
    var rangle;
    var dangle;
    var rad = 180 / Math.PI;
    if (document.getElementById("trAngle").style.display == "block")
    {
        ctrl = document.getElementById("_txtAngle");
        if (!CheckRange(ctrl, 1, 89))
            return;
        dangle = ctrl.value;
        rangle = ctrl.value / rad;
    }
    else
    {
        ctrl = document.getElementById("txtRise");
        if (!CheckRange(ctrl, 1, 10000))
            return;
        var rise = ctrl.value;
        ctrl = document.getElementById("txtRun");
        if (!CheckRange(ctrl, 1, 100000))
            return;
        var run = ctrl.value;
        rangle = Math.atan(rise / run);
        dangle = rangle * rad;
    }
    ctrl = document.getElementById("txtCentersLevel");
    if (! CheckRange(ctrl, 50, 10000))
        return;
    var centersLevel = ctrl.value;	
    ctrl = document.getElementById("txtLevelLength")
    if (! CheckRange(ctrl, 0, 100000))
        return;
    var lengthLevel = ctrl.value;
    ctrl = document.getElementById("txtCentrseStartLevel");
    if (! CheckRange(ctrl, 0, 100000))
        return;
    var run = ctrl.value / Math.cos(rangle);   
    var centersAngle = centersLevel / (Math.cos(rangle));
    document.getElementById("spnCentersAngle").innerHTML = Math.round(centersAngle) +" mm";
    var lengthAngle = lengthLevel / Math.cos(rangle);
    document.getElementById("spnLengthAngle").innerHTML = "(<span style='color:Red;'>" + RoundTo(dangle, 2) + "&deg;</span>) " + Math.round(lengthAngle) + " mm";
    var centersRun = "";
    while (run < lengthAngle - 1)
    {
        run += centersAngle;
        centersRun += Math.round(run) +", ";
    }
    centersRun = centersRun.substring(0, centersRun.length - 2);
    document.getElementById("spnCentersAngleRun").innerHTML = "Centers at "+ RoundTo(dangle, 2) +"&deg; "+ centersRun;
}
function AngleRiseRun(r)
{
    if (r == "r")
    {
        document.getElementById("trAngle").style.display = "none";
        document.getElementById("trRiseRun").style.display = "block";
        document.getElementById("btnAngle").style.color = "";
        document.getElementById("btnRiseRun").style.color = "Green";
    }
    else
    {
        document.getElementById("trRiseRun").style.display = "none";
        document.getElementById("trAngle").style.display = "block";
        document.getElementById("btnAngle").style.color = "Green";
        document.getElementById("btnRiseRun").style.color = "";
    }
}
function RoundTo(val, places)
{
    places = Math.pow(10, places);
    d = Math.round(val * places) / places;
    return d;
}