 Site Search Database LINKS (SSDL15.ZIP) (update Version 1.5 Jan 2000).
 Copyright All Rights Reserved June 1999.
 By Charles Peter White,
 26, Oakdene,
 Stourport-On-Severn,
 Worcestershire,
 DY13 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 by 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.
 Reverse engineering is strictly forbidden !!

 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'.

 Update information is at the bottom of this documentation.

 Site Search and Data Links. (What's What).
 =========================================
 Operating systems: PC, MSDOS 3.2 onwards, Windows 3.x, WIN95, WIN98
 and maybe others.

 Memory required: Anything above 360k.
 Original File size: No more than 63,000k bytes.
 Created file size: Not more than 64,000k bytes. (Suggest 40k max for Web).
 Can create small and Large 'appended' files.
 Large 'appended' files can only be sorted using my other utility SSDLAPP.
 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 HTML and 'Site Search' file (if required).
 Built in STRIP, if required, for HTML code (NOT with JAVA).

 JAVA.
 ----
 Your Original files can have 'Java' in them. This program will only
 extract the URL links, so Java is not a problem.

 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.
 F8.  Strip HTML only if F3 is set to HTML (OFF).
 F9.  Select URL extraction in....
      a). <a href=' with no FULL URL call (HTTP://).
      b). <a href='http://  Only these items.
      c). Anything possible.
      d). <a hfre='http:// with Link Exchange.
      e). <a href='http:// without Link Exchange.
 F10. To create the FULL alpha sorted HTML file or 'SITE SEARCH' with all
      data created in the created appended file(SSDLAPP.HTL), SORTED and
      Numbered. The resulting file is SSDL.HTM and is ready to run.
 
                             Site Search specific.
                             ---------------------
 Cursor Up  . Increase the Line count by one.
 Cursor Down. Decrease the line count by one.
 PageUp     . Step count up by 10.
 Page Down  . Step count down by 10.
 Home       . Sets count to line 1.
 --------------------
 Entry system: Straight foreward. Just enter document with/out extension.

 File names MUST be no more that 8 characters with the usual 3 letter
 extension ie; filename.htm. Some servers still request this format.

 How SSDL works.
 --------------
 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>word... and so on.

 WARNING.
 --------
 Original HTML source must NOT be compressed by removing spaces, Tabs and
 Carriage returns and Line feeds etc. You may do this afterwards.
 SSDL has checks for this.

 DON'T STOP, SSDL HAS A LOT TO OFFER. PLEASE READ ON....

 What this can do (and it's quite a lot).
 ---------------------------------------
 It can extract and produce Normal or 'Appended' pages in both HTML and
 a Java 'Site Search' format (included in this program).
 It will even create the 'Site Search' code with your created data file and
 sort the URL 'word' contents if needed. This will be done on SSDLAPP.HTL
 (appended) file. Normal HTML files will be sorted automatically for you.

 The BEST BIT (if selected).
 ---------------------------
 The created 'Site Search' does not have to refer to any URL after it
 has been loaded. That is what makes it very fast and easy to use.
 NO WAITING TIME for TRAFFIC or poor Connections. Once loaded, its there
 all the time unless it has been updated on the site, then re-load is needed.

 THIS PROGRAM WILL NOT ALTER YOUR ORIGINAL FILES IN ANY WAY !!
 =============================================================
 TO extract URL LINKS for things link 'Link Exchange' or links that contain
 HTML code like IMG SRC= etc, you must switch F1 to YES allowing for these
 types of inserted code. SSDL will only extract all code before the </a>.
 Any description 'after' will not be extracted. This will be done at a
 later update, one hopes.

 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. Can be stripped to make one-line code.

 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. Can be stripped to make one-line code.

 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 or 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...>  are part of the
     'WORD/Description', they can be removed when creating a 'sorted'
     'ready-to-run' Site Search or HTML file, if required.

 Good, isn't it. Plenty of scope.

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

 h). The nice bit is that HTML single files are automatically sorted for you.

 i). STRIP your HTML creations to make them one liners.

 j). If the URL descriptive WORD is missing, then two exclamation marks will
     be inserted for you. When sorted, they will appear at the top of the
     listing / display. This gives you a chance to insert descriptions or
     either remove them or the complete lines of code. It depends on your
     requirement.
     =====

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

 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
     files you want created.

 b). If 'APPEND' IS activated, then output will be to file named SSDLAPP.HTL
     This file will be appended to, 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
     the 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 'remove' any HTML commands embedded within the URL Word
     description prior to using the F10 key.

 e)  If HTML is only required, then you have the option to SORT without
     commands within the 'WORD/Description' of the URL, or leave 'as is'.
     The SORT will automatically operate on NORMAL extractions to a
     single file with options for removing the Url 'Word' and Stripping
     the file to make it a 'one liner'. Helps to stop people taking your
     code.

 Method of use.
 --------------
 Just make sure that SSDL.EXE and SSDL.CFG are with your own HTML files, 
 and they are all in the same directory you want to work on. Or, you can
 put SSDL.EXE in to any directory that the PATH command in autoexec.bat is
 pointing to. This way you can call SSDL.EXE from amywhere.

 I have included TEXT1.HTM and TEST2.HTM files for you to test things on.

 A good practise to get into, is to always press 'Home' key or set-up
 the numbering system for your 'Site Search', if you are doing one.
 Then select F8 if you are going to STRIP and make it a one-liner.
 From then on, you select things as 'needs must'.

 F9 key is VERY IMPORTANT to you. Set it correctly before use, otherwise
 you could end up with the wrong extraction method. Ok, you can just
 run things again, but that wastes time.

 ALWAYS EXAMINE THE CREATED FILE BEFORE YOU DO ANYTHING ELSE. THIS WILL
 ENSURE THAT THINGS ARE 'AS YOU REQUIRE' BEFORE GOING ON.

 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). Switch F9 to diaplay '<a href='http:// no Link Exchange.
 5). Type the file name TEST1.HTM and press ENTER.
 Result= File created TEST1.HTL.
 Please examine it with your HTML Editor 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). Switch F9 to diaplay '<a href='http:// no Link Exchange.
 5). Type the file name TEST1.HTM and press ENTER.
 Result= File created TEST1.HTL.

 * * * TO STRIP AND MAKE HTML ONE LINERS * * *.
 ---------------------------------------------
 Make sure that the 'Compress HTM?' statement is switched to 'YES', using the
 F8 key before you create the file or the 'appended' sddlapp.htl file.
 Remember that the original files will NOT be altered in any way, so you
 can re-create at any time.
 STRIPPED files may not list correctly in some HTML Editors and in most
 Ascii editors. So, if you have made a mistake, just delete the offending
 creations and run the original through SSDL again.

 Site Search  NEW !!!!!!!!.
 ===========
 When the SSDL.HTM final file is created, the second part of the code
 will have two lines in it looking like this.....

 document.write("a href='http://" + links[q].URL + "'>" and so on..

 If your links access the 'root' of your director, then remove the 'http://
 and the ' in "'>", like this....

 document.write("a href=" + links.URL + ">"  and so on.

 To create a 'Site Search' READY file with other commands <B> etc.
 -----------------------------------------------------------------
 1). F1 to display 'YES'.
 2). F3 to display 'YES'.
 3). F5 to display 'NO'.
 4). F9 to diaplay '<a href='http:// no Link Exchange.
 5). Press 'HOME' key to set counter to 1 (far right).
 6). 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). F1 to display 'NO'.
 2). F3 to display 'YES'.
 3). F5 to display 'NO'.
 4). F9 to diaplay '<a href='http:// no Link Exchange.
 5). Press 'HOME' key to set counter to 1 (far right).
 6). 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). Switch F9 to diaplay '<a href='http:// no Link Exchange.
 5). Decide if you want to include <B> etc by pressing F1.
 6). 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.

 7). RUN SSDL.HTM and see for yourself. Use 'Explorer' (or any browser) 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 when everything is operating correctly.

 ADDITION OPERATIONS:
 ====================
 Numbering within ARRAYS for 'Site Search' creation:
 -------------------------------------------------
 Will go to 9,999. Selection up to 9,010 the rest is for SSDL to create.
 I suggest that you just keep the figures low. It stops any problems.

 '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. Then 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 out 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 HTL file 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. You have a choice. 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 or more characters long. This is
     pre-set.
     The first letter of the url 'WORD' will be made into a Capital while
     the rest of that word will be made into lower case. Anything after
     that will remain 'as is'. Another good feature.

 b). Normal HTML LINKS will have the HTML command <BR> added to the end of
     each line. This helps formatting. Checks are not done for any existing
     <BR> commands, so you may have to delete the extra one.

 c). Please ensure that the 'WORD' after the URL does not exceed
     200 characters which includes HTML commands like <B></B> etc.

 d). 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'.
 ---------------------------------------------------
 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;}
 else {
 jsi = new makeLinks(linksize);
 searchLinks(jsi, txt);
 document.write("<hr>");
 }

 NOTE. You can add more 'IF' statements to check for unwanted keys.

 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 this 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 my .COM 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 these sites. Alltodaysnews contains much more than
 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.
 
 ANOTHER FREE HTML UTILITY.
 --------------------------
 TRY MY OTHER SSDL UTILITY CALLED 'SSDLAPP'. THIS ROUTINE WILL EXTRACT
 INFORMATION FROM SSDL'S 'APPENDED' FILE AND CREATE A SUPERB 'CROSS LINKED'
 ALPHABETICAL FILE SYSTEM WITH EVERYTHING CREATED FOR YOU. PRODUCES FULL
 'INDEXED' PAGES, EACH ONE HAVING A TWO COLUMN TABLE WITH THE 'CROSS LINK'
 SELECTOR AT THE TOP AND BOTTOM, IF THE PAGE IS LONGER THAN SETUP.
 HAVE A LOOK AT ONE OF MY SITES BELOW FOR FULL DETAILS. 
 
 Regards.
 Charles Peter White.

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

 or if all fails:-
 fuddyduddy@telinco.co.uk

 My Sites:
 ---------
 http://www.alltodaysnews.com (from software to diy, from news to weather).
 http://www.fuddyduddy.connectfree.co.uk
 http://www.cpwhite.free-online.co.uk
 http://fuddyduddy.future.easyspace.com
 http://members.xoom.com/afuddyduddy
 http://www.freenetpages.co.uk/fuddyduddy
 http://www.fuddyduddy.telinco.co.uk
 http://members.tripod.co.uk/fuddyduddy
 More being added.

 UPDATE INFORMATION.
 -------------------

 January 2000 (vs 1.5).
 ---------------------
 F9 key now allows the extraction of various types of URLs.
 1) Everything possible.
 2) <a href="http:// and Link Exchange.
 3) <a href=".. Strip http:// and no files names etc.
 4) <a href="http:// no Link Exchange.
 5) <a href="http:// file, mailto: etc... only.

 This now allows a greater control on what type of URL extraction takes
 place. This now allows you to also extract 'Link Exchange' type links
 but still without a 'description' if they are outside the close </a>.
 Includes the ability to extract 'Direct' Server file names and 'MailTO'
 addresses.

 NEW Feature.
 -----------
 NOW inserts '!!' if no description (WORD) is present.

 When sorting the NULL words (!!) will be at the top of the list, allowing
 you to examine without having to look for them. Useful feature.

 December 10th 1999 (Still vs1.4).
 --------------------------------
 In the 'Site Search', the URL command has been added to, to allow for
 a FULL URL call. Originally the code has two lines which used the
 command "<a href=" + Links +   and so on.
 This now states "<a href='http://" + Links + and so on.
 The links now will operate across the Internet.

 updated 30th November 1999 by request. vs 1.4.
 ---------------------------------------------
 As some HTML Editors 'PAD' the source code with 'spaces', SSDL 1.3
 would keep those spaces with the URL 'word'.
 However, this version allows for those Editors and strips both 'Indents'
 and 'Spaces'.

 updated 15th August 1999 by request. vs 1.3.
 ------------------------------------
 Now automatically sorts Url 'Word' for normal HTML files aswell.

 Updated August 8th 1999. vs 1.2.
 -----------------------
 STRIP. HTML files can now be STRIPPED to make a SINGLE LINE FILE.
 This helps to stop people from grabbing your files and extracting your
 hard work.
 The same thing for Site Search to follow (one hopes).

 a). Added display to show SORTING in progress.
 b). Allow sorting on 'Site Search' URL 'word' with HTML commands like<B>.
 c). Check for already CRUNCHED files and stop. Not allowed in this version.
 d). Increased size of SORT buffer.
 e). Increased speed of 'SORT' routine.
 -----------------------