/*
 * Generated configuration file, do not edit.
 * uiGenerator v2.98a
 * Copyright (C) 2002-2005 Ubicom Inc. <www.ubicom.com>.  All rights reserved.
 */

function netset_js_loaded() { return true }

function createDataObjectFromBinaryArray (initial)
{
	if (initial) createDataObject();
	var d = data;
	i = 0;				// global, accessed by the s*() functions
	d.lan_ip_mode=sU(1);
	d.lan_network_address=sX();
	d.lan_subnet_mask=sX();
	d.lan_gateway=sX();
	d.wan_ip_address=sX();
	d.wan_subnet_mask=sX();
	d.dns_relay_enabled=sU(1);
	d.lan_rip_accept_wan_updates=sU(1);
	d.lan_rip_act_as_default_router=sU(1);
	d.lan_rip_metric=sU(1);
	d.lan_rip_mode=sU(1);
	d.lan_rip_password=sS(17);
	d.lan_use_rip=sU(1);
	d.local_domain_name=sS(32);
	for (var i1=0; i1<24; i1++) {
		d.virtual_servers[i1].alg_assoc=sS(30);
		d.virtual_servers[i1].enabled=sU(1);
		d.virtual_servers[i1].entry_name=sS(15);
		d.virtual_servers[i1].ingress_filter_name=sS(16);
		d.virtual_servers[i1].ip_address=sX();
		d.virtual_servers[i1].private_port=sU(2);
		d.virtual_servers[i1].protocol=sU(1);
		d.virtual_servers[i1].public_port=sU(2);
		d.virtual_servers[i1].sched_name=sS(16);
		d.virtual_servers[i1].used=sU(1);
		d.virtual_servers[i1].user_protocol=sU(1);
	}
	d.lan_use_igmp_proxy=sU(1);
	d.lan_dhcp_always_broadcast=sU(1);
	d.lan_dhcp_timeout=sU(2);
	d.lan_primary_dns=sX();
	d.lan_secondary_dns=sX();
	for (var i1=0; i1<24; i1++) {
		d.dhcp_addr_resv_table[i1].comp_name=sS(39);
		d.dhcp_addr_resv_table[i1].enabled=sU(1);
		d.dhcp_addr_resv_table[i1].mac_addr=sH(6);
		d.dhcp_addr_resv_table[i1].mac_ip=sX();
		d.dhcp_addr_resv_table[i1].used=sU(1);
	}
	d.lan_dhcp_range_ip_end=sX();
	d.lan_dhcp_range_ip_start=sX();
	d.lan_use_dhcp=sU(1);
	for (var i1=0; i1<24; i1++) {
		d.game_rules[i1].enabled=sU(1);
		d.game_rules[i1].entry_name=sS(40);
		d.game_rules[i1].game_host=sX();
		d.game_rules[i1].ingress_filter_name=sS(16);
		d.game_rules[i1].sched_name=sS(16);
		d.game_rules[i1].tcp_ports_to_open=sS(60);
		d.game_rules[i1].udp_ports_to_open=sS(60);
		d.game_rules[i1].used=sU(1);
	}
}

function createBinaryArrayFromDataObject()
{
	byte_array = new Array;		// global, accessed by the g*() functions
	var d = data;
	gU(d.lan_ip_mode,1);
	gX(d.lan_network_address);
	gX(d.lan_subnet_mask);
	gX(d.lan_gateway);
	gX(d.wan_ip_address);
	gX(d.wan_subnet_mask);
	gU(d.dns_relay_enabled,1);
	gU(d.lan_rip_accept_wan_updates,1);
	gU(d.lan_rip_act_as_default_router,1);
	gU(d.lan_rip_metric,1);
	gU(d.lan_rip_mode,1);
	gS(d.lan_rip_password,17);
	gU(d.lan_use_rip,1);
	gS(d.local_domain_name,32);
	for (var i1=0; i1<24; i1++) {
		gS(d.virtual_servers[i1].alg_assoc,30);
		gU(d.virtual_servers[i1].enabled,1);
		gS(d.virtual_servers[i1].entry_name,15);
		gS(d.virtual_servers[i1].ingress_filter_name,16);
		gX(d.virtual_servers[i1].ip_address);
		gU(d.virtual_servers[i1].private_port,2);
		gU(d.virtual_servers[i1].protocol,1);
		gU(d.virtual_servers[i1].public_port,2);
		gS(d.virtual_servers[i1].sched_name,16);
		gU(d.virtual_servers[i1].used,1);
		gU(d.virtual_servers[i1].user_protocol,1);
	}
	gU(d.lan_use_igmp_proxy,1);
	gU(d.lan_dhcp_always_broadcast,1);
	gU(d.lan_dhcp_timeout,2);
	gX(d.lan_primary_dns);
	gX(d.lan_secondary_dns);
	for (var i1=0; i1<24; i1++) {
		gS(d.dhcp_addr_resv_table[i1].comp_name,39);
		gU(d.dhcp_addr_resv_table[i1].enabled,1);
		gH(d.dhcp_addr_resv_table[i1].mac_addr,6);
		gX(d.dhcp_addr_resv_table[i1].mac_ip);
		gU(d.dhcp_addr_resv_table[i1].used,1);
	}
	gX(d.lan_dhcp_range_ip_end);
	gX(d.lan_dhcp_range_ip_start);
	gU(d.lan_use_dhcp,1);
	for (var i1=0; i1<24; i1++) {
		gU(d.game_rules[i1].enabled,1);
		gS(d.game_rules[i1].entry_name,40);
		gX(d.game_rules[i1].game_host);
		gS(d.game_rules[i1].ingress_filter_name,16);
		gS(d.game_rules[i1].sched_name,16);
		gS(d.game_rules[i1].tcp_ports_to_open,60);
		gS(d.game_rules[i1].udp_ports_to_open,60);
		gU(d.game_rules[i1].used,1);
	}
	return byte_array;
}

function naturalizeDataObject()
{
	var d = data;
	d.lan_rip_metric=naturalize(d.lan_rip_metric);
	for (var i1=0; i1<24; i1++) {
		d.virtual_servers[i1].private_port=naturalize(d.virtual_servers[i1].private_port);
		d.virtual_servers[i1].public_port=naturalize(d.virtual_servers[i1].public_port);
		d.virtual_servers[i1].used=naturalize(d.virtual_servers[i1].used);
		d.virtual_servers[i1].user_protocol=naturalize(d.virtual_servers[i1].user_protocol);
	}
	d.lan_dhcp_timeout=naturalize(d.lan_dhcp_timeout);
	for (var i1=0; i1<24; i1++) {
		d.dhcp_addr_resv_table[i1].used=naturalize(d.dhcp_addr_resv_table[i1].used);
	}
	for (var i1=0; i1<24; i1++) {
		d.game_rules[i1].used=naturalize(d.game_rules[i1].used);
	}
}
