var is_new, is_newver, is_debug, is_contents;
var is_html, is_name, is_title, is_link;
var ii, ii_errors, ii_cols;
var ir, ir_err, ir_tdefs;
var ib_debug;

ib_debug        = false;
ir              = new Array();

// Error Messages
ir_err          = new Array();
ir_err[0]       = "error 0";
ir_err[1]       = "error 1";
ir_err[2]       = "error 2";

is_dbparm       = "";
is_html         = "";
is_href         = "";
is_name         = "";
is_debug        = "";
is_new          = "<SPAN CLASS=new>New</SPAN>";
is_newver       = "<SPAN CLASS=new>New Version</SPAN>";
is_newupdate    = "<SPAN CLASS=new>Updated Version</SPAN>"
is_allbrowsers  = "<SPAN CLASS=new>All Browser Compatible</SPAN>";
is_html5browsers  = "<SPAN CLASS=new>Chrome,Opera,Safari,McIntosh</SPAN>";

ir_tdefs        = new Array();
ir_tdefs.length = 0;

function cl_tdefs(as_title, as_name, as_contents, as_download)
{
 this.title    = as_title    + '';
 this.name     = as_name     + '';
 this.contents = as_contents + '';
 this.download = as_download + '';
}

is_contents  = "";
is_name      = "header";
is_version   = "";
is_title     = "HTML5";
is_download  = "HTML5apps";
ir_tdefs[ir_tdefs.length] = new cl_tdefs(is_title, is_name, is_contents, is_download)

is_name      = "HTML5"
is_version   = "01"
is_title     = " &nbsp;<A HREF=nsn/" + is_name + "/default.html TARGET=_new>Map using HTML5</A>";
is_download  = "" + is_html5browsers;
is_contents  = "Create a map with layers from shapes using the HTML5 &lt;canvas&gt; tag"
ir_tdefs[ir_tdefs.length] = new cl_tdefs(is_title, is_name, is_contents, is_download)

is_contents  = ""
is_name      = "tail"
is_version   = ""
is_title     = ""
is_download  = ""
ir_tdefs[ir_tdefs.length] = new cl_tdefs(is_title, is_name, is_contents, is_download)

is_contents  = "";
is_name      = "header";
is_version   = "";
is_title     = "GIS with Silverlight";
is_download  = "gisApps";
ir_tdefs[ir_tdefs.length] = new cl_tdefs(is_title, is_name, is_contents, is_download)

is_name      = "nsn_gis"
is_version   = "01"
is_title     = " &nbsp;<A HREF=nsn/" + is_name + "/default.aspx TARGET=_new>The Mapnifier: a GIS Silverlight Map</A>";
is_download  = "<A HREF=nsn/" + is_name + "/bkp/" + is_name + is_version + ".zip TARGET=_new>download </A> (600Kb)" + is_allbrowsers;
is_contents  = "Generic GIS map program with: <LI>The Mapnifier: Magnify and switch maps all inside the mapnifying glass <LI>An XML control to connect to any mapservice without programming!"
is_contents += "<BR><CENTER><object width='280' height='170'><param name='movie' value='http://www.youtube.com/v/fbzU3Visevc&hl=en_GB&fs=1&'></param><param name='allowFullScreen' value='true'></param><param name='allowscriptaccess' value='always'></param><embed src='http://www.youtube.com/v/fbzU3Visevc&hl=en_GB&fs=1&' type='application/x-shockwave-flash' allowscriptaccess='always' allowfullscreen='true' width='280' height='170' style='text-align: center;'></embed></object></CENTER>";
ir_tdefs[ir_tdefs.length] = new cl_tdefs(is_title, is_name, is_contents, is_download)

is_name      = "nsn_allmaps1"
is_version   = ""
is_title     = " &nbsp;<A HREF=nsn/" + is_name + "/default.htm TARGET=_new>AllMaps - A MapshUp to create maps on-the-fly</A>"
is_download  =  is_new + " " + is_allbrowsers;

is_contents  = "Create Maps with Shapefiles, RSSfeeds, XMLfiles without any MapLayers or MapServices.";
is_contents += "<BR />You can even create your own layer with shapes or symbols.";
is_contents += "<BR /><SPAN STYLE='font-weight: 800; color: #FF0000;'>Convert shapefiles and GeoRSS feeds into KML format and other formats.</SPAN>";
is_contents += "<BR /><A HREF=nsn/" + is_name + "/GISshapes.zip TARGET=_new>Click here to download sample map files</A>";
is_contents += "<BR /><BR /><B>Tools:</B>";
is_contents += "<LI> LOAD various map type layers - Shapefiles, XML, RSS or WebService Layers";
//is_contents += "<BR />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Note</B>: Shapefiles (.shp) must be loaded with their paired data (.dbf) files";
//is_contents += "<BR />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(Shapefiles should be kept to &lt; 2.0 Mb)</LI>";
is_contents += "<LI> EDIT a map layer - Alter Geometry, Attributes, Position or Erase</LI>";
is_contents += "<LI> GRAPHICS - Add new polygons, lines, symbols</LI>";
is_contents += "<LI> SPLIT & MERGE - Split layers into their components and Merge different layers</LI>";
is_contents += "<LI>EXPORT a layer in XML or KML format</B>";
is_contents += "<BR />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* XML layers can be saved to be used in this application";
is_contents += "<BR />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* KML layers are exported to Google Earth";
ir_tdefs[ir_tdefs.length] = new cl_tdefs(is_title, is_name, is_contents, is_download)

is_name      = "nsn_yeoldeatlas"
is_version   = "04"
is_title     = " &nbsp;<A HREF=nsn/" + is_name + "/default.aspx TARGET=_new>Ye Olde Atlas - GIS of ere year</A>"
is_download  = "<A HREF=nsn/" + is_name + "/bkp/" + is_name + is_version + ".zip TARGET=_new>download </A> (1.8Mb)" + is_allbrowsers;
is_contents  = "GIS map with: <LI>Flipping pages in Silverlight<LI>Using a contents map to change an Atlas map."
ir_tdefs[ir_tdefs.length] = new cl_tdefs(is_title, is_name, is_contents, is_download)

is_name      = "nsn_inflight"
is_version   = "07"
is_title     = " &nbsp;<A HREF=nsn/" + is_name + "/default.htm TARGET=_new>See how the pilot sees the map in each aircraft</A>"
is_download  = "<A HREF=nsn/" + is_name + "/bkp/" + is_name + is_version + ".zip TARGET=_new>download </A> (1.8Mb) IE only";
is_contents  = "GIS map with: <LI>Imaginary Aircraft flights with their flight paths<LI>A Customisable Runtime XML control file with flights and other markers!"
is_contents += "<LI>Clicking on an aircraft rotates the map to the direction of flight"
ir_tdefs[ir_tdefs.length] = new cl_tdefs(is_title, is_name, is_contents, is_download)

is_contents  = ""
is_name      = "tail"
is_version   = ""
is_title     = ""
is_download  = ""
ir_tdefs[ir_tdefs.length] = new cl_tdefs(is_title, is_name, is_contents, is_download)

is_contents  = "";
is_name      = "header";
is_version   = "";
is_title     = "Silverlight Applications";
is_download  = "slApps";
ir_tdefs[ir_tdefs.length] = new cl_tdefs(is_title, is_name, is_contents, is_download);

is_name      = "nsn_myzoom";
is_version   = "01";
is_title     = "<A HREF=nsn/" + is_name + "/default.htm TARGET=_new>Zooming: How to zoom in on images</A>";
is_download  = "";
// is_download  = "<A HREF=nsn/" + is_name + "/bkp/" + is_name + is_version + ".zip TARGET=_new>download </A> (223Kb)";
is_contents  = "This shows a different zoom functions";
ir_tdefs[ir_tdefs.length] = new cl_tdefs(is_title, is_name, is_contents, is_download);

is_name      = "nsn_timer";
is_version   = "01";
is_title     = "<A HREF=nsn/" + is_name + "/default.htm TARGET=_new>Timer: How to use the timer in Silverlight</A>";
is_download  = "<A HREF=nsn/" + is_name + "/bkp/" + is_name + is_version + ".zip TARGET=_new>download </A> (223Kb)";
is_contents  = "A digital clock using the timer";
ir_tdefs[ir_tdefs.length] = new cl_tdefs(is_title, is_name, is_contents, is_download);

is_name      = "nsn_perspectivetransforms";
is_version   = "01";
is_title     = " &nbsp;<A HREF=nsn/" + is_name + "/default.htm TARGET=_new>Rotation: How to rotate in perspective in Silverlight</A>";
is_download  = "<A HREF=nsn/" + is_name + "/bkp/" + is_name + is_version + ".zip TARGET=_new>download </A> (751Kb)" + is_new;
is_contents  = "A Picture album with picture changing as it rotates";
ir_tdefs[ir_tdefs.length] = new cl_tdefs(is_title, is_name, is_contents, is_download);

is_name      = "nsn_colorpicker";
is_version   = "01";
is_title     = " &nbsp;<A HREF=nsn/" + is_name + "/default.htm TARGET=_new>Silverlight ColorPicker</A>";
is_download  = "<A HREF=nsn/" + is_name + "/bkp/" + is_name + is_version + ".zip TARGET=_new>download </A> (295Kb)" + is_new;
is_contents  = "View amazing ARGB colors with transparency.";
is_contents  += "<BR>Includes both unusual palettes and manual color selection";
ir_tdefs[ir_tdefs.length] = new cl_tdefs(is_title, is_name, is_contents, is_download);

is_contents  = ""
is_name      = "tail"
is_version   = ""
is_title     = ""
is_download  = ""
ir_tdefs[ir_tdefs.length] = new cl_tdefs(is_title, is_name, is_contents, is_download)

is_contents  = "";
is_name      = "header";
is_version   = "";
is_title     = "XML Applications";
is_download  = "xmlApps";
ir_tdefs[ir_tdefs.length] = new cl_tdefs(is_title, is_name, is_contents, is_download);

is_name      = "nsn_xmlini";
is_version   = "01";
is_title     = "<A HREF=nsn/" + is_name + "/default.htm TARGET=_new>XMLini: How to load an XML ini file</A>";
is_download  = "<A HREF=nsn/" + is_name + "/bkp/" + is_name + is_version + ".zip TARGET=_new>download </A> (254Kb)";
is_contents  = "Includes a universal function to parse XPaths simply.";
ir_tdefs[ir_tdefs.length] = new cl_tdefs(is_title, is_name, is_contents, is_download);


is_name      = "nsn_photogalleryxml";
is_version   = "09";
is_title     = "<A HREF=nsn/" + is_name + "/default.htm TARGET=_new>A pure XML Photo Gallery</A>";
is_download  = "<A HREF=nsn/" + is_name + "/bkp/" + is_name + is_version + ".zip TARGET=_new>download </A> (1.2Mb)";
is_contents  = "XML is the perfect format for creating photo galleries with a simple layout file and no code!";
ir_tdefs[ir_tdefs.length] = new cl_tdefs(is_title, is_name, is_contents, is_download);

is_name      = "nsn_xmlreader";
is_version   = "01";
is_title     = "<A HREF=nsn/" + is_name + "/default.htm TARGET=_new>View XML and XSLT file with javascript</A>";
is_download  = "<A HREF=nsn/" + is_name + "/bkp/" + is_name + is_version + ".zip TARGET=_new>download </A> (2.1Kb)";
is_contents  = "Using javascript to view xml and xslt!";
ir_tdefs[ir_tdefs.length] = new cl_tdefs(is_title, is_name, is_contents, is_download);

is_name      = "nsn_xmldataisland";
is_version   = "01";
is_title     = "<A HREF=nsn/" + is_name + "/default.htm TARGET=_new>XML Data Island</A>";
is_download  = "<A HREF=nsn/" + is_name + "/bkp/" + is_name + is_version + ".zip TARGET=_new>download </A> (2Kb)";
is_contents  = "Keep your data in an XML data island within your html page. <BR>Use it to dynamically change your html page!";
ir_tdefs[ir_tdefs.length] = new cl_tdefs(is_title, is_name, is_contents, is_download);

is_name      = "nsn_xmluploaderpro"
is_version   = "01"
is_title     = "XML uploader! (Requires ASP on server to save file) "
is_title    += "<BR>Obsolete-possibly because of security problems (silent uploading)!"
is_download  = "<A HREF=nsn/" + is_name + "/bkp/" + is_name + is_version + ".zip TARGET=_new>download </A> (51Kb)"
is_contents  = "<LI>This XML uploader does <B>not need to use</B> the &lt;INPUT TYPE=file&gt; tag!</LI>"
is_contents += "<LI>The server side ASP page:<TABLE BORDER=0 STYLE='margin-left: 40px;'><TR><TD> - uses <B>XML streaming</B></TD></TR>"
is_contents += "<TR><TD> - does <B>not</B> contain any components!</TD></TR></TABLE>"
is_contents += "</LI>"
ir_tdefs[ir_tdefs.length] = new cl_tdefs(is_title, is_name, is_contents, is_download);

is_contents  = ""
is_name      = "tail"
is_version   = ""
is_title     = ""
is_download  = ""
ir_tdefs[ir_tdefs.length] = new cl_tdefs(is_title, is_name, is_contents, is_download)

is_contents  = ""
is_name      = "header"
is_version   = ""
is_title     = "Javascript Applications"
is_download  = "jsApps"
ir_tdefs[ir_tdefs.length] = new cl_tdefs(is_title, is_name, is_contents, is_download)


is_contents  = ""
is_name      = "nsn_jsSQLdb"
is_version   = "44"
is_title     = "<A HREF=nsn/nsn_ide/default.htm TARGET=_new TITLE='Create complete WebPages with a single click!!' >New Revolutionary jsSQLdb<SUP>©</SUP> Web Atelier!</A>";
is_title    += " using jsSQLdb<SUP>©</SUP><BR>";

is_download = "<A HREF=nsn/nsn_ide/bkp/nsn_ide_demo30.zip TARGET=_new>download</A> (1.7Mb - including photo gallery)"

is_contents += "See how jsSQLdb<SUP>©</SUP> works<BR>"
is_contents += "<A HREF=nsn/" + is_name + "/default.htm TARGET=_new>Javascript database using SQL - in the browser!</A>"

//is_download = "<DIV STYLE='height: 24px; vertical-align: top; margin-left: 18px;'>Create Web Pages with the <SPAN STYLE='color: #FF0000; font-weight: 800;'>jsSQLdb<SUP>©</SUP> Web Atelier!</SPAN>&nbsp;&nbsp;&nbsp; <A HREF=nsn/nsn_ide/default.htm TARGET=_new>Simple Visual Web Designer Demo</A> &nbsp;&nbsp;&nbsp; <A HREF=nsn/nsn_ide/bkp/nsn_ide_demo04.zip TARGET=_new>Download</A></DIV>"

//is_contents += "A complete <B>SQL database</B> written in javascript!<BR><BR>"
is_contents += "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <A HREF=nsn/" + is_name + "/bkp/" + is_name + is_version + ".zip TARGET=_new>download </A> (400Kb including .mdb database)<BR><BR>"
//is_download  = "<A HREF=nsn/" + is_name + "/bkp/" + is_name + is_version + ".zip TARGET=_new>download </A> (400Kb including .mdb database)"

is_contents += "<B>Zero learning curve</B>! Create complete WebPages within minutes just using SQL!<BR><BR>"

// is_contents += "<DIV STYLE='height: 20px; vertical-align: top; margin-left: 18px;'>Create <SPAN STYLE='color: #FF0000; font-weight: 800;'>Trees</SPAN> and <SPAN STYLE='color: #FF0000; font-weight: 800;'>Menus</SPAN> and <SPAN STYLE='color: #FF0000; font-weight: 800;'>Toolbars</SPAN> using SQL only!</DIV>"
is_contents += "<DIV STYLE='height: 20px; vertical-align: top; margin-left: 18px;'>Create <SPAN STYLE='color: #FF0000; font-weight: 800;'>Galleries</SPAN> using SQL only!</DIV>"
is_contents += "<DIV STYLE='height: 24px; vertical-align: top; margin-left: 18px;'>Define your own <SPAN STYLE='color: #FF0000; font-weight: 800;'>customised SQLFORMAT<SUP>©</SUP></SPAN> for SQLs!</DIV>"
is_contents += "<DIV STYLE='height: 20px; vertical-align: top; margin-left: 18px;'>View the <SPAN STYLE='color: #FF0000; font-weight: 800;'>Tree Structure</SPAN> of HTML pages!</DIV>"

is_contents += "<BR>1 - Use simple <B>SQL SELECT</B>s without any additional coding to display formatted data in a Web Page"
is_contents += "<BR><LI>The unique <B>SQLFORMAT<SUP>©</SUP></B> clause automatically formats and displays table data:"

is_contents += "<DIV  STYLE='margin-left: 30px;'><TABLE>";
is_contents += " <TR>";
is_contents += "  <TD VALIGN=top>";
is_contents += "   <IMG SRC=rsrcs/images/box_closed.gif onClick=f_flip(this,'select_examples')>";
is_contents += "   <SPAN CLASS=blue>Sample <B>SQLFORMAT<SUP>©</SUP></B>s: </SPAN>";
is_contents += "  </TD>";
is_contents += " </TR>";
is_contents += " <TR CLASS=closed ID=select_examples NAME=select_examples>";
is_contents += "  <TD>";
is_contents += "   <TABLE>"
is_contents += "    <TR><TD><LI><B>Sortable Table</B></TD><TD></TD><TD><A HREF=nsn/nsn_jsSQLdb/sample02_sorttable.htm  TARGET=_new>SELECT * FROM dog FORMAT sorttable</A></TD></TR>"

is_contents += "    <TR><TD><LI><B>Sortable Table with Header</B></TD><TD></TD><TD><A HREF=nsn/nsn_jsSQLdb/sample02a_sorttable.htm TARGET=_new>SELECT * FROM dog WHERE instinct<>'hunting' ORDER BY instinct FORMAT sorttable TABLEHEADER My Dogs Table</A></TD></TR>"

is_contents += "    <TR><TD><LI><B>Updateable databoxes</B></TD><TD></TD><TD><A HREF=nsn/nsn_jsSQLdb/sample12_databoxes.htm TARGET=_new>SELECT name, instinct, family, height FROM dog FORMAT databox</A></TD></TR>"
is_contents += "    <TR><TD STYLE='color: #FF0000; font-weight: 800;'><LI>Trees !!!</TD><TD></TD><TD><A HREF=nsn/nsn_jsSQLdb/sample17_trees.htm TARGET=_new>SELECT * FROM tree1 FORMAT tree DIV box1</A></TD></TR>"
is_contents += "    <TR><TD STYLE='color: #FF0000; font-weight: 800;'><LI>Menus !!!</TD><TD></TD><TD><A HREF=nsn/nsn_jsSQLdb/sample18_menus.htm TARGET=_new>SELECT * FROM menu1 FORMAT menu DIV box1</A></TD></TR>"
is_contents += "    <TR><TD STYLE='color: #FF0000; font-weight: 800;'><LI>Toolbars !!!</TD><TD></TD><TD><A HREF=nsn/nsn_jsSQLdb/sample19_toolbar.htm TARGET=_new>SELECT * FROM toolbar FORMAT toolbar DIV box1</A></TD></TR>"
is_contents += "    <TR><TD STYLE='color: #FF0000; font-weight: 800;'><LI>Galleries !!!</TD><TD></TD><TD><A HREF=nsn/nsn_jsSQLdb/sample21_gallery.htm TARGET=_new>SELECT * FROM galleries WHERE myparent='gallery4' FORMAT gallery DIV box2</A></TD></TR>"
is_contents += "    <TR><TD STYLE='color: #FF0000; font-weight: 800;'><LI>View HTML trees !!!</TD><TD></TD><TD><A HREF=nsn/nsn_jsSQLdb/sample20_htmltree.htm TARGET=_new>SELECT * FROM htmltree FORMAT tree DIV box1</A></TD></TR>"
is_contents += "    <TR><TD><LI><B>Single record</B></TD><TD></TD><TD><A HREF=nsn/nsn_jsSQLdb/sample04_records.htm TARGET=_new>SELECT * FROM dog FORMAT record</A></TD></TR>"
is_contents += "    <TR><TD><LI><B>Record-by-record</B></TD><TD></TD><TD><A HREF=nsn/nsn_jsSQLdb/sample05_records.htm TARGET=_new>SELECT * FROM dog ORDER BY name FORMAT record DISPLAY on </A></TD></TR>"
is_contents += "    <TR><TD><LI><B>Listbox</B></TD><TD></TD><TD>SELECT instinct, name FROM dog FORMAT listbox</TD></TR>"
is_contents += "    <TR><TD><LI><B>Listboxes with filtering</B></TD><TD></TD><TD>eg: <A HREF=nsn/nsn_jsSQLdb/sample07_listbox.htm TARGET=_new>SELECT instinct, name FROM dog FORMAT listbox DISPLAY on</TD></TR>"
is_contents += "    <TR><TD><LI><B>Dropdowns with filtering</B></TD><TD></TD><TD>eg: <A HREF=nsn/nsn_jsSQLdb/sample07_listbox.htm TARGET=_new>SELECT instinct, name FROM dog FORMAT dropdown DISPLAY on</TD></TR>"
is_contents += "    <TR><TD><LI><B>XML</B></TD><TD></TD><TD><A HREF=nsn/nsn_jsSQLdb/sample10_xml.htm TARGET=_new>SELECT * FROM book FORMAT xml</A></TD></TR>"
is_contents += "    <TR><TD><LI><B>CSV</B></TD><TD></TD><TD><A HREF=nsn/nsn_jsSQLdb/sample11_csv.htm TARGET=_new>SELECT * FROM book FORMAT csv</A></TD></TR>"
is_contents += "    <TR><TD><LI><B>Potpourri</B></TD><TD></TD><TD><A HREF=nsn/nsn_jsSQLdb/sample14_mix.htm TARGET=_new>View Page</A></TD></TR>"
is_contents +=  "   <TR><TD COLSPAN=3><LI> ... or your own customizable formats</TD></TR>"
is_contents += "   </TABLE>"
is_contents += "  </TD>"
is_contents += " </TR>";
is_contents += "</TABLE>";
is_contents += "</DIV>";

is_contents += "<LI>Data can be <B>reformatted/rerendered</B> dynamically on-the-fly in a window"

is_contents += "<BR><BR>2 - Create <B>database tables with javascript</B> using standard <B>DDL SQLs</B> (Data Definition Language SQLs) "
is_contents += "<DIV  STYLE='margin-left: 30px;'><TABLE>";
is_contents += " <TR>";
is_contents += "  <TD VALIGN=top>";
is_contents += "   <IMG SRC=rsrcs/images/box_closed.gif onClick=f_flip(this,'table_examples')>";
is_contents += "   <SPAN CLASS=blue>Sample Table DDLs</SPAN>";
is_contents += "  </TD>";
is_contents += " </TR>";
is_contents += " <TR CLASS=closed ID=table_examples NAME=table_examples>";
is_contents += "  <TD>";
is_contents += "   <B>Table Definition</B>"
is_contents += "    <LI>eval(SQLexecute(&quot;CREATE TABLE country (country varchar, continent varchar, population varchar)&quot;));"
is_contents += "   <BR><B>Data Entry</B>";
is_contents += "    <LI>SQLexecute(&quot;INSERT INTO country VALUES('Holland', 'Europe', '15000000')&quot;);"
is_contents += "    <LI>SQLexecute(&quot;INSERT INTO country VALUES('Ireland', 'Europe', '5000000')&quot;);"
is_contents += "  </TD>"
is_contents += " </TR>";
is_contents += "</TABLE>";
is_contents += "</DIV>";


is_contents += "<BR>3 - Or alternatively, <B>download database tables</B> into the browser from the server"
is_contents += "<BR><LI>Can be integrated simply with ASP/PHP/JSP to import tables into the browser"
is_contents += "<LI>&nbsp;&nbsp; <A HREF=nsn/nsn_jsSQLdb/rsrcs/help/w_asphelp.htm TARGET=_new>sample ASP pages</A> to show how to integrate with a server"
is_contents += "<LI>Once downloaded it is never necessary to redownload tables"
is_contents += "<LI>Downloaded Table data can be synchronized with the server dynamically"

is_contents += "<BR><BR>4 - Tables can be postloaded <B>dynamically on demand</B> without reloading the whole page!"
is_contents += "<DIV  STYLE='margin-left: 30px;'><TABLE>";
is_contents += " <TR>";
is_contents += "  <TD VALIGN=top>";
is_contents += "   <IMG SRC=rsrcs/images/box_closed.gif onClick=f_flip(this,'dynamics')>";
is_contents += "   <SPAN CLASS=blue>Sample Dynamic Table Downloads</SPAN>";
is_contents += "  </TD>";
is_contents += " </TR>";
is_contents += " <TR CLASS=closed ID=dynamics NAME=dynamics>";
is_contents += "  <TD><PRE><CODE>var ls_table, ls_filename;"
is_contents += "   <BR><BR><BR>ls_table        = 'mammals';"
is_contents += "   <BR>ls_filename     = '/data/db/mammals.js'"
is_contents += "   <BR><BR>lobj_script     = top.document.createElement(&quot;SCRIPT&quot;);"
is_contents += "   <BR>lobj_el         = top.document.appendChild(lobj_script);"
is_contents += "   <BR>lobj_el.id      = ls_table;"
is_contents += "   <BR>lobj_el.src     = ls_filename;"
is_contents += "  </CODE></PRE></TD>"
is_contents += " </TR>";
is_contents += "</TABLE></DIV>";
ir_tdefs[ir_tdefs.length] = new cl_tdefs(is_title, is_name, is_contents, is_download)

is_name      = "nsn_databaseviewer"
is_version   = "03"
is_title     = "Database Viewer"
is_download  = "<A HREF=nsn/" + is_name + "/bkp/" + is_name + is_version + ".zip TARGET=_new>download </A> (58Kb)"
is_contents  = "<B>Now includes 2 versions: javascript and ASP (to run on your server) !!!</B>"
is_contents += "<BR>Using the browser alone you can view all databases:"
is_contents += "<BR>Access, mySQL, MS SQLServer, Sybase, dBase, FoxPro "
is_contents += "<BR>and other databases, without any additional software"
is_contents += "<BR><BR>Use the <B>browser</B> to view:"
is_contents += "<LI>Table Lists"
is_contents += "<LI>Column Definitions"
is_contents += "<LI>Data"
is_contents += "<BR><BR>You can view databases using ODBC or the database API's supplied by the database provider."
ir_tdefs[ir_tdefs.length] = new cl_tdefs(is_title, is_name, is_contents, is_download)

is_name      = "nsn_dirviewer"
is_version   = "01"
is_title     = "File System Viewer"
is_download  = "<A HREF=nsn/" + is_name + "/bkp/" + is_name + is_version + ".zip TARGET=_new>download </A> (76Kb)"
is_contents  = "Using only the browser you can view the entire File System!!!"
is_contents += "<BR>This application is more powerful than just exploring the File System."
is_contents += "<BR><BR>You can use it to:"
is_contents += "<LI><B>View files</B> and their attributes"
is_contents += "<LI><B>View Folders</B> with their sizes"
is_contents += "<LI><B>Filter file</B> views"
is_contents += "<LI><B>Alter</B> file names <B>including</B> wildcards"
is_contents += "<LI><B>Display</B> files directly"
is_contents += "<LI><B>Display</B> Photos"
ir_tdefs[ir_tdefs.length] = new cl_tdefs(is_title, is_name, is_contents, is_download)

is_name      = "nsn_treexml"
is_version   = "17"
is_title     = "<A HREF=nsn/" + is_name + "/example1-simple.htm TARGET=_new>A Tree for All Seasons</A>"

is_download  = "<A HREF=nsn/" + is_name + "/bkp/" + is_name + is_version + ".zip TARGET=_new>download </A> (76Kb)"
is_contents  = "The most complete tree you could ever wish for!!!"
is_contents += "<BR>Totally simple to use!"
is_contents += "<LI>Use <B>any icons</B> you please"
is_contents += "<LI>Link to <B>HTML, Javascript functions or XML</B> pages"
is_contents += "<LI><B>Target</B> the links on the same Webpage or a New Webpage"
is_contents += "<LI><A HREF=nsn/" + is_name + "/example2-treesearch.htm TARGET=_new>Search</A> the Tree"
is_contents += "<LI>Optional <A HREF=nsn/" + is_name + "/example3-checkboxes.htm  TARGET=_new>checkboxes</A>"
is_contents += "<LI>Create new rows <A HREF=nsn/" + is_name + "/example8-insert_rows_on-the-fly.htm  TARGET=_new>on-the-fly</A>"
is_contents += "<LI>Create Reports <A HREF=nsn/" + is_name + "/example9-report.htm  TARGET=_new>Reports</A>"
is_contents += "<LI>Connect to a backend <B>Database</B> and update tree <B>branches on demand</B>"
ir_tdefs[ir_tdefs.length] = new cl_tdefs(is_title, is_name, is_contents, is_download)

is_name      = "nsn_maths"
is_version   = "11"
is_title     = "<A HREF=nsn/" + is_name + "/default.htm TARGET=_new>Maths: Graphs using formulae, Primes, Determinants</A>"
is_download  = "<A HREF=nsn/" + is_name + "/bkp/" + is_name + is_version + ".zip TARGET=_new>download </A> (8Kb)"
is_contents  = "<LI>Draw any objects in javascript, even with formulae"
is_contents += "<LI>Linear equations - see how any linear equations are solved"
is_contents += "<LI>List all primes up to any limit and view some basic properties of primes"
is_contents += "<LI>See how determinants are used to solve equations in 2 variables"
ir_tdefs[ir_tdefs.length] = new cl_tdefs(is_title, is_name, is_contents, is_download)

is_name      = "nsn_tablesort"
is_version   = "01"
is_title     = "<A HREF=nsn/" + is_name + "/default.htm TARGET=_new>Very fast Table Sorter in the Browser</A>"
is_download  = "<A HREF=nsn/" + is_name + "/bkp/" + is_name + is_version + ".zip TARGET=_new>download </A> (11Kb)"
is_contents  = "<LI><B>Unique rapid</B> sorting algorithm"
is_contents += "<LI><B>Unique</B> table representation"
is_contents += "<LI><B>Simple</B> to use"
is_contents += "<LI><B>DOM free</B> - no code mazes"
ir_tdefs[ir_tdefs.length] = new cl_tdefs(is_title, is_name, is_contents, is_download)

is_name      = "nsn_magnify"
is_version   = "05"
is_title     = "<A HREF=nsn/" + is_name + "/default.htm TARGET=_new>Photo Magnifying Glass</A>"
is_download  = "<A HREF=nsn/" + is_name + "/bkp/" + is_name + is_version + ".zip TARGET=_new>download </A> (324Kb)"
is_contents  = "The Magnifying Glass enable photos to be viewed in detail."
ir_tdefs[ir_tdefs.length] = new cl_tdefs(is_title, is_name, is_contents, is_download)

is_name      = "nsn_mdi"
is_version   = "01"
is_title     = "<A HREF=nsn/" + is_name + "/default.htm TARGET=_new>Multiple windows in a single window (MDI)</A>"
is_download  = "<A HREF=nsn/" + is_name + "/bkp/" + is_name + is_version + ".zip TARGET=_new>download </A> (30Kb)"
is_contents  = "Display multiple documents in a single window."
is_contents += "<BR><B>MDI - Multiple Document Interface</B> - allows you to display as many"
is_contents += "<BR>documents as you like in draggable and resizable windows within the browser window."
ir_tdefs[ir_tdefs.length] = new cl_tdefs(is_title, is_name, is_contents, is_download)

is_name      = "nsn_maps"
is_version   = "01"
is_title     = "<A HREF=nsn/" + is_name + "/default.htm TARGET=_new>Map with layers and graphics tools</A>"
is_download  = "<A HREF=nsn/" + is_name + "/bkp/" + is_name + is_version + ".zip TARGET=_new>download </A> (70Kb)"
is_contents  = "This map application allows map layers to be switched on and off.<BR>Also different select tools are available."
ir_tdefs[ir_tdefs.length] = new cl_tdefs(is_title, is_name, is_contents, is_download)

is_name      = "nsn_artcolors"
is_version   = "04"
is_title     = "<A HREF=nsn/" + is_name + "/default.htm TARGET=_new>ArtColors </A> - <SPAN STYLE='color: #FFB198'>Pal</SPAN><SPAN STYLE='color: #ED7A64'>ette</SPAN><SPAN STYLE='color: #E2725B'> for the </SPAN><SPAN STYLE='color: #C74F47'>profe</SPAN><SPAN STYLE='color: #BD492F'>ssio</SPAN><SPAN STYLE='color: #BF4024 '>nal</SPAN>"
is_download  = "<A HREF=nsn/" + is_name + "/bkp/" + is_name + is_version + ".zip TARGET=_new>download </A> (21Kb)"
is_contents  = "Beautiful art color palette. Shading. Color comparisons."
is_contents += "<BR>Contains no images whatsoever."
is_contents += "<BR><SPAN STYLE='font-size: 8pt;'>Compare to conventional colors with <A HREF=nsn/nsn_palette/default.htm TARGET=_new>this palette.</A>"
is_contents += "<A HREF=nsn/nsn_palette/bkp/nsn_palette02.zip TARGET=_new>Download</A>(4Kb)</SPAN>"
ir_tdefs[ir_tdefs.length] = new cl_tdefs(is_title, is_name, is_contents, is_download)

is_name      = "nsn_crop"
is_version   = "02"
is_title     = "<A HREF=nsn/" + is_name + "/default.htm TARGET=_new>Photo Cropper</A>"
is_download  = "<A HREF=nsn/" + is_name + "/bkp/" + is_name + is_version + ".zip TARGET=_new>download </A> (40Kb)"
is_contents  = "The Cropper uses straightforward javascript to crop photos."
ir_tdefs[ir_tdefs.length] = new cl_tdefs(is_title, is_name, is_contents, is_download)

is_name      = "nsn_collage"
is_version   = "01"
is_title     = "<A HREF=nsn/" + is_name + "/default.htm TARGET=_new>Collage with Fading</A>"
is_download  = "<A HREF=nsn/" + is_name + "/bkp/" + is_name + is_version + ".zip TARGET=_new>download </A> (270Kb)"
is_contents  = "The collage juxtaposes photos with a fade in effect, <BR>bringing photos to the fore as the mouse passes over them."
ir_tdefs[ir_tdefs.length] = new cl_tdefs(is_title, is_name, is_contents, is_download)

is_name      = "nsn_cookiecutter"
is_version   = "02"
is_title     = "<A HREF=nsn/" + is_name + "/default.htm TARGET=_new>Cookie Cutter</A>"
is_download  = "<A HREF=nsn/" + is_name + "/bkp/" + is_name + is_version + ".zip TARGET=_new>download </A> (5Kb)"
is_contents  = "The Cookie Cutter will illustrate <B>VML</B>, one of most powerful graphics tools available in the browser."
is_contents += "<BR>Using this tool you can create any sorts of graphic objects, enable shading gradients "
is_contents += "<BR>of background colors and diplay photos within circular frames."
ir_tdefs[ir_tdefs.length] = new cl_tdefs(is_title, is_name, is_contents, is_download)

is_name      = "nsn_fields"
is_version   = "01"
is_title     = "<A HREF=nsn/" + is_name + "/default.htm TARGET=_new>Fields in html</A>"
is_download  = ""
is_contents  = "A little secret of html: Field tags."
ir_tdefs[ir_tdefs.length] = new cl_tdefs(is_title, is_name, is_contents, is_download)

is_name      = "nsn_autocomplete"
is_version   = ""
is_title     = "<A HREF=nsn/" + is_name + "/default.htm TARGET=_new>Autocomplete</A>"
is_download  = ""
is_contents  = "Autocomplete using various methods and combinations."
ir_tdefs[ir_tdefs.length] = new cl_tdefs(is_title, is_name, is_contents, is_download)

is_name      = "nsn_modaldialog"
is_version   = ""
is_title     = "<A HREF=nsn/" + is_name + "/default.htm TARGET=_new>Modal Dialog</A>"
is_download  = ""
is_contents  = "How to use the Modal Dialog box in javascript in place of alert()."
ir_tdefs[ir_tdefs.length] = new cl_tdefs(is_title, is_name, is_contents, is_download)

is_name      = "nsn_date"
is_version   = ""
is_title     = "<A HREF=nsn/" + is_name + "/default.htm TARGET=_new>Date Formats</A>"
is_download  = ""
is_contents  = "All the date formats available in javascript."
ir_tdefs[ir_tdefs.length] = new cl_tdefs(is_title, is_name, is_contents, is_download)

is_name      = "nsn_css_pseudo_classes"
is_version   = ""
is_title     = "<A HREF=nsn/" + is_name + "/css_pseudo_classes.htm TARGET=_new>Css pseudoclasses</A>"
is_download  = ""
is_contents  = "First Letter, Overline, and other crazy css classes."
ir_tdefs[ir_tdefs.length] = new cl_tdefs(is_title, is_name, is_contents, is_download)


is_name      = "nsn_stringvb"
is_version   = "01"
is_title     = "<A HREF=nsn/" + is_name + "/vb.htm TARGET=_new>Use VB functions in javascript</A>"
is_download  = "<A HREF=nsn/" + is_name + "/bkp/" + is_name + is_version + ".zip TARGET=_new>download </A> (10Kb)"
is_contents  = "You can include the library here to enable useful VB functions in javascript."
is_contents += "<TABLE BORDER=1 CELLSPACING=0 CELLPADDING=5px>"
is_contents += " <TR><TD CLASS=TDHdr ALIGN=center>VB function</TD><TD CLASS=TDHdr ALIGN=center>Javascript equivalent</TD></TR>"
is_contents += " <TR><TD><LI>Trim() Ltrim() Rtrim()</TD><TD>.trim()</TD></TR>"
is_contents += " <TR><TD><LI>LCase() UCase()</TD><TD>.toLowerCase() .toUpperCase()</TD></TR>"
is_contents += " <TR><TD><LI>IsNumber()</TD><TD>!isNan()</TD></TR>"
is_contents += " <TR><TD><LI>Count()</TD><TD> - none - </TD></TR>"
is_contents += " <TR><TD><LI>Chr()</TD><TD>String.toCharCode()</TD></TR>"
is_contents += " <TR><TD COLSPAN=2>... and many more</TD></TR>"
is_contents += "</TABLE>"
ir_tdefs[ir_tdefs.length] = new cl_tdefs(is_title, is_name, is_contents, is_download)

is_name      = "nsn_wppro"
is_version   = "01"
is_title     = "<A HREF=nsn/" + is_name + "/default.htm TARGET=_new>Javascript Word Processor</A>"
is_download  = "<A HREF=nsn/" + is_name + "/bkp/" + is_name + is_version + ".zip TARGET=_new>download </A> (54Kb)"
is_contents  = "A javascript word processor which can be adapted for any browser!"
ir_tdefs[ir_tdefs.length] = new cl_tdefs(is_title, is_name, is_contents, is_download)

is_name      = "nsn_htmlformat"
is_version   = "03"
is_title     = "<A HREF=nsn/" + is_name + "/default.htm TARGET=_new>HTML formatter</A>"
is_download  = "<A HREF=nsn/" + is_name + "/bkp/" + is_name + is_version + ".zip TARGET=_new>download </A> (51Kb)"
is_contents  = "Format tags in HTML pages (upper/lower case, single/double/no quotes, etc)"
ir_tdefs[ir_tdefs.length] = new cl_tdefs(is_title, is_name, is_contents, is_download)

is_name      = "nsn_querystringpassing"
is_version   = "01"
is_title     = "<A HREF=nsn/" + is_name + "/default.htm TARGET=_new>Passing parameters in the URL to an HTML page</A>"
is_download  = "<A HREF=nsn/" + is_name + "/bkp/" + is_name + is_version + ".zip TARGET=_new>download </A> (1Kb)"
is_contents  = "How to read parameters passed in a URL (after the ?)"
ir_tdefs[ir_tdefs.length] = new cl_tdefs(is_title, is_name, is_contents, is_download)

is_name      = "nsn_treenest"
is_version   = "01"
is_title     = "<A HREF=nsn/" + is_name + "/default.htm TARGET=_new>Nest Tree</A>"
is_download  = "<A HREF=nsn/" + is_name + "/bkp/" + is_name + is_version + ".zip TARGET=_new>download </A> (2Kb)"
is_contents  = "Nest boxes in a tree"
ir_tdefs[ir_tdefs.length] = new cl_tdefs(is_title, is_name, is_contents, is_download)

is_name      = "nsn_newsflash"
is_version   = "01"
is_title     = "<A HREF=nsn/" + is_name + "/default.htm TARGET=_new>NewsFlash</A>"
is_download  = "<A HREF=nsn/" + is_name + "/bkp/" + is_name + is_version + ".zip TARGET=_new>download </A> (3.5Kb)"
is_contents  = "Flash new headlines with a timer."
ir_tdefs[ir_tdefs.length] = new cl_tdefs(is_title, is_name, is_contents, is_download)

is_name      = "nsn_shapes"
is_version   = ""
is_title     = "<A HREF=nsn/" + is_name + "/shapes.htm TARGET=_new>Movable Shapes - using VML (Obsolete)</A>"
is_download  = "<A HREF=nsn/" + is_name + "/bkp/" + is_name + is_version + ".zip TARGET=_new>download </A> (3.5Kb)"
is_contents  = "Creating Different and dynamic shapes with VML."
is_contents += "<BR>Microsoft's Vector Markup Language is no longer supported in Internet Explorer."
is_contents += "<BR> It is yet to be replaced by the w3c vector language SVG."
ir_tdefs[ir_tdefs.length] = new cl_tdefs(is_title, is_name, is_contents, is_download)

is_name      = "nsn_verticaltext"
is_version   = ""
is_title     = "<A HREF=nsn/" + is_name + "/default.htm TARGET=_new>Vertical Text</A>"
is_download  = "<A HREF=nsn/" + is_name + "/bkp/" + is_name + is_version + ".zip TARGET=_new>download </A> (3.5Kb)"
is_contents  = "Vertical Text."
ir_tdefs[ir_tdefs.length] = new cl_tdefs(is_title, is_name, is_contents, is_download)

is_name      = "nsn_rex"
is_version   = "01"
is_title     = "<A HREF=nsn/" + is_name + "/default.htm TARGET=_new>Regular Expressions and testing for numbers</A>"
is_download  = "<A HREF=nsn/" + is_name + "/bkp/" + is_name + is_version + ".zip TARGET=_new>download </A> (3.5Kb)"
is_contents  = "A page showing how to do regular expression."
is_contents += "<BR>You can alse test for numbers with <A HREF=nsn/" + is_name + "/isanumber.htm TARGET=_new>this.</A>"
ir_tdefs[ir_tdefs.length] = new cl_tdefs(is_title, is_name, is_contents, is_download)

is_name      = "nsn_iframes"
is_version   = "02"
is_title     = "<A HREF=nsn/" + is_name + "/default.htm TARGET=_new>Manipulate iframes</A>"
is_download  = "<A HREF=nsn/" + is_name + "/bkp/" + is_name + is_version + ".zip TARGET=_new>download </A> (3.5Kb)"
is_contents  = "<LI>Move the iframe"
is_contents += "<LI>Read frame variables"
is_contents += "<LI>Read frame arrays"
is_contents += "<LI>Do frame functions"
ir_tdefs[ir_tdefs.length] = new cl_tdefs(is_title, is_name, is_contents, is_download)


is_contents  = ""
is_name      = "tail"
is_version   = ""
is_title     = ""
is_download  = ""
ir_tdefs[ir_tdefs.length] = new cl_tdefs(is_title, is_name, is_contents, is_download)
////////////////////////////////////////////////////////////////////////////////////////////

is_contents  = "";
is_name      = "header";
is_version   = "";
is_title     = "C# dotnet";
is_download  = "ChartsAndGraphics";
ir_tdefs[ir_tdefs.length] = new cl_tdefs(is_title, is_name, is_contents, is_download)

is_name      = "ChartsAndGraphics"
is_version   = "04"
is_title     = " &nbsp;<A HREF=nsn/" + is_name + "/default.aspx TARGET=_new>Charts and Graphs</A>"
is_download  = "<A HREF=nsn/" + is_name + "/bkp/" + is_name + is_version + ".zip TARGET=_new>download </A> (2.257Mb)" + is_new;
is_contents  = "Graphs which can be dynamically changed without reloading the page and without any callbacks!!"

ir_tdefs[ir_tdefs.length] = new cl_tdefs(is_title, is_name, is_contents, is_download)

is_contents  = ""
is_name      = "tail"
is_version   = ""
is_title     = ""
is_download  = ""
ir_tdefs[ir_tdefs.length] = new cl_tdefs(is_title, is_name, is_contents, is_download)



////////////////////////////////////////////////////////////////////////////////////////////

is_contents  = "";
is_name      = "header";
is_version   = "";
is_title     = "<SPAN STYLE='color: purple'>My Music</SPAN>";
is_download  = "TheMusic";
ir_tdefs[ir_tdefs.length] = new cl_tdefs(is_title, is_name, is_contents, is_download)

is_name      = "TheMusic"
is_version   = ""
is_title     = "My Music with different groups"
is_download  = "";
is_contents  = "";
ir_tdefs[ir_tdefs.length] = new cl_tdefs(is_title, is_name, is_contents, is_download)

is_name     = "Jazz"
is_version   = ""
is_title     = "<B>Jazz</B>"
is_download  = "";
is_contents  = " &nbsp;<A HREF='music/jazz/04_I_Remember_Miles.mp3' TARGET=_new>I Remember Miles</A> (6.87Mb)"
is_contents += "<BR>Composed on hearing of the Death Of Miles Davis (1993)"
is_contents += "<BR><BR><I>Tovy Meshoulam (tro) Orchestra: Dor Ben-Gur, Mark Rozen (saxs), Yorai Oron (b)"
is_contents += "<BR>Amos Ever Hadani (g), Yaron Gottfried (p), Roni Holen (dr)</I>"
is_contents += "<BR><BR>Composer: Avron Polakow"
ir_tdefs[ir_tdefs.length] = new cl_tdefs(is_title, is_name, is_contents, is_download)

is_name      = "Rock"
is_version   = ""
is_title     = " &nbsp;<B>Rock</B><BR>Moti Bikovsky's Workshop Band"
is_download  = "";
is_contents  = "<I>Moti Bikovsky(g) - leader, Sarit Barak (singer), Dorit Landes (bass/flute),"
is_contents += "<BR>Yuval Katzover (g), Dudu Hayoun (kbds), Avron Polakow (dr)</I>:"
is_contents += "<BR><BR><A HREF=music/rock/1-Somewhere_20080804.mp3>Somewhere</A> (24Mb)"
is_contents += "<BR><A HREF=music/rock/2-Edde_20080611.mp3>Eddie</A> (19Mb)"
is_contents += "<BR><A HREF=music/rock/6-SaritArabic_20060510.mp3>Phone Arabia</A> (2Mb)"

ir_tdefs[ir_tdefs.length] = new cl_tdefs(is_title, is_name, is_contents, is_download)
is_contents  = ""
is_name      = "tail"
is_version   = ""
is_title     = ""
is_download  = ""
ir_tdefs[ir_tdefs.length] = new cl_tdefs(is_title, is_name, is_contents, is_download)



f_render();

function f_onload()
{
 var ls_html;

 ls_html = ir.join('\n');
 tablelist.innerHTML = ls_html;
}

function f_flop(as_name)
{
 var lobj, lostyl;

 lobj   = eval(document.all[as_name])
 lostyl = lobj.style.display
 lobj.style.display = (lostyl == 'none'|| lostyl == '') ? 'block' : 'none';
}

function f_flip(aobj, as_name)
{
 var ls_src;

 ls_src = aobj.src;
 if (ls_src.indexOf('_closed') != -1)
 {
  ls_src = ls_src.replace('_closed', '_open');
  document.getElementById(as_name).className = "open";
//  document.all[as_name].style.display = 'block';
 }
 else
 {
  ls_src = ls_src.replace('_open', '_closed');
  document.getElementById(as_name).className = "closed";
//  document.all[as_name].style.display = 'none';
 }
 aobj.src = ls_src;
}

function f_render()
{
 var li;
 var ls_table, ls_tables, ls_null;

 ir.length = 0;
 ij        = -1;
 ls_table  = "";
 ls_tables = "";

 ir[++ij] = "<TABLE BORDER=0 CELLSPACING=1 BGCOLOR=#FFFFFF  STYLE='text-indent: 20px;'>";
 
 for (li=0;li<ir_tdefs.length;li++)
 { 
  if (ir_tdefs[li].name == "header")
  {
   ir[++ij] =  " <TR>";
   ir[++ij] =  "  <TD>";
   ir[++ij] =  "   <TABLE BORDER=0 CELLSPACING=1>";
   ir[++ij] =  "    <TR><TD CLASS=chapter><IMG SRC=rsrcs/images/custom_closed.gif onClick=f_flip(this,'" + ir_tdefs[li].download + "')> &nbsp;&nbsp;" + ir_tdefs[li].title + "</TD></TR>";
   ir[++ij] =  "    <TR ID=" + ir_tdefs[li].download + " NAME=" + ir_tdefs[li].download + " CLASS=closed>"; 
   ir[++ij] =  "     <TD>"; 
   ir[++ij] =  "      <TABLE STYLE='text-indent: 20px;'>"

   while (ir_tdefs[li].name != "tail" && li<ir_tdefs.length)
   {
    li++;
    if (ir_tdefs[li].name != "tail")
    {
     ls_table = ir_tdefs[li].name;
     ir[++ij] = "       <TR VALIGN=top HEIGHT=24px>";
     ir[++ij] = "        <TD VALIGN=top><IMG SRC=rsrcs/images/box_closed.gif onClick=f_flip(this,'" + ls_table + "')></TD>";
     ir[++ij] = "        <TD VALIGN=bottom CLASS=TDInfo><TABLE BORDER=0><TR><TD WIDTH=300px>" + ir_tdefs[li].title + "</TD><TD>" + ir_tdefs[li].download + "</TD></TR></TABLE></TD>";
     ir[++ij] = "        <TD VALIGN=bottom CLASS=tlink></TD>";
     ir[++ij] = "       </TR>";

     ir[++ij] = "       <TR CLASS=closed ID=" + ls_table + " NAME=" + ls_table + ">";
     ir[++ij] = "        <TD>&nbsp;</TD>";
     ir[++ij] = "        <TD>";
     ir[++ij] = "         <TABLE BORDER=0 CELLSPACING=1>\n";
     ir[++ij] = "          <TR><TD>" + ir_tdefs[li].contents + "</TD></TR>";
     ir[++ij] = "         </TABLE>";
     ir[++ij] = "        </TD>";
     ir[++ij] = "       </TR>";
    }
    else
    {
     ir[++ij] = "      </TABLE>";
     ir[++ij] = "     </TD>";
     ir[++ij] = "    </TR>";
     ir[++ij] = "   </TABLE>";
     ir[++ij] = "  </TD>";
     ir[++ij] = " </TR>";
     // alert(ir.join("\n"))
    }
   }
  }
 }
 ir[++ij] = "</TABLE>";
}

function f_color(aobj, as_state)
{
 aobj.style.color  = (as_state == 'over') ? '#FF0000' : '#0000FF';
 aobj.style.cursor = (as_state == 'over') ? 'hand'    : 'default';
}

