Edit in JSFiddle

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Orbiter Room List</title>

<!--Load the Orbiter JavaScript library (non-minified version). Use during development.-->
<script type="text/javascript" src="http://unionplatform.com/cdn/Orbiter_latest.js"></script>
<!--Load the Orbiter JavaScript library (minified version). Use for production.-->
<!--<script type="text/javascript" src="http://unionplatform.com/cdn/Orbiter_latest_min.js"></script>-->

<!--Application code-->
<script type="text/javascript">
//==============================================================================
// VARIABLES
//==============================================================================
var orbiter;
var roomlist;

//==============================================================================
// INITIALIZATION
//==============================================================================
function init () {
  // Create the Orbiter instance, used to connect to and communicate with Union,
  // then enable automatic reconnection (one attempt every 15 seconds)
  orbiter = new net.user1.orbiter.Orbiter();
  orbiter.getConnectionMonitor().setAutoReconnectFrequency(15000);
  orbiter.getLog().setLevel(net.user1.logger.Logger.DEBUG);
  
  // Register for Orbiter's connection events
  orbiter.addEventListener(net.user1.orbiter.OrbiterEvent.READY, readyListener, this);
  orbiter.addEventListener(net.user1.orbiter.OrbiterEvent.CLOSE, closeListener, this);
  
  // The room listbox
  roomlist = document.getElementById("roomlist");
  roomlist.style.width = "300px";

  // Connect to Union Server
  orbiter.connect("tryunion.com", 80);
}

//==============================================================================
// ORBITER EVENT LISTENERS
//==============================================================================
function readyListener (e) {
  orbiter.getRoomManager().addEventListener(net.user1.orbiter.RoomManagerEvent.ROOM_ADDED, roomAddedListener);
  orbiter.getRoomManager().addEventListener(net.user1.orbiter.RoomManagerEvent.ROOM_REMOVED, roomRemovedListener);
  // Register to be notified when rooms with the qualifier "examples" are added
  // to or removed from the server.  
  orbiter.getRoomManager().watchForRooms("examples");
  
  // To be notified when *any* room is added to or removed from the server, remove
  // the preceding line and uncomment the following line: 
  // orbiter.getRoomManager().watchForRooms();
}

// Triggered when the connection is closed
function closeListener (e) {
}

//==============================================================================
// ROOM EVENT LISTENERS
//==============================================================================
// Triggered when a room is added to the server
function roomAddedListener (e) {
  addListOption(e.getRoomID(), e.getRoomID());
}
  
// Triggered when a room is removed from the server
function roomRemovedListener (e) {
  removeListOption(e.getRoomID());
}

//==============================================================================
// SELECT MANAGEMENT
//==============================================================================
function addListOption (name, value) {
  var option;
  option = document.createElement("option");
  option.text  = name;
  option.value = value;
  roomlist.add(option);
}

function removeListOption (value) {
  for (var i = 0; i < roomlist.length; i++) {
    if (roomlist.options[i].value == value) {
      roomlist.remove(i);
      return;
    }
  }
}
</script>
</head>

<body onload="init()">
<!--Contains the rooms-->
<select id="roomlist" size="10" multiple="multiple">
</select>

</body>
</html>