' Purpose: Holds the Subs and Functions which are used as
' "Tools" in handling website activities (Such as loading url's,
' encoding url's and such).
'
'
' Public Cosntants.
'
' Results Per Page of a Book Results Page.
Public Const RESULTS_PER_PAGE As Integer = 25
' Various Constants related to the Search URL.
Public Const AMAZON_URL As String = "http://www.amazon.com"
Public Const SEARCH_URL_PREFIX As String = "/exec/obidos/search-handle-url/ix=books&rank=%2Bamzrank&fqp="
Public Const SEARCH_URL_SUFFIX As String = "&sz=25&pg=<Page Number>/ref=s_b_np/002-0029107-7786404"
Public Const BOOK_PAGE_URL As String = "http://www.amazon.com/exec/obidos/ASIN/<ISBN>/qid=979490648/sr=2-1/ref=sc_b_1/002-0029107-7786404"
Public Const SW_SHOW = 5
Public Const SYNCHRONIZE = &H100000
Public Const INFINITE = -1&
'
' API Declarations
'
Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Public Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Public Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long
Public Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, lpData As Any, lpcbData As Long) As Long
'
' Public Variables.
'
' An Array of the Books found by the book search.
Public gclsBooks() As clsBook
' The Number of Matches found.
Public glngResultsCount As Long
' The Current Results Page and Book Page being downloaded.
Public gintCurrentPage As Long, glngCurrentBook As Integer
' The Number of Results Pages.
Public gintResultPageCount As Integer
' A Global flag variable used for stopping the search.
Public gblnStopSearch As Boolean
'
' Public Subs.
'
'
' Opens a URL in the default web browser.
'
Public Sub OpenURL(ParentHwnd As Long, ByVal URL As String)