 Site Search Database LINKS (SSDL.EXE)
 Copyright All Rights Reserved June 1999.
 By Charles Peter White,
 26, Oakdene,
 Stourport-On-Severn,
 Worcestershire,
 DY 13 9NF, England.

 NOTE!!!!
 --------
 This routine is FREE but 'All Rights' are Reserved by me, Charles Peter White.
 I do not make claims to the creation of the 'Site Search' itself, although
 heavely modified by me. However, the creation, documentation, design and
 program code for SSDL.EXE is fully designed, created and copyrighted my me 
 and ALL RIGHTS to such Copyright remain mine, period !
 This program can not be sold, hired or distributed in any form, that
 includes exchanges in Money or Barter. It can only be distributed FREELY
 (in the FULL sence of the word), with all documentation.

 This documentaion is in rough format.
 Anyone wishing to re-write it for me, will get their name attached to the
 document with a grateful 'Thank you'.

 Site Search Database LINKS will extract data from HTM/HTML in the
 format of:
 a). <A HREF="http://link url">word</A>
 b). <A HREF="http://link url"><B><Font colour> and so on.

 It will not touch 'Link Exchange' links or standard <A HREF=" "></A>,
 those come later, one hopes.
 PLEASE HAVE A LOOK, IT'S BETTER THAN IT SOUNDS and FAST !

 What this can do (and it's quite a lot).
 ---------------------------------------
 It can extract and produce Normal or 'Appended' pages in both HTML and
 Java 'Site Search'.
 It will even create the 'Site Search' code with your created data file and
 sort the contents, if needed.

 The BEST BIT !
 --------------
 The created 'Site Search' does not have to refer to any URL after it
 has been loaded. That iss what makes it very fast and easy to use.
 NO WAITING TIME for TRAFFIC or poor Connections.

 THIS PROGRAM WILL NOT ALTER YOUR ORIGINAL FILES IN ANY WAY !!
 =============================================================

 a). You can extract almost any HTM/L links page and create the same
 named file with the extension of .HTL be it for a 'site search' or just for
 normal HTML display 'link' pages.

 b). You can extract almost any HTM/L links page and create a single file
 with all those extractions on 'ONE PAGE', be it for 'Site Search' of just
 for HTML display pages.

 c). Those formats can be ready for just normal HTM/L insertion into
 your pages, OR created as a 'full' but simple 'Site SEARCH', which
 also includes the code within that created page, 'READY to RUN'.

 d). You can Exclude or Include those bits within each document that have
 preset commands like <B><FONT> within the URL WORD.
 The WORD is mainly the characters that describe of show the links
 ie; <A HREF="http://www.alltodaysnews.com><B>THIS IS THE WORD</B></A>

 e) The created 'Site Search' and the Arrays numbers are SORTED according
 to the way you require. Numbers starting with 1 will operate correctly.
 Any other starting numbers should be used to 'Cut' and 'Paste' the
 created code for appending to an already created 'Site Search'.

 f) If HTML 'commands' like <B><FONT...> etc are part of the
 'WORD/Description', they will be removed when creating a 'sorted' -
 'ready-to-run' Site Search.

 Good, isn't it. Plenty of scope.

 g). The created normal HTML file can be sorted even if there are
 'commands' ie <font= ><b> within the 'word'. You can also select to
 automatically strip these and sort the resulting file.

 h). You can also create FULL Alphabetically SORTED reference files for
 people to select and 'GO TO' the site, or what-ever !

 I will not go on, just see what it can do.
 Fast and simple entry and selection. No fancy stuff here.

 Operating systems: PC, MSDOS 3.2 onwards, Windows 3.x, WIN95, WIN98
 and maybe others.
 Memory required: Anything above 200k.
 File size: No more that 64,000k bytes.
 Created file size: Not more than 65,000k bytes. (suggest 40k max for Web).
 Mode of entry: Keyboard. (not command line)
 Execution. Just select SSDL.EXE to enter the system.
 Configuration file created: SSDL.CFG. Holds selection settings.
 Built in SORT for creation of 'Site Search' (if required and selectable).

 Function Keys:
 --------------
 F1 = To Include or Exclude HTML commands within the URL 'WORD'
 F3 = To Create the format required for the 'Site Search' or Normal HTML.
 F5 = To Select the output for single file creation or as a special
 'Appended' named file with all output files being Appended to it.
 
 F10. To create the FULL 'SITE SEARCH' with all data created in the
 appended file(SSDLAPP.HTL), SORTED and Numbered. The result is SSDL.HTM.
 Also will create a normal SORTED HTML file, if selected.
 
 Cursor Up  . To increase the Line count for the creation of an Append file.
 Cursor Down. To decrease the line count.
 PageUp     . To Step up x10 count for creation of Append file.
 Page Down  . To Step down x10 (as above).
 Home       . Sets count to line ONE (1) (for above). Must be 1 for Search.
 --------------------
 Entry system: Straight foreward. Just enter document with/out extension.

 Output files:
 a). If 'APPEND' NOT activated, the output will be to a file named the same
     as entry but with the extension of .HTL. This is for those individual
     you want created.

 b). If 'APPEND' IS activated, then output will be to file named SSDLAPP.HTL
     This file will be appened to, all the time until otherwise selected.
     Numbers for the extracted data should be sequential if using 'Search'.

 c). If 'APPEND' IS selected and F10 is pressed to create 'Site Search'
     FULL program, the output for the final program will be SSDL.HTM
     This file is the one you would add to your Web Site. It will be
     ready to run without need to make alterations. However, you may change
     code to suit your needs.

 d). IF 'Site Search' and 'Append' selected, creating the file with F10 will
     give you a fully sorted description on Url and the Array numbers will
     be according to the way you select. Selection F1 will automatically be
     set to 'strip/remove' any HTML commands embedded within the URL Word-
     description.

 e)  If HTML is only required, then you have option to SORT without commands
     within the 'WORD/Description' or the URL, or leave 'as is'.

 That's it, simple.

 Method of use.
 --------------
 Just make sure that SSDL and all its files are in the same directory and
 add the .HTML files you want to work on.

 I have included TEXT1.HTM and TEST2.HTM files for you to test things on.
 You can use any other HTML file you want.

 To create a normal extracted HTML file (as is)
 ----------------------------------------------
 1). Switch F1 to display 'YES'
 2). Switch F3 to display 'NO'
 3). Switch F5 to display 'NO'
 4). Type the file name TEST1.HTM and press ENTER.
 Result= File created TEST1.HTL
 Please examine it with your HTML Editer and even view it with a Browser.

 To create a normal extracted file without HTML commands in WORD <B> etc
 -----------------------------------------------------------------------
 1). Switch F1 to display 'NO'
 2). Switch F3 to display 'NO'
 3). Switch F5 to display 'NO'
 4). Type the file name TEST1.HTM and press ENTER.
 Result= File created TEST1.HTL

 To create a 'Site Search' READY file with other commands <B> etc.
 -----------------------------------------------------------------
 1). Switch F1 to display 'YES'
 2). Switch F3 to display 'YES'
 3). Switch F5 to display 'NO'
 4). Press 'HOME' key to set counter to 1 (far right)
 5). Type the file name TEST1.HTM and press ENTER.
 Result= File created TEST1.HTL
 This will be in the format need for the 'Site Search'. You can not run
 this as it stands. It is created for use in various forms of search
 that you may decide to use later on. Very useful as you will see.

 To create a 'Site Search' READY file without commands like <B> etc.
-------------------------------------------------------------------
 1). Switch F1 to display 'NO'
 2). Switch F3 to display 'YES'
 3). Switch F5 to display 'NO'
 4). Press 'HOME' key to set counter to 1 (far right)
 5). Type the file name TEST1.HTM and press ENTER.
 Result= File created as TEST1.HTL

 To created any type of appended file, switch F5 to 'YES'
 -------------------------------------
 ALL output from then on will be to the filenamed SSDLAPP.HTL
 and all files will be APPENDED to it.

 To Create a fully operational 'Site Search'
 ------------------------------------------
 1). Press F3 to make it say 'YES'
 2). Press F5 to make it say 'YES'
 3). Press 'Home' key to set counter to '1'
 4). Decide if you want to include <B> etc by pressing F1.
 5). a). If you have already created an 'appended' file in the 'Site Search'
         format, you just Press F10.
         If you have already created a 'site search' program SSDL.HTM, you
         will be informed and given the chance to overwrite it or not.
         IF you have not created SSDLAPP.HTM you must created it, re-run
         SSDL and press F10.
         If none exists then it will be created for you. SSDL.HTM is the
         final file, ready for use.

 6). RUN SSDL.HTM and see for yourself. Use 'Explorer' and select it
     pressing the mouse button twice to execute it in your browser.
     You could run your browser and select SSDL.HTM.
     RENAME IT for use on your site. SSDL.HTM will be over-written each
     time a new request is made.

 ADDITION OPERATIONS:
 ====================
     Numbering:
     New 'Site Search'
     ----------------- 
     If you want to create a FULLY OPERATIONAL 'Site Search' then you MUST
     press the 'Home' key to set numbering system correctly (to 1).
     When the 'Site Search' is created with all your data, it can be executed
     directly in your Browser.

     Additional DATA creation
     ------------------------
 a). If you already have a 'Site Search' created, and you want to add new data
     to it, just switch SSDL counter to the next number from the last on the
     'site search'. Then create the data. Just 'Cut' and 'Paste' the lines
     with urlsArray and namesArray PLUS the line 'linkscounter = number' to
     your original 'Site Search' file. That's it, you have updated the old
     'Site Search' with the new data.

 b). You could just add all the created files or an APPENDED file (with
     'Site Search' switched OFF' to the bottom if your already created
     'Site Search'. Then delete the top and bottom parts of code and save
     that as ssdlapp.htl. The run SSDL, press 'Home' key, and press F10.
     You now have a fully operational 'Site Search' with all the new data
     and SORTED correctly.

 NOTE.. ADJUSTMENTS you may have to make.
 ========================================
 HTML normal 'appended' to SSDL.HTL
 -------------------------------------
 If you want the 'site search' type of format and you appended a normal
 HTML file, just 'block' it and delete it(this applies to the other way around).
 Providing you have not altered the 'APPEND' counter, then 'array' numbers
 will be in sequence.
 If on the other hand you have altered the sequencing of the numbers, just
 alter them and adjust 'linksize=' to the total.
 The reason for allowing you to select numbering was to ensure that as
 you create each file.HTL they would be in sequence for 'what-ever' purpose
 you had in mind. However, if a 'site search' is going to be used, you
 must ensure that all files are in 'true' sequence, starting with the
 number 1. The statement 'LINKSIZE = ' must be changed to reflect the
 total used. ie; 1 - 100 'LINKSIZE = 100'

 ALTERING Site Search Colours etc.
 ---------------------------------
 You can remove the META TAGs at the top and alter the colours here.
 To change the general display Colours within the 'Site Search', alter the line
 under // ---end data--- which contains document.write("<BODY......
 This will allow you to use any created file containing its own colours.

 SSDL.HTM
 --------
 When finished creating and if necessary, altering it, please rename it
 ready for use. SSDL.HTM will not be over-written every time you request to
 create it, as you have the choice to do so. I did that to ensure that one
 gets in the habbit of renaming stuff.
 
 The 'Built in' SORT routine.
 ----------------------------
 a). Your 'Description/URL WORD' MUST BE 4 of more characters long. This is
     pre-set.

 b). HTML LINKS will have the HTML command <BR> added to the end of each
     line. This helps formatting.

c). If your links have more descriptions after the URL 'Word', SSDL will NOT
    try to extract those. It is some-what difficult to extract this type
    of information. People use so many different formats that I decided
    to wait until I could come up with a 'definitive' answer to this one.

 ADDING USER ENTRY SYNTAX CHECKING FOR 'SITE SEARCH' CODE
 --------------------------------------------------------
 I have removed this facility. If you need it just
 remove this code (after data, second part):

 function validate_form() {
 txt = document.form.search.value;
 jsi = new makeLinks(linksize);
 searchLinks(jsi, txt);
 document.write("<hr>");
 }

 and REPLACE it with THIS.....

 function validate_form() {
 txt = document.form.search.value;
 if (txt.indexOf(".") != -1){
 alert("Search is invalid! Contains a '.'"); return;}
 if (txt.indexOf(",") != -1){
 alert("Search is invalid! Contains a ','"); return;}
 if (txt.indexOf("@") != -1){
 alert("Search is invalid! Contains a '@''"); return;}
 if (txt.indexOf("!") != -1){
 alert("Search is invalid! Contains a '!''"); return;}
 if (txt.indexOf("#") != -1){
 alert("Search is invalid! Contains a '#''"); return;}
 if (txt.indexOf("$") != -1){
 alert("Search is invalid! Contains a '$''"); return;}
 if (txt.indexOf("%") != -1){
 alert("Search is invalid! Contains a '%''"); return;}
 if (txt.indexOf("^") != -1){
 alert("Search is invalid! Contains a '^''"); return;}
 if (txt.indexOf("&") != -1){
 alert("Search is invalid! Contains a '&''"); return;}
 if (txt.indexOf("*") != -1){
 alert("Search is invalid! Contains a '*''"); return;}
 if (txt.indexOf("(") != -1){
 alert("Search is invalid! Contains a '(''"); return;}
 if (txt.indexOf(")") != -1){
 alert("Search is invalid! Contains a ')''"); return;}
 if (txt.indexOf("[") != -1){
 alert("Search is invalid! Contains a '[''"); return;}
 if (txt.indexOf("]") != -1){
 alert("Search is invalid! Contains a ']''"); return;}
 if (txt.indexOf(";") != -1){
 alert("Search is invalid! Contains a ';''"); return;}
 if (txt.indexOf(":") != -1){
 alert("Search is invalid! Contains a ':''"); return;}
 if (txt.indexOf("<") != -1){
 alert("Search is invalid! Contains a '<''"); return;}
 if (txt.indexOf(">") != -1){
 alert("Search is invalid! Contains a '>''"); return;}
 if (txt.indexOf("?") != -1){
 alert("Search is invalid! Contains a '?''"); return;}
 if (txt.indexOf("-") != -1){
 alert("Search is invalid! Contains a '-''"); return;}
 if (txt.indexOf("=") != -1){
 alert("Search is invalid! Contains a '=''"); return;}
 if (txt.indexOf("+") != -1){
 alert("Search is invalid! Contains a '+''"); return;}
 else {
 jsi = new makeLinks(linksize);
 searchLinks(jsi, txt);
 document.write("<hr>");
 }

 Conclusion
 ==========
 I created this to do the work for me. Let's face, anything that does most
 of the 'entry' for one, is always useful ! As far as I am aware, this is
 the first program that does type of operation. (any others, please advise).
 Ok, so it was created in a couple of days and SSDL may not be beautiful to
 look at, but it gets the job done.
 Have fun with it, it can do quite a lot. The 'Site Search' routine
 is not the exact same as used on our site. I have modified it a lot more
 to do the 'thing' I thought best. This routine will be used on our
 site of HTTP://WWW.ALLTODAYSNEWS.COM and my 'fuddyduddy' sites, in one form
 or another. Please visit this site. It contains much more that just the
 News and weather. It contains things from Fishing to Diving and Women to
 DIY (not in that order, naturally).

 If you use this routine, please make sure that you give me a small 'write-up'
 on your 'site search' page.
 It's not much to ask, after all, you get this for FREE.

 Regards.
 Charles Peter White.

 E-Mail to: webmaster@alltodaysnews.com
 or       : fuddyduddy@connectfree.co.uk
