//-- VSWR Reduction Calculation
function vswr_eff(){
	userin=document.vswrcalc.Attn.value;
	if (userin == 0){
		userin=3.0;
		document.vswrcalc.Attn.value=userin;
	}
	Attnval=eval(userin);
	if (Attnval<0){
		Attnval=-Attnval;
	}

	userin=document.vswrcalc.Gain.value;
	if (userin == 0){
		userin=16.0;
		document.vswrcalc.Gain.value=userin;
	}
	Gainval=eval(userin);

	userin=document.vswrcalc.Reflect.value;
	if (userin == 0){
		userin=2.0;
		document.vswrcalc.Reflect.value=userin;
		document.vswrcalc.VSWR[0].checked; 
	}
	Reflectval=eval(userin);
	if (eval(document.vswrcalc.VSWR[1].checked == true)){
		RetLoss=Reflectval;
	}	
	else{
		if (Reflectval>1){
			RetLoss=-20.*Math.log((Reflectval-1)/(Reflectval+1))/2.302;
		}else{
			RetLoss=60;
		}
	}

	if (RetLoss < 0){
		RetLoss=-RetLoss;
	}
	if (RetLoss>0){
		Eff_RetLoss = RetLoss+2*Attnval;
		Gamma = Math.exp(-Eff_RetLoss*2.302/20.0);
		VSWRval = (1+Gamma)/(1-Gamma);
		VSWRval = (Math.round(VSWRval*1000))/1000;
		Eff_RetLoss = (Math.round(Eff_RetLoss*100))/100;
		document.vswrcalc.VSWR_Out.value=VSWRval;
		document.vswrcalc.RetLoss_Out.value=Eff_RetLoss;
	} else {
		document.vswrcalc.VSWR_Out.value=1.0;
		document.vswrcalc.RetLoss_Out.value=99;
	}
	Eff_Gain = Gainval-Attnval;
	Eff_Gain = (Math.round(Eff_Gain*100))/100;
	document.vswrcalc.Gain_Out.value=Eff_Gain;
}