function  bnum(str) {
 	var regEx  =  /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/; 
 	return regEx.test(str);
}

function lcid(v1,v2,v3) {
	v1.value = (bnum(v1.value)?v1.value:'');
	v2.value = (bnum(v2.value)?v2.value:'');
	v3.value = (bnum(v3.value)?v3.value:'');
	
	if (v1.value.toString()>"") {
		v2.value = Math.round((v1.value.toString() * 61.02)*10)/10;
		v3.value = Math.round((v1.value.toString() * 1000)*10)/10;
        return;
	}
	
	if (v2.value.toString()>"") {
	   v1.value = Math.round((v2.value.toString() / 61.02)*10)/10;
	   v3.value = Math.round((v1.value.toString() * 1000)*10)/10;
       return;
	}
	
	if (v3.value.toString()>"") {
	   v1.value = Math.round((v3.value.toString() / 1000)*10)/10;
	   v2.value = Math.round((v1.value.toString() * 61.02)*10)/10;
	   return;
	}
}

function rp(v1,v2,v3) {
	v1.value = (bnum(v1.value)?v1.value:'');
	v2.value = (bnum(v2.value)?v2.value:'');
	v3.value = (bnum(v3.value)?v3.value:'');
	
	
	if (v2.value.toString()==""&&v1.value.toString()>""&&v3.value.toString()>"") {
	   v2.value = Math.round((v1.value.toString()/v3.value.toString())*100)/100;
	}
	else
	if (v1.value.toString()==""&&v2.value.toString()>""&&v3.value.toString()>"") {
	   v1.value = Math.round((v2.value.toString()*v3.value.toString())*100)/100;
	}
	
	if (v1.value.toString()>""&&v2.value.toString()>"") {
	   v3.value = Math.round((v1.value.toString()/v2.value.toString())*100)/100;
	}
}

function rti(v1,v2,v3,v4) {
	v1.value = (bnum(v1.value)?v1.value:'');
	v2.value = (bnum(v2.value)?v2.value:'');
	v3.value = (bnum(v3.value)?v3.value:'');
	v4.value = (bnum(v4.value)?v4.value:'');

	if (v1.value.toString()>""&&v2.value.toString()>"") {
		ang = Math.sin(20 * Math.PI/180);
		inc = v1.value.toString()/ang;
		v3.value = Math.round(inc/v2.value.toString()*1000);
		v4.value = Math.round(inc*10)/10;
    }
}

function mts(v1,v2,v3,v4,v5,v6) {
	v1.value = (bnum(v1.value)?v1.value:'');
	v2.value = (bnum(v2.value)?v2.value:'');
	v3.value = (bnum(v3.value)?v3.value:'');
	v4.value = (bnum(v4.value)?v4.value:'');

	
	
	if (v3.value.toString()==""&&v1.value.toString()>""&&v2.value.toString()>""&&v4.value.toString()>"") {
	    v3.value = Math.round((v4.value.toString() - ((2 * v1.value.toString() * v2.value.toString()) / 2540))*10)/10;
    }
	else
	if (v1.value.toString()==""&&v3.value.toString()>""&&v2.value.toString()>""&&v4.value.toString()>"") {
	    v1.value = Math.round(((v4.value.toString() - v3.value.toString()) * 2540) / (2 * v2.value.toString()));
    }
	else
	if (v2.value.toString()==""&&v3.value.toString()>""&&v1.value.toString()>""&&v4.value.toString()>"") {
	    v2.value = Math.round(((v4.value.toString() - v3.value.toString()) * 2540) / (2 * v1.value.toString()));
    }
	
	if (v1.value.toString()>""&&v2.value.toString()>""&&v3.value.toString()>"") {
    	v4.value = Math.round((((2 * v1.value.toString() * v2.value.toString()) / 2540) + parseInt(v3.value.toString()))*10)/10;
    }
	
	v5.value = Math.round((v1.value.toString()/25.4)*10)/10;
	v6.value = Math.round(v5.value.toString()*(v2.value.toString()/100)*10)/10;
}

function calctiresize(
new_td, 
old_td, 
cgr, 
agr, 
hgr, 
ngr, 
lgr) {

agr.value="";
hgr.value="";
ngr.value="";
lgr.value="";
	if (agr.value.toString()=="" &&cgr.value.toString()>""&&old_td.value.toString()>""&&new_td.value.toString()>"") {
	   agr.value = Math.round(((old_td.value.toString() / new_td.value.toString()) * cgr.value.toString())*100)/100;
	   agr.value = agr.value.toString() + ":1";
	   hgr.value = Math.round((((new_td.value.toString() / old_td.value.toString()) * cgr.value.toString()) - (((new_td.value.toString() / old_td.value.toString()) * cgr.value.toString()) * .09))*100)/100;
	   hgr.value = hgr.value.toString() + ":1";
	   ngr.value = Math.round(((new_td.value.toString() / old_td.value.toString()) * cgr.value.toString())*100)/100;
	   ngr.value = ngr.value.toString() + ":1";
	   lgr.value = Math.round((((new_td.value.toString() / old_td.value.toString()) * cgr.value.toString()) + (((new_td.value.toString() / old_td.value.toString()) * cgr.value.toString()) * .09))*100)/100;
	   lgr.value = lgr.value.toString() + ":1";
       return;
	}
}

function calc_gears(
v1, 
v2, 
v3, 
v4, 
v5, 
v6, 
v7) {
	v1.value = (bnum(v1.value)&&v1.value>0?v1.value:'');
	v2.value = (bnum(v2.value)&&v2.value>0?v2.value:'');
	v3.value = (bnum(v3.value)&&v3.value>0?v3.value:'');
	v4.value = (bnum(v4.value)&&v4.value>0?v4.value:'');
	v5.value = (bnum(v5.value)&&v5.value>0?v5.value:'');
	v6.value = (bnum(v6.value)&&v6.value>0?v6.value:'');
	
	if (v5.value==''&&v6.value.toString()>''&&v3.value.toString()>''&&v2.value.toString()>''&&v4.value.toString()>''&&v1.value.toString()>'') {
		v5.value = Math.round(((v6.value.toString() * v3.value.toString() * v2.value.toString() * v4.value.toString() * 336)/v1.value.toString())*10)/10;
	}
	else
	if (v6.value ==''&&v5.value.toString()>''&&v3.value.toString()>''&&v2.value.toString()>''&&v4.value.toString()>''&&v1.value.toString()>'') {
	    v6.value = Math.round(((v5.value.toString() * v1.value.toString()) / (v3.value.toString() * v2.value.toString() * v4.value.toString() * 336))*10)/10;
	}
	else
	if (v3.value==''&&v5.value.toString()>''&&v6.value.toString()>''&&v2.value.toString()>''&&v4.value.toString()>''&&v1.value.toString()>'') {
		v3.value = Math.round(((v5.value.toString() * v1.value.toString()) / (v6.value.toString() * v2.value.toString() * v4.value.toString() * 336))*100)/100;
	}
	else
	if (v2.value==''&&v5.value.toString()>''&&v6.value.toString()>''&&v3.value.toString()>''&&v4.value.toString()>''&&v1.value.toString()>'') {
		v2.value = Math.round(((v5.value.toString() * v1.value.toString()) / (v6.value.toString() * v3.value.toString() * v4.value.toString() * 336))*100)/100;
	}
	else
	if (v4.value==''&&v5.value.toString()>''&&v6.value.toString()>''&&v3.value.toString()>''&&v2.value.toString()>''&&v1.value.toString()>'') {
		v4.value = Math.round(((v5.value.toString() * v1.value.toString()) / (v6.value.toString() * v3.value.toString() * v2.value.toString() * 336))*100)/100;
	}
	else
	if (v1.value==''&&v6.value.toString()>''&&v3.value.toString()>''&&v2.value.toString()>''&&v4.value.toString()>''&&v5.value.toString()>'') {
		v1.value = Math.round(((v6.value.toString() * v3.value.toString() * v2.value.toString() * v4.value.toString() * 336)/v5.value.toString())*10)/10;
	}
	
	if (v3.value.toString()>''&&v2.value.toString()>''&&v4.value.toString()>'') {
		v7.value = Math.round((v3.value.toString() * v2.value.toString() * v4.value.toString())*100)/100;
		v7.value = v7.value.toString() + ':1';
	}
}

function mph(v1,v2,v3,v4){
	v1.value = (bnum(v1.value)&&v1.value>0?v1.value:'');
	v2.value = (bnum(v2.value)&&v2.value>0?v2.value:'');
	v3.value = (bnum(v3.value)&&v3.value>0?v3.value:'');
	if(v1.value>''&&v2.value>''&&v3.value>''){
		var offset = v2.value/v1.value;
		v4.value=v3.value*offset
	}
}