Extra_POI_Editor V3.71

This program can edit GPX POI file and provide an easy way to convert them
to TourGuide by adding MP3 or JPG files. 

Basic functionality:
====================

1- You can open GPX, CSV, OV2 and KLM files and save them as GPX.
   Use File->Open to open a file and File->Append to merge a file with the current one. 

2- Click on a POI to view it in the right window. Double click on the POI to edit it.

3- To delete a POI, double click on it and hit the delete button. You can also right click
   on the selected POI and select Delete POI.

4- To add a POI manually, click on the purple button at the bottom left.

5- Use file->Save to save all the POI in memory as a GPX, CSV, OV2 or KLM file.

Latest version:
===============

I made a wiki page at turboccc.wikispaces.com
You will find all my tools there and links to popular GPS forum site when I can be reached.


-----------
MAKE A BACKUP OF YOUR ORIGINAL FILES before you use Extra_POI_Editor while you test.
-----------

***               
*** Use this tool at your own risks ***
***

Troubleshooting:
================

See the forums listed at turboccc.wikispaces.com

Pending Features:
=================

- Reverse Geocoding
- Multiple file save
- Preserve <CR> in fields. Change <CRLF> to <CR>. Still compatibility issues with other gps.
- Batch geocoding w/ coordinates compare
- Save to Magellan (gives me a headache for now...)
- Use of mouse to scroll the text boxes and windows.
- Delay the map display to speed up POI browsing.
- have a scroll bar on the first page and CSV Field page
- Confirm save/nosave POI Edit window kill
- Show html content
- Read Phone number from POI Name for 3-column CSV or OV2 files
- Load/Save Current.gpx directly on GPS
- Support OV2 type 64
- handle <-- --> as comment
- manual symbol entry does not show the right symbol...
- option to use ^M instead of <br> for MapSource


History:
========
v3.71 - Added the possibility to select the proper line break for CSV file output in  
        Options->Preferences. Values are CRLF, LF and <br>. No effect in GPX or OV2 output.

v3.70 - Added some support for HTML.
      - Added sort feature by State and sort by City under the Tools menu.
      - Added option to remove empty <cmt> </cmt> field in GPX in Options->Preferences
      - Start POILoader from Tools menu or F8 key.
      - Improved phone number extraction and CR/LF removal in "US Federal & State Campgnds.csv"

v3.61 - Put back mouse support lost in v2.60.

v3.60 - Added file export to CSv with configurable column selection in Options->CSV Fields.
        This is a basic feature allowing one GPX field per column. Not possible to merge
        multiple fields in a column. This will come later. USe "Save As" and select 
        "M-Column CSV" filter.
      - Added a scroll bar to the comment field in the POI edit screen
      - Removed quotes in CSV fields that were not required when saving to CSV.

v3.50 - Delayed Map display by 2 seconds to increase browsing speed. If you do not like it,
        just let me know and I will put it back as before. I can make this configurable too.
      - Added mouse wheel support in POI List window (top left)
      - Removed <cmt> field when same as the <desc> field. This happens when GPX are edited
        in MapSource. This feature can be enabled in Preferences->Options. This works only 
        when reading GPX files.
      - Added different unit configurations for file reading and saving. This means you can
        configure units in metric when reading a file and saving in a different units while
        editing with another units.
      - Increased the comment field lenght


v3.40 - Increased the number of CSV Profiles to 10 instead of 5.
      - Changed the default help file name to exclude the version number. Dumb mistake.
      - A new help file has also been released for v3.30. See separate download.

v3.30 - Now supports over 32767 POI loaded at the same time. Limit is 2147483648! ;-)
        It is a bit long to load or sort. Use with moderation. Not fully tested either.
      - Extract phone number from TomTomOV2 file to Phone field.
      - Updated the HELP file. Courtesy of rufree4t.
        Careful: you need to enable it on your computer. Click on it in Windows and unckeck
        the option "Always ask before opening this file". Otherwise, the help will not work.
        This should work for XP and Vista users.
      - Added right-click "Copy POI to Clipboard" to copy selected POI name & address to 
        clipboard.
      - Added right-click "Copy POI as URL to Clipboard" to copy selected POI as an URL to 
        the clipboard.
      - Corrected a bug when selecting or scrolling symbols in the edit window. Not perfect,
        but will not crash the application anymore.
      - I think I corrected an issue with Metric/Imperial units. Not quite sure what was the
        bug, but I tested and all looks good.

v3.25 - Corrected Geocoding error (zoom level not defined)
      - Removed duplicated "duplicates" in "Find Duplicates"... LOL!

v3.24 - Remember (it's about time!) last open directory when using File->Open or File->Merge.
      - Corrected bad map loading in POI Edit page after fast clicking a new POI.

v3.23 - Corrected problem reading lon/lat in some Current.gpx.
      - Added contextual help and Help Index (written by rufree4t)

v3.22 - Corrected OV2 export and added the missing last POI.

v3.21 - Disabled the internet checking feature. It is not working.
      - Corrected Ov2 record size broken in v3.20 (working before that)

v3.20 - Disables maps when internet is not detected (crude but hopefully efficient method)
      - Added default map zoom level in Preferences
      - Added some other brand CSV output formats in Save As (post feedback).
      - Removed extra quotes from 4th column field in CSV files.
      - Removed invalid POI from top of OV2 file.
      - Added POI address + phone (when available) in OV2 file.
      - Added TomTom Terms of Use for OV2 files (copyright stuff)
      - Corrected the missing *.KML filter in the File->Merge Open dialog.
      - Corrected the Preferences window to appear in the task bar.

v3.10 - Added optional search distance radius for Find Duplicates.
      - Added File->New
      - Better phone extraction in Google Earth kml files.
      - Corrected "Add New POI" which becomes "Find Next" after the first Find.
      - Increased click area in top left POI window for click, right click and dbl click.

v3.01 - Corrected map update after Lon,Lat change on new POI. It was not working properly.
        You had also to click twice on Ok, Cancel, Delete.
      - Removed debug pop-up when playing MP3 file (Oups!)

v3.00 - This is just a small release although the major version number changed. I am out
        of numbers for v2.xx.
      - Extract the phone number from the description when not found in the address.
      - Improved display of POI name and address in Duplicates window.
      - Corrected a bug when opening a file in the history that did not exist anymore.
      - Map is now updated automatically after you change the (lon,lat) fields manually in the
        POI Edit window. You will have to click to a different field after the change for 
        the map to update.
      - Removed "" in some lon/lat coordinates
      - Made the main window a bit smaller to fit in low res screen.

v2.99 - French version included.
      - Removed some symbols from the list that were only used by MapSource.
      - Reduce POI Edit window size to fit in 1024x768

v2.98 - Better handle spaces in file path & name in command-line. Quotes must be used.
      - Corrected a CSV field profile issue where fields assignment could be lost.
      - Added progress bar in Find Duplicates when long processing is expected.
      - Added the @speed info in POI Name when saving a CSV...
      - Added KML file open and file merge (experimental)
      - Added a warning when exiting the program and the current file is not saved.
      - Improved phone detection again - more to come.
      - Corrected (lon,lat) invertion when opening geocoded JPG.
      - Corrected tab stop (once more!) in the POI Edit window.

v2.97 - Corrected the Run time error '91: Object Variable or With block variable not set" 
        when Geocoding.Now it should work for all.
      - Fixed small issue when navigating with the arrows.
      - Fixed merge function which I broke in a previous release.

v2.96 - Tried to correct Geociding issue, but it was not working. Go with v2.97

v2.95 - Improved phone detection - more to come.
      - Corrected the missing City name in Geocoding leading to wrong coordinates.
      - Opens now Google Earth or Goole Earth Plus.

v2.94 - Improved phone detection against xxxxx-xxxx zipcode and others.
      - Improved CSV file parsing containing CRLF in fields.
      - Added ability to load all loaded pOI in GoogleEarth in Tools menu.

v2.93 - Added phone recognition from address field when reading CSV or GPX
      - Corrected &amp; and other special characters to & in the 4th column on CSV output.

v2.91 - Added Magellan .MGLN as file input. I extract lon, lat, name, desc, elevation and
        symbol (when an equivalent exists)

v2.90 - Added basic find duplicate POIs under the Edit menu. Do not delete POIs ouside the
        the Duplicates window without closing the Duplicates window first.
      - Added a French version just for fun. Post feedback about it please. Not tested.
      - Display distance between POI after a "Sort by Location".
      - Added right click menu "Set as Current Location" which will use the highlighted POI
        as the current location. All distance will be to that location (no sort involved).
      - Improved sort algo speed (but may require more memory) when 1000's of POI loaded.
      - Added support for TomTom OV2 files of type 01.
      - Corrected Replace Field fct to use units in the Preferences and convert accordingly
        for elevation, proximity and speed.
      - Changes CRLF to <br> in GPX file for compatibility. Not perfect depending on your gps.

v2.82 - Added a global field replace in the Edit menu. You can delete a field content in all
        POIs by keeping the new field value empty.
      - Added a Hourglass mouse pointer while sorting.
      - Corrected & character handling when reading CSV and saving to GPX.
      - Removed space characters in GPX header causing problems when adding GPX to Favorites.

v2.80 - Added basic 4-column CSV save in "Save As". 4th column contains more or less all 
        the "Contact Info" found in the POI Edit window separated by commas.
      - Added Tools->Sort by Name and Location. Sort by Location will sort all POI based
        on the distance to the currently selected POI.

v2.74 - Corrected a bug in the CSV field parser where a space in an empty field could cause
        an offset in the field count and cause bad or missing assignment.
      - Added a Cancel button when invalid Lon/Lat are detected when parsing CSV files.
      - Added Time column in CSV field assignment
      - Corrected an issue with the '&' character in the link field.
      - Little correction applied to the window size in 1280x678 recolution.

v2.73 - Corrected a program crashing bug introduced in v2.72 when the POI Edit window was 
        minimized or maximized.

v2.72 - Added vertical scroll bar in POI Edit window when window is downsized or when it
        is larger than the vertical screen resolution.
      - Corrected a bug introduced in v2.70 when importing multiple files.

v2.70 - Added TomTom .Ov2 POI file input and output (type 02). Opening OV2 file is transparent:
        just select and open the file. To save as OV2, just select the file type OV2 in 
        the field "Save as Type" at the bottom of the save dialog. It must be noted
        that only longitude, latitude and POI name are stored in an OV2 file. Other POI
        data will be lost when saving to an OV2 file.
      - Added Google Earth .KML POI file output. To save as KML, just select 
        the file type KML in the field "Save as Type" at the bottom of the save dialog.
      - Save->File (Ctrl-S) now saves to GPX, OV2 or KML without dialog pop-ups if the
        displayed filename is already of type GPX, OV2 or KML.


v2.60 - Added right click menu functions in the POI list window (top left).
      - Added Edit menu with Find (Ctrl-F) and Find Next (F3). It searches the content of 
        the More display for all words or any word specified. The first occurrence of each 
        word will be highlighted over a purple background in the More page. This is really 
        cool if you are looking for more than one criteria.
      - Corrected a program crash bug when an empty CSV line was present at the end of a 
        CSV file.

v2.55 - Added a scroll bar on the POI list window when more than 25 POIs are loaded.
        This is not a very "accurate" GPS simulation, but it certainly speeds-up navigation.
      - Added MapSource path to Custom symbols in Preferences. Setting the path correctly
        allows the custom symbols to appear in the POI edit window. Normal MapSource symbol
        path is (without quotes):
        "C:\Documents and Settings\'User'\My Documents\My Garmin\Custom Waypoint Symbols"
      - Changed some internal processing to prepare for future releases. Hopefully, I did
        not break anything else.

v2.54 - Added command-line switch -c1 to -c5 to load different CSV profile. For example:
        "Extra_POI_Editor -c1 poi1.csv -c2 poi2.csv -c3" will load CSV profile 1 for poi1.csv
        and CSV Profile 2 for poi2.csv. Finally, the CSV profile 3 will be loaded. The 
        profile number is used, not the profile name. The last -cx profile value loaded 
        will remain active after loading all the files.

v2.53 - Added 5 CSV field assignment profiles. User can change the profile name as well.
        For example, you can name one "MapSource" to have CSV conversions when loading a
        GPX in MapSource. You can name another one "Default" for regular 4-field CSV 
        files, etc... 
      - Corrected a bug where a .csv file could be saved with .csv.gpx. Instead, any
        non-gpx file will require the user to specify the filenamewhen using File->Save.

v2.51 - Improved Play/Stop button in POI edit page when Link contains audio file.
      - Disabled Image preview when an audio file is selected or directory does not 
        contain an image file.

v2.50 - Added play/stop icon in Preview window when Link field has MP3/WAV
      - Added File history for last 10 files (File->Open files only)
      - Added "Save" and "Save As..." menu function.
      - Loaded file name appears in the Title Bar. This file name also used to "Save".
      - Renamed Menu"Append" to "Merge Open". You still can open multiple files.
      - Minor interface changes

v2.41 - Added MP3/WAV play function in POI Edit.
      - Corrected intermittent geocoding failed search on first try.
      - Corrected a bug causing the application to crash when using "Add New POI" 
        when clicking "Ok" and the Link field was not empty (bug created in v2.30).


v2.40 - Added map or image display selection in preview mode
      - Added map display in Edit mode
      - Added map marker dragging & coordinate grabber
      - Added Geocoding to get coordinates from address information
      - Added graphic symbol selection and display in Edit mode
      - Added file timestamp and POI timestamp updated after file save and POI edit.
      - Added Shortcuts keys for most menu functions
      - Corrected a bug for MapSource when more than one metadata was present
      - Corrected a bug introduced in v2.3x where the application was not terminated
        after a file save.

      - Special thanks to mmelly57 from Australia, JD4x4 from POI-Factory and 
        Satanko from Thailand for testing lots of stuff and suggesting some of the
        new features you have seen since v2.00

v2.32 - Corrected a file error bug when an http link was inserted in the Link field.
      - Added supports for "<![CDATA[]]" structure

V2.31 - Added ability to select a directory when browsing for the Link file.
      - Can double click on the image or click the Image button to select a new image.
      - In GXP output, use CR/LF instead of <br> (let me know if there is a problem)
      - Renamed "Nuvi" to use a 'u' for international character compatibility

v2.30 - Added the famous "Image" display view (no sound yet). If only a folder is
        specified instead of a file name, the program will find the first .JPG or .BMP 
        in the specified folder as done by POI_Loader on my Nuvi 760. Only one image is
        displayed as on my Nuvi 760.

v2.21 - Moved the Units into Options->Preferences
      - Added GPX Output Encoding (UTF-8, Windows-1252) in Option->Preferences form
      - Changed the font in the Preview window to solve the International char. problems

v2.20 - Added command-line parameters: you can specify one or more filenames (GPX, CSV or
        JPG) to load when the program starts. Specify the file path if necessary. Avoid
        using spaces in file names for now. You can also drag files onto the program exe.
        Example of command-line: Extra_POI_Editor mypoi.gpx c:\poi\resto.csv poi2.gpx

v2.14 - Changed Zipcode to Post Code. Seems to be a more 'international' designation.

v2.13 - Added the famous "More" display view (no image, no sound for now).
      - Now, 24 columns can be assigned when importing CSV files
      - Added field 'Category' which is compatible with MapSource
      - Changed funny character & to &amp; in link field
      - Minor improvements to the preview window display.
      - Will try to add basic html support in fields (soon)

v2.02 - Discarded invalid POI when importing CSV file - used to remove first row when 
        column headers are present.
      - Changed '&' for '&amp;' because they are not properly handled by MapSource.
      - Minor preview window display change when POI name has more than 2 lines.

v2.01 - Corrected longitude/latitude field inversion when importing CSV
      - Corrected quoted field parsing when importing CSV

v2.00 - Added EULA at start-up. Do not worry. It appears once. I just wanted to protect
        my work from commercial usage.
      - Added Options->CSV Fields Assignment menu. It is now possible to specify
        which column of the CSV file will go to which Extra_POI_Editor field. Up to
        20 columns can be assigned. Multiple column assigned to the same field will
        cause the columns to be merged to the assigned fields in the order of appearence.
      - Units are now properly adjusted when the "Add New POI" button is used.
      - Units are now stored in the registry and recalled when the program starts.

v1.65 - In preview window, the comment description was not displayed when the address 
        fields were empty. This bug was introduced in v1.64. Sorry.

v1.64 - In preview, added a CR/LF before phone number when zipcode not present.
      - Added handling of special char "&#000;". For example, "&#039;" equals "'"

v1.63 - Added support for ^M (line feed) in CSV file within quoted address field.

v1.62 - small redesign on how special characters are handled. I hope to have solve more
        problems that I created. Should solve the '&' issue with POILoader.

v1.61 - inverted longitude and latitude (and tab stop) as per user request
      - optimized file size by moving extension in header string
      - added empty comment to ensure proper display of addresses on some nuvi models.

v1.60 - Added the possibility to configure imperial or metric units in edit window. 
        Keep in mind that everyting will be converted back to metric in the gpx file 
        and you will have to use POI_Loader in meters & km/h. If your files are in 
        imperial units, let Extra_POI_Editor in "Metric" mode and it will not touch 
        your speed/distance although the program will still display meters and km/h 
        units. Sorry if you have to set the unit system everytime you start the 
        application. I am just not ready yet to store that info in the registry or in 
        a config file. 


v1.52 - Corrected link file validity by changing " " by %20 and "\" by "/"
      - Converted "&amp;" in files to "&"
      - Not corrected yet: TourGuide vs no Tourguide in POI name: preview differs 
        depending if it is a TourGuide or not. Also, not all fields are used in each
        mode. Same thing in "Favorites".In next release, I shall identify these fields.

v1.51 - Corrected bad loading of speed information in CSV file.
      - Corrected character '&' that was displayed as '_' in preview (file was ok).

v1.50 - Can load geocoded photo file (.jpg)
      - The File->Append function can be used to merge more than one file at a time.
      - Corrected GPX file load bug introduced in 1.41.

v1.41 - this version is bugged! Do not use.
      - Corrected a bug in automatic ".gpx" extension
      - Added ability to load correctly Current.gpx in Garmin/GPX directory and to
        edit "Favorites"

v1.40 - Added elevation field.
      - Added time field from the input file (no edit yet)
      - Added metadata field bypass from the input file to the output file (no edit yet)
      - Added automatic ".gpx" file extension in the output file name if not specified.
      - Cleaned up other empty fields in the output file (phone, city, state, ...)
      - Added live link to wikispace in Help->About window.

v1.30 - In Display Preferences, the Symbol is now a dropbox with all symbol names
        included in MapSource (that one took me a while to extract!). You can also type
        your own custom symbol name (not sure how it wil be displayed on the map!). If
        you don't care, leave the box empty.
      - In Disply Preferences, the Display Mode is now a dropbox allowing only the 
        valid choices. Leave empty to use default mode.

v1.21 - Corrected tab stop sequence to make them in order in the POI Edit page.

v1.20 - Added Country, Phone2, Fax, Email and Speed optional fields.No time to do more...

v1.12 - Corrected a typo in "Windows-1252" that could cause the output file encoding to
        be misinterpreted by POI_Loader.
      - Output file is now always encoded as "windows-1252" to ensure proper CR/LF
        conversion (bug in my "UTF-8" encoding)
      - Improved display in right windows of description and comment when address
        fields were empty (to mimic nuvi 760).
      - Reduced output file size by not writing some empty fields.

v1.11 - Extra_POI_Editor now appears in the task bar and can be minimized.
      - The state appears correctly and can be updated in the POI_Info panel.
      - Update correctly the right preview window after an edit is made to a POI.

v1.10 - Added controls over proximity, symbol and display mode. Leave fields empty
        when not used.

V1.01 - Added support for UTF-8 and Windows-1252 character sets. Now international
        characters will be processed correctly.
      - Added Search/Search-Next support using the "Search by Name" button.
      - cleaned-up unused fields when loading csv files over existing poi.
      - Other minor changes to GUI & operations.

V1.00 - first draft. Crude interface, but it does what it does. Post feedback in forum.