public synchronized void startDocument() throws SAXException {
			argb = ARGB_NOT_SET;
			argb1 = ARGB_NOT_SET;
			argb2 = ARGB_NOT_SET;
			resetIndices();
			mw2dConnector.clear();
			mw3dConnector.clear();
			jmolConnector.clear();
			pluginConnector.clear();
			radioButtonConnector.clear();
			htmlComponentConnector.clear();
			textBuffer.setLength(0);
			elementCounter = 0;
			page.setBackgroundSound(null);
			pageTitle = null;
			referencedFiles = null;
			if (progressBar != null) {
				EventQueue.invokeLater(new Runnable() {
					public void run() {
						progressBar.setString("Loading......");
						progressBar.setIndeterminate(true);
					}
				});
			}
			if (!componentStyles.isEmpty()) { // just in case the styles hold up their components
				for (Style style : componentStyles) {
					Enumeration e = style.getAttributeNames();
					while (e.hasMoreElements()) {
						style.removeAttribute(e.nextElement());
					}
				}
				componentStyles.clear();
			}
			page.setReading(true);
		}