function Calculate()
{

    if (blnIsEnglish) {

        var sngPsi;
        var sngFlow;
        var sngHorsepower;
        //var sngMotor;
        var sngTorque;
        var sngSpeed;


        sngPsi = document.getElementById('psi').value;
        sngFlow = document.getElementById('flow').value;
        //sngMotor = document.getElementById('motor').value;


        sngTorque = .019 * sngPsi;
        sngSpeed = sngFlow * 900;
        sngHorsepower = ((sngSpeed * sngTorque) / 63025);


        if (isNaN(sngHorsepower)) {
            alert("Please enter numeric values for PSI and Flow");
        }
        else {
            document.getElementById("hpresult").value = sngHorsepower.toFixed(2);
            document.getElementById("speedresult").value = sngSpeed.toFixed(0);
            document.getElementById("torqueresult").value = sngTorque.toFixed(2);

            //document.getElementById('optionalHpResult').value = sngHorsepower.toFixed(2);
            //document.getElementById('optionalSpeedResult').value = sngSpeed.toFixed(0);
            //document.getElementById('optionalTorqueResult').value = sngTorque.toFixed(2);
            CalculateOptional();
        }
    }
    else 
    {

        CalculateMetric();

    }

	
}


function CalculateOptional() {

    if (blnIsEnglish) {
        var sngPsi;
        var sngFlow;
        var sngHorsepower;
        var sngMotor;
        var sngTorque;
        var sngSpeed;
        var sngGearbox;
        var sngInchPoundsPSI

        var sngStandardTorque;
        var sngStandardSpeed;
        var sngStandardHorsepower; 


        sngPsi = document.getElementById('psi').value;
        sngFlow = document.getElementById('flow').value;
        sngMotor = document.getElementById('motor').value;
        sngGearbox = document.getElementById('gearbox').value;

        switch (sngMotor) {
            case '1300': sngInchPoundsPSI = .0130; break;
            case '900': sngInchPoundsPSI = .0190; break;
            case '690': sngInchPoundsPSI = .0248; break;
            case '350': sngInchPoundsPSI = .0496; break;
        }


        sngTorque = sngInchPoundsPSI * sngPsi * sngGearbox;
        sngSpeed = (sngFlow * sngMotor) / sngGearbox;
        sngHorsepower = ((sngSpeed * sngTorque) / 63025);

        sngStandardTorque = .019 * sngPsi;
        sngStandardSpeed = sngFlow * 900;
        sngStandardHorsepower = ((sngSpeed * sngTorque) / 63025);


        if (isNaN(sngHorsepower)) {
            alert("Please enter numeric values for PSI and Flow");
        }
        else {
            document.getElementById("optionalHpResult").value = sngHorsepower.toFixed(2);
            document.getElementById("optionalSpeedResult").value = sngSpeed.toFixed(0);
            document.getElementById("optionalTorqueResult").value = sngTorque.toFixed(2);

            document.getElementById("hpresult").value = sngStandardHorsepower.toFixed(2);
            document.getElementById("speedresult").value = sngStandardSpeed.toFixed(0);
            document.getElementById("torqueresult").value = sngStandardTorque.toFixed(2);
        }

    }
    else {
        CalculateMetricOptional();
    }
}



function CalculateMetric() 
{
    var sngBar;
    var sngLpm;
    var sngKilowatts;
    var sngNm;
    var sngSpeed;

    sngBar = document.getElementById('psi').value;
    sngLpm = document.getElementById('flow').value;

    sngNm = .031075 * sngBar;
    sngSpeed = sngLpm * 237.756;
    sngKilowatts = ((sngSpeed * sngNm) / 9548.8);


    if (isNaN(sngKilowatts)) {
        alert("Please enter numeric values for Bar and Flow");
    }
    else {
        document.getElementById("hpresult").value = sngKilowatts.toFixed(2);
        document.getElementById("speedresult").value = sngSpeed.toFixed(0);
        document.getElementById("torqueresult").value = sngNm.toFixed(2);

        //document.getElementById('optionalHpResult').value = sngKilowatts.toFixed(2);
        //document.getElementById('optionalSpeedResult').value = sngSpeed.toFixed(0);
        //document.getElementById('optionalTorqueResult').value = sngNm.toFixed(2);
        CalculateMetricOptional();
    }
    
    
    
}

function CalculateMetricOptional() 
{
    var sngBar;
    var sngLpm;
    var sngKilowatts;
    var sngMotor;
    var sngNm;
    var sngSpeed;
    var sngGearbox;
    var sngInchPoundNewtonMeters;

    var sngStandardNm;
    var sngStandardSpeed;
    var sngStandardKilowatts;

   
    //1 inch pound = .11298 Newton Meters
    sngBar = document.getElementById('psi').value;
    sngLpm = document.getElementById('flow').value;
    sngMotor = document.getElementById('motor').value;
    sngGearbox = document.getElementById('gearbox').value;

    

    switch (sngMotor) {
        case '1300': sngInchPoundNewtonMeters = .0213; break;
        case '900': sngInchPoundNewtonMeters = .031075; break;
        case '690': sngInchPoundNewtonMeters = .04063728; break;
        case '350': sngInchPoundNewtonMeters = .08127456; break;
    }

    //convert motor speed from gpm to lpm
    sngMotor = (sngMotor / 3.7854);
    
    sngNm = sngInchPoundNewtonMeters * sngBar * sngGearbox;
    sngSpeed = (sngLpm * sngMotor) / sngGearbox;
    sngKilowatts = ((sngSpeed * sngNm) / 9548.8);

    //recalculate values for upper section in case flow or pressure have been changed and user presses lower calculate button. this will update
    //upper fields with standard motor and gearbox values
    sngStandardNm = .031075 * sngBar;
    sngStandardSpeed = sngLpm * 237.756;
    sngStandardKilowatts = ((sngSpeed * sngNm) / 9548.8);
    

    if (isNaN(sngKilowatts)) {
        alert("Please enter numeric values for Bar and LPM");
    }
    else {
        document.getElementById("optionalHpResult").value = sngKilowatts.toFixed(2);
        document.getElementById("optionalSpeedResult").value = sngSpeed.toFixed(0);
        document.getElementById("optionalTorqueResult").value = sngNm.toFixed(2);

        document.getElementById("hpresult").value = sngStandardKilowatts.toFixed(2);
        document.getElementById("speedresult").value = sngStandardSpeed.toFixed(0);
        document.getElementById("torqueresult").value = sngStandardNm.toFixed(2);
    }
    
    
    
}

//------------------------------------------------------------------------------------------
//Name:     CheckForValues
//Abstract: checks for values in textboxes. called from englishToMetric in skin. if
//          values are present, send to functions for conversion and replace current values
//-------------------------------------------------------------------------------------------
function CheckForValues(blnIsEnglish) 
{
    var sngFlow;
    var sngPsi;
    sngFlow = document.getElementById('flow').value;
    sngPsi = document.getElementById('psi').value;
	
	var blnEnglishConverted;
	var sngPreviousEnglishPSI;
	var sngPreviousEnglishFlow;
	
	var blnMetricConverted;
	var sngPreviousMetricPSI;
	var sngPreviousMetricFlow;
	var blnMetricCookieExists;
	var blnEnglishCookieExists;

	
    if (sngPsi != '') 
    {
        
        if (blnIsEnglish == true) 
        {
			///////////////////////////////////////////////////////////////////
			//converting from metric to english back to metric
			//check if cookie already exists, if not then user is converting for first time
			
			if (getCookie('c_MetricConverted').length < 1)
			{
				//set cookie for original value in textbox and mark as converted
				setCookie('c_MetricConverted', 'true',30); 
				setCookie('c_Metric_PSI', sngPsi, 30);
				setCookie('c_Metric_Flow', sngFlow, 30);
			}
			/////////////////////////////////////////////////////////////////////
			
			
			/////////////////////////////////////////////////////////////////////////
			//converting from english to metric back to english
			
			blnEnglishConverted = getCookie('c_EnglishConverted');
			
			if (blnEnglishConverted == 'true')
			{
				sngPreviousEnglishPSI = getCookie('c_English_PSI');
				sngPreviousEnglishFlow = getCookie('c_English_Flow');
				//setCookie('c_EnglishConverted', 'false', 1);
				document.getElementById('psi').value = sngPreviousEnglishPSI;
				document.getElementById('flow').value = sngPreviousEnglishFlow;
				
				setCookie('c_EnglishConverted', 'false', -1);
				setCookie('c_English_PSI', 'false', -1);
				setCookie('c_English_Flow', 'false', -1);
				
				Calculate();
				
				
			}
			
			/////////////////////////////////////////////////////////////////////////////
			else
			{
				ConvertMetricToEnglish(sngFlow, sngPsi);
			}
        }
        else 
        {
			/////////////////////////////////////////////////////////////////////////////
			//converting from english to metric back to english
				
			//check if cookie already exists, if not then user is converting for first time
			
			if (getCookie('c_EnglishConverted').length < 1)
			{
				//set cookie for original value in textbox and mark as converted
				setCookie('c_EnglishConverted', 'true',1); 
				setCookie('c_English_PSI', sngPsi, 1);
				setCookie('c_English_Flow', sngFlow, 1);
			}
			
			
			////////////////////////////////////////////////////////////////////////////////
			
			
			//////////////////////////////////////////////////////////////////////
			//converting from metric to english back to metric
			blnMetricConverted = getCookie('c_MetricConverted');
			
			if (blnMetricConverted == 'true')
			{
				sngPreviousMetricPSI = getCookie('c_Metric_PSI');
				sngPreviousMetricFlow = getCookie('c_Metric_Flow');
				setCookie('c_MetricConverted', 'false', 30);
				document.getElementById('psi').value = sngPreviousMetricPSI;
				document.getElementById('flow').value = sngPreviousMetricFlow;
				
				setCookie('c_MetricConverted', 'false', -1);
	
				Calculate();
			}
			
			else
			{
				ConvertEnglishToMetric(sngFlow, sngPsi);
			}
        }
    }

}

function ConvertMetricToEnglish(sngLpm, sngBar) 
{
    //1 litre = .26417 gallons
    //1 bar = 14.50277 psi
    var sngGpm;
    var sngPsi;

    sngGpm = sngLpm * .26417;
    sngPsi = sngBar * 14.50277;

		
    document.getElementById('psi').value = sngPsi.toFixed(0);
    document.getElementById('flow').value = sngGpm.toFixed(0);

    Calculate();
    
}

function ConvertEnglishToMetric(sngFlow, sngPsi) 
{
   
    var sngLpm;
    var sngBar;

    sngLpm = sngFlow / .26417;
    sngBar = sngPsi / 14.50277;

    document.getElementById('psi').value = sngBar.toFixed(0);
    document.getElementById('flow').value = sngLpm.toFixed(0);

    CalculateMetric();
}

function Clear()
{
	document.getElementById('flow').value = '';
	document.getElementById('psi').value = '';
	document.getElementById('hpresult').value = '';
	document.getElementById('optionalHpResult').value = '';
	document.getElementById('optionalSpeedresult').value = '';
	document.getElementById('optionalTorqueresult').value = '';

	sngPsi = 0;
	sngFlow = 0;
	sngHorsepower = 0;
}


/* FAQ Page Calculator How do I orient the angle head page */
function calculateEncoder() 
{

    //encoder count per revolution / 360 = encoder count per degree X number of degrees + initial value = new value
    //box 1 / 360 X box 2 + box 3 = outtext
    var sngEncoderCount = document.getElementById('encoderCount').value;
    var sngDegrees = document.getElementById('degrees').value;
    var sngInitialValue = document.getElementById('initialValue').value;

    //var sngNewValue = (sngEncoderCount / 360) * sngDegrees + sngInitialValue;

    sngEncoderCount = parseFloat(sngEncoderCount);
    sngDegrees = parseFloat(sngDegrees);
    sngInitialValue = parseFloat(sngInitialValue);
    
    var sngNewValue = parseFloat((sngEncoderCount / 360));  
    
    sngNewValue = sngNewValue * sngDegrees;

    sngNewValue = sngNewValue + sngInitialValue;

    sngNewValue = parseFloat(sngNewValue);

    document.getElementById('newValue').value = sngNewValue.toFixed(2);

}

function ClearCookiesOnTextChange() 
{
    setCookie('c_EnglishConverted', 'false', -1);
    setCookie('c_English_PSI', 'false', -1);
    setCookie('c_English_Flow', 'false', -1);

    setCookie('c_MetricConverted', 'false', -1);
    setCookie('c_Metric_PSI', 'false', -1);
    setCookie('c_Metric_Flow', 'false', -1);
    
    
}


function DrillingCalculator()
{

   
	var sngToolProductionRPM;
	var sngToolProductionHP;
	var sngToolProductionINLBS;

	var sngPowerRequiredHP;
	var sngPowerRequiredINLBS;

 

	// English units
	if (blnIsEnglish == true) {

	    var sngVolume = document.getElementById("volume").value;
	    var sngPressure = document.getElementById("pressure").value;
	    var sngFeedrate = document.getElementById("feedrate").value;
	    var sngDrillDiameter = document.getElementById("drillDiameter").value;
	    var sngMaterial = document.getElementById("material").value;
	    var sngSurfaceFeet;

	    //validate numeric fields False indicates no non numeric values entered
	    if (validateNumericFields('EnglishDrilling') == false) {

	        sngToolProductionRPM = 898 * sngVolume;
	        sngToolProductionHP = ((sngPressure * 0.019) * (sngVolume * 900)) / 63025;
	        sngToolProductionINLBS = (sngToolProductionHP * 63030) / sngToolProductionRPM;

	        sngPowerRequiredHP = (sngFeedrate * (Math.PI * ((sngDrillDiameter / 2) * (sngDrillDiameter / 2)))) / sngMaterial;
	        sngPowerRequiredINLBS = sngPowerRequiredHP * 63030 / sngToolProductionRPM;

	        sngSurfaceFeet = (sngDrillDiameter * Math.PI * sngToolProductionRPM) / 12;

	        document.getElementById('toolProductionRPM').value = sngToolProductionRPM.toFixed(0);
	        document.getElementById('toolProductionHP').value = sngToolProductionHP.toFixed(2);
	        document.getElementById('toolProductionINLBS').value = sngToolProductionINLBS.toFixed(2);

	        document.getElementById('powerRequiredHP').value = sngPowerRequiredHP.toFixed(2);
	        document.getElementById('powerRequiredINLBS').value = sngPowerRequiredINLBS.toFixed(2);
	        document.getElementById('drilling_toolSurfaceFeet').value = sngSurfaceFeet.toFixed(2);

	        //clear metric values if any
	        document.getElementById("metric_volume").value = "";
	        document.getElementById("metric_pressure").value = "";
	        document.getElementById("metric_feedrate").value = "";
	        document.getElementById("metric_drillDiameter").value = "";
	        document.getElementById('metric_toolProductionRPM').value = "";
	        document.getElementById('metric_toolProductionHP').value = "";
	        document.getElementById('metric_toolProductionINLBS').value = "";
	        document.getElementById('metric_powerRequiredHP').value = "";
	        document.getElementById('metric_powerRequiredINLBS').value = "";
	    }
	}
	// End English Units
	//Metric Units
	else {

	    var sngVolume = document.getElementById("metric_volume").value;
	    var sngPressure = document.getElementById("metric_pressure").value;
	    var sngFeedrate = document.getElementById("metric_feedrate").value;
	    var sngDrillDiameter = document.getElementById("metric_drillDiameter").value;
	    var sngMaterial = document.getElementById("metric_material").value;
	    var sngToolVelocity;

	    //validate numeric fields False indicates no non numeric values entered
	    if (validateNumericFields('MetricDrilling') == false) 
        {

	        sngToolProductionRPM = 898 * (sngVolume / 3.78);
	        //HP will be in KW
	        sngToolProductionHP = ((((sngPressure * 14.5) * 0.019) * ((sngVolume / 3.78) * 900)) / 63025) * 0.75;
	        //Inch LBS will be in N/m
	        sngToolProductionINLBS = (sngToolProductionHP * 9.5488) / sngToolProductionRPM * 1000;

	        sngPowerRequiredHP = (sngFeedrate * (Math.PI * ((sngDrillDiameter / 2) * (sngDrillDiameter / 2)))) / 21849 / sngMaterial;
	        sngPowerRequiredINLBS = sngPowerRequiredHP * 9.5488 / sngToolProductionRPM * 1000;
	        sngToolVelocity = (sngDrillDiameter / 1000 * Math.PI * sngToolProductionRPM);

	        document.getElementById('metric_toolProductionRPM').value = sngToolProductionRPM.toFixed(0);
	        document.getElementById('metric_toolProductionHP').value = sngToolProductionHP.toFixed(2);
	        document.getElementById('metric_toolProductionINLBS').value = sngToolProductionINLBS.toFixed(2);

	        document.getElementById('metric_powerRequiredHP').value = sngPowerRequiredHP.toFixed(2);
	        document.getElementById('metric_powerRequiredINLBS').value = sngPowerRequiredINLBS.toFixed(2);
	        document.getElementById('metric_drilling_toolSurfaceFeet').value = sngToolVelocity.toFixed(2);

	        //clear english values if any
	        document.getElementById("volume").value = "";
	        document.getElementById("pressure").value = "";
	        document.getElementById("feedrate").value = "";
	        document.getElementById("drillDiameter").value = "";
	        document.getElementById('toolProductionRPM').value = "";
	        document.getElementById('toolProductionHP').value = "";
	        document.getElementById('toolProductionINLBS').value = "";
	        document.getElementById('powerRequiredHP').value = "";
	        document.getElementById('powerRequiredINLBS').value = "";
	    }

	}
    //End Metric Units

}

//check if page uses drilling calculator (how fast can I machine page)
function drillingCalculatorCheck() {

    //checks for hidden fields included in drilling calculator module, if fields are not there, calculator is not on page and does nothing.
    if (document.getElementById('hiddenIsDrillingCalculator') != null) 
    {
        //DrillingCalculatorSetValuesOnUnitChange();
    }
}


//Milling Calculator
function MillingCalculator() {
   

    var sngMetalRemovalRate;
    var sngRPM;
    var sngHP;
    var sngTorque;
    var sngFeedrate;
    var sngSurfaceFeet;

    //english
    if (blnIsEnglish) {

        var sngVolume = document.getElementById("milling_volume").value;
        var sngPressure = document.getElementById("milling_pressure").value;
        var sngWidth = document.getElementById("milling_width").value;
        var sngDepth = document.getElementById("milling_depth").value;
        var sngMaterial = document.getElementById("milling_material").value;
        var sngToolWidth = document.getElementById("milling_toolDiameter").value;

        //validate numeric fields False indicates no non numeric values entered
        if (validateNumericFields('EnglishMilling') == false) 
        {

            //calculate values
            sngHP = ((sngPressure * 0.019) * (sngVolume * 900)) / 63025;
            sngMetalRemovalRate = sngHP * sngMaterial;
            sngRPM = 900 * sngVolume;
            sngTorque = .019 * sngPressure;
            sngFeedrate = sngMetalRemovalRate / (sngWidth * sngDepth);
            sngSurfaceFeet = (sngToolWidth * Math.PI * sngRPM) / 12;


            //insert values into fields
            document.getElementById("milling_toolProductionMetalRemovalRate").value = sngMetalRemovalRate.toFixed(2);
            document.getElementById("milling_toolProductionRPM").value = sngRPM.toFixed(0);
            document.getElementById("milling_toolProductionHP").value = sngHP.toFixed(2);
            document.getElementById("milling_toolProductionINLBS").value = sngTorque.toFixed(2);
            document.getElementById("milling_toolProductionMaximumFeedrate").value = sngFeedrate.toFixed(2);
            document.getElementById("milling_toolSurfaceFeet").value = sngSurfaceFeet.toFixed(2);

            //insert applicable values into drilling calculator fields
            document.getElementById("volume").value = sngVolume;
            document.getElementById("pressure").value = sngPressure;
            //document.getElementById("feedrate").value = sngFeedrate.toFixed(2);
            document.getElementById("material").selectedIndex = document.getElementById("milling_material").selectedIndex;
        }
    }
    else {


        var sngVolume = document.getElementById("metric_milling_volume").value;
        var sngPressure = document.getElementById("metric_milling_pressure").value;
        var sngWidth = document.getElementById("metric_milling_width").value;
        var sngDepth = document.getElementById("metric_milling_depth").value;
        var sngMaterial = document.getElementById("metric_milling_material").value;
        var sngToolWidth = document.getElementById("metric_milling_toolDiameter").value;

        //validate numeric fields. False indicates no non numeric values entered
        if (validateNumericFields('MetricMilling') == false) 
        {

            //calculate metric values
            //sngHP = .031075 * sngPressure;
            sngHP = ((sngPressure * .031135) * sngVolume * 238) / 9549;
            //sngMetalRemovalRate = sngHP * sngMaterial;
            sngMetalRemovalRate = sngHP * sngMaterial * 22000;
            //sngRPM = 898 * (sngVolume / 3.78);
            sngRPM = sngVolume * 238;
            //sngTorque = (sngHP * 9.5488) / sngRPM * 1000;
            sngTorque = sngPressure * .031135;
            sngFeedrate = sngMetalRemovalRate / (sngWidth * sngDepth);
            sngSurfaceFeet = (sngToolWidth / 1000 * Math.PI * sngRPM);

            //insert values into milling fields
            document.getElementById("metric_milling_toolProductionMetalRemovalRate").value = sngMetalRemovalRate.toFixed(2);
            document.getElementById("metric_milling_toolProductionRPM").value = sngRPM.toFixed(0);
            document.getElementById("metric_milling_toolProductionHP").value = sngHP.toFixed(2);
            document.getElementById("metric_milling_toolProductionINLBS").value = sngTorque.toFixed(2);
            document.getElementById("metric_milling_toolProductionMaximumFeedrate").value = sngFeedrate.toFixed(2);
            document.getElementById("metric_milling_toolSurfaceFeet").value = sngSurfaceFeet.toFixed(2);

            //insert appropriate values into drilling calculators
            document.getElementById("metric_volume").value = sngVolume;
            document.getElementById("metric_pressure").value = sngPressure;
            //document.getElementById("metric_feedrate").value = sngFeedrate.toFixed(2);
            document.getElementById("metric_material").selectedIndex = document.getElementById("metric_milling_material").selectedIndex;
        }

    }


}

//check dropdown for custom value, if 'other is selected show textbox for custom input
function materialChange() 
{

    var sngSelectedIndex = document.getElementById("milling_material").selectedIndex;
    //if custom value is needed show textbox for custom input
    if (sngSelectedIndex == 3) {
        document.getElementById("showCustomMachinabilityFactor").style.display = '';
    }
    else 
    {
        document.getElementById("showCustomMachinabilityFactor").style.display = 'none';
    }
}


//if custom value is entered, insert value into 'other' field value
function materialChangeCustomValue() 
{
    var sngCustomValue = document.getElementById("milling_machinabilityFactor").value;
  
    document.getElementById("milling_other").value = sngCustomValue;
}



///////////////////////////////////////////////////////////////////////////
function drillingMaterialChange() 
{
    var sngSelectedIndex = document.getElementById("material").selectedIndex;
    //if custom value is needed show textbox for custom input
    if (sngSelectedIndex == 3) {
        document.getElementById("showCustomDrillingMachinabilityFactor").style.display = '';
    }
    else {
        document.getElementById("showCustomDrillingMachinabilityFactor").style.display = 'none';
    }
}


///////////////////////////////////////////////////////////////////
function drillingMaterialChangeCustomValue() 
{
    var sngCustomValue = document.getElementById("drilling_machinabilityFactor").value;

    document.getElementById("drilling_other").value = sngCustomValue;
}

///////////////////////////////////////////////////////////////////
function metric_milling_materialChange() 
{
    var sngSelectedIndex = document.getElementById("metric_milling_material").selectedIndex;
    //if custom value is needed show textbox for custom input
    if (sngSelectedIndex == 3) {
        document.getElementById("metric_milling_showCustomMachinabilityFactor").style.display = '';
    }
    else {
        document.getElementById("metric_milling_showCustomMachinabilityFactor").style.display = 'none';
    }
}


////////////////////////////////////////////////////////////////////
function metric_milling_materialChangeCustomValue() 
{

    var sngCustomValue = document.getElementById("metric_milling_machinabilityFactor").value;

    document.getElementById("metric_milling_other").value = sngCustomValue;
}
////////////////////////////////////////////////////////////////////

function metric_drilling_materialChange() 
{
    var sngSelectedIndex = document.getElementById("metric_material").selectedIndex;
    //if custom value is needed show textbox for custom input
    if (sngSelectedIndex == 3) {
        document.getElementById("showMetricCustomMachinabilityFactor").style.display = '';
    }
    else {
        document.getElementById("showMetricCustomMachinabilityFactor").style.display = 'none';
    }
}

//////////////////////////////////////////////////////////
function metric_drilling_materialChangeCustomValue()
{
    var sngCustomValue = document.getElementById("metric__machinabilityFactor").value;

    document.getElementById("metric_drilling_other").value = sngCustomValue;
}


////////////////////////////////////////////////////
function validateNumericFields(strCalculator) 
{

    var blnNonNumericValueEntered = false;
    
    switch (strCalculator) 
    {
        case 'EnglishDrilling':

            var sngVolume = document.getElementById("volume").value;
            var sngPressure = document.getElementById("pressure").value;
            var sngFeedrate = document.getElementById("feedrate").value;
            var sngDrillDiameter = document.getElementById("drillDiameter").value;


            if (isNaN(sngVolume)) {
                alert("Please enter numeric values for Coolant Flow");
                blnNonNumericValueEntered = true;
            }
            if (isNaN(sngPressure)) {
                alert("Please enter numeric values for Pressure");
                blnNonNumericValueEntered = true;
            }
            if (isNaN(sngFeedrate)) {
                alert("Please enter numeric values for Feedrate");
                blnNonNumericValueEntered = true;
            }
            if (isNaN(sngDrillDiameter)) {
                alert("Please enter numeric values for Drill Diameter");
                blnNonNumericValueEntered = true;
            }

            break;

        case 'EnglishMilling':
            var sngVolume = document.getElementById("milling_volume").value;
            var sngPressure = document.getElementById("milling_pressure").value;
            var sngWidth = document.getElementById("milling_width").value;
            var sngDepth = document.getElementById("milling_depth").value;
            var sngToolWidth = document.getElementById("milling_toolDiameter").value;

            if (isNaN(sngVolume)) {
                alert("Please enter numeric values for Coolant Flow");
                blnNonNumericValueEntered = true;
            }
            if (isNaN(sngPressure)) {
                alert("Please enter numeric values for Pressure");
                blnNonNumericValueEntered = true;
            }
            if (isNaN(sngWidth)) {
                alert("Please enter numeric values for Width of Cut");
                blnNonNumericValueEntered = true;
            }
            if (isNaN(sngDepth)) {
                alert("Please enter numeric values for Depth of Cut");
                blnNonNumericValueEntered = true;
            }
            if (isNaN(sngToolWidth)) {
                alert("Please enter numeric values for Tool Diameter");
                blnNonNumericValueEntered = true;
            }

            break;



        case 'MetricDrilling':

            var sngVolume = document.getElementById("metric_volume").value;
            var sngPressure = document.getElementById("metric_pressure").value;
            var sngFeedrate = document.getElementById("metric_feedrate").value;
            var sngDrillDiameter = document.getElementById("metric_drillDiameter").value;

            if (isNaN(sngVolume)) {
                alert("Please enter numeric values for Coolant Flow");
                blnNonNumericValueEntered = true;
            }
            if (isNaN(sngPressure)) {
                alert("Please enter numeric values for Pressure");
                blnNonNumericValueEntered = true;
            }
            if (isNaN(sngFeedrate)) {
                alert("Please enter numeric values for Feedrate");
                blnNonNumericValueEntered = true;
            }
            if (isNaN(sngDrillDiameter)) {
                alert("Please enter numeric values for Drill Diameter");
                blnNonNumericValueEntered = true;
            }

            break;



        case 'MetricMilling':

            var sngVolume = document.getElementById("metric_milling_volume").value;
            var sngPressure = document.getElementById("metric_milling_pressure").value;
            var sngWidth = document.getElementById("metric_milling_width").value;
            var sngDepth = document.getElementById("metric_milling_depth").value;
            var sngToolWidth = document.getElementById("metric_milling_toolDiameter").value;

            if (isNaN(sngVolume)) {
                alert("Please enter numeric values for Coolant Flow");
                blnNonNumericValueEntered = true;
            }
            if (isNaN(sngPressure)) {
                alert("Please enter numeric values for Pressure");
                blnNonNumericValueEntered = true;
            }
            if (isNaN(sngWidth)) {
                alert("Please enter numeric values for Width of Cut");
                blnNonNumericValueEntered = true;
            }
            if (isNaN(sngDepth)) {
                alert("Please enter numeric values for Depth of Cut");
                blnNonNumericValueEntered = true;
            }
            if (isNaN(sngToolWidth)) {
                alert("Please enter numeric values for Tool Diameter");
                blnNonNumericValueEntered = true;
            }


            break;

    }

    return blnNonNumericValueEntered;

}
