
function TrnsRLC(x)
{ //  if(x.name=="Z")
    //    {if(!((x.value<500)&&(x.value>0)))
          //  {ErrMssg();x.focus();return;}}
    var Fc=document.getElementsByName('TrnsRlcFc')[0];
    var D=document.getElementsByName('TrnsRlcD')[0];
    var Epr=document.getElementsByName('TrnsRlcEpr')[0];
    var Kt=document.getElementsByName('TrnsRlcKt')[0];
    var Area=document.getElementsByName('TrnsRlcArea')[0];  
//alert('Fc: ' + Fc.value +'...')
    xmlHttp=GetXmlHttpObject();
    if (xmlHttp==null)
      {      alert ("Your browser does not support AJAX!");      return;      }
    MssgWndw="DivTrnsRlc" ;
    var url="TrnsRlcRspn.php"
    url=url+"?TrnsRlcFc="+Fc.value; //field name
    url=url+"&TrnsRlcD="+D.value;
    url=url+"&TrnsRlcArea="+Area.value;
    url=url+"&TrnsRlcEpr="+Epr.value;
    url=url+"&TrnsRlcKt="+Kt.value;
    url=url+"&sid="+Math.random();

    xmlHttp.onreadystatechange=ScMssgWndw;
    xmlHttp.open("GET",url,true)
    xmlHttp.send(null);}


function FrqnVlctLmdClcl(x)
{
//alert("123");
if (x.value == 0)

    {x.value=1;alert('Enter a value not zero !');x.focus();return false}

var Frqn=document.getElementsByName('Frqn')[0];

var VlctL=document.getElementsByName('VlctL')[0];

var Lmda=document.getElementsByName('Lmda')[0];

var SlctIndx=document.getElementsByName('FrqnVlctLmdName')[0];

Lmda.className="Inpt";VlctL.className="Inpt";Frqn.className="Inpt";

switch(SlctIndx.value)

    {

     case '1':

        Lmda.className="Outp";

        Lmda.value=VlctL.value/Frqn.value;

        break;

     case '2':

        VlctL.className="Outp";

        VlctL.value=Frqn.value*Lmda.value;break;

     case '3':

        Frqn.className="Outp";

        Frqn.value=VlctL.value/Lmda.value;break;

    }

}


function TrnsAS(x)

{

switch(x.name)

    {case 'TrnsASFrqn':

        if (x.value <=0)

            {x.value=5;alert('Vlue should be bigger than 0 !');x.focus();return true}

        break;

    case 'TrnsASVlctL':

        if ((x.value <300)||(x.value >10000))

            {x.value=4330;alert('Vlue should be between 300 to 10000!');x.focus();return true}

        break;

    case 'TrnsASDlct':

        if ((x.value <1)||(x.value >20000))

            {x.value=4330;alert('Vlue should be between 1 to 20000!');x.focus();return true}

        break;

    case 'TrnsASArea':

        if (x.value <=0)

            {x.value=9;alert('Vlue should be bigger than 0 !');x.focus();return true}

        break;

    }

var Frqn=document.getElementsByName('TrnsASFrqn')[0].value;

var VlctL=document.getElementsByName('TrnsASVlctL')[0].value;

var Dlct=document.getElementsByName('TrnsASDlct')[0].value;

var Area=document.getElementsByName('TrnsASArea')[0].value;

var Thck=VlctL/Frqn/2;

var Cpct=Area*Dlct*8.854e-12/Thck;

var Z=1/(6.28*Frqn*1e6*Cpct);

//alert("Thiness:" + Thck + "  Capacitance: " + Cpct*1e6 + " uF");

document.getElementsByName('TrnsAsOtpt')[0].rows=3;

document.getElementsByName('TrnsAsOtpt')[0].value="Thickness:" + Thck + "  \n |Z|: " + Z + "ohm  \n Capacitance: " + Cpct*1e6 + " uF";

}
function TuneTI(x)

{

switch(x.name)

    {case 'TuneTIFrqn':

        if (x.value <=0)

            {x.value=5;alert('Vlue should be bigger than 0 !');x.focus();return true}

        break;

    case 'TuneTIZ':

        if (x.value <0)

            {x.value=70;alert('Vlue should be bigger than 0!');x.focus();return true}

        var Tht=document.getElementsByName('TuneTITht')[0].value*3.14/180;

        document.getElementsByName('TuneTIReal')[0].value=x.value*Math.cos(Tht);

        document.getElementsByName('TuneTIImgn')[0].value=x.value*Math.sin(Tht);

        break;

    case 'TuneTITht':

        if ((x.value < -90)||(x.value > 90))

            {x.value=-10; alert('Vlue should be between -90 to 90!');x.focus();return true}

        var Z=document.getElementsByName('TuneTIZ')[0].value;

        document.getElementsByName('TuneTIReal')[0].value=Z*Math.cos(x.value*3.14/180);

        document.getElementsByName('TuneTIImgn')[0].value=Z*Math.sin(x.value*3.14/180);

        break;

    case 'TuneImgn':

        if ((x.value <= -1e6)||(x.value >= 1e6))

            {x.value=-35.6;alert('Value out of range!');x.focus();return true}

        break;



    }

var Frqn=document.getElementsByName('TuneTIFrqn')[0].value;

var Real=document.getElementsByName('TuneTIReal')[0].value;

var Imgn=document.getElementsByName('TuneTIImgn')[0].value;

var W=Frqn*6.28*1e6;

if (Imgn >= 0)

    {var OtptTxt="No need to tune with an inductor...";

    var Row=2;}

else

    {var IndcSrl=-Imgn/W*1e6;

     var IndcPrll=-(Real*Real+Imgn*Imgn)/W/Imgn;

    var ImpdPrll=W*W*IndcPrll*IndcPrll*Real/(Real*Real+(Imgn*1.0+W*IndcPrll)*(Imgn*1.0+W*IndcPrll));

    var OtptTxt="Tuning with an inductor... \n If series: " +IndcSrl + " uH \n ";

        OtptTxt=OtptTxt +  "Impedance value after tuning: " + Real + " ohm \n \n";

        OtptTxt=OtptTxt + " If parallel: " + IndcPrll*1e6 + " uH \n"; 

        OtptTxt=OtptTxt + " Impedance value after tuning: " + ImpdPrll + " ohm \n";

    var Row=5;

    }

document.getElementsByName('TuneTIOtpt')[0].rows=Row;

document.getElementsByName('TuneTIOtpt')[0].value=OtptTxt;

}
function FltPARF(x)

{ 

if (x.name != 'FltPARFTht')

{

if (x.value <=0)

            {x.value=5;alert('Vlue should be bigger than 0 !');x.focus();return true}

}

var Frqn=document.getElementsByName('FltPARFFrqn')[0].value*1e6;

var Dmtr=document.getElementsByName('FltPARFDmtr')[0].value*1e-3;

var Lmda=1540/Frqn;

var NF=Dmtr*Dmtr/(4*1540/Frqn)*1e3;

var MainLobe=Math.asin(0.16*Lmda/Dmtr*2)*2*180/2;



var OtptTxt="Length of Near Field: " + NF + "mm  \n";

 OtptTxt=OtptTxt + "Main lobe width: " + MainLobe + " Deg"; 

document.getElementsByName('FltPARFOtpt')[0].rows=2;

document.getElementsByName('FltPARFOtpt')[0].value=OtptTxt;

var Rds=Dmtr/2;

var Z=document.getElementsByName('FltPARFZ')[0].value*1e-3;

var Tht=document.getElementsByName('FltPARFTht')[0].value*3.1416/180;

var Inst=Math.sin(3.1416/Lmda*Math.sqrt(Z*Z+Rds*Rds)*(1+Z/Math.sqrt(Z*Z+Rds*Rds)))

if (Tht==0)

    {

 

    document.getElementsByName('FltPARFOtpt2')[0].value=Inst*Inst;

    }

else

    {

    var KASIN=6.28/Lmda*Rds*Math.sin(Tht);

    var DTht=Math.sin(KASIN)/KASIN;

    document.getElementsByName('FltPARFOtpt2')[0].value=Inst*Inst*DTht*DTht;    

    }

}

function CncvARF(x)

{ 

if (x.value <=0)

            {x.value=5;alert('Vlue should be bigger than 0 !');x.focus();return true}

var Frqn=document.getElementsByName('CncvARFFrqn')[0].value*1e6;

var Dmtr=document.getElementsByName('CncvARFDmtr')[0].value*1e-3;

var Fcs=document.getElementsByName('CncvARFFcs')[0].value*1e-3;

var Lmda=1540/Frqn;

var FNmbr=Fcs/Dmtr;

var B6=FNmbr*Lmda*1e6;

var DOF=7.1*Lmda*FNmbr*FNmbr*1e3;



var OtptTxt="F_number: " + FNmbr + "  \n";

 OtptTxt=OtptTxt + "-3 dB Beam Width at focal point: " + B6 + " um \n";

 OtptTxt=OtptTxt + "Depth of Focus: " + DOF + " mm \n";

document.getElementsByName('CncvARFOtpt')[0].rows=3;

document.getElementsByName('CncvARFOtpt')[0].value=OtptTxt;

}

function LnrA(x)

{ 



switch(x.name)

    {

    case 'LnrAFrqn':

        if (x.value <=0)

            {x.value=5;alert('Vlue should be bigger than 0 !');x.focus();return true}

        document.getElementsByName('LnrAWdth')[0].value=1540/x.value*1e-3;

        break;

    case 'LnrAWdth':

        if (x.value <=0)

            {x.value=1540/document.getElementsByName('LnrAFrqn')[0].value*1e3

            alert('Vlue should be bigger than 0 !');x.focus();return true}

        break;

    case 'LnrAKerf':

        if (x.value <=0)

            {x.value=25;

            alert('Vlue should be bigger than 0 !');x.focus();return true}

        break;

    case 'LnrAHght':

        if (x.value <=0)

            {x.value=2;

            alert('Vlue should be bigger than 0 !');x.focus();return true}

     }



var Frqn=document.getElementsByName('LnrAFrqn')[0].value*1e6;

var Wdth=document.getElementsByName('LnrAWdth')[0].value*1e-3;

var Kerf=document.getElementsByName('LnrAKerf')[0].value*1e-6;

var ElmnNmbr=document.getElementsByName('LnrAElmnNmbr')[0].value;

var Hght=document.getElementsByName('LnrAHght')[0].value*1e-3;

var Fcs=document.getElementsByName('LnrAFcs')[0].value*1e-3;

var FN=Fcs/(ElmnNmbr*(Wdth+Kerf));

var Lmda=1540/Frqn;

var AcptAngl_3dB=Lmda/Wdth*180/3.14;

var BeamWdth=Lmda*FN*1e3;

var BeamElvt=Lmda/Hght*Fcs*1e3;

var OtptTxt="Element Accept Angle: " + AcptAngl_3dB + " deg \n";

    OtptTxt=OtptTxt + "F_number: " + FN + " \n";

    OtptTxt=OtptTxt + "-3dB Lateral Beam Width: " + BeamWdth +" mm \n";

    OtptTxt=OtptTxt + "-3dB Elevation Beam Width: " + BeamElvt +" mm \n \n";

    OtptTxt=OtptTxt + "Delay for all the elements: \n";



var A=(Wdth+Kerf)*(ElmnNmbr-1)/2;

var DMax=Math.sqrt(A*A+Fcs*Fcs);

for (i=0;i<ElmnNmbr;i++)

    {Ai=A-i*(Wdth+Kerf);

    Di=Math.sqrt(Ai*Ai+Fcs*Fcs);  

    Dly=(DMax-Di)/1540*1e9;

    OtptTxt=OtptTxt + "No. " + (i+1) + " : " + Dly + " ns \n"; 

    }



document.getElementsByName('LnrAOtpt')[0].rows=8;

document.getElementsByName('LnrAOtpt')[0].value=OtptTxt;

}
function PhsA(x)

{ 



switch(x.name)

    {

    case 'PhsAFrqn':

        if (x.value <=0)

            {x.value=5;alert('Vlue should be bigger than 0 !');x.focus();return true}

        document.getElementsByName('PhsAWdth')[0].value=1540/x.value/2*1e-3;

        break;

    case 'PhsAWdth':

        if (x.value <=0)

            {x.value=1540/document.getElementsByName('PhsAFrqn')[0].value/2*1e3

            alert('Vlue should be bigger than 0 !');x.focus();return true}

        break;

    case 'PhsAKerf':

        if (x.value <=0)

            {x.value=25;

            alert('Vlue should be bigger than 0 !');x.focus();return true}

        break;

    case 'PhsAHght':

        if (x.value <=0)

            {x.value=2;

            alert('Vlue should be bigger than 0 !');x.focus();return true}

     }



var Frqn=document.getElementsByName('PhsAFrqn')[0].value*1e6;

var Wdth=document.getElementsByName('PhsAWdth')[0].value*1e-3;

var Kerf=document.getElementsByName('PhsAKerf')[0].value*1e-6;

var ElmnNmbr=document.getElementsByName('PhsAElmnNmbr')[0].value;

var Hght=document.getElementsByName('PhsAHght')[0].value*1e-3;

var Fcs=document.getElementsByName('PhsAFcs')[0].value*1e-3;

var Angl=document.getElementsByName('PhsAAngl')[0].value*3.14/180;



var FN=Fcs/(ElmnNmbr*(Wdth+Kerf));

var Lmda=1540/Frqn;

var AcptAngl_3dB=Lmda/Wdth*180/3.14;

var BeamWdth=Lmda*FN*1e3;

var BeamElvt=Lmda/Hght*Fcs*1e3;

var OtptTxt="Element Accept Angle: " + AcptAngl_3dB + " deg \n";

    OtptTxt=OtptTxt + "F_number: " + FN + " \n";

    OtptTxt=OtptTxt + "-3dB Lateral Beam Width: " + BeamWdth +" mm \n";

    OtptTxt=OtptTxt + "-3dB Elevation Beam Width: " + BeamElvt +" mm \n \n";

    OtptTxt=OtptTxt + "Delay for all the elements: \n";

var A=(Wdth+Kerf)*(ElmnNmbr-1)/2;

var DMax=Math.sqrt(A*A+Fcs*Fcs);

for (i=0;i<ElmnNmbr;i++)

    {Ai=(A-i*(Wdth+Kerf))*Math.cos(Angl);

    Di=Math.sqrt(Ai*Ai+Fcs*Fcs);  

    Dly=(DMax-Di+i*(Wdth+Kerf)*Math.sin(Angl))/1540*1e9;

    OtptTxt=OtptTxt + "No. " + (i+1) + " : " + Dly + " ns \n"; 

    }



document.getElementsByName('PhsAOtpt')[0].rows=8;

document.getElementsByName('PhsAOtpt')[0].value=OtptTxt;

}



function validate_email(field,alerttxt)

{

with (field)

{

apos=value.indexOf("@")

dotpos=value.lastIndexOf(".")

if (apos<1||dotpos-apos<2) 

  {alert(alerttxt);return false}

else {return true}

}

}function FormVldt(thisform)

{

with (thisform)

{

if (validate_email(CstmEml,"Not a valid e-mail address to me ??")==false)

  {CstmEml.focus();return false}

if ((CstmCmmn.value)==null||(CstmCmmn.value)=="")

  {alert("No comment?");CstmCmmn.focus();return false}

}

}

