SelectDay v2.2 - Copyright (c) 2002 by Thomas Chapman
====================================================================

NOTE: Install one or the other PRC file, not both. See Installing and Upgrading below.

SelectDayHack is distributed as shareware.  You can try it out, nag free, for 15 days. If you like the new and improved features of this day selector, you should purchase SelectDayHack and enjoy this great improvement to the usability of your palm!

You can get the full registered version for only $5.00 (US). Please see the end of this document for more information on purchasing SelectDay for your palm.



Table of Contents
==================================================
1.  Introduction & Overview
2.  Disclaimer
3.  Content of the Zip archive
4.  System Requirements
5.  Installing and Upgrading
6.  Uninstalling
7.  Using the Program
  7.1  The one month view
  7.2  The four month view
  7.3  The year view
  7.4  Calculating a date
  7.4  Entering a Registration number
  7.5  Using the keyboard for year, month, and date entry
8. Future Enhancement Ideas
9. Bug Reporting
10. Registration
11. Versions & Changes
12. Known bugs/Issues & workarounds
13. FAQ's



==================================================
1. Introduction & Overview

Within almost every program on the palm, there is a need to select a date. Whether it is to select an alarm date, appointment date, due date, reminder date, etc... The palm OS has a built-in function to handle this date selection, however, it has not been updated since Palm OS 2.0.

Now there is a replacement for this built-in function. This replacement is called SelectDayHack. SelectDayHack is an easy to use, slick interface, with extended capabilities.

Selecting a date has never been easier or faster.

Now you can choose to run SelectDayHack as a Hackmaster system extension or as a Standalone application. Hackmaster is no longer required!



==================================================
2.  Disclaimer

This program has been tested on several popular Palm devices from Palm OS 2.0 to Palm OS 4.1. 

This program is provided without any warranty and the user accepts full responsibility for any damages, consequential or otherwise, resulting from its use.

This archive is freely redistributable, provided it is made available only in its complete, unmodified form with no additional files.



==================================================
3. The following files are included in the archive

	SelectDayHack.prc 		(33K on Palm) For use with Hackmaster or X-Master
	SelectDayApp.prc		(35K on Palm) For Palm devices without Hackmaster or X-Master
	SelectDay.txt			The file you are reading...

	NOTE: Install one or the other PRC file, not both. See Installing and Upgrading below.



==================================================
4. System Requirements

	Palm OS 2.0 or above.
	35K available RAM memory.	(Note: The Hackmaster version uses only 33K)

	NOTE: SelectDayHack will not run from a Flash Card, Flash Module, or similar removable device, 
		SelectDayHack must remain in the Palm handheld's main RAM memory.

	If you plan on using more than one Hack, I "Highly Recommend" X-Master as my extension manager of choice. I have not had any problems with X-Master.
	
	X-Master is available as freeware from:
	http://linkesoft.com/
	http://www.palmgear.com/software/showsoftware.cfm?&prodID=12184
	


==================================================
5. Installing and Upgrading

   With Hackmaster or X-Master available on your Palm:
	If you are running Hackmaster or X-Master, then install the SelectDayHack.prc.

   Without Hackmaster or X-Master:
	If you do not run any other hacks, or would prefer to run SelectDay as a standalone application, then install SelectDayApp.prc

	NOTE: Do not install both of these files.

   Installation
	Install the program of your choice by using your Palm device install tool and then Hotsync.
	
   After Hotsyncing
	You must enable SelectDay in X-Master/Hackmaster or in the Standalone SelectDay application by checking the activation box. If you do not enable SelectDay, then the old SelectDay dialog will remain active.

   UPGRADING:
	You can upgrade an older version of this program by Hotsyncing the new version over the top. All settings and preferences will remain.
	
   PLEASE READ BEFORE UPGRADING! 
	You MUST disable SelectDay in X-Master/Hackmaster or the Standalone SelectDay application BEFORE Hotsyncing. If you do not disable the old version first, the new version cannot be written to the palm. You will have to re-select it for installation.

   If you install both files:
	Having both files installed can cause problems if they are both activated. The standalone application can tell if the the hack is activated, but not the other way around.

	To remove the SelectDayHack version, 	(SelectDay settings preserved)
		1. If you have Hackmaster or X-Master on your Palm, then deactivate the SelectDayHack in Hackmaster or X-Master.
		2. Activate SelectDay from the Standalone application, this will ask you to delete the SelectDayHack.
		3. Choose to delete the hack version.

	To remove the SelectDayApp version,	(SelectDay settings are lost)
		1. Deactivate the SelectDayApp standalone application.
		2. Deactivate the SelectDayHack in Hackmaster or X-Master.
		3. Delete SelectDay from the Application Launcher.
		4. Re-install the SelectDayHack version of SelectDay.
		5. Activate the SelectDayHack in Hackmaster or X-Master.

==================================================
6. Uninstalling

	Uncheck the "SelectDayHack" checkbox within X-Master/Hackmaster and/or the Standalone SelectDay application.

	Delete SelectDay from within the Application Launcher.
	All settings and preferences will be removed when you delete the application.



==================================================
7. Using the program

	Using the program is easy. Once it is installed, and enabled, you simply use your palm as you have before, except when you click on a button or trigger that brings up the SelectDay dialog. When this happens, you will see the new and improved SelectDay Dialog.

	The new dialogs have several great features:
	View selection buttons
		One month view
		Four month view
		Year view
	Date Calculations - The "More" button
		Calculate forward or back any number of days, weeks, work weeks, months, years, etc...
	You can click on the year in the upper righthand corner to quickly access a list that includes:
		4 of your most recently used years.
		Several of the past century marks.
		Just pick the year you want, and instantly you are taken to that year. Quick and Convenient!
	Page-Up and Page-Down buttons - For scrolling through the calendars.
	Keyboard/Graffiti support:
		Up, Down, Left, and Right arrow keys scroll depending on view.
		Number keys to enter month, year, and day.
	Cancel Button - Cancels any changes made, exits the dialog, and returns to your program.
	Today Button - The Today button gives quick access to select Today, This Week, or This Month.


7.1  The one month view
	
	Looks almost the same as the original SelectDay found in the Palm OS.
	Added features include:
		Month and Year calendar title bar
		Quick Year pick list
		Keyboard support

	Page-Up - shows the previous month
	Page-Down - shows the next month


7.2  The four month view
	
	Shows four months at a time.

	Features include:
		Quick Year pick list
		Month title bar for each calendar
		Tiny numbers for easy date selection
		Keyboard support (See Using the keyboard for year, month, and date entry below.)
		If "show week numbers" is selected on the configuration screen, then the week number (Example: Wk# 41) will be shown in the month title when you drag the stylus around on a calendar.

	Page-Up - shows the previous months
	Page-Down - shows the next months

	NOTE: If you press on the calendar to select a date, and then change your mind, simply drag the stylus off of the calendar to cancel the selection.


7.3  The year view

	Shows a full year at a time.

	Features include:
		Quick Year pick list
		Month title bar for each calendar
		A popup window showing the day of the week and date (Example: Sun 12) is shown when you drag the stylus on a calendar.
		Keyboard support (See Using the keyboard for year, month, and date entry below.)
		If "show week numbers" is selected on the configuration screen, then the week number (Example: Wk# 41) will be shown in the month title when you drag the stylus around on a calendar.

	Page-Up - shows the previous year
	Page-Down - shows the next year

	NOTE: If you press on the calendar to select a date, and then change your mind, simply drag the stylus off of the calendar to cancel the selection.


7.4  Calculating a date
	If you click on the (Calc) button on any of the calendar screens, you can make date calculations.

	Enter a positive or negative value and choose a calculation type.
	
	Calculation types:
		Days			Advance the date by the number of days entered.
		Mon - Fri only		Advance the date by the number of days entered, skipping Saturdays and Sundays. (5 day work weeks)
		Mon - Fri only		Advance the date by the number of days entered, skipping Sundays. (6 day work weeks)
		Weeks			Advance the date by the number of weeks entered.
		Months			Advance the date by the number of months entered.
		Day of year		Advance to a specific day of the year.
		Week of year		Advance to a specific week of the year.
		Fortnights		Advance the date by the number of fortnights entered. (Fortnight = 14 days)
		Lunar Months		Advance the date by the number of lunar months entered. (Lunar calendar month = 28 days)
		Years			Advance the date by the number of years entered.

	Count first day:  If you want to count the first day as day number 1 this box should be checked. Usually used for counting the day or week of the year.
		NOTE: Counting the first day is not available when the value entered is negative.
	
	From:  Choose the starting date. The calculation will use this date as the beginning date.
	
	Date:  This is the output of the different choices made above. If OK is pressed, then this date will be returned to your application.
	
	If you choose OK, the currently calculated date will be returned to the application that was requesting the date.
	If you choose Today/This Week/This Month button, then the the current day, week or month will be returned.
	If you choose Cancel, then you will be returned to the SelectDay calendars.


7.5  Entering a Registration number

	From X-Master or HackMaster view the SelectDayHack settings.
	From the SelectDay Standalone Application view the SelectDay Settings.
	
	After you bring up the Settings dialog, choose the "Register..." button.
	Enter the registration number and press OK.


7.6  Using the keyboard for year, month, and date entry

	Month Entry:	(valid values are from 1 for January to 12 for December)
	Use a '/' (slash), ',' (comma), '.' (period), ':' (Colon), ' ' (space), '-' (hyphen), 'm', or 'y' for entering a month or year. Take your pick.
	NOTE: Do not enter a plus sign, this is only to represent pressing the number and then the [space] key or graffiti stroke.

	1 + [space] = Change month to january
	2 + [space] = Change month to february
	...
	12 + [space] = Change month to december

	Year Entry:	(valid values are from 1904 to 2031)
	Use a '/' (slash), ',' (comma), '.' (period), ':' (Colon), ' ' (space), '-' (hyphen), 'm', or 'y' for entering a month or year. Take your pick.
	1945 + [space] = Change year to 1945
	2020 + [space] = Change year to 2020

	Day Entry:	(valid values are from 1 to last day of current month)
	Use an [Enter] or 'd' for selecting the day.
	When you enter a date, you will be returned to the calling program with the currently selected month, day, and year passed back.
	NOTE: Do not enter a plus sign, this is only to represent pressing the number and then the [enter] key or graffiti stroke.
	
	23 + [enter] = selecting the 23rd on the calendar

	NOTE: Entering a date returns that date with the current month and year. 
	      ** Always choose the date last **

	Combined Examples:		Enter only the items between the quotes
	"4m23d"	= shows April and then returns the 23rd of April with the currently selected year

	"1957y7m14d" returns --> 14 July 1957

	"1957/7/14[enter]" returns --> 14 July 1957

	'T' or 't' key - Same as pressing the Today, This Week, or This Month buttons on the dialog.
	Esc key - Same as pressing the Cancel Button on the dialog.
	Backspace key - Delete the last number entered.  Example: 1 + 2 + [backspace] --> 1
	Delete key - Delete the entire number entered. 1 + 2 + 3 + [delete] --> nothing entered

	REMEMBER: When you enter the date, you will exit the dialog. Always enter the date last.



==================================================
8. Future Enhancement Ideas

	* Six month view
	* Special versions for the High resolution palm screens
		- including the one year view with dates on the calendars
	* Full versions for German, French, Spanish, and Italian.

	NOTE: Your ideas are welcome!



==================================================
9. Bug Reporting

	To report a bug, or make a suggestion, you can contact me at:

	tcchap@hotmail.com



==================================================
10. Registration

This program is shareware.  The unregistered version is nag free for 15 days, then you must register the program to turn off the nag screens.

If you like the program and wish to get a code to unlock the program, follow the instructions below.

Registering will provide you the following:
	A code to unlock your version of SelectDayHack for no more Nag Screens!

Registration is $5.00 (US)

Registration is available through several services:

http://www.Handango.com
	1. Search for "SelectDay".
	2. Click "Add to Cart".
	3. Purchase SelectDay Hack and enter your Hotsync Username.
	4. You will receive a Registration Code that will validate your copy of SelectDay Hack.

or

http://www.palmgear.com
	1. Search for "SelectDay".
	2. Click on the "Buy" Button.
	3. Purchase SelectDay Hack and enter your Hotsync Username.
	4. You will receive a Registration Code that will validate your copy of SelectDay Hack.

or

http://pdassi.de	(Germany)
	1. Search for "SelectDay".
	2. Click "Kaufen" or "Add to Cart"
	3. Purchase SelectDay Hack and enter your Hotsync Username.
	4. I will get an email that says you have purchased SelectDay Hack.
	5. I will then send you a Registration Code that will validate your copy of SelectDay Hack.

or

http://www.paypal.com/

	PayPal allows you to send money to anyone with an email address. 

	1. Sign-in, and click Send Money, 
	2. Enter my email address (tcchap@hotmail.com) as the recipient 
	3. Enter $5 as the amount you wish to send.
	4. In the note include your Hotsync Username, and that this payment is for a SelectDay Hack Registration.
	5. You can pay with a credit card or checking account. 
	6. I will get an email that says "Youve Got Cash!"
	7. I will then send you a Registration Code that will validate your copy of SelectDay Hack.


or, If none of the above options will work for you, write me and I will send you an address where you can send a money order...



==================================================
11. Versions & Changes

2.2 - 04/09/02	- Added Sony JogDial support.
		- Other minor fixes and improvements.
		- Decreased program size.

2.1 - 04/05/02	- Year pull-down list improvements, more years and future years.
		- Added 1 month scrolling option to the 4 month view.
		- Added key click sounds to improve usability.
		- Added period and colon support to keyboard date entries.
		- Added a full memory alert before showing the built-in SelectDay.
		- Changed the 'More' Button to a 'Calc' Button and switched its location.
		- Decreased program size.

2.0 - 03/27/02	- Now includes two versions, a Hackmaster Hack and Standalone Application.
		- Added the ability to calculate a date by days, weeks, months, etc...
		- Added view options the configuration panel.
		- Added optional week numbers to each view.
		- Added option to choose the week starting day as any day of the week.
		- Fixed the one year view of a 4 week month like February 1998.

1.1 - 03/18/02	- Tested with German, French, Spanish, Italian, and Japanese
		- Some text changes for DE, FR, ES, IT
		- Minor changes for Japanese systems
		- Full month names in 4 month view
		- Fixed inverted title text display bug
		- Tested and fixed to work with Palm OS 2.0
		
1.0 - 03/16/02	- Initial release.  



==================================================
12. Known bugs/Issues & workarounds, if available:

	- None Known



==================================================
13. FAQ's

Q: After choosing Activate SelectDay in the SelectDay application, I get a note to delete the SelectDayHack? What does this mean?
A: You have both the Hack version and the Application installed. You only need one of the two files. The SelectDay Application works all by itself, without any help from the SelectDayHack. If you wish to continue using the application, then choose to delete the SelectDayHack. This will not affect any other applications or settings.

Q: I can't find SelectDay on my palm anywhere. Not even from the Application Launcher information menu.
A: You must first double click the application on your computer and hotsync it to your palm. See the section on Installing and Upgrading.

Q: SelectDay shows up in the launcher information, but I can't find an icon for it in my launcher.
A: SelectDayHack does not have an icon. You will activate, and setup SelectDayHack from within X-Master or Hackmaster.

Q: I don't see the new calendar when I choose configure SelectDay from X-Master or Hackmaster.
A: SelectDay will only come up in other programs. After you activate the SelectDayHack within X-Master or Hackmaster, then whenever you go to select a date, it will be there. There is no way to see the calendar within hackmaster. Try the new calendar out with the "Go To" button in Datebook.

Q: How does a hack work?
A: When you activate a hack in X-Master, the hack is putting a jump to its code in place of the jump to the ROM code.  When that system call is called, then the hack will run instead of the normal ROM function.

Q: What system calls is SelectDay replacing?
A: It sits in for the SelectDay call in ROM, hence the name.

Q: What happens when SelectDayHack or SelectDayApp is active?
A: Whenever the built-in SelectDay function is requested from one of your applications, then the SelectDayHack or SelectDayApp will take over.  After finishing, it returns the expected values to your program.

Q: Does the SelectDayHack or SelectDayApp work the same as the built-in SelectDay?
A: Your program would never know anything different has happened.

Q: After choosing the week view in Datebook and hitting "GO TO", the SelectDayHack shows no month titles.
A: This has been fixed in SelectDay version 1.1

