| 123456789101112131415161718192021222324252627282930313233343536373839 | /* appjet:version 0.1 *//* appjet:library */// Copyright (c) 2009, Herbert Vojčík// Licensed by MIT license (http://www.opensource.org/licenses/mit-license.php)var _links = null;function _setup() {    _links = {};    page.head.write("<style type='text/css'>\n"+    "	#appjetfooterlinks a { text-decoration:none; color:#666; }\n"+    "</style>\n");    import({}, "lib-support/footer").extendTheFooter(function() {        var result = SPAN({id:"appjetfooterlinks"}), delim = "";        eachProperty(_links, function(key, value) {            result.push(delim, link(key, value.replace(" ", "\xa0", "g"))); // non-breaking spaces            delim = " - ";        });        return result;    });}/** * Puts a link into the footer. * Beyond its direct use, this function is very convenient * for libraries that integrate into application and reserve * some path to include link to themselves in the footer. */function setFooterLink(url, name) {    if (!_links) { _setup(); }    _links[url] = name;}/* appjet:server */import(appjet.appName);setFooterLink("/testrunner/results", "Test Runner");setFooterLink("/lib-files/", "Files");setFooterLink("/lib-files/", "File repository");
 |