var xmlHttp;
var AvtvMtrlChng=false;
var PssvMtrlChng=false;
var LyrPssvShw=1;
var MssgWndw='';
// ---------------------Design management-------------------------------------------
var DivDsgnTxt;
function UpdtCntr(x)
{   
    xmlHttp=GetXmlHttpObject();
    if (xmlHttp==null)
      {
      alert ("Your browser does not support AJAX!");
      return;
      } 
    MssgWndw='DivCntr';
    var url= x.value+".php"
    xmlHttp.onreadystatechange=ScMssgWndw;
    xmlHttp.open("GET",url,true)
    xmlHttp.send(null)
}

function OpnDsgn()
{   DivDsgnTxt=document.getElementById("DivDsgn").innerHTML;
    xmlHttp=GetXmlHttpObject();
    if (xmlHttp==null)
      {
      alert ("Your browser does not support AJAX!");
      return;
      } 
    MssgWndw="DivDsgn";
    var url="OpnDsgnRqst.php"
    xmlHttp.onreadystatechange=ScMssgWndw;
    xmlHttp.open("GET",url,true)
    xmlHttp.send(null)
}
function SaveDsgn()
{   DivDsgnTxt=document.getElementById("DivDsgn").innerHTML;
    xmlHttp=GetXmlHttpObject();
    if (xmlHttp==null)
      {
      alert ("Your browser does not support AJAX!");
      return;
      } 
    MssgWndw="DivDsgn";
    var url="SaveDsgnRqst.php"
    xmlHttp.onreadystatechange=ScMssgWndw;
    xmlHttp.open("GET",url,true)
    xmlHttp.send(null)
}
function DltDsgn()
{   DivDsgnTxt=document.getElementById("DivDsgn").innerHTML;
    xmlHttp=GetXmlHttpObject();
    if (xmlHttp==null)
      {
      alert ("Your browser does not support AJAX!");
      return;
      } 
    MssgWndw="DivDsgn";
    var url="DltDsgnRqst.php"
    xmlHttp.onreadystatechange=ScMssgWndw;
    xmlHttp.open("GET",url,true)
    xmlHttp.send(null)
}
function DltDsgnRspn()  //response to DltDsgn.php
{ var DName=document.getElementById("DsgnName").value;
    alert(DName+' will be deleted');
    xmlHttp=GetXmlHttpObject();
    if (xmlHttp==null)
      {
      alert ("Your browser does not support AJAX!");
      return;
      } 
    MssgWndw="DivDsgn";
    var url="DltDsgn.php";
    url=url+"?DsgnName="+DName;
    xmlHttp.onreadystatechange=ScMssgWndw;
    xmlHttp.open("GET",url,true)
    xmlHttp.send(null)
}
function UpldDsgn()
{   DivDsgnTxt=document.getElementById("DivDsgn").innerHTML;
    var Txt="<form action='UpldDsgn.php' method='post' enctype='multipart/form-data'> <label for='file'>Filename:</label>";
    Txt=Txt+ "<input type='file' name='file' id='file' accept='image/tiff' onchange='UpldEnbl(this)' /> <br /> <input type='submit' id='submit' value='Upload' disabled=true /></form> ";
    Txt=Txt+ "<input type='button' value='Cancel' id='SaveDsgnCncl' onclick='SaveDsgnCncl()' />";
    document.getElementById("DivDsgn").innerHTML=Txt;
}
function UpldEnbl(x)
{//alert(x.value);
if(x.value.match('.xml')!=null)
{
document.getElementById("submit").disabled=false;
}
else
    alert("The design file shall have an extension of *.xml !");
}
function DwnlDsgnCncl()
{//document.getElementById("DivDsgn").innerHTML=DivDsgnTxt; 
  var FlnmTxt=document.getElementById("DwnlName").href;
  xmlHttp=GetXmlHttpObject();
  var url="DwnlDsgnCncl.php"
  url=url+"?Flnm="+FlnmTxt; //The xml file name to be deleted
   xmlHttp.onreadystatechange=ScDwnlDsgnCncl;
   xmlHttp.open("GET",url,true)
   xmlHttp.send(null)
}
function ScDwnlDsgnCncl()
{if (xmlHttp.readyState==4)
    {  document.getElementById("DivDsgn").innerHTML= DivDsgnTxt + xmlHttp.responseText;}
}

function RfrsDsgnName(x)
{ document.getElementById("FlnmSaveDsgn").value=x;
}

function SaveDsgnCncl()
{ document.getElementById("DivDsgn").innerHTML=DivDsgnTxt;
}


//---------DivFrqn--------------------

function UpdtFrqn(x)
{ 	
if(!((x.value>0)&&(x.value<1e9)))   {ErrMssg();x.value=x.defaultValue;x.focus();return;} 
 //Global frequency information is update in function ScMssgWndw() 
    xmlHttp=GetXmlHttpObject();
    if (xmlHttp==null)
      {      alert ("Your browser does not support AJAX!");      return;      }
    MssgWndw="DivFrqn" ;
    var url="UpdtFrqn.php"
    url=url+"?FName="+x.name; //field name
    url=url+"&Vl="+x.value;
    url=url+"&sid="+Math.random()
    xmlHttp.onreadystatechange=ScMssgWndw;
    xmlHttp.open("GET",url,true)
    xmlHttp.send(null);}

//---------DivGmtr--------------------
function UpdtGmtr(x)
{
 if(x.name!="RndRctn")
    {if(!((x.value>0)&&(x.value<1e4)))   {ErrMssg();x.value=x.defaultValue;x.focus();return;} }
    xmlHttp=GetXmlHttpObject();
    if (xmlHttp==null)
      {      alert ("Your browser does not support AJAX!");      return;      }
    MssgWndw="DivGmtr" ;
    var url="UpdtGmtr.php"
    url=url+"?FName="+x.name; //field name
    url=url+"&Vl="+x.value;
    url=url+"&sid="+Math.random()
    xmlHttp.onreadystatechange=ScMssgWndw;
    xmlHttp.open("GET",url,true)
    xmlHttp.send(null);}

//---------DivLd: load and target --------------------
function UpdtLd(x)
{ 
  //  var Strg='LyrFrntLdLyrBckLdIpmd';
  //  if(Strg.match(x.name)!=null)
    if(x.name!='MdmAttn')
        { if(!((x.value>0)&&(x.value<1e5)))   {ErrMssg();x.value=x.defaultValue;x.focus();return;} }
    else
        { if(!((x.value>=0)&&(x.value<1e5)))   {ErrMssg();x.value=x.defaultValue;x.focus();return;} }

    xmlHttp=GetXmlHttpObject();
    if (xmlHttp==null)
      {      alert ("Your browser does not support AJAX!");      return;      }
    MssgWndw="DivLd" ;
    var url="UpdtLd.php"
    url=url+"?FName="+x.name; //field name
    url=url+"&Vl="+x.value;
    url=url+"&sid="+Math.random()
    xmlHttp.onreadystatechange=ScMssgWndw;
    xmlHttp.open("GET",url,true)
    xmlHttp.send(null);}

//---------Reload DivSlctClcl, DivKlmCrct:  --------------------
// This is affected by electrical match network, and cable length
// Update the calculation parameters and KLM circuit scheme.

function RLDivSlctClcl()
{   xmlHttp=GetXmlHttpObject();
    if (xmlHttp==null)
      {      alert ("Your browser does not support AJAX!");      return;      }
    var url="RLDivSlctClcl.php"
    url=url+"?sid="+Math.random()
    xmlHttp.onreadystatechange=ScRLDivSlctClcl;
    xmlHttp.open("GET",url,true)
    xmlHttp.send(null);}

function ScRLDivSlctClcl() 
{if (xmlHttp.readyState==4)
    {document.getElementById("DivSlctClcl").innerHTML=xmlHttp.responseText;
 RLDivKlmCrct()   }}

function RLDivEMPrxm()  //called by 'AddMtch() in TrnsGrph.js, reload the proximal electrical match network
{   xmlHttp=GetXmlHttpObject();
    if (xmlHttp==null)
      {      alert ("Your browser does not support AJAX!");      return;      }
    var url="RLDivEMPrxm.php"
    url=url+"?sid="+Math.random()
    xmlHttp.onreadystatechange=ScRLDivEMPrxm;
    xmlHttp.open("GET",url,true)
    xmlHttp.send(null);}

function ScRLDivEMPrxm() 
{if (xmlHttp.readyState==4)
    {document.getElementById("DivElctMtchPrxm").innerHTML=xmlHttp.responseText;
 RLDivEMDstl();}}  // automatically update distal

function RLDivEMDstl()  //called by 'AddMtch() in TrnsGrph.js, reload the proximal electrical match network
{   xmlHttp=GetXmlHttpObject();
    if (xmlHttp==null)
      {      alert ("Your browser does not support AJAX!");      return;      }
    var url="RLDivEMDstl.php"
    url=url+"?sid="+Math.random()


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

function ScRLDivEMDstl() 
{if (xmlHttp.readyState==4)
    {document.getElementById("DivElctMtchDstl").innerHTML=xmlHttp.responseText;
 RLDivKlmCrct()   }}

function RLDivKlmCrct()
{   xmlHttp=GetXmlHttpObject();
    if (xmlHttp==null)
      {      alert ("Your browser does not support AJAX!");      return;      }
    MssgWndw="DivKlmCrct" ;
    var url="RLDivKlmCrct.php"
    url=url+"?sid="+Math.random()
    xmlHttp.onreadystatechange=ScMssgWndw;
    xmlHttp.open("GET",url,true)
    xmlHttp.send(null);}






//---------DivTrnsCvr: Excitation, tranceiver impedance-------------------
function UpdtTrnsCvr(x)
{   if(x.name=="ExctDly")
        {if(!((x.value<1024)&&(x.value>=0)))
            {ErrMssg();x.value=x.defaultValue;x.focus();return;}}
    if(x.name=="GlsBw")
        {if(!((x.value<1000)&&(x.value>0)))
            {ErrMssg();x.value=x.defaultValue;x.focus();return;}}
    if(x.name=="BrstNmbr")
           { if(isNaN(x.value))   {ErrMssg();x.value=x.defaultValue;x.focus();return;}
                else
                {
                if(!((x.value<(Nf/FSmpl*FCntr/2))&&(x.value>0)))
                  {alert("Burst number shall between 0 - "+Math.floor(Nf/FSmpl*FCntr/2)+"!" );x.value=x.defaultValue;x.focus();return;}}    
                }

    var Strg='TrnsImpdRcvrImpd';
    if(Strg.match(x.name)!=null)
       { if(isNaN(x.value))   {ErrMssg();x.value=x.defaultValue;x.focus();return;}}

    xmlHttp=GetXmlHttpObject();
    if (xmlHttp==null)
      {      alert ("Your browser does not support AJAX!");      return;      }
    MssgWndw="DivTrnsCvr" ;
    var url="UpdtTrnsCvr.php"
    url=url+"?FName="+x.name; //field name
    url=url+"&Vl="+x.value;
    url=url+"&sid="+Math.random()
    xmlHttp.onreadystatechange=ScMssgWndw;
    xmlHttp.open("GET",url,true)
    xmlHttp.send(null);}

//---------DivCbl-----------------------------------------
function UpdtCbl(x)
{   if(x.name=="Z")
        {if(!((x.value<500)&&(x.value>0)))
            {ErrMssg();x.value=x.defaultValue;x.focus();return;}}
    if(x.name=="Lngt")
        {if(!((x.value<5000)&&(x.value>=0)))
            {ErrMssg();x.value=x.defaultValue;x.focus();return;}}
   //  alert("updtCbl x.name="+x.name +" x.value="+x.value);       
    var Strg='AttnRGCLdd';
    if(Strg.match(x.name)!=null)
        { 
        if(!((x.value>0)&&(x.value<1e9)))   {ErrMssg();x.value=x.defaultValue;x.focus();return;}}
   
    xmlHttp=GetXmlHttpObject();
    if (xmlHttp==null)
      {      alert ("Your browser does not support AJAX!");      return;      }
    MssgWndw="DivCbl" ;
    var url="UpdtCbl.php"
    url=url+"?FName="+x.name; //field name
    url=url+"&Vl="+x.value;
    url=url+"&sid="+Math.random();

    xmlHttp.onreadystatechange=ScMssgWndw;
    
    // if cable length change, calculation parameter ans KLM circuit scheme needs update
    if(x.name=="Lngt")
        {xmlHttp.onreadystatechange=ScUpdtCbl;}
        
    xmlHttp.open("GET",url,true)
    xmlHttp.send(null);}

function ScUpdtCbl() 
{if (xmlHttp.readyState==4)
    {document.getElementById("DivCbl").innerHTML=xmlHttp.responseText;
 RLDivSlctClcl()   }}


//---------------------------------------------------Active Material -----------------------
function UpdtActv(x)
{   
     if((x.name=='ActvMm')||(x.name=='ActvLmd'))   //only check the thickness value
     {if(!((x.value<1e6)&&(x.value>0)))
            {ErrMssg();x.value=x.defaultValue;x.focus();return;}}


    xmlHttp=GetXmlHttpObject();
    if (xmlHttp==null)
      {      alert ("Your browser does not support AJAX!");      return;      } 


    MssgWndw='DivActv';         //send message
    var url="UpdtActv.php"
    url=url+"?FName="+x.name; //field value is in unit lampd
    url=url+"&Vl="+x.value;
    url=url+"&sid="+Math.random()
    xmlHttp.onreadystatechange=ScMssgWndw;
    xmlHttp.open("GET",url,true)
    xmlHttp.send(null)
}
function ActvMtrlShw(x) 
{   

var url="ActvMtrl.php";
    url=url+"?sid="+Math.random(); 
ActvWndw=window.open(url,'Active_Material_Window','width=740,height=800');
ActvWndw.focus();

}

//-----------------------------Backing  Layer---------------------------------
function UpdtBck(x)
{   
    if((x.name=='BckMm')||(x.name=='BckLmd'))   //only check the thickness value
     {if(!((x.value<1e6)&&(x.value>0)))
            {ErrMssg();x.value=x.defaultValue;x.focus();return;}}

    xmlHttp=GetXmlHttpObject();
    if (xmlHttp==null)
      {alert("Your browser does not support AJAX!");      return;      } 

    var TbIndx=x.tabIndex;

    var url="UpdtBck.php";
    url=url+"?FName="+x.name; 
    url=url+"&Vl="+x.value;    
    url=url+"&TbIndx="+TbIndx;      
    url=url+"&sid="+Math.random()
    xmlHttp.onreadystatechange=ScBckRcv;
    xmlHttp.open("GET",url,true)
    xmlHttp.send(null) 
 }
function ScBckRcv() 
{ if (xmlHttp.readyState==4)
    {   document.getElementById("DivBck").innerHTML=xmlHttp.responseText;   }
 }

function BckMtrlShw(x) 
{   
//alert('layer: '+ x.tabIndex);

var url="BckMtrl.php";
    url=url+"?FName="+x.name; 
    url=url+"&Vl="+x.value;    
    url=url+"&TbIndx="+x.tabIndex;
    url+"&sid="+Math.random(); 
BckWndw=window.open(url,'Backing_Material_Window','width=500,height=800');
//BckWndw=window.open('BckMtrlTest.htm','Backing_Material_Window','width=500,height=800');

BckWndw.focus();

}

//-----------------------------Matching  Layer---------------------------------
function UpdtMtch(x)
{   
    if((x.name=='MtchMm')||(x.name=='MtchLmd'))   //only check the thickness value
     {if(!((x.value<1e6)&&(x.value>0)))
            {ErrMssg();x.value=x.defaultValue;x.focus();return;}}

    xmlHttp=GetXmlHttpObject();
    if (xmlHttp==null)
      {alert("Your browser does not support AJAX!");      return;      } 

    var TbIndx=x.tabIndex;

    var url="UpdtMtch.php";
    url=url+"?FName="+x.name; 
    url=url+"&Vl="+x.value;    
    url=url+"&TbIndx="+TbIndx;      
    url=url+"&sid="+Math.random()
    xmlHttp.onreadystatechange=ScMtchRcv;
    xmlHttp.open("GET",url,true)
    xmlHttp.send(null) 
 }
function ScMtchRcv() 
{ if (xmlHttp.readyState==4)
    {   document.getElementById("DivMtch").innerHTML=xmlHttp.responseText;   }
 }

function MtchMtrlShw(x) 
{   
//alert('layer: '+ x.tabIndex);

var url="MtchMtrl.php";
    url=url+"?FName="+x.name; 
    url=url+"&Vl="+x.value;    
    url=url+"&TbIndx="+x.tabIndex;
    url+"&sid="+Math.random(); 
MtchWndw=window.open(url,'Mtching_Material_Window','width=500,height=800');
//BckWndw=window.open('BckMtrlTest.htm','Backing_Material_Window','width=500,height=800');

MtchWndw.focus();

}
function ErrMssg()
{alert('Not a valid value for the field!');}

//--------------Distal Electrical matching  layer
function UpdtElctMtchDstl(x)
{       if(x.name=='Valu')
        {if(!((x.value>=0)&&(x.value<1e12)))
            {ErrMssg();x.value=x.defaultValue;x.focus();return;}}
    xmlHttp=GetXmlHttpObject();
    if (xmlHttp==null)
      {      alert ("Your browser does not support AJAX!");      return;      } 
    var url="UpdtElctMtch.php"
    url=url+"?FName="+x.name; //field name
    url=url+"&Vl="+x.value;
    url=url+"&Indx="+x.tabIndex;
    url=url+"&DstlPrxm=Dstl";
    url=url+"&sid="+Math.random()
    xmlHttp.onreadystatechange=ScElctMtchDstlMssg;
    xmlHttp.open("GET",url,true)
    xmlHttp.send(null)

}
function ScElctMtchDstlMssg() 
{if (xmlHttp.readyState==4)
    {document.getElementById("DivElctMtchDstl").innerHTML=xmlHttp.responseText;   
    RLDivSlctClcl();

}}

//--------------Proxm Electrical matching  layer--------------------
function UpdtElctMtchPrxm(x)
{       if(x.name=='Valu')
        {if(!((x.value>=0)&&(x.value<1e12)))
            {ErrMssg();x.value=x.defaultValue;x.focus();return;}}
    xmlHttp=GetXmlHttpObject();
    if (xmlHttp==null)
      {      alert ("Your browser does not support AJAX!");      return;      } 
    var url="UpdtElctMtch.php"
    url=url+"?FName="+x.name; //field name
    url=url+"&Vl="+x.value;
    url=url+"&Indx="+x.tabIndex;
    url=url+"&DstlPrxm=Prxm";
    url=url+"&sid="+Math.random()
    xmlHttp.onreadystatechange=ScElctMtchPrxmMssg;
    xmlHttp.open("GET",url,true)
    xmlHttp.send(null)

}
function ScElctMtchPrxmMssg() 
{if (xmlHttp.readyState==4)
    {document.getElementById("DivElctMtchPrxm").innerHTML=xmlHttp.responseText;
 RLDivSlctClcl()   }}



function ScElctMtchMssg() 
{if (xmlHttp.readyState==4)
    {document.getElementById("DivElctMtchMssg").innerHTML=xmlHttp.responseText    }}

function ElctMtchCntr(x)  //select a compont
{    xmlHttp=GetXmlHttpObject();
    if (xmlHttp==null)
      {      alert ("Your browser does not support AJAX!");      return;      } 
    MssgWndw="DivElctMtch";
    var url="ElctMtchCntr.php"
    url=url+"?Typ="+x.name; //field name
    url=url+"&Indx="+x.tabIndex;
    url=url+"&sid="+Math.random()
    xmlHttp.onreadystatechange=ScMssgWndw;
    xmlHttp.open("GET",url,true)
    xmlHttp.send(null)
}

function ScMssgWndw() 
{ 
if (xmlHttp.readyState==4)
    {document.getElementById(MssgWndw).innerHTML=xmlHttp.responseText;
    if(MssgWndw=='DivFrqn') //update global frequency information
        {
        GetFrqn();  //update Global frequency informaiton in TrnsGrph.js GFStrtDiv FStrt ...
        }

    }
}

function GetXmlHttpObject()
{
var xmlHttp=null;
try
  {
  // Firefox, Opera 8.0+, Safari
  xmlHttp=new XMLHttpRequest();
  }
catch (e)
  {
  // Internet Explorer
  try
    {
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
  catch (e)
    {
    xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
  }
return xmlHttp;
}

