remove backup files

parent a3def193
<r>
<stfail>~stfail~</stfail>
<stok>~stok~</stok>
<bst>~stan(2)~</bst>
<stan>~stan(1)~</stan>
<need_reboot>~need_reboot~</need_reboot>
<adczero>~adczero~</adczero>
<adcmoltiplier>~adcmoltiplier~</adcmoltiplier>
<adccompensation>~adccompensation~</adccompensation>
<cfg_ntpe>~cfg_ntpe~</cfg_ntpe>
<cfg_slave>~cfg_slave~</cfg_slave>
<cfg_adcalchecked>~cfg_adcalchecked~</cfg_adcalchecked>
<cfg_adcadchecked>~cfg_adcadchecked~</cfg_adcadchecked>
<cfg_mac>~cfg_mac~</cfg_mac>
<cfg_hostname>~cfg_hostname~</cfg_hostname>
<cfg_dhcpchecked>~cfg_dhcpchecked~</cfg_dhcpchecked>
<cfg_ip>~cfg_ip~</cfg_ip>
<cfg_gw>~cfg_gw~</cfg_gw>
<cfg_subnet>~cfg_subnet~</cfg_subnet>
<cfg_dns1>~cfg_dns1~</cfg_dns1>
<cfg_dns2>~cfg_dns2~</cfg_dns2>
<cfg_tchkp>~cfg_tchkp~</cfg_tchkp>
<cfg_sntp>~cfg_sntp~</cfg_sntp>
<wport>~wp~</wport>
<tz>~tz~</tz>
<dst>~dst~</dst>
<dsts>~dsts~</dsts>
<dstr>~dstr~</dstr>
<upConf>~uplConf~</upConf>
<board>~board~</board>
<fwname>~fwname~</fwname>
<fwver>~fwver~</fwver>
<defmac>~defmac~</defmac>
<stv>~sver~</stv>
<bd>~bd~</bd>
<dt>~dt~</dt>
<nb>~nb~</nb>
<ap>~ap~</ap>
<np>~np~</np>
<epoch>~epoch~</epoch>
<r1>~rel(1)~</r1>
<r2>~rel(2)~</r2>
<r3>~rel(3)~</r3>
<r4>~rel(4)~</r4>
<r5>~rel(5)~</r5>
<r6>~rel(6)~</r6>
<r7>~rel(7)~</r7>
<r8>~rel(8)~</r8>
<r9>~rel(9)~</r9>
<r10>~rel(10)~</r10>
<r11>~rel(11)~</r11>
<r12>~rel(12)~</r12>
<i1>~inp(1)~</i1>
<i2>~inp(2)~</i2>
<i3>~inp(3)~</i3>
<i4>~inp(4)~</i4>
<i5>~inp(5)~</i5>
<i6>~inp(6)~</i6>
<i7>~inp(7)~</i7>
<i8>~inp(8)~</i8>
<i9>~inp(9)~</i9>
<i10>~inp(10)~</i10>
<i11>~inp(11)~</i11>
<i12>~inp(12)~</i12>
<p1>~pot(1)~</p1>
<p2>~pot(2)~</p2>
<p3>~pot(3)~</p3>
<p4>~pot(4)~</p4>
<p5>~pot(5)~</p5>
<p6>~pot(6)~</p6>
<p7>~pot(7)~</p7>
<p8>~pot(8)~</p8>
<p9>~pot(9)~</p9>
<p10>~pot(10)~</p10>
<p11>~pot(11)~</p11>
<p12>~pot(12)~</p12>
<a1>~an(1)~</a1>
<a2>~an(2)~</a2>
<b1>~btn(1)~</b1>
</r>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<script src=/js/d.js></script>
<script>hdr();</script>
<div id=content>
<h1>General Config</h1>
<form name=cff>
<h2>Generic Configurations</h2>
<fieldset>
<!-- <div><label>Debug:</label><input type=checkbox class=sm name=debug value=1 disabled /></div> -->
<div><label>TimeCheck:</label><input type=checkbox class=sm name=tchkp value=1 disabled /></div>
<div><label>Serial Device:</label><select name=slave class=sm disabled >
<option value=0 selected>Disabled</option>
<option value=1>Serial RTC</option>
<option value=2>KeeLoq RF</option>
</select></div>
<div id=cs1><input type=checkbox class=sm name=adcal value=1 disabled />Enable ADC Auto Calibration</div>
<div id=cs2><input type=checkbox class=sm name=adcad value=1 disabled onclick="cBox()" />Enable Current Sensors auto-deviation</div>
<div id=cs3><label>ADC Zero Deviation:</label><input type=text class=num name=adczd disabled>-99 to 99</div>
<div id=cs4><label>ADC Compensation:</label><input type=text class=num name=adcco disabled>0 to 99</div>
<div id=cs5><label>ADC Moltiplier:</label><input type=text class=num name=adcmp disabled>99 to 299</div>
<div id=cs7><label>NET Buf Size:</label><input type=text class=num name=netbu disabled>1 to 99</div>
<div id=cs8><label>Act Port:</label><input type=text class=num name=aport disabled>1 to 65535</div>
<div id=cs9><label>Notify Port:</label><input type=text class=num name=nport disabled>1 to 65535</div>
<div id=tzc><label>GMT tz:</label><input type=text class=num name=tzcfg disabled>-23 to 23</div>
<div id=dst><input type=checkbox class=sm name=tzdst value=1 disabled />use DST</div>
<div id=dss><label>DST shift:</label><input type=text class=num name=dstsh disabled>-23 to 23</div>
<div id=dsr><label>DST rule:</label><input type=text class=num name=dstru disabled></div>
<div id=btn></div>
<div><span class="domoB pressB grayO grayB" OnClick="sForm('cff','/config.htm',null)">Save</span></div>
</fieldset>
</form>
</div>
<script>
function cBox() {
e = $d.forms.cff;
if(e.adcad.checked)
{
e.adczd.disabled=true;
e.adcco.disabled=false;
} else {
e.adczd.disabled=false;
e.adcco.disabled=true;
}
}
function aLoopCB(xDt) {
e = $d.forms.cff;
if(e.adcad.checked)
{
e.adczd.value=getX(xDt, 'adczero');
} else {
e.adcco.value=getX(xDt, 'adccompensation');
}
}
function aFirstCB(xDt) {
if(xDt)
{
e = $d.forms.cff;
if(getX(xDt,'cfg_adcalchecked')=='checked')
{
e.adcal.checked=true;
}
e.tchkp.disabled=false;
e.adczd.disabled=false;
e.adcal.disabled=false;
e.adcad.disabled=false;
e.netbu.disabled=false;
e.slave.disabled=false;
e.adcmp.disabled=false;
/*e.debug.disabled=false;*/
e.aport.disabled=false;
e.nport.disabled=false;
e.tzdst.disabled=false;
e.tzcfg.disabled=false;
e.dstsh.disabled=false;
e.dstru.disabled=false;
e.adcmp.value=getX(xDt,'adcmoltiplier');
if(getX(xDt,'cfg_adcadchecked')=='checked')
{
e.adcad.checked=true;
} else {
e.adcad.checked=false;
}
/*
if(getX(xDt,'cfg_debug')=='checked')
{
e.debug.checked=true;
} else {
e.debug.checked=false;
}*/
if(getX(xDt,'cfg_tchkp')=='checked')
{
e.tchkp.checked=true;
} else {
e.tchkp.checked=false;
}
if(getX(xDt,'dst')=='checked')
{
e.tzdst.checked=true;
} else {
e.tzdst.checked=false;
}
e.slave.options[parseInt(getX(xDt,'cfg_slave'))].selected=true;
cBox();
e.netbu.value=getX(xDt,'nb');
e.adczd.value=getX(xDt,'adczero');
e.adcco.value=getX(xDt,'adccompensation');
e.aport.value=getX(xDt,'ap');
e.nport.value=getX(xDt,'np');
e.tzcfg.value=getX(xDt,'tz');
e.dstsh.value=getX(xDt,'dsts');
e.dstru.value=getX(xDt,'dstr');
}
}
ftr();
</script>
body {
font-family: Verdana, Arial, sans-serif;
background: #ffffff;
margin: 0px auto;
padding: 0 0 20px 0;
}
#page {
width: 760px;
border: 1px solid #006699;
background: #fff;
border-top: 0;
padding: 20px;
font-size: 10pt;
margin: 0px auto;
}
#page td {
font-size: 10pt;
}
#title {
background: #222;
padding: 4px;
font-weight: bold;
color: #fff;
margin-bottom: 15px;
height: 16px;
}
#title .right {
float: right;
width: 300px;
text-align: right;
}
#menu {
float: left;
width: 150px;
padding-right: 20px;
position:fixed;
}
#menu a {
width: 140px;
display: block;
background: #222;
color: white;
padding: 8px;
font-weight: bold;
border-bottom: 1px solid #fff;
text-decoration: none;
}
#menu a:hover {
background: #006699;
}
.tcon {
border:1px solid #669CCC;
padding-bottom:15px;
width:100%;
margin-bottom:3px;
}
.tabf {
padding-bottom:0px;
margin-top:2px;
margin-bottom:0px;
display:table;
}
.tabf div {
padding-bottom: 5px;
padding-right: 8px;
padding-left: 8px;
font-weight: bold;
margin-left: 5px;
padding-top: 5px;
color: #000;
float: left;
}
.tabon, .taboff, .expand {
border-bottom-color: #669CCC;
border-right-color: #669CCC;
background-position: bottom;
border-left-color: #669CCC;
border-bottom-style: solid;
background-color: #EFEFEF;
border-right-style: solid;
border-top-color: #669CCC;
border-left-style: solid;
border-bottom-width: 0px;
border-right-width: 1px;
border-top-style: solid;
border-left-width: 1px;
border-top-width: 1px;
padding: 1px 1px 1px 1px;
cursor: pointer;
}
.tabon {
background-color: #BBB;
}
#content {
width: 550px;
min-height:330px;
float: right;
padding-right: 10px;
}
#content a {
color: #c00;
text-decoration: none;
}
#content a:hover {
color: #d33;
text-decoration: underline;
}
#content h1 {
margin-top: 0px;
}
.spacer {
clear: both;
}
#footer {
font-size: 0.8em;
color: #666;
text-align: center;
margin: 10px 50px 0 50px;
padding-top: 10px;
border-top: 1px dotted #666;
}
#status {
padding: 10px;
margin: 10px;
border: 1px dotted #666;
font-weight: bold;
}
#status p {
padding: 5px 0 5px 10px;
text-indent: -10px;
margin: 0;
}
#status .relays {
font-size: 14pt;
}
#status .relays a {
color: #ddd;
cursor: pointer;
}
#status .relays a:hover {
color: #ddd;
text-decoration: none;
}
#status .rele a {
background-color: #99FFFF;
cursor: pointer;
text-decoration: none;
border: 1px solid #000;
color: #000;
}
#status .rele a:hover {
background-color: #0066CC;
text-decoration: none;
border: 1px double #000;
color: #000;
}
.configbox {
margin:10px 40px 10px 40px;
padding: 8px;
border: 1px dotted #333;
text-align:center;
background:#ddd;
}
.code {
font-family: Courier New, Courier, fixed-width, fixed;
}
.exercise {
background: #fe9;
padding: 5px;
margin-left: 10px;
border-left: 2px solid #eb3;
}
.error {
margin-left: 10px;
padding: 10px;
background: #fdd;
border-left: 2px solid #900;
}
#content h6 {
border-top: 1px dashed #333;
margin: 15px;
padding: 0px;
height: 1px;
}
form fieldset {
margin:10px 40px 10px 40px;
padding: 8px;
border: 1px dotted #333;
background:#ddd;
}
form fieldset div {
padding: 2px 0px 2px 150px;
}
fieldset div label {
margin-left: -150px;
padding-top: 2px;
width: 145px;
font-weight: bold;
position: absolute;
}
fieldset input {
width: 250px;
}
fieldset input.num {
width: 125px;
}
fieldset input.sm {
width: auto;
}
fieldset textarea {
width: 250px;
}
.ress
{
padding: 12px;
border: 2px solid #3366ff;
text-align: center;
font-weight: bold;
background: #cceeff;
top:10px;
width: 128px;
}
.ok {
border-color: #6b6;
background: #efe;
}
.fail {
border-color: #b66;
background: #fee;
}
.unk {
border-color: #cc6;
background: #ffd;
}
.domoB {
-moz-border-radius:10px;
-webkit-border-radius:10px;
border-radius:10px;
display:inline-block;
font-family:arial;
font-size:15px;
font-weight:bold;
padding:7px 23px;
margin: 2px;
text-decoration:none;
}
.pressB:active {
position:relative;
top:3px;
left:1px;
}
.deactiveB {
background-color:#d9d5d9;
-moz-border-radius:10px;
-webkit-border-radius:10px;
border-radius:10px;
display:inline-block;
color:#adadad;
font-family:arial;
font-size:15px;
font-weight:bold;
padding:7px 23px;
text-decoration:none;
margin: 2px;
}
.greenB {
background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #ced9d7), color-stop(1, #22ba1a) );
background:-moz-linear-gradient( center top, #ced9d7 5%, #22ba1a 100% );
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ced9d7', endColorstr='#22ba1a');
background-color:#ced9d7;
border:2px solid #a89ea8;
color:#232d57;
}
.greenO:hover {
background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #22ba1a), color-stop(1, #ced9d7) );
background:-moz-linear-gradient( center top, #22ba1a 5%, #ced9d7 100% );
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#22ba1a', endColorstr='#ced9d7');
background-color:#22ba1a;
}
.redB {
background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #d1c6c6), color-stop(1, #ff1414) );
background:-moz-linear-gradient( center top, #d1c6c6 5%, #ff1414 100% );
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#d1c6c6', endColorstr='#ff1414');
background-color:#d1c6c6;
border:2px solid #a89ea8;
color:#3b1537;
}
.redO:hover {
background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #ff1414), color-stop(1, #d1c6c6) );
background:-moz-linear-gradient( center top, #ff1414 5%, #d1c6c6 100% );
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff1414', endColorstr='#d1c6c6');
background-color:#ff1414;
}
.grayB {
background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #ededed), color-stop(1, #dfdfdf) );
background:-moz-linear-gradient( center top, #ededed 5%, #dfdfdf 100% );
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ededed', endColorstr='#dfdfdf');
background-color:#ededed;
border:2px solid #a89ea8;
color:#2e54b3;
}
.grayO:hover {
background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #dfdfdf), color-stop(1, #ededed) );
background:-moz-linear-gradient( center top, #dfdfdf 5%, #ededed 100% );
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#dfdfdf', endColorstr='#ededed');
background-color:#dfdfdf;
}
.blueB {
background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #c3d1e3), color-stop(1, #3058db) );
background:-moz-linear-gradient( center top, #c3d1e3 5%, #3058db 100% );
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#c3d1e3', endColorstr='#3058db');
background-color:#c3d1e3;
border:2px solid #c4bec4;
color:#030408;
}
.blueO:hover {
background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #3058db), color-stop(1, #c3d1e3) );
background:-moz-linear-gradient( center top, #3058db 5%, #c3d1e3 100% );
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#3058db', endColorstr='#c3d1e3');
background-color:#3058db;
}
.yellowB {
background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #dfe3c3), color-stop(1, #c8d600) );
background:-moz-linear-gradient( center top, #dfe3c3 5%, #c8d600 100% );
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#dfe3c3', endColorstr='#c8d600');
background-color:#dfe3c3;
border:2px solid #c4bec4;
color:#20399e;
}
.yellowO:hover {
background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #c8d600), color-stop(1, #dfe3c3) );
background:-moz-linear-gradient( center top, #c8d600 5%, #dfe3c3 100% );
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#c8d600', endColorstr='#dfe3c3');
background-color:#c8d600;
}
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<script src=/js/d.js></script>
<script>hdr();</script>
<div id=content >
<h1>I/O Config</h1>
<hr><h2>${{Digital Inputs}}$</h2>
<div id=c1init>${{LOADING}}$...</div>
<div class=configbox id=cbox1 style="display:none"></div>
<hr><h2>${{Analog Inputs}}$</h2>
<div id=c3init>${{LOADING}}$...</div>
<div class=configbox id=cbox3 style="display:none">
</div>
<hr><h2>${{Outputs}}$</h2>
<div id=c2init>${{LOADING}}$...</div>
<div class=configbox id=cbox2 style="display:none">
</div>
</div>
<script>
var ho="";
var hi="";
function chRelOpt(iz)
{
os=$('otype_'+iz);
osel=os.selectedIndex;
oselv=parseInt(os[osel].value);
nrel=0;
seq="none";
ctxdiv='block';
if(oselv>0)
nrel=1;
if(oselv>=0xf0)
nrel=2;
if(oselv==0xff)
{
nrel=255;
seq="block";
nrel=0;
ctxdiv='none';
}
if(oselv==244)
$('og'+iz).style.display="block";
else
$('og'+iz).style.display="none";
$('ctxd'+iz).style.display=ctxdiv;
for(nr=1;nr<=2;nr++)
{
nrz=zfill(nr,2);
rdiv="none";
if(nr<=nrel){rdiv='block';}
$('rdiv_'+iz+'_'+nrz).style.display=rdiv;
}
$('seq'+iz).style.display=seq;
}
function addROpt()
{
for(i=1;i<=12;i++)
{
ho=" ";
var iz=zfill(i,2);
ho+='<div id=ctxd'+iz+' style="display:none"><b> Ctx: <select name=o_01_'+iz+'_00_00></b>';
for(k in DmCtx)
{
ho+='<option value="'+DmCtx[k]+'">'+k+'</option>';
}
ho+='</select><br /><br />';
// Output per cancelli
ho+='<div id=og'+iz+' style="display:none"><b>${{startt}}$: </b><input type=text size=3 name=o_12_'+iz+'_00_00 value=0><b>${{opent}}$: </b><input type=text size=3 name=o_13_'+iz+'_00_00 value=0><b>${{pauset}}$: </b><input type=text size=3 name=o_14_'+iz+'_00_00 value=0><br/><b>${{Banging}}$:</b><select name=o_15_'+iz+'_00_00><option value=0>${{No}}$</option><option value=1>${{Yes}}$</option></select></div>';
// Fine output per cancelli
ho+='<br/></div>';
for(nr=1;nr<=2;nr++)
{
var nrz=zfill(nr,2);
ho+='<div id=rdiv_'+iz+'_'+nrz+' style="display:none"><hr><b> R'+nr+': </b><select name=o_05_'+iz+'_'+nrz+'_00><option value="0">${{None}}$</option>';
for(rn=1;rn<=12;rn++)
{
ho+='<option value='+rn+'>${{Relay}}$ '+rn+'</option>';
}
ho+='</select>'+
'<select name=o_07_'+iz+'_'+nrz+'_00><option value=0>NA (${{Open}}$)</option><option value=1>NC (${{Close}}$)</option><option value=2>${{Save}}$</option></select><br/>'+
'<b>${{runtime}}$: </b><input type=text size=3 name=o_09_'+iz+'_'+nrz+'_00 value=0>'+
'<b> ${{Retard}}$: <b><input type=text size=3 name=o_08_'+iz+'_'+nrz+'_00 value=0>'+
'<br/><b>${{break delay}}$: <b><input type=text size=3 name=o_06_'+iz+'_'+nrz+'_00 value=0>'+
'<b>${{rearm}}$: <b><input type=text size=3 name=o_11_'+iz+'_'+nrz+'_00 value=0>'+
'<b> ${{A Max}}$: <b><input type=text size=3 name=o_03_'+iz+'_'+nrz+'_00 value=160>'+
'<br/></div>';
}
ho+='<div id=seq'+iz+' style="display:none">${{SEQUENCE}}$</div>';
$("ropt_"+i).innerHTML=ho;
}
}
function chInOpt(iz,tz,sel,i)
{
osel=sel.selectedIndex;
oselv=parseInt(sel[osel].value);
maxact=0;
if(oselv)
{
if(oselv<160) // 0xa0
maxact=1;
else if(oselv<208) // 0xd0
maxact=2;
else
maxact=3;
}
if(i>12)
maxact=3;
for(a=1;a<=3;a++) {
actvis="none";
if(a<=maxact) {actvis="block";}
$('adiv'+iz+tz+'_'+a).style.display=actvis;
}
}
function addInputOpts(iz,tz,i,pulse)
{
var hi="";
for(a=1;a<=3;a++) {
hi+='<div id=adiv'+iz+tz+'_'+a+' style="display:none">';
if(a>1) { hi+='<br /><hr><br/>'; }
hi+='<b>${{action}}$ '+a+': </b><input type=text size=25 name=i_02_'+iz+'_'+tz+'_0'+a+' value="${{wait}}$..."><br/>';
hi+='<b> ${{msg}}$:</b><select name=i_07_'+iz+'_'+tz+'_0'+a+'>';
for(k in DmMsgType)
{
hi+='<option value="'+DmMsgType[k]+'">'+k+'</option>';
}
hi+='</select>';
hi+='<b> ${{ctx}}$:</b><select name=i_03_'+iz+'_'+tz+'_0'+a+'>';
for(k in DmCtx)
{
hi+='<option value="'+DmCtx[k]+'">'+k+'</option>';
}
hi+='</select><br/>';
hi+='<b> ${{act}}$:</b><select name=i_01_'+iz+'_'+tz+'_0'+a+'>';
for(k in DmAct)
{
hi+='<option value="'+DmAct[k]+'">'+k+'</option>';
}
hi+='</select>';
tval="${{Time}}$";
if(pulse)
{
tval="${{Time/Count}}$";
}
else if(i>12)
{
if(a==2)
tval="${{Low}}$";
if(a>2)
tval="${{Hi}}$";
}
hi+='<b> '+tval+': </b><input type=text size=3 name=i_10_'+iz+'_'+tz+'_0'+a+' value=0>';
hi+='<br/><b> ${{Opt}}$:</b><select name=i_14_'+iz+'_'+tz+'_0'+a+'>';
for(k in DmOpt)
{
hi+='<option value="'+DmOpt[k]+'">'+k+'</option>';
}
hi+='</select>';
hi+='<input type=text size=15 name=i_15_'+iz+'_'+tz+'_0'+a+' value="">';
hi+='<br/><b> ${{Dst}}$: </b><input type=text size=15 name=i_04_'+iz+'_'+tz+'_0'+a+' value="0.0.0.0">';
hi+='</div>';
}
return hi;
}
function addInp(i,seld,name)
{
pulse=0;
InpT=new Object();
for(k in seld){InpT[k]=seld[k];}
if($w.DmBoard=='DMRv1')
{
if(i<9 && i>4)
{
for(k in DmISR1){InpT[k]=DmISR1[k];}
pulse=1;
}
} else { // DMRv3
if(i<5)
{
for(k in DmISR1){InpT[k]=DmISR1[k];}
pulse=1;
}
}
var iz=zfill(i,2);
hi+='<form name=diginp_'+iz+'>'+
'<b>'+name+' ${{name}}$:</b><input type=text size=20 name=i_08_'+iz+'_00_00 value="${{wait}}$...">'+
'<span onClick="toggleMe(\'inp'+i+'\',this);" style="padding:1px 1px" class="domoB pressB grayO grayB">${{Expand}}$ &or;</span><br/>'+
'<div id=inp'+i+' style="background-color: #EFEFEF; display:none;">'+
'<div class="tabf" id=tabf-'+i+'>'+
'<div id=tab_1-'+i+' class="tabon" onclick="tabC.chTab(this,'+i+');">${{Status}}$ Default</div>'+
'<div id=tab_2-'+i+' class="taboff" onclick="tabC.chTab(this,'+i+');">${{Status}}$ 2</div>'+
'<div id=tab_3-'+i+' class="taboff" onclick="tabC.chTab(this,'+i+');">${{Status}}$ 3</div>'+
'<div id=tab_4-'+i+' class="taboff" onclick="tabC.chTab(this,'+i+');">${{Status}}$ 4</div>'+
"</div>";
for(t=1;t<=4;t++)
{
var tz=zfill(t,2);
hi+='<div id=tab_'+t+'-'+i+'_data class="tcon" style="background-color:#BBBBBB;display:';
if(t==1) {hi+='table;"><div>';} else {hi+='none;"><div>';}
hi+='<b>${{Status name}}$: </b><input type=text size=25 name=i_09_'+iz+'_'+tz+'_00 value="${{wait}}..."><br/>'+
'<b>${{Enabled}}$:</b><select name=i_05_'+iz+'_'+tz+'_00><option value=0>${{No}}$</option><option value=1>${{Yes}}$</option></select>'+
' <b> ${{type}}$: </b><select name=i_11_'+iz+'_'+tz+'_00 onChange="chInOpt(\''+iz+'\',\''+tz+'\',this,'+i+');">';
for(k in InpT)
{
hi+='<option value="'+InpT[k]+'">'+k+'</option>';
}
hi+='</select><br/>'+
'<b>${{Min time}}$: </b><input type=text size=3 name=i_06_'+iz+'_'+tz+'_00 value=0>';
if(i>12) {
hi+='<b>${{Min val}}$: </b><input type=text size=3 name=i_12_'+iz+'_'+tz+'_00 value=0>'+
'<b>${{Max val}}$: </b><input type=text size=3 name=i_13_'+iz+'_'+tz+'_00 value=0>';
}
hi+='<hr>'+
'<div id=iopt_'+iz+'_'+tz+'>';
hi+=addInputOpts(iz,tz,i,pulse);
hi+='</div></div></div>';
}
delete InpT;
var fna='diginp_'+iz;
hi+='<span class="domoB pressB grayO grayB" onclick="hOpt(\''+fna+'\');sForm(\''+fna+'\',\'/ioconf.xml\',null);sOpt(\''+fna+'\');">${{Save}}$</span></form></div>';
}
for(i=1;i<=12;i++)
{
var iz=zfill(i,2);
addInp(i,DmInputType,'${{Input}}$ '+i);
// FINE INPUT
ho+='<form name=relays_'+iz+'>'+
'<b>${{Device name}}$ '+i+':</b> <input type=text size=20 name=o_04_'+iz+'_00_00 value="${{wait}}$..."><span onClick="toggleMe(\'out'+i+'\',this);" style="padding:1px 1px" class="domoB pressB grayO grayB">${{Expand}}$ &or;</span><br />'+
'<div id=out'+i+' style="background-color:#BBBBBB;display:none;">'+
'<b>${{Enabled}}$:</b><select name=o_02_'+iz+'_00_00><option value=0>${{No}}$</option><option value=1>${{Yes}}$</option></select>'+
' <b>${{Output type}}$: </b><select id=otype_'+iz+' name=o_10_'+iz+'_00_00 onChange="chRelOpt(\''+iz+'\');">';
for(k in DmOutputType)
{
ho+='<option value="'+DmOutputType[k]+'">'+k+'</option>';
}
ho+='</select><br/>'+
'<div id=ropt_'+i+'></div>'+
// FINE DEVICE
'<span class="domoB pressB grayO grayB" onclick="sForm(\'relays_'+iz+'\',\'/ioconf.xml\',null);">${{Save}}$</span>'+
'</div></form>';
}
$("cbox1").innerHTML+=hi+"</div>";
$("cbox2").innerHTML+=ho+"</div>";
hi="";
for(i=1;i<3;i++)
{
addInp(i+12,DmAnType,'${{Analog}}$ '+i);
}
$("cbox3").innerHTML+=hi+"</div>";
for(i=1;i<15;i++)
{
tabC.addTabs("tabf-"+i,i);
}
addROpt();
function setC(el,val)
{
var nname=el.nodeName;
if(el.name!="save")
{
if(nname=='SELECT')
{
l=el.length;
while(l){
if(el[--l].value==parseInt(val)){
el.selectedIndex=l;
l=0;
}
}
} else {
el.value=val;
}
}
}
function ioCf(xDt)
{
if(xDt)
{
for(f=1;f<15;f++)
{
var iname=getX(xDt,'i'+f);
var fz=zfill(f,2);
ie=$d.forms['diginp_'+fz];
el=ie.elements;
el["i_08_"+fz+"_00_00"].value=iname;
for(t=1;t<=4;t++)
{
tz=zfill(t,2);
var ix=getX(xDt,'i'+f+'s'+t);
var ixv=ix.split(";");
setC(el["i_09_"+fz+"_"+tz+"_00"],ixv[0]);
setC(el["i_06_"+fz+"_"+tz+"_00"],ixv[1]);
setC(el["i_05_"+fz+"_"+tz+"_00"],ixv[2]);
setC(el["i_11_"+fz+"_"+tz+"_00"],ixv[3]);
co=4;
for(ac=1;ac<=3;ac++)
{
acz=zfill(ac,2);
setC(el["i_02_"+fz+"_"+tz+"_"+acz],ixv[co]);
setC(el["i_04_"+fz+"_"+tz+"_"+acz],ixv[co+1]);
setC(el["i_10_"+fz+"_"+tz+"_"+acz],ixv[co+2]);
setC(el["i_03_"+fz+"_"+tz+"_"+acz],ixv[co+3]);
setC(el["i_07_"+fz+"_"+tz+"_"+acz],ixv[co+4]);
setC(el["i_01_"+fz+"_"+tz+"_"+acz],ixv[co+5]);
setC(el["i_14_"+fz+"_"+tz+"_"+acz],ixv[co+6]);
setC(el["i_15_"+fz+"_"+tz+"_"+acz],ixv[co+7]);
//co+=6;
co+=8;
}
if(f>12) {
setC(el["i_12_"+fz+"_"+tz+"_00"],ixv[co]);
setC(el["i_13_"+fz+"_"+tz+"_00"],ixv[co+1]);
}
chInOpt(fz,tz,el['i_11_'+fz+'_'+tz+'_00'],f);
}
if(f<13)
{
var ox=getX(xDt,'o'+f);
de=$d.forms['relays_'+fz];
el=de.elements;
var oxv=ox.split(";");
el["o_04_"+fz+"_00_00"].value=oxv[0]; // Output Name
setC(el["o_01_"+fz+"_00_00"],oxv[1]);
setC(el["o_09_"+fz+"_01_00"],oxv[2]);
setC(el["o_09_"+fz+"_02_00"],oxv[3]);
setC(el["o_06_"+fz+"_01_00"],oxv[4]);
setC(el["o_11_"+fz+"_01_00"],oxv[5]);
setC(el["o_06_"+fz+"_02_00"],oxv[6]);
setC(el["o_11_"+fz+"_02_00"],oxv[7]);
setC(el["o_08_"+fz+"_01_00"],oxv[8]);
setC(el["o_08_"+fz+"_02_00"],oxv[9]);
setC(el["o_05_"+fz+"_01_00"],oxv[10]);
setC(el["o_05_"+fz+"_02_00"],oxv[11]);
setC(el["o_07_"+fz+"_01_00"],oxv[12]);
setC(el["o_07_"+fz+"_02_00"],oxv[13]);
setC(el["o_03_"+fz+"_01_00"],oxv[14]);
setC(el["o_03_"+fz+"_02_00"],oxv[15]);
setC(el["o_10_"+fz+"_00_00"],oxv[16]);
setC(el["o_02_"+fz+"_00_00"],oxv[17]);
setC(el["o_12_"+fz+"_00_00"],oxv[18]);
setC(el["o_13_"+fz+"_00_00"],oxv[19]);
setC(el["o_14_"+fz+"_00_00"],oxv[20]);
setC(el["o_15_"+fz+"_00_00"],oxv[21]);
chRelOpt(fz);
}
sOpt('diginp_'+fz);
}
$('c1init').style.display="none";
$('c2init').style.display="none";
$('c3init').style.display="none";
$('cbox1').style.display="block";
$('cbox2').style.display="block";
$('cbox3').style.display="block";
} else {
ACmd('ioconf.xml',ioCf);
}
}
ACmd('ioconf.xml',ioCf);
ftr();
</script>
//DmAct=new Object();
//personObj.firstname="John";
DmAct={
${{None}}$:0,
${{On}}$:1,
${{Off}}$:2,
${{Change}}$:3,
${{Open}}$:4,
${{Close}}$:5,
${{Up}}$:6,
${{Down}}$:7,
${{Stop}}$:8,
${{Start}}$:9,
//${{StopTimered}}$:0x0a,
${{StartTimered}}$:11,
${{BlockUnblock}}$:0x0c,
${{Block}}$:0x0d,
${{Unblock}}$:0x0e,
${{Hi}}$:15,
${{Low}}$:16,
//${{Equal}}$:0x11,
//${{Expired}}$:0x12,
//${{Timedout}}$:0x123,
//${{Changed}}$:0x14,
//${{SwitchedOn}}$:0x15,
//${{SwitchedOff}}$:0x16,
${{Call}}$:23,
//${{Answer}}$:0x18,
${{Ring}}$:25,
${{Play}}$:26,
${{Pause}}$:27,
${{PauseClosing}}$:28,
${{PauseOpening}}$:29,
${{Next}}$:30,
${{Board}}$:253,
${{Debug}}$:255
};
DmMsgType={
${{None}}$:0,
//${{Request}}$:1,
${{Action}}$:2,
${{Ack}}$:3,
${{Notify}}$:4,
//${{Notifyconf}}$:5,
${{Requestconf}}$:6,
//${{Setconf}}$:7,
${{Debug}}$:255
};
DmCtx={
${{None}}$:0,
${{Light}}$:1,
${{Socket}}$:2,
${{Blind}}$:3,
${{Sensor}}$:4,
${{Door}}$:5,
${{Window}}$:6,
${{Valvle}}$:7,
${{Status}}$:8,
${{Scenary}}$:9,
${{Alarm}}$:10,
${{Citophone}}$:11,
${{Generic_Switch}}$:12,
${{Thermostat}}$:13,
${{Gate}}$:14,
${{Audio}}$:15,
${{Video}}$:16,
${{Phone}}$:17,
${{Tv}}$:18,
${{Irrigation}}$:19,
${{Timer}}$:20,
${{Internet}}$:21,
${{Message}}$:22,
${{Rfid}}$:23,
${{Pump}}$:24,
${{Motor}}$:25,
${{Tent}}$:26,
${{Rtc}}$:32,
${{Sequence}}$:33,
${{System}}$:65534,
${{User}}$:65535
};
DmISR1={
${{PulseOpen}}$:144,
${{PulseOpenCount}}$:145,
${{PulseClose}}$:146,
${{PulseCloseCount}}$:147,
${{PulseOpenDouble}}$:192,
${{PulseCloseDouble}}$:193
};
/*
DmISR2={
${{PulseChange}}$:0x94,
${{PulseChangeCount}}$:0x95,
${{PulseChangeDouble}}$:0xc2
};
*/
DmInputType={
${{None}}$:0,
${{SingleClick}}$:1,
//${{LongClick}}$:0x02,
${{Change}}$:3,
${{ContinuosOpen}}$:4,
${{ContinuosClose}}$:5,
${{DoubleClick}}$:160,
${{SingleAndLong}}$:161,
//${{SingleAndContinuosClose}}$:0xa2,
${{OpenClose}}$:163,
${{ContinuosOpenClose}}$:164,
${{TripleClick}}$:208,
${{Seq2}}$:176,
${{Seq2Step}}$:177,
${{Seq3}}$:224,
${{Seq3Step}}$:225
};
DmAnType={
${{None}}$:0,
${{Generic}}$:1,
${{Temperature}}$:2,
${{Humidity}}$:3,
${{Current}}$:4,
${{Wind}}$:5,
${{Speed}}$:6,
${{Pressure}}$:7,
${{Flux}}$:8,
${{Lighting}}$:9,
${{Level}}$:10
};
DmOutputType={
${{None}}$:0,
${{OnOff}}$:1,
//${{Pulse}}$:0x02,
//${{Temporized}}$:0x03,
//${{Intermittent}}$:0x04,
//${{IntermittentTemporized}}$:0x05,
${{Signal}}$:6,
${{Dev2RelaysExclusive}}$:240,
${{Dev2RelaysInclusiveOn}}$:241,
${{Dev2RelaysInclusiveOff}}$:242,
//${{Dev2RelaysAlternateSeq}}$:0xf3,
${{OpenClose2Relays}}$:0xf4
//${{Sequenza}}$:0xff
};
DmOpt={
${{None}}$:0,
${{RGB}}$:1,
${{PRESET}}$:2,
${{DIMMER}}$:3,
${{HEX}}$:255
};
/**
* Determines when a request is considered "timed out"
*/
var timeOutMS = 5000; //ms
/**
* Stores a queue of AJAX events to process
*/
var aList = new Array();
$d=document;
$w=window;
function $(v){return $d.getElementById(v)}
function $e(v){return encodeURIComponent(v).replace("%5B", "[").replace("%5D","]").replace("%7C","|")}
/**
* Initiates a new AJAX command
*
* @param the url to access
* @param the document ID to fill, or a function to call with response XML (optional)
* @param true to repeat this call indefinitely (optional)
* @param a URL encoded string to be submitted as POST data (optional)
*/
function ACmd(url, cnt, repeat, data)
{
// Set up our object
var newA = new Object();
var ttime = new Date();
newA.url = url;
newA.cnt = cnt;
newA.repeat = repeat;
newA.aReq = null;
// Create and send the request
if($w.XMLHttpRequest) {
newA.aReq = new XMLHttpRequest();
newA.aReq.open((data==null)?"GET":"POST", newA.url, true);
newA.aReq.send(data);
// If we're using IE6 style (maybe 5.5 compatible too)
} else if($w.ActiveXObject) {
newA.aReq = new ActiveXObject("Microsoft.XMLHTTP");
if(newA.aReq) {
newA.aReq.open((data==null)?"GET":"POST", newA.url, true);
newA.aReq.send(data);
}
}
newA.lastCalled = ttime.getTime();
// Store in our array
aList.push(newA);
}
/**
* Loops over all pending AJAX events to determine
* if any action is required
*/
function pollAJAX() {
var curA = new Object();
var ttime = new Date();
var elapsed;
// Read off the aList objects one by one
for(i = aList.length; i > 0; i--)
{
curA = aList.shift();
if(!curA)
continue;
elapsed = ttime.getTime() - curA.lastCalled;
// If we suceeded
if(curA.aReq.readyState == 4 && curA.aReq.status == 200) {
// If it has a cnt, write the result
if(typeof(curA.cnt) == 'function'){
curA.cnt(curA.aReq.responseXML.documentElement);
} else if(typeof(curA.cnt) == 'string') {
$(curA.cnt).innerHTML = curA.aReq.responseText;
} // (otherwise do nothing for null values)
curA.aReq.abort();
curA.aReq = null;
// If it's a repeatable request, then do so
if(curA.repeat)
ACmd(curA.url, curA.cnt, curA.repeat);
continue;
}
// If we've waited over 1 second, then we timed out
if(elapsed > timeOutMS) {
// Invoke the user function with null input
if(typeof(curA.cnt) == 'function'){
curA.cnt(null);
}
curA.aReq.abort();
curA.aReq = null;
// If it's a repeatable request, then do so
if(curA.repeat)
ACmd(curA.url, curA.cnt, curA.repeat);
continue;
}
// Otherwise, just keep waiting
aList.push(curA);
}
// Call ourselves again in 250ms
setTimeout("pollAJAX()",250);
}// End pollA
/**
* Parses the xmlResponse returned by an XMLHTTPRequest object
*
* @param the xDt returned
* @param the fld to search for
*/
function getX(xDt, fld) {
try {
if(xDt.getElementsByTagName(fld)[0].firstChild.nodeValue)
return xDt.getElementsByTagName(fld)[0].firstChild.nodeValue;
else
return null;
} catch(err) { return null; }
}
var tabC = {
tabAr: new Array(),
classOn: "tabon",
classOff: "taboff",
addTabs: function (tabCont, tid) {
this.tabAr[tid] = new Array();
tabs = $(tabCont).getElementsByTagName("div");
for (x in tabs) {
if (typeof(tabs[x].id) != "undefined") {
this.tabAr[tid].push(tabs[x].id);
}
}
},
chTab: function (element, tid) {
for (x in this.tabAr[tid]) {
tabItem = this.tabAr[tid][x];
dataElement = $(tabItem + "_data");
if (dataElement) {
if (dataElement.style.display != "none") {
dataElement.style.display = "none";
}
}
tabEl = $(tabItem);
if (tabEl) {
if (tabEl.className != this.classOff) {
tabEl.className = this.classOff;
}
}
}
$(element.id + "_data").style.display = "block";
element.className = this.classOn;
}
};
function toggleMe(a, b){
var e=$(a);
if(!e)return true;
if(e.style.display=="none"){
e.style.display="block"
b.innerHTML="Collapse &and;";
} else {
e.style.display="none"
b.innerHTML="Expand &or;";
}
return true;
}
function dh(d,l)
{
   var d=d.split(',');
   var r='';
   var t;
   for(var i=0;i<l;i++)
   {
      if(i<d.length)
         t=d[i].replace(/\D/g,'');
      else
         t='0';
      t=parseInt(t);
      if(typeof(t)=='undefined')
t=0;
      r+=zfill(t.toString(16),2);
    
   }
   return r;
}
function hd(h,l)
{
   var r='';
   for(var i=0;i<l*2;i+=2)
   {
      r+=(parseInt(h[i]+h[i+1],16)+',').replace(NaN,'0');
   }    
   return r.slice(0,-1);
}
function zfill(str, width){
var result = String(str);
var num_z = width - result.length;
for(var i=num_z; i > 0; i--){
result = '0' + result;
}
return result;
}
var TimeToFade = 2500.0;
function animFad(lastTick, eid)
{
var curTick = new Date().getTime();
var elapsedTicks = curTick - lastTick;
var element = $(eid);
if(element.FadeTimeLeft <= elapsedTicks)
{
element.style.opacity = element.FadeState == 1 ? '1' : '0';
element.style.filter = 'alpha(opacity = '
+ (element.FadeState == 1 ? '100' : '0') + ')';
element.FadeState = element.FadeState == 1 ? 2 : -2;
if(typeof(fadeCBack) == 'function'){
fadeCBack(element);
}
return;
}
element.FadeTimeLeft -= elapsedTicks;
var newOpVal = element.FadeTimeLeft/TimeToFade;
if(element.FadeState == 1)
newOpVal = 1 - newOpVal;
element.style.opacity = newOpVal;
element.style.filter = 'alpha(opacity = ' + (newOpVal*100) + ')';
setTimeout("animFad(" + curTick + ",'" + eid + "')", 33);
}
function opaque(eid)
{
var element = $(eid);
element.FadeState=2;
element.style.opacity='1';
element.style.filter = 'alpha(opacity=100)';
}
function fade(eid)
{
var element = $(eid);
if(element == null)
return;
if(element.FadeState == null)
{
if(element.style.opacity == null
|| element.style.opacity == ''
|| element.style.opacity == '1')
{
element.FadeState = 2;
}
else
{
element.FadeState = -2;
}
}
if(element.FadeState == 1 || element.FadeState == -1)
{
element.FadeState = element.FadeState == 1 ? -1 : 1;
element.FadeTimeLeft = TimeToFade - element.FadeTimeLeft;
}
else
{
element.FadeState = element.FadeState == 2 ? -1 : 1;
element.FadeTimeLeft = TimeToFade;
setTimeout("animFad(" + new Date().getTime() + ",'" + eid + "')", 33);
}
}
function sForm(fn,act,cback)
{
var f=$d.forms[fn];
var el=f.elements;
var s="";
for(i=0;i<el.length;i++)
{
if('value' in el[i]) {
if((el[i].type=='checkbox' && el[i].checked) || el[i].type!='checkbox') {
if(s!=""){s+="&";};
s+=$e(el[i].name)+"="+$e(el[i].value.replace(" ",""));
}
}
}
ACmd(act,cback,false,s);
}
function showDiv(eid, st)
{
if(st!="none")
{
$("stan").style.display="none";
opaque(eid);
$(eid).style.display=st;
fade(eid);
return true;
}
return false;
}
function fadeCBack(el)
{
el.style.display="none";
$("stan").style.display="block";
}
function upDMVars(xDt)
{
conlo=false;
$w.DmBoard=getX(xDt, 'board');
$('fwn').innerHTML=getX(xDt, 'fwname');
$('fwv').innerHTML=getX(xDt, 'fwver')+' - '+getX(xDt, 'stv');
$('dm').innerHTML=getX(xDt, 'defmac');
$('bd').innerHTML=getX(xDt, 'bd');
$('dt').innerHTML=getX(xDt, 'dt');
$('bo').innerHTML=$w.DmBoard;
$w.epoch=getX(xDt, 'epoch');
if(typeof(aFirstCB) == 'function'){
aFirstCB(xDt);
}
}
function upDMAj(xDt)
{
if(xDt)
{
if(conlo){upDMVars(xDt);}
$w.epoch=getX(xDt, 'epoch');
$('dt').innerHTML=getX(xDt, 'dt');
$('stan').innerHTML=getX(xDt, 'stan');
var stok=getX(xDt, 'stok');
var stf=getX(xDt, 'stfail');
if(!showDiv('stfail', stf)) {showDiv('stok', stok);}
} else {
showDiv('connf', 'block');
conlo=true;
}
if(typeof(aLoopCB)=='function'){
aLoopCB(xDt);
}
}
function init() {
ACmd('ajax.xml', upDMVars);
setTimeout("ACmd('ajax.xml', upDMAj, true)",300);
var menuchilds=$('menu').getElementsByTagName('a');
for(i=0;i<menuchilds.length;i++)
{
if(location.href==menuchilds[i].href)
{
menuchilds[i].style.backgroundColor='#003399';
}
}
}
//kick off the AJAX Updater
setTimeout("pollAJAX()",750);
$w.onload = init;
<div class=spacer>&nbsp;</div>
<div id=footer>Copyright &copy; 2010-2012 Unixmedia S.r.l.</div>
</div>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<script src=/js/d.js></script>
<script>hdr();</script>
<div id=content>
<h1>Network Conf</h1>
<form method=post action=/netcfg.htm name=config>
<fieldset>
<div><label>HW addr:</label>
<input type=text name=mac disabled /></div>
<div><label>Hostname:</label>
<input type=text name=host disabled /></div>
<div>&nbsp;</div>
<div>
<input type=checkbox class=sm name=dhcp value=1 onclick="cBox()" disabled /> Use DHCP</div>
<div>
<input type=checkbox class=sm name=ntpe value=1 disabled /> Use SNTP</div>
<div><label>IP addr:</label>
<td><input type=text name=ip disabled /></div>
<div><label>Gateway:</label>
<td><input type=text name=gw disabled /></div>
<div><label>Subnet Mask:</label>
<td><input type=text name=sub disabled /></div>
<div><label>DNS1:</label>
<td><input type=text name=dns1 disabled /></div>
<div><label>DNS2:</label>
<input type=text name=dns2 disabled/></div>
<div><label>SNTP:</label>
<input type=text name=sntp disabled/></div>
<div><label>Web Port:</label>
<input type=text name=port disabled/></div>
<div><input type=submit class=sm value=Save name=save disabled /></div>
</fieldset>
</form>
</div>
<script>
function cBox() {
e=$d.forms.config;
st1=e.dhcp.checked;
st=0;
if(st1){st=st1;}
e.ip.disabled=st;
e.gw.disabled=st;
e.sub.disabled=st;
e.dns1.disabled=st;
e.dns2.disabled=st;
}
function aFirstCB(xDt)
{
if(xDt)
{
e=$d.forms.config;
if(getX(xDt,'cfg_dhcpchecked')){e.dhcp.checked=1;}
if(getX(xDt,'cfg_ntpe')){e.ntpe.checked=1;}
e.mac.value=getX(xDt,'cfg_mac');
e.host.value=getX(xDt,'cfg_hostname');
e.ip.value=getX(xDt,'cfg_ip');
e.gw.value=getX(xDt,'cfg_gw');
e.sub.value=getX(xDt,'cfg_subnet');
e.dns1.value=getX(xDt,'cfg_dns1');
e.dns2.value=getX(xDt,'cfg_dns2');
e.sntp.value=getX(xDt,'cfg_sntp');
e.port.value=getX(xDt,'wport');
cBox();
e.mac.disabled=0;
e.host.disabled=0;
e.dhcp.disabled=0;
e.sntp.disabled=0;
e.save.disabled=0;
e.ntpe.disabled=0;
e.port.disabled=0;
}
}
ftr();
</script>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment