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

function gaming_js_loaded() { return true }

function createDataObjectFromBinaryArray (initial)
{
	if (initial) createDataObject();
	var d = data;
	i = 0;				// global, accessed by the s*() functions
	d.lan_network_address=sX();
	d.lan_subnet_mask=sX();
	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);
	}
	d.allow_wan_web_access=sU(1);
	d.wan_web_port=sU(2);
	for (var i1=0; i1<32; i1++) {
		d.sched_table[i1].enabled=sU(1);
		d.sched_table[i1].end_time=sU(4);
		d.sched_table[i1].sched_name=sS(16);
		d.sched_table[i1].start_time=sU(4);
		d.sched_table[i1].used=sU(1);
		d.sched_table[i1].weekdays=sU(1);
	}
	for (var i1=0; i1<24; i1++) {
		d.ingress_rules[i1].action=sU(1);
		d.ingress_rules[i1].ingress_filter_name=sS(16);
		for (var i2=0; i2<8; i2++) {
			d.ingress_rules[i1].ip_range_table[i2].enabled=sU(1);
			d.ingress_rules[i1].ip_range_table[i2].ip_end=sX();
			d.ingress_rules[i1].ip_range_table[i2].ip_start=sX();
		}
		d.ingress_rules[i1].used=sU(1);
	}
}

function createBinaryArrayFromDataObject()
{
	byte_array = new Array;		// global, accessed by the g*() functions
	var d = data;
	gX(d.lan_network_address);
	gX(d.lan_subnet_mask);
	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);
	}
	gU(d.allow_wan_web_access,1);
	gU(d.wan_web_port,2);
	for (var i1=0; i1<32; i1++) {
		gU(d.sched_table[i1].enabled,1);
		gU(d.sched_table[i1].end_time,4);
		gS(d.sched_table[i1].sched_name,16);
		gU(d.sched_table[i1].start_time,4);
		gU(d.sched_table[i1].used,1);
		gU(d.sched_table[i1].weekdays,1);
	}
	for (var i1=0; i1<24; i1++) {
		gU(d.ingress_rules[i1].action,1);
		gS(d.ingress_rules[i1].ingress_filter_name,16);
		for (var i2=0; i2<8; i2++) {
			gU(d.ingress_rules[i1].ip_range_table[i2].enabled,1);
			gX(d.ingress_rules[i1].ip_range_table[i2].ip_end);
			gX(d.ingress_rules[i1].ip_range_table[i2].ip_start);
		}
		gU(d.ingress_rules[i1].used,1);
	}
	return byte_array;
}

function naturalizeDataObject()
{
	var d = data;
	for (var i1=0; i1<24; i1++) {
		d.game_rules[i1].used=naturalize(d.game_rules[i1].used);
	}
	d.wan_web_port=naturalize(d.wan_web_port);
	for (var i1=0; i1<32; i1++) {
		d.sched_table[i1].end_time=naturalize(d.sched_table[i1].end_time);
		d.sched_table[i1].start_time=naturalize(d.sched_table[i1].start_time);
		d.sched_table[i1].used=naturalize(d.sched_table[i1].used);
		d.sched_table[i1].weekdays=naturalize(d.sched_table[i1].weekdays);
	}
	for (var i1=0; i1<24; i1++) {
		for (var i2=0; i2<8; i2++) {
		}
		d.ingress_rules[i1].used=naturalize(d.ingress_rules[i1].used);
	}
}
