function showcredit() { var credit="Script programmed by Jens T.Saetre 13012001" credit= "Script programmed by Jens T.Saetre 13012001" credit+="\n15012001 Added antenna gain calculations" credit+="\n08122002 Changed layout" window.alert(credit); //var theResponse = window.prompt("Welcome?","Enter your name here."); } function log10(X) { return( Math.log(X)/Math.log(10) ); // works OK ! } function CalculateLoss() { var SurfaceIrregularities,Frequency,WaveLength,LossOfGain SurfaceIrregularities=1*document.GainLoss.SurfaceIrregularities.value; Frequency=document.GainLoss.Frequency.value; WaveLength=300000000/(Frequency*1000000); // in meter 1m=1000mm //window.alert(WaveLength*1000); LossOfGain=Math.exp( -Math.pow(((4*Math.PI*SurfaceIrregularities)/(WaveLength*1000)),2 ) ); document.GainLoss.LossPercent.value=formatvalue((1-LossOfGain)*100, 5); document.GainLoss.AntennaEfficiency.value=formatvalue(LossOfGain*100, 5); document.GainLoss.LossdB.value=formatvalue(10*log10(LossOfGain), 5) ; AntennaGain(); } function AntennaGain() { var rxFrequency,Gain,AntennaDiameter,rxWaveLength,IdealGain rxFrequency=1*document.GainLoss.Frequency.value; AntennaDiameter=1*document.GainLoss.AntennaDiameter.value ; rxWaveLength=300000000/(rxFrequency*1000000); //meter IdealGain=10*log10( Math.pow(((Math.PI*AntennaDiameter)/rxWaveLength),2)); document.GainLoss.IdealGain.value=formatvalue(IdealGain, 5) ; document.GainLoss.AntennaGain.value=formatvalue((1*document.GainLoss.IdealGain.value+1*document.GainLoss.LossdB.value), 5) ; //window.prompt(Gain,"Test verdi"); } function formatvalue(input, rsize) // Desimal avrunding { var invalid = "**************************"; var nines = "999999999999999999999999"; var strin = "" + input; var fltin = parseFloat(strin); if (strin.length <= rsize) return strin; if (strin.indexOf("e") != -1 || fltin > parseFloat(nines.substring(0,rsize)+".4")) return invalid.substring(0, rsize); var rounded = "" + (fltin + (fltin - parseFloat(strin.substring(0, rsize)))); return rounded.substring(0, rsize); }