function AmericanCalculate(form)
{
var calc_type=form.AmericanRatio.options[form.AmericanRatio.selectedIndex].value;
var calc_var=eval(form.AmericanVariable.value);


	

if (form.AmericanVariable.value <= 0){
	alert("You must enter provide a variable to proceed");
	form.AmericanVariable.focus()
	
}

else{

	//alert(calc_type)
	if (calc_type=="in") {
		if (radio_selection=="yes") {
      			var sScale=63360 / calc_var;
			form.AmericanResult.value="1:" + thousands(round(sScale,0)) + " units"
			}
		else
			{
			var sScale=63360 / calc_var;
			form.AmericanResult.value="1:" + sScale + " units"
		}
	}

	//If the Option is set to cm, we do the following


	else if (calc_type=="cm") {
		if (radio_selection=="yes") {
			var calc_cm=calc_var /  2.54;
			var sScale=63360 / calc_cm;
			form.AmericanResult.value="1:" + thousands(round(sScale,0)) + " units"
			}
		else
			{
			var calc_cm=calc_var / 2.54;
			var sScale=63360 / calc_cm;
			form.AmericanResult.value="1:" + sScale + " units"
			}
	}

	else if (calc_type=="miles") {
		if (radio_selection=="yes") {
			var calc_miles=calc_var * 63360;
			form.AmericanResult.value="1:" + thousands(round(calc_miles,0)) + " units"
			}
		else
			{
			var calc_sScale=calc_var * 63360;
			form.AmericanResult.value="1:" + calc_sScale + " units"
		}
	}

	//If the Option is set to scale, then we get the number of 
	//inches per mile

	else if (calc_type=="scale") {

		if (radio_selection=="yes") {
			var sratio=63360/calc_var;
			form.AmericanResult.value="There are " + round(sratio,2) + " inch(es) per 1 mile"
			}
		else
			{
			var sratio=63360/calc_var;
			form.AmericanResult.value="There are " + sratio + " inch(es) per 1 mile"       
			}
		}

	//End of the if's

	}
//End function
var sresult_final=form.AmericanResult.value
window.status="Results of Calculation: " + sresult_final
}


function WorldCalculate(form) 
{
	var calc_type=form.WorldRatio.options[form.WorldRatio.selectedIndex].value;
	var calc_var=eval(form.WorldVariable.value);

if (form.WorldVariable.value <= 0) {
	alert("You must provide a variable to proceed");
	form.WorldVariable.focus()
}

//This is where all the computations take place

else {
	if (calc_type=="cm") {
		if (worldradio_selection=="yes") {
			var sScale=100000 / calc_var;
			form.WorldResult.value="1:" + thousands(round(sScale,0)) + " units"
			}
		else 	
			{
			var sScale=100000 / calc_var;
			form.WorldResult.value="1:" + sScale + " units"
		}
	}
	else if (calc_type=="in") {
		
		if (worldradio_selection=="yes") {
			var calc_in=calc_var * 2.54;
			var sScale=100000 / calc_in;
			form.WorldResult.value="1:" + thousands(round(sScale,0)) + " units"
			}
		else
			{
			var calc_in=calc_var * 2.54;
			var sScale=100000 / calc_in;
			form.WorldResult.value="1:" + sScale + " units"
		}
	}
	else if (calc_type=="kilo") {
		if (worldradio_selection=="yes") {
			var calc_kilo=calc_var * 100000;
			form.WorldResult.value="1:" + thousands(round(calc_kilo,0)) + " units"
			}
		else
			{
			var calc_kilo=calc_var * 100000;
			form.WorldResult.value="1:" + calc_kilo + " units"
			}
	}
	else if (calc_type=="scale") {	
		if (worldradio_selection=="yes") {
			var sratio=100000 / calc_var;
			form.WorldResult.value="There are " + round(sratio,2) + " cm(s) per 1 kilometer"
			}
		else
			{
			var sratio=100000 / calc_var 
			form.WorldResult.value="There are " + sratio + " cm(s) per 1 kilometer."
		}
	}

}
var sresult_final=form.WorldResult.value
window.status="Results of the calculations: " + sresult_final
	
}
//end function

//First function on the Miscellaneous calculations.  This function
//takes care of all the miscellaneous conversions between lengths

function MisCal(form){

var calc_type=form.MiscRatio.options[form.MiscRatio.selectedIndex].value;
var calc_var=eval(form.MiscVariable.value);

if (form.MiscVariable.value <= 0) {
	alert("You must provide a variable to proceed");
	form.MiscVariable.focus()
}

else {

	if (calc_type=="cm") {
		//Calculate the number of cms
		form.scm.value=calc_var
		
		//Calculate the number of inch
		var calc_check=calc_var / 2.54;
		form.inch.value=round(calc_check, 19)

		//Calculate the number of feet
		var calc_check=calc_var / 30.48;
		form.sft.value=round(calc_check, 19)

		//Calculate the number of meters
		var calc_check=calc_var / 100;
		form.smt.value=round(calc_check,19)
		
		//Calculate the number of miles
		var calc_cmtokm=calc_var * .01 * .001;
		var calc_check=calc_cmtokm * .6214;	
		form.sml.value=round(calc_check, 19)

		//Calculate the number of nautical miles
		var calc_cmtokm=calc_var * .01 * .001;
		var calc_check=calc_cmtokm * .54;
		form.nml.value=round(calc_check, 19)
		
		///Calculate the number of Kilometers
		var calc_check=calc_var * .01 * .001;
		form.skm.value=round(calc_check, 19)
		
		//Calculate the degrees
		form.dgr.value="NA"
		
		//Calculate the grade
		form.grd.value="NA"

	}
	
	else if (calc_type=="in") {
		//Calculate the number of cms
		var calc_check=calc_var * 2.54;
		form.scm.value=round(calc_check, 19)
		
		//Calculate the number of inches
		form.inch.value=calc_var
		
		//Calculate the number of feet
		var calc_check=calc_var / 12;
		form.sft.value=round(calc_check, 19)

		//Calculate the number of meters
		var calc_check =calc_var / 12 * .3048;
		form.smt.value=round(calc_check, 19)

		//Calculate the number of miles
		var calc_inchtocm=calc_var * 2.54;
		var calc_cmtokm=calc_inchtocm * .01 * .001;
		var calc_check=calc_cmtokm * .6214;
		form.sml.value=round(calc_check, 19)

		//Calculate the number of nautical miles
		var calc_inchtocm=calc_var * 2.54;
		var calc_cmtokm=calc_inchtocm * .01 * .001;
		var calc_check = calc_cmtokm * .54;
		form.sml.value=round(calc_check, 19)
		
		//Calculate the number of kilometers
		var calc_inchtocm=calc_var * 2.54;
		var calc_check=calc_inchtocm * .01 * .001;
		form.skm.value=round(calc_check, 19)
		
		//Calculate the degrees
		form.dgr.value="NA"
		
		//Calculate the grade
		form.grd.value="NA"
	}
	
	else if (calc_type=="ft") {
		
		//Calculate the number of cms
		var calc_check=calc_var * 30.48;
		form.scm.value=round(calc_check, 19)

		//Calculate the number of inches
		var calc_check=calc_var * 12;
		form.inch.value=round(calc_check, 19)

		//Calculate the number of feet
		form.sft.value=calc_var

		//Calculate the number of meters
		var calc_check=calc_var * .3048;
		form.smt.value=round(calc_check, 19)
	
		//Calculate the number of miles
		var calc_check=calc_var / 5280;
		form.sml.value=round(calc_check,19)

		//Calculate the number of nautical miles
		var calc_check=calc_var / 6075;
		form.nml.value=round(calc_check, 19)
		
		//Calculate the number of kilometers
		var calc_fttomiles=calc_var / 5280;
		var calc_check=calc_fttomiles * 1.609;
		form.skm.value=round(calc_check, 19)
		
		//Calculate the degrees
		form.dgr.value="NA"
		
		//Calculate the grade
		form.grd.value="NA"

	}

	else if (calc_type=="meter") {
		
		//Calculate the number of cms
		var calc_check=calc_var * 100;
		form.scm.value=round(calc_check, 19)	
	
		//Calculate the number of ins
		var calc_mettocm=calc_var * 100;
		var calc_check=calc_mettocm / 2.54;
		form.inch.value=round(calc_check, 19)
	
		//Calculate the number of feet
		var calc_check=calc_var / .3048;		
		form.sft.value=round(calc_check, 19)

		//Calculate the number of meters
		form.smt.value=calc_var	
		
		//Calculate the number of miles
		var calc_mettofeet=calc_var / .3048;
		var calc_check=calc_mettofeet / 5280;
		form.sml.value=round(calc_check, 19)

		//Calculate the number of nautical miles
		var calc_mettofeet=calc_var / .3048;
		var calc_check=calc_mettofeet / 6075;
		form.nml.value=round(calc_check, 19)
		
		//Calculate then number of kilometer
		var calc_check=calc_var / 1000;
		form.skm.value=round(calc_check, 19)
		
		//Calculate the degrees
		form.dgr.value="NA"
		
		//Calculate the grade
		form.grd.value="NA"

	}

	else if (calc_type=="mile") {
		//Calculate the number of cms
		var calc_mltokilo=calc_var * 1.609;
		var calc_kmtocm=calc_mltokilo * 100000;
		form.scm.value=round(calc_kmtocm, 19)
	
		//Calculate the number of inches
		var calc_mltoft=calc_var * 5280;
		var calc_check=calc_mltoft * 12
		form.inch.value=round(calc_check, 19)

		//Calculate the number of feet
		var calc_check=calc_var * 5280
		form.sft.value=round(calc_check, 19)

		//Calculate the number of meters
		var calc_mltokilo=calc_var * 1.609;
		var calc_check=calc_mltokilo * 1000;
		form.smt.value=round(calc_check, 19)

		//Calculate the number of miles
		form.sml.value=calc_var

		//Calculate the number of nautical miles
		var calc_check=calc_var * 1.852
		form.nml.value=round(calc_check, 19)
		
		//Calculate the number of kilos
		var calc_check=calc_var * 1.609;
		form.skm.value=round(calc_check,19)
		
		//Calculate the degrees
		form.dgr.value="NA"
		
		//Calculate the grade
		form.grd.value="NA"

	}
	
	else if (calc_type=="nmiles") {
		//Calculate the number of cms
		var calc_nmltokilo=calc_var * 1.852;
		var calc_kmtocm=calc_nmltokilo * 100000;
		form.scm.value=round(calc_kmtocm, 19)
	
		//Calculate the number of inches
		var calc_mltoft=calc_var * 6075;
		var calc_check=calc_mltoft * 12
		form.inch.value=round(calc_check, 19)

		//Calculate the number of feet
		var calc_check=calc_var * 6075
		form.sft.value=round(calc_check, 19)

		//Calculate the number of meters
		var calc_mltokilo=calc_var * 1.852;
		var calc_check=calc_mltokilo * 1000;
		form.smt.value=round(calc_check, 19)

		//Calculate the number of miles
		var calc_check=calc_var * 1.609;
		form.sml.value=round(calc_check, 19)
		
		//Calculate the number of nautical miles
		form.nml.value=calc_var
		
		//Calculate the number of kilos
		var calc_check=calc_var * 1.852;
		form.skm.value=round(calc_check,19)
		
		//Calculate the degrees
		form.dgr.value="NA"
		
		//Calculate the grade
		form.grd.value="NA"

	}


	else if (calc_type=="kilo") {
		//Calculate the number of cms
		var calc_check=calc_var * 100000;
		form.scm.value=round(calc_check,19)

		//Calculate the number of inches
		var calc_kiltoml=calc_var * .6214;
		var calc_mltoft=calc_kiltoml * 5280;
		var calc_check=calc_mltoft * 12;
		form.inch.value=round(calc_check, 19)

		//Calculate the number of feet
		var calc_kiltoml=calc_var * .6214;
		var calc_mltoft=calc_kiltoml * 5280;
		form.sft.value=round(calc_mltoft,19)

		//Calculate the number of meters
		var calc_check=calc_var * 1000;
		form.smt.value=round(calc_check, 19)
		
		//Calculate then number of miles
		var calc_check=calc_var * .6214;
		form.sml.value=round(calc_check, 19)

		//Calculate the number of miles
		var calc_check=calc_var * .54;
		form.nml.value=round(calc_check, 19)
		
		//Calculate the number of kilo
		form.skm.value=calc_var
		
		//Calculate the degrees
		form.dgr.value="NA"
		
		//Calculate the grade
		form.grd.value="NA"
	}
	
	else if (calc_type=="dg") {
		//Calculate the grade
		form.scm.value="NA"
		form.inch.value="NA"
		form.sft.value="NA"
		form.smt.value="NA"
		form.sml.value="NA"
		form.nml.value="NA"
		form.skm.value="NA"
		form.dgr.value=calc_var + "º"
		
		//Calculate the Grade
		var calc_grade=calc_var / 90;
		var calc_check=calc_grade * 100;
		form.grd.value=round(calc_check,18) + "%"
	}
	
	else if (calc_type=="gr") {
		//Calculate the degree from the grade
		form.scm.value="NA"
		form.inch.value="NA"
		form.sft.value="NA"
		form.smt.value="NA"
		form.sml.value="NA"
		form.nml.value="NA"
		form.skm.value="NA"
		
		//Calculate the Degree
		var calc_check=calc_var / 100;
		var calc_degree= calc_check * 90;
		form.dgr.value=round(calc_degree,18) + "º"
		
		//calculate the grade
		form.grd.value=calc_var + "%"
	}

		
		
}

}		

function reverseIt(str) {
    if (!str) return; // nothing to change
    var rstr = '';
    for (i=str.length-1;i>=0;i--) rstr += str.charAt(i);
    return rstr;
 }
 function thousands(str) {
    var saveStr = "" + str;
    if (saveStr.length < 4) return str;
    var revStr = reverseIt(saveStr);
    var newStr = '';
    for (var i=0;i<revStr.length;i++) {
       if (i>0 && (i%3)==0) newStr += ',';
       newStr += revStr.charAt(i);
    }
    return reverseIt(newStr);
 }


function round(number,X) {
	// rounds number to X decimal places, defaults to 2
	X = (!X ? 0 : X);
	return Math.round(number*Math.pow(10,X))/Math.pow(10,X);
}
// End -->
