				YAHOO.example.Data = {
					schedules: schedulesAutoCompleteData
				};
				
				YAHOO.example.BasicLocal = function() {
				    // Use a LocalDataSource
				    var oDS = new YAHOO.util.LocalDataSource(YAHOO.example.Data.schedules);
				    // Optional to define fields for single-dimensional array
				    oDS.responseSchema = {fields : ["id", "url"]};
				
				    // Instantiate the AutoComplete
				    var oAC = new YAHOO.widget.AutoComplete("routeId", "myContainer", oDS);
				    oAC.resultTypeList = false;				    
				    oAC.prehighlightClassName = "yui-ac-prehighlight";
				    oAC.useShadow = true;
				    oAC.forceSelection = false; 
				    oAC.animSpeed=.05;
				    oAC.maxResultsDisplayed = 20;
				    
				    // Define an event handler to populate a hidden form field
				    // when an item gets selected
				    var myHiddenField = YAHOO.util.Dom.get("routeUrl");
				    var myHandler = function(sType, aArgs) {
				        var myAC = aArgs[0]; // reference back to the AC instance
				        var elLI = aArgs[1]; // reference to the selected LI element
				        var oData = aArgs[2]; // object literal of selected item's result data
				        
				        // update hidden form field with the selected item's ID
				       window.location = oData.url;
				    };
				    oAC.itemSelectEvent.subscribe(myHandler);
				    
				    // Rather than submit the form,
				    // alert the stored ID instead
				    var onFormSubmit = function(e, myForm) {
				        YAHOO.util.Event.preventDefault(e);
				        window.location=myHiddenField.value;
				    };
				    
				    
				    YAHOO.util.Event.addListener(YAHOO.util.Dom.get("scheduleFinder"), "submit", onFormSubmit);
				    return {
				        oDS: oDS,
				        oAC: oAC
				    };
				}();