| "+f.nw1a.value+"."+f.nw2a.value+"."+f.nw3a.value+"."+f.nw4a.value+"<\/td> | "+f.nw1a.value+"."+f.nw2a.value+"."+f.nw3a.value+"."+ i +"<\/td> | "+f.broad1a.value+"."+f.broad2a.value+"."+f.broad3a.value+"."+ j + "<\/td> | "+f.broad1a.value+"."+f.broad2a.value+"."+f.broad3a.value+"."+f.broad4a.value+"<\/td><\/tr>");
}
SubnetWindow.document.write("<\/table>");
SubnetWindow.status="Done";
}
}
function compute2(f)
{
var cf = 1;
if (f.cf[1].checked=="1") cf=f.cf[1].value;
if (f.cf[2].checked=="1") cf=f.cf[2].value;
if (f.cf[3].checked=="1") cf=f.cf[3].value;
if (code == "MSIE")
{
var node=f.node.value;
var nw=f.network.value;
if (node > 0)
{
nw=0;
f.network.options.selectedIndex=0;
node=eval(eval(node)+2);
}
}
else
{
var i = f.node.selectedIndex;
var node=parseInt(f.node.options[i].value);
var j = f.network.selectedIndex;
var nw=parseInt(f.network.options[j].value);
if (node > 0)
{
nw=0;
f.network.options.selectedIndex=0;
node=eval(eval(node)+2);
}
}
if ((nw == 0) && (node == 0)) nw=1;
var power2=2;
//Determine the class of network and calculate the subnet mask
if (f.oct1.value > 255) f.oct1.value=255;
if (f.oct2.value > 255) f.oct2.value=255;
if (f.oct3.value > 255) f.oct3.value=255;
if (f.oct4.value > 255) f.oct4.value=255;
if ((f.oct1.value > 0) && (f.oct1.value < 127)) f.nwclass.value="Class A";
if ((f.oct1.value > 127) && (f.oct1.value < 192)) f.nwclass.value="Class B";
if ((f.oct1.value > 191) && (f.oct1.value < 224)) f.nwclass.value="Class C";
if ((f.oct1.value < 1) || (f.oct1.value > 223))
{
f.nwclass.value="Illegal";
f.nwclass1.value="";
f.subsuper.value="";
f.nwquant.value=0;
f.nodequant.value=0;
f.snm1.value=0;
f.snm2.value=0;
f.snm3.value=0;
f.snm4.value=0;
f.snmbits.value=0;
}
if (((f.nwclass.value == "Class A") && (cf == 1)) || ((cf == 2) && (f.nwclass.value != "Illegal")))
{
if (nw >= 1) node=16777216/nw;
var nwtemp;
if (node > 16777216) //supernetted
{
f.nwclass1.value="";
nw = 1073741824/node;
nwtemp = nw;
f.snm1.value=(~((64/nw)-1) & 255);
f.snm2.value=0;
f.snm3.value=0;
f.snm4.value=0;
f.subsuper.value="Supernetted";
nw=1;
}
else //subnetted
{
f.nwclass1.value="Class A";
nw = 16777216/node;
nwtemp = nw;
f.snm1.value=255;
f.snm2.value=(~((256/nw)-1) & 255);
f.snm3.value=(~((65536/nw)-1) & 255);
f.snm4.value=(~((16777216/nw)-1) & 255);
f.subsuper.value="Subnetted as";
power2=power2+6;
}
while (nwtemp > 1 )
{
nwtemp=nwtemp/2;
power2=power2+1;
}
f.nodequant.value=node-2;
f.nwquant.value=nw;
f.snmbits.value="/"+power2;
}
if (((f.nwclass.value == "Class B") && (cf == 1)) || ((cf == 3) && (f.nwclass.value != "Illegal")))
{
if (nw > 16384) nw=16384;
if (nw >= 1) node=65536/nw;
var nwtemp;
if (node > 65536) //supernetted
{
f.nwclass1.value="";
nw = 1073741824/node;
nwtemp = nw;
f.snm1.value=(~((64/nw)-1) & 255);
f.snm2.value=(~((16384/nw)-1) & 255);
f.snm3.value=0;
f.snm4.value=0;
f.subsuper.value="Supernetted";
nw=1;
}
else //subnetted
{
f.nwclass1.value="Class B";
nw = 65536/node;
nwtemp = nw;
f.snm1.value=255;
f.snm2.value=255;
f.snm3.value=(~((256/nw)-1) & 255);
f.snm4.value=(~((65536/nw)-1) & 255);
f.subsuper.value="Subnetted as";
power2=power2+14;
}
while (nwtemp > 1 )
{
nwtemp=nwtemp/2;
power2=power2+1;
}
f.nodequant.value=node-2;
f.nwquant.value=nw;
f.snmbits.value="/"+power2;
}
if (((f.nwclass.value == "Class C") && (cf == 1)) || ((cf == 4) && (f.nwclass.value != "Illegal")))
{
if (nw > 64) nw=64;
if (nw >= 1) node=256/nw;
var nwtemp;
if (node > 256) //supernetted
{
f.nwclass1.value="";
nw = 1073741824/node;
nwtemp = nw;
f.snm1.value=(~((64/nw)-1) & 255);
f.snm2.value=(~((16384/nw)-1) & 255);
f.snm3.value=(~((4194304/nw)-1) & 255);
f.snm4.value=0;
f.subsuper.value="Supernetted";
nw=1;
}
else //subnetted
{
f.nwclass1.value="Class C";
nw = 256/node;
nwtemp = nw;
f.snm1.value=255;
f.snm2.value=255;
f.snm3.value=255;
f.snm4.value=(~((256/nw)-1) & 255);
f.subsuper.value="Subnetted as";
power2=power2+22;
}
while (nwtemp > 1 )
{
nwtemp=nwtemp/2;
power2=power2+1;
}
f.nodequant.value=node-2;
f.nwquant.value=nw;
f.snmbits.value="/"+power2;
}
f.snm1a.value = f.snm1.value;
f.snm2a.value = f.snm2.value;
f.snm3a.value = f.snm3.value;
f.snm4a.value = f.snm4.value;
f.oct1a.value = f.oct1.value;
f.oct2a.value = f.oct2.value;
f.oct3a.value = f.oct3.value;
f.oct4a.value = f.oct4.value;
f.oct1b.value = f.oct1.value;
f.oct2b.value = f.oct2.value;
f.oct3b.value = f.oct3.value;
f.oct4b.value = f.oct4.value;
compute(f);
compute3(f);
f.snm1c.value = f.snm1.value;
f.snm2c.value = f.snm2.value;
f.snm3c.value = f.snm3.value;
f.snm4c.value = f.snm4.value;
computeSNMA(f);
if (((f.nw1a.value == 0) && (f.nw2a.value == 0) && (f.nw3a.value == 0) && (f.nw4a.value == 0)) || ((f.broad1a.value == 255) && (f.broad2a.value == 255) && (f.broad3a.value == 255) && (f.broad4a.value == 255)))
{
f.nwclass.value="Illegal";
f.nwclass1.value="";
f.subsuper.value="";
f.nwquant.value=0;
f.nodequant.value=0;
f.snm1.value=0;
f.snm2.value=0;
f.snm3.value=0;
f.snm4.value=0;
f.snmbits.value=0;
}
SetCookieValues('oct1', f.oct1.value);
SetCookieValues('oct2', f.oct2.value);
SetCookieValues('oct3', f.oct3.value);
SetCookieValues('oct4', f.oct4.value);
SetCookieValues('node', f.node.selectedIndex);
SetCookieValues('network', f.network.selectedIndex);
SetCookieValues('cf', cf);
}
function compute(f)
{
if (f.oct1a.value > 255) f.oct1a.value=255;
if (f.oct2a.value > 255) f.oct2a.value=255;
if (f.oct3a.value > 255) f.oct3a.value=255;
if (f.oct4a.value > 255) f.oct4a.value=255;
if (f.snm1a.value > 255) f.snm1a.value=255;
if (f.snm2a.value > 255) f.snm2a.value=255;
if (f.snm3a.value > 255) f.snm3a.value=255;
if (f.snm4a.value > 255) f.snm4a.value=255;
f.nw1a.value = eval(f.snm1a.value & f.oct1a.value);
f.nw2a.value = eval(f.snm2a.value & f.oct2a.value);
f.nw3a.value = eval(f.snm3a.value & f.oct3a.value);
f.nw4a.value = eval(f.snm4a.value & f.oct4a.value);
f.node1a.value = eval(~ f.snm1a.value & f.oct1a.value);
f.node2a.value = eval(~ f.snm2a.value & f.oct2a.value);
f.node3a.value = eval(~ f.snm3a.value & f.oct3a.value);
f.node4a.value = eval(~ f.snm4a.value & f.oct4a.value);
f.broad1a.value = ((f.nw1a.value) ^ (~ f.snm1a.value) & 255);
f.broad2a.value = ((f.nw2a.value) ^ (~ f.snm2a.value) & 255);
f.broad3a.value = ((f.nw3a.value) ^ (~ f.snm3a.value) & 255);
f.broad4a.value = ((f.nw4a.value) ^ (~ f.snm4a.value) & 255);
SetCookieValues('oct1a', f.oct1a.value);
SetCookieValues('oct2a', f.oct2a.value);
SetCookieValues('oct3a', f.oct3a.value);
SetCookieValues('oct4a', f.oct4a.value);
SetCookieValues('snm1a', f.snm1a.value);
SetCookieValues('snm2a', f.snm2a.value);
SetCookieValues('snm3a', f.snm3a.value);
SetCookieValues('snm4a', f.snm4a.value);
}
function compute3(f)
{
if (f.oct1b.value > 255) f.oct1b.value=255;
if (f.oct2b.value > 255) f.oct2b.value=255;
if (f.oct3b.value > 255) f.oct3b.value=255;
if (f.oct4b.value > 255) f.oct4b.value=255;
f.bin1b.value = d2b(f.oct1b.value);
f.bin2b.value = d2b(f.oct2b.value);
f.bin3b.value = d2b(f.oct3b.value);
f.bin4b.value = d2b(f.oct4b.value);
f.hex1b.value = d2h(f.oct1b.value);
f.hex2b.value = d2h(f.oct2b.value);
f.hex3b.value = d2h(f.oct3b.value);
f.hex4b.value = d2h(f.oct4b.value);
f.dec1b.value = eval(f.oct1b.value*16777216) + eval(f.oct2b.value*65536) + eval(f.oct3b.value*256) + eval(f.oct4b.value);
SetCookieValues('dec1b', f.dec1b.value);
}
function compute4(f)
{
f.oct1b.value = b2d(f.bin1b.value);
f.oct2b.value = b2d(f.bin2b.value);
f.oct3b.value = b2d(f.bin3b.value);
f.oct4b.value = b2d(f.bin4b.value);
f.hex1b.value = d2h(f.oct1b.value);
f.hex2b.value = d2h(f.oct2b.value);
f.hex3b.value = d2h(f.oct3b.value);
f.hex4b.value = d2h(f.oct4b.value);
f.dec1b.value = eval(f.oct1b.value*16777216) + eval(f.oct2b.value*65536) + eval(f.oct3b.value*256) + eval(f.oct4b.value);
SetCookieValues('dec1b', f.dec1b.value);
}
function compute5(f)
{
f.oct1b.value = h2d(f.hex1b.value);
f.oct2b.value = h2d(f.hex2b.value);
f.oct3b.value = h2d(f.hex3b.value);
f.oct4b.value = h2d(f.hex4b.value);
f.bin1b.value = d2b(f.oct1b.value);
f.bin2b.value = d2b(f.oct2b.value);
f.bin3b.value = d2b(f.oct3b.value);
f.bin4b.value = d2b(f.oct4b.value);
f.dec1b.value = eval(f.oct1b.value*16777216) + eval(f.oct2b.value*65536) + eval(f.oct3b.value*256) + eval(f.oct4b.value);
SetCookieValues('dec1b', f.dec1b.value);
}
function compute6(f)
{
f.oct1b.value = f.dec1b.value >>> 24;
f.oct2b.value = (f.dec1b.value << 8) >>> 24;
f.oct3b.value = (f.dec1b.value << 16) >>> 24;
f.oct4b.value = (f.dec1b.value << 24) >>> 24;
f.bin1b.value = d2b(f.oct1b.value);
f.bin2b.value = d2b(f.oct2b.value);
f.bin3b.value = d2b(f.oct3b.value);
f.bin4b.value = d2b(f.oct4b.value);
f.hex1b.value = d2h(f.oct1b.value);
f.hex2b.value = d2h(f.oct2b.value);
f.hex3b.value = d2h(f.oct3b.value);
f.hex4b.value = d2h(f.oct4b.value);
SetCookieValues('dec1b', f.dec1b.value);
}
function computeSNMA(f)
{
f.snm1c.value = snmcorrect(f.snm1c.value);
if (f.snm1c.value < 255)
{
f.snm2c.value = 0;
f.snm3c.value = 0;
f.snm4c.value = 0;
}
else
{
f.snm2c.value = snmcorrect(f.snm2c.value);
if (f.snm2c.value < 255)
{
f.snm1c.value = 255;
f.snm3c.value = 0;
f.snm4c.value = 0;
}
else
{
f.snm3c.value = snmcorrect(f.snm3c.value);
if (f.snm3c.value < 255)
{
f.snm1c.value = 255;
f.snm2c.value = 255;
f.snm4c.value = 0;
}
else
{
f.snm4c.value = snmcorrect(f.snm4c.value);
}
}
}
bits=0;
bits=bits+d2bits(f.snm1c.value);
bits=bits+d2bits(f.snm2c.value);
bits=bits+d2bits(f.snm3c.value);
bits=bits+d2bits(f.snm4c.value);
f.snmbitsc.value = bits;
}
function computeSNMB(f)
{
if (f.snmbitsc.value < 0) f.snmbitsc.value = 0;
if (f.snmbitsc.value > 32) f.snmbitsc.value = 32;
f.snm1c.value=bits2d(f.snmbitsc.value);
f.snm2c.value=bits2d(f.snmbitsc.value - 8);
f.snm3c.value=bits2d(f.snmbitsc.value - 16);
f.snm4c.value=bits2d(f.snmbitsc.value - 24);
}
// end hiding from old browsers -->
|