function doDefault(trigger, target, values) {    var targetField = document.getElementById(target);    if (targetField != null) {        var i = 0;        var keepChecking = true;        while (keepChecking) {            if (values["t" + i]) {                var triggerValue = values["t" + i];                var effectValue = values["e" + i];                if (trigger.value == triggerValue) {                    targetField.value = effectValue;                    return;                }            } else {                keepChecking = false;            }            i++;        }    } else {        alert("Failed to find field: " + target + " for defaulting");    }    return;}
function validateTimeEntry(field) {    if (field.value != null && field.value.length > 0) {        var valid = true;        var value = field.value;        value = value.replace(":", "");        if (isNumeric(value)) {            if (value.length == 1) {                value = "0" + value + ":00";            } else if (value.length == 2) {                value = value + ":00";            } else if (value.length == 4) {                value = value.substring(0, 2) + ":" + value.substring(2);            }            if (isTime(value)) {                field.value = value;            } else {                valid = false;            }        } else {            valid = false;        }        if (valid == false) {            alert(field.value + " is not a valid time.");            field.value = "";            field.focus();        }    }    return;}
function isNumeric(s) {    var r = /^[0-9]*$/;    return r.test(s);}
function isTime(s) {    var r = /^([0-1][0-9]|[2][0-3]):([0-5][0-9])$/;    return r.test(s);}
var KeySubmitableForm = Class.create();
KeySubmitableForm.prototype = {
    initialize: function(f) {
        this.form = f;
        var elements = Form.getElements(f);
        for (var i = 0; i < elements.length; i++) {
            Event.observe(elements[i], "keydown", this.submitOnEnter.bind(this));
        }
    },
    
    submitOnEnter: function(e) {
        if (e.keyCode == Event.KEY_RETURN) {
            this.form.submit();            return false;
        }        return true;
    }
}

Event.observe(window, "load", function() {
    var forms = $$("form.keysubmitable");
    if (forms != null) {
        for (var i = 0; i < forms.length; i++) {
            new KeySubmitableForm(forms[i]);
        }
    }
});
var Gaia = { };Gaia.KB = {    init: function() {        var tagCloud = $("tagcloud");        tagCloud.select("span").each(function(s) {            var text = s.innerHTML;            s.style.cursor = "pointer";            Event.observe(s, "click", Gaia.KB.open.bind(Gaia.KB, text));        });    },    open: function(text) {        window.location = "searchTag.php?tag=" + text;    }};