diff options
Diffstat (limited to 'src/usr/local/www/javascript/firewall_rules_edit/firewall_rules_edit.js')
-rw-r--r-- | src/usr/local/www/javascript/firewall_rules_edit/firewall_rules_edit.js | 237 |
1 files changed, 237 insertions, 0 deletions
diff --git a/src/usr/local/www/javascript/firewall_rules_edit/firewall_rules_edit.js b/src/usr/local/www/javascript/firewall_rules_edit/firewall_rules_edit.js new file mode 100644 index 0000000..de1ff0c --- /dev/null +++ b/src/usr/local/www/javascript/firewall_rules_edit/firewall_rules_edit.js @@ -0,0 +1,237 @@ +//<![CDATA[ +var portsenabled = 1; +var editenabled = 1; + +function ext_change() { + if ((document.iform.srcbeginport.selectedIndex == 0) && portsenabled && editenabled) { + document.iform.srcbeginport_cust.disabled = 0; + } else { + if (editenabled) + document.iform.srcbeginport_cust.value = ""; + document.iform.srcbeginport_cust.disabled = 1; + } + if ((document.iform.srcendport.selectedIndex == 0) && portsenabled && editenabled) { + document.iform.srcendport_cust.disabled = 0; + } else { + if (editenabled) + document.iform.srcendport_cust.value = ""; + document.iform.srcendport_cust.disabled = 1; + } + if ((document.iform.dstbeginport.selectedIndex == 0) && portsenabled && editenabled) { + document.iform.dstbeginport_cust.disabled = 0; + } else { + if (editenabled) + document.iform.dstbeginport_cust.value = ""; + document.iform.dstbeginport_cust.disabled = 1; + } + if ((document.iform.dstendport.selectedIndex == 0) && portsenabled && editenabled) { + document.iform.dstendport_cust.disabled = 0; + } else { + if (editenabled) + document.iform.dstendport_cust.value = ""; + document.iform.dstendport_cust.disabled = 1; + } + + if (!portsenabled) { + document.iform.srcbeginport.disabled = 1; + document.iform.srcendport.disabled = 1; + document.iform.dstbeginport.disabled = 1; + document.iform.dstendport.disabled = 1; + } else { + if( editenabled ) { + document.iform.srcbeginport.disabled = 0; + document.iform.srcendport.disabled = 0; + document.iform.dstbeginport.disabled = 0; + document.iform.dstendport.disabled = 0; + } + } +} + +function show_source_port_range() { + if (portsenabled) { + document.getElementById("sprtable").style.display = ''; + document.getElementById("showadvancedboxspr").style.display = 'none'; + } +} + +function typesel_change() { + if( editenabled ) { + switch (document.iform.srctype.selectedIndex) { + case 1: /* single */ + document.iform.src.disabled = 0; + document.iform.srcmask.value = ""; + document.iform.srcmask.disabled = 1; + break; + case 2: /* network */ + document.iform.src.disabled = 0; + document.iform.srcmask.disabled = 0; + break; + default: + document.iform.src.value = ""; + document.iform.src.disabled = 1; + document.iform.srcmask.value = ""; + document.iform.srcmask.disabled = 1; + break; + } + switch (document.iform.dsttype.selectedIndex) { + case 1: /* single */ + document.iform.dst.disabled = 0; + document.iform.dstmask.value = ""; + document.iform.dstmask.disabled = 1; + break; + case 2: /* network */ + document.iform.dst.disabled = 0; + document.iform.dstmask.disabled = 0; + break; + default: + document.iform.dst.value = ""; + document.iform.dst.disabled = 1; + document.iform.dstmask.value = ""; + document.iform.dstmask.disabled = 1; + break; + } + } +} + +function proto_change() { + if (document.iform.proto.selectedIndex < 3) { + portsenabled = 1; + document.getElementById("tcpflags").style.display = ''; + } else { + portsenabled = 0; + document.getElementById("tcpflags").style.display = 'none'; + } + + /* Disable OS knob if the proto is not TCP. */ + if (document.iform.proto.selectedIndex < 1) { + document.forms[0].os.disabled = 0; + } else { + document.forms[0].os.disabled = 1; + } + + if (document.iform.proto.selectedIndex == 3) { + document.iform.icmptype.disabled = 0; + document.iform.icmp6type.disabled = 0; + } else { + document.iform.icmptype.disabled = 1; + document.iform.icmp6type.disabled = 1; + } + + ext_change(); + + if(document.iform.proto.selectedIndex == 3 || document.iform.proto.selectedIndex == 4) { + if(document.iform.ipprotocol.selectedIndex == 0) { // IPv4 + document.getElementById("icmpbox").style.display = ''; + document.getElementById("icmp6box").style.display = 'none'; + } else if(document.iform.ipprotocol.selectedIndex == 1) { // IPv6 + document.getElementById("icmpbox").style.display = 'none'; + document.getElementById("icmp6box").style.display = ''; + } else { // IPv4 + IPv6 + document.getElementById("icmpbox").style.display = 'none'; + document.getElementById("icmp6box").style.display = 'none'; + } + } else { + document.getElementById("icmpbox").style.display = 'none'; + document.getElementById("icmp6box").style.display = 'none'; + } + + if(document.iform.proto.selectedIndex >= 0 && document.iform.proto.selectedIndex <= 2) { + document.getElementById("dprtr").style.display = ''; + if (editenabled) { + document.getElementById("showadvancedboxspr").style.display = 'table-row'; + } + } else { + document.getElementById("sprtable").style.display = 'none'; + document.getElementById("dprtr").style.display = 'none'; + document.getElementById("showadvancedboxspr").style.display = 'none'; + } +} + +function show_aodiv() { + document.getElementById("aoadv").innerHTML=''; + aodiv = document.getElementById('aodivmain'); + aodiv.style.display = "block"; +} + +function show_dsdiv() { + document.getElementById("dsadv").innerHTML=''; + dsdiv = document.getElementById('dsdivmain'); + dsdiv.style.display = "block"; +} + +function show_advanced_noxmlrpc() { + document.getElementById("showadvnoxmlrpcsyncbox").innerHTML=''; + aodiv = document.getElementById('shownoxmlrpcadv'); + aodiv.style.display = "block"; +} + +function show_advanced_vlanprio() { + document.getElementById("showadvvlanpriobox").innerHTML=''; + aodiv = document.getElementById('showvlanprioadv'); + aodiv.style.display = "block"; +} + +function show_advanced_schedule() { + document.getElementById("showadvschedulebox").innerHTML=''; + aodiv = document.getElementById('showscheduleadv'); + aodiv.style.display = "block"; +} + +function show_advanced_gateway() { + document.getElementById("showadvgatewaybox").innerHTML=''; + aodiv = document.getElementById('showgatewayadv'); + aodiv.style.display = "block"; +} + +function show_advanced_sourceos() { + document.getElementById("showadvsourceosbox").innerHTML=''; + aodiv = document.getElementById('showsourceosadv'); + aodiv.style.display = "block"; +} + +function show_advanced_ackqueue() { + document.getElementById("showadvackqueuebox").innerHTML=''; + aodiv = document.getElementById('showackqueueadv'); + aodiv.style.display = "block"; +} + +function show_advanced_inout() { + document.getElementById("showadvinoutbox").innerHTML=''; + aodiv = document.getElementById('showinoutadv'); + aodiv.style.display = "block"; +} + +function show_advanced_state() { + document.getElementById("showadvstatebox").innerHTML=''; + aodiv = document.getElementById('showstateadv'); + aodiv.style.display = "block"; +} + +function show_advanced_tcpflags() { + document.getElementById("showtcpflagsbox").innerHTML=''; + aodiv = document.getElementById('showtcpflagsadv'); + aodiv.style.display = "block"; +} + +function show_advanced_layer7() { + document.getElementById("showadvlayer7box").innerHTML=''; + aodiv = document.getElementById('showlayer7adv'); + aodiv.style.display = "block"; +} + +function src_rep_change() { + document.iform.srcendport.selectedIndex = document.iform.srcbeginport.selectedIndex; +} + +function dst_rep_change() { + document.iform.dstendport.selectedIndex = document.iform.dstbeginport.selectedIndex; +} + +function tcpflags_anyclick(obj) { + if (obj.checked) { + document.getElementById('tcpheader').style.display= 'none'; + } else { + document.getElementById('tcpheader').style.display= ""; + } +} +//]]> |