1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

These form elements must be kept isolated from the SEARCH frame in order to prevent the hidden data element 'hit list' being re-initialised each time the SEARCH frame is reloaded as we pass between the Property and Structure-Spectra SETUP display frames. Unlike compiled languages, such as Fortran or Java, we cannot create commondata arrays in JavaScript to hold information. Data variables are local to the page in which they are created and can only be accessed via the JavaScript object heirarchy, which has a strict parent-child relationship based on the heirarchical frame structure shown in Figure 3. Hence to pass between the Property and Structure-Spectra framesets we must always go via the same route, otherwise we would lose both the variable information location and values required to dynamically create the select menu lists in the SETUP frames with JavaScript :

<SELECT NAME="structure" onChange="LoadFrame('CHIMEFRAME');">

<SCRIPT LANGUAGE="JavaScript" SRC="JavaScriptArray.js"></SCRIPT>
<SCRIPT LANGUAGE="JavaScript">

/*

This loads drop-down menu

*/

var numMols = Mol.length;
var pointer = new Array(numMols);
var Kount = 0;

for (jj = 0; jj < numMols; jj++) {

if (parent.parent.ARRAYS.document.MolOnOff.elements[jj].value == 1) {

pointer[Kount] = jj;
Kount = Kount + 1;
if (jj == 0) {
document.writeln ("<OPTION VALUE=" + Mol[jj]['FilName'] + " SELECTED>"
+ Mol[jj]['Molname'].toUpperCase() );
} else {
document.writeln ("<OPTION VALUE=" + Mol[jj]['FilName'] + ">"
+ Mol[jj]['Molname'].toUpperCase() );
}
}
}

</SCRIPT> </SELECT>

Figure 5. JavaScript and HTML code for dynamically creating HTML tags for a
select menu list

Structure and spectra display frames are grouped together (at some future date we would like to make direct associations between spectral frequencies and structural elements) and their files downloaded to the client browser from specified directory locations on the server when the associated menu item is selected. The files are displayed using the appropriate plugin or applet , MDL ChemScape Chime14for the structure files or a JCAMP-DX spectral viewer applet developed in-house15, with the necessary HTML code generated dynamically with JavaScript (Fig.6) for the display frames as each example is chosen from a SETUP menu, hence avoiding the need for a unique page for each structure or spectrum.