function showState() {
    location.href = 'list.html';
}

var infos = [];

Ext.onReady(function () {
	addChangeEvent(showState);

    var extraStates = new Ext.data.XmlReader({
        record:'altstates/state',
        fields: [
            {name:'State'}
        ]
    });

    var info = Ext.data.Record.create([
        {name:'State', mapping:'state'},
        {name:'ExtraStates', mapping:'altstates', convert: function (v, rec) {
                return extraStates.readRecords(rec).records;
        }}
    ]);

    var reader = new Ext.data.XmlReader({
        record:'info'
    }, info);

    var store = new Ext.data.Store({
        url:'/files/agentinfo.xml',
        reader:reader
    });

    store.on('load', function() {
        var info;

        for (var i = 0 ; i < store.getCount() ; i++) {
            info = store.getAt(i);
            
            if (infos[info.get('State').toLowerCase ()] == undefined) {
                infos[info.get('State').toLowerCase ()] = [];
            }

            for ( var c = 0 ; c < info.get('ExtraStates').length ; c++ ) {
                if (infos[info.get('ExtraStates')[c].node.childNodes[0].data.toLowerCase ()] == undefined) {
                    infos[info.get('ExtraStates')[c].node.childNodes[0].data.toLowerCase ()] = [];
                }
            }
        }

        for ( var ii in states ) {
            if (ii != 'remove' && ii != 'Total' && infos[ii.toLowerCase ()] == undefined) {
                removeState(ii);
            }
        }

		showStateInfo();
    });

    store.load();
});