| Day 1 
 Topic 1: Basic Language Elements
 | 
				
|  | Key points
 HTML and JavaScript
 Why use JavaScript?
 JavaScript Demo
 Basic syntax
 Exercise: Basic syntax
 Basic syntax summary
 Simple dialog boxes
 If structure
 Exercise: If structure at Console
 Boolean operators
 Exercise: Boolean operators at Console
 
 
 | 
			  | Topic 2: Object Hierarchy | 
              
|  | Key points
 Browser object model
 Object Browser Subform
 DOM vis a vis DOM
 DOM to DOM limitations
 Other objects
 
 
 | 
			  | Topic 3: Event Handlers | 
              
|  | Key points
 Event handler basics
 Exercise: Investigate event handlers
 
 
 | 
			  | Topic 4: Functions | 
              
|  | Key points
 Function syntax
 Returning a value from a function
 Exercise: Function at the Console
 Calling functions from a document
 Formatting JavaScript on a page
 Commented code
 Multiple conditions
 Exercise: Function on a page
 
 
 | 
			  | Topic 5: Using Domino Designer | 
              
|  | Key points
 HTML page structure
 Getting JavaScript into the <HEAD> tag
 Getting JavaScript onto the page
 Web DOM/Notes DOM Reference
 JavaScript libraries
 
 
 | 
			  | Topic 6: Accessing Objects | 
              
|  | Key points
 Accessing JavaScript objects
 Exercise: Accessing Field object
 String object
 String object parsing methods
 Regular expressions
 Number conversion
 
 
 | 
			  | Topic 7: Looping Structures | 
              
|  | Key points
 While structure
 For structure
 Breaking out of a loop
 Exercise: For and while structures
 
 
 | 
			  | Topic 8: Arrays | 
              
|  | Key points
 Arrays
 How to declare an array
 Using array values
 Out-of-bound errors
 Exercise: URL commands and arrays
 
 
 | 
			  | Topic 9: Field Access | 
              
|  | Key points
 Text Field access
 With statement
 JavaScript access to computed/hidden Fields in Edit mode
 JavaScript access to computed/hidden Fields in Read mode
 Parsing multi-value Field into an array
 <SELECT> Field access
 Radio button
 Checkbox
 Exercise: Accessing Fields
 Exercise: Searching from a Page
 
 
 | 
			  | Topic 10: Field Event Handlers | 
              
|  | Key points
 Field-level help in the onFocus event
 Link event handlers
 Field translation
 Input Validation event
 Validation via Field event handlers
 Alert() and Focus() interactions
 Multiple tests for validation
 Generic function to test for empty Field
 Select Field validation
 Radio and Checkbox validation
 String format validation
 Date validation via JavaScript
 Date validation via @Functions
 Field computation
 Exercise: Recalc using JavaScript
 
 
 | 
			  | Topic 11: Form Validation | 
              
|  | Key points
 Field-level event handler caveats
 onSubmit event handler
 Keeping the <FORM> tag compact
 Conditionally call form.submit()
 Exercise: Form validation
 
 
 | 
			  | Day 2 
 Topic 12: Window Object
 | 
              
|  | Key points
 Open window using HTML
 Open window using JavaScript
 Window features
 Focus on window
 Set window status
 Print window
 Write to window
 Close window
 Window opener property
 Exercise: Help window
 Custom dialog boxes
 Simulating @Dialogbox
 Simulating @Picklist
 Address book lookup dialogbox
 
 
 | 
			  | Topic 13: Frame Object | 
              
|  | Key points
 Frames are like windows
 Frame basics
 Example frameset
 Targeting frame content using HTML
 Dynamic frames via JavaScript
 Exercise: Context-sensitive help
 
 
 | 
			  | Topic 14: Location Object | 
              
|  | Key points
 Location is where you are
 Location properties
 Location object versus Path_info CGI variable
 Working with the href property
 Setting the location
 Replacing the location
 Reloading the page
 Prevent from being framed
 Frame your pages
 "Menu Options"
 Menu Option 1: Select with button
 Menu Option 2: Select w/o button
 Exercise: Image viewer window
 
 
 | 
			  | Topic 15: Cookies | 
              
|  | Key points
 Three mechanisms
 What is a cookie?
 Privacy issues
 Set cookie using META tag
 Read cookie using CGI variable
 Weaknesses of HTTP/HTML methods
 Set cookie using JavaScript
 Example: Set cookie
 Get cookie using JavaScript
 Parse cookie values
 Delete cookie
 Exercise: Default Field values using Cookie
 
 
 | 
			  | Topic 16: Browser Compatibility | 
              
|  | Key points
 JavaScript language standards
 Object model standards
 Hiding JavaScript from non-compliant browsers
 Detecting browser using CGI variable
 Detecting browser using @BrowserInfo
 Detecting browser using JavaScript
 The problem with browser detection of JavaScript
 JavaScript version detection
 Feature capability detection
 Code strategies
 
 
 | 
			  | Topic 17: Debugging and Error Handling | 
              
|  | Key points
 Debugging
 Microsoft Script Debugger
 Netscape JavaScript Debugger
 Simple debugging techniques
 Generic error trapping
 Testing data type
 Testing for NaN
 Testing for "null" and "undefined" and ""
 "Object is not defined" errors
 Eliminating "Object is not defined" errors
 
 
 | 
			  | Topic 18: Language and Data Integration | 
              
|  | Key points
 Design goals
 Basic flow
 Splash Page
 SiteRegistration Form
 SiteRegistration Submit process
 SiteRegistration Webquerysave Agent
 Forms versus Pages
 MainForm Form
 Computed Subform formula on MainForm
 Links from the Home Page
 Adding new pages
 Conclusion
 
 
 | 
			  | Topic 19: JavaScript to Java via LiveConnect | 
              
|  | Key points
 Embed simple JavaBean
 Java applet parameters
 Dynamic parameters
 LiveConnect
 Investigating the applet object
 lotus.domino.AppletBase applet
 How the lotus.domino.AppletBase applet works
 Domino Server settings
 Client settings
 How to use the lotus.domino.AppletBase applet
 Accessing Domino objects via JavaScript
 Java Console
 Common errors with lotus.domino.AppletBase
 
 
 | 
			  | Topic 20: JavaScript Resources | 
              
|  | Key points
 JavaScript Reference
 JScript Reference
 ECMAScript-262 Reference
 Internet Explorer Object Hierarchy
 JavaScript Code Examples
 |