var event_info   = new Array();
var course_info  = new Array();
event_info[0] = "SB-01002\\Tue 07 Sep 2010 11:00:00 -0600";
event_info[1] = "SB-01003\\Thu 09 Sep 2010 11:00:00 -0600";
event_info[2] = "U2-01002\\Tue 11 Jan 2011 09:00:00 -0700";
event_info[3] = "SB-01002\\Thu 13 Jan 2011 09:00:00 -0700";
event_info[4] = "U2-03001\\Tue 18 Jan 2011 09:00:00 -0700";
event_info[5] = "SB-02002\\Tue 25 Jan 2011 09:00:00 -0700";
event_info[6] = "SB-01002\\Mon 12 Sep 2011 14:00:00 -0600";
event_info[7] = "SB-01004\\Tue 13 Sep 2011 14:00:00 -0600";
event_info[8] = "SB-01003\\Wed 14 Sep 2011 14:00:00 -0600";
event_info[9] = "SB-01005\\Thu 15 Sep 2011 14:00:00 -0600";
event_info[10] = "SB-02005\\Fri 16 Sep 2011 14:00:00 -0600";
course_info["SB-01002"] = "90\\Fundamentals of SB+ Screen Development\\This course takes a first look at the SB+ Screen Definitions tool (/SD), demonstrating proven techniques for constructing a basic entry or query screen with minimal effort.  Topics explored in this course include:<br> <ul> <li>Overview of the primary tools directly related to screen definitions;</li> <li>Understanding the difference between the screen definition and the input process;</li> <li>Creating files;</li> <li>Creating fields;</li> <li>Placing fields on a screen definition;</li> <li>Rearranging fields on the screen;</li> <li>Changing prompting sequence of the fields on a screen;</li> <li>Adding graphics to a screen definition;</li> <li>Running the screen.</li> </ul>";
course_info["SB-01003"] = "120\\The Right Stuff: Validating User Entries With SB+\\This course explores the various options available for validating user input on an SB+ entry screen. Topics explored in this course include: <ul> <li>Where validation fits into the &quot;big picture&quot;;</li> <li>Understanding the different types of validation options  available and any limitations for each;</li> <li>General format and structure of validation codes;</li> <li>Understanding validation overrides - how, when, and where;</li> <li>Error messaging options.</li>";
course_info["SB-01004"] = "90\\Using SB+ Field Defaults\\In this course we'll look at a number of options available for calculating and setting field level defaults for an SB+ entry screen.  Topics explored in this session include: <br> <ul> <li>What is a default?</li> <li>Literal defaults;</li> <li>Conditional defaults;</li> <li>File read defaults;</li> <li>Calling a process and/or subroutine to calculate a default;</li> <li>Default overrides - how, when, and where?</li> <li>Understanding the features and limitations of &quot;defaults up front&quot;;</li> <li>Mandatory defaults;</li> <li>Skip Defaults;</li> <li>Mandatory Skip Defaults.</li> </ul>";
course_info["SB-01005"] = "90\\Assisting Your Users with SB+ F1 and F3 Help\\This course will take a first look at the F1 help and F3 intuitive help, demonstrating how you can easily add these powerful features to your own application without working too hard in the process.  Topics explored in this course include: <br> <ul> <li>Easily building great F1 help;</li> <li>An introduction to selection processes;</li> <li>Various ways to display a list for selection.</li> </ul>";
course_info["SB-02002"] = "120\\SB+ Paragraph Language Primer\\The SB+ Paragraph language provides the SB+ developer with a great deal of power without a lot of syntax - usually far less syntax than doing the same tasks in BASIC! This can save you loads of time, though if you're unfamiliar with the language it can unfortunately add time to your project. So unless you have time to burn, come join us and find ways that you can: <ul> <li>Get the most from the paragraph definition tool;</li> <li>Understand the different syntax and structures available in the paragraph language;</li> <li>See how small, reusable code fragments can actually save your company tons of money over the lifecycle of a project.</li> </ul>";
course_info["SB-02005"] = "90\\Enhanced SB+ Screen Definitions\\This course is an in-depth exploration of the process slots on the Screen Definition F6-Params screen, with special emphasis on: <ul> <li>Easy ways to implement complex multi-file updates that anyone can understand six months later.</li> <li>Uncover secrets of the Process After Read, it's real purpose, and limitations.</li> </ul> <p>Process slots discussed include:</p> <ul> <li>Process Before Screen</li> <li>Process After Display</li> <li>Process After Read</li> <li>Process After Screen Accept</li> <li>Process After Update</li> <li>Process After Esc</li> </ul>";
course_info["U2-01002"] = "90\\Working with Unidata Files\\As a database, the primary focus of the Unidata environment is the storage and retrieval of information. This course takes a first look at how to create, delete, and manage Unidata files. Topics explored in this course include: <ul> <li>Understanding the different types of Unidata files</li> <li>Understanding the different parts of a Unidata file</li> <li>Creating and deleting files</li> <li>Managing files, including clearing and resizing</li> </ul>";
course_info["U2-03001"] = "120\\Introduction to U2 BASIC\\The BASIC programming language forms the foundation for implementation on the U2 platforms. In this course we'll take a first look at the U2 BASIC language with specific emphasis on: <ul> <li>Creating, compiling, and running programs;</li> <li>Understanding variables in the BASIC program;</li> <li>Exploring the differences between dimensioned and dynamic arrays;</li> <li>Using simple screen and printer I/O to capture input and produce output;</li> <li>Fundamentals of BASIC programming style.</li> </ul> <p><i>Note: While the examples in this course will be illustrated on a Unidata platform, the material presented in this course is universally applicable to<br>all Multivalue platforms.</i></p>";

