CmdUtils.CreateCommand({ name: "bus-schedule", takes: {"route": noun_arb_text}, icon: "http://transit.metrokc.gov/favicon.ico", homepage: "http://endofline.wordpress.com", author: {name: "Adam Sanderson", email: "netghost@gmail.com"}, license: "MPL", description: "Look up King County Metro bus route", help: "Select a bus route", _url: function(directObject){ var url = "http://transit.metrokc.gov/cftemplates/show_schedule.cfm?BUS_ROUTE={QUERY}" var urlString = url.replace("{QUERY}", directObject.text); return urlString; }, execute: function(directObject){ var urlString = this._url(directObject); Utils.openUrlInBrowser(urlString); }, preview: function(pblock, directObject){ searchText = jQuery.trim(directObject.text); if(searchText.length <= 0) { pblock.innerHTML = "Look up King County Metro bus route"; } else { jQuery.get( this._url(directObject), function(res) { var previewTemplate = "Look up route ${query} (${ok})"; var ok = !res.match("No Schedule") ? "Found" : " Not Found"; var previewData = {query: searchText, ok: ok}; pblock.innerHTML = CmdUtils.renderTemplate(previewTemplate, previewData); }); } } });