function setPropertyById(id, property, value) {
    if (document.getElementById) {
        eval("document.getElementById('" + id + "').style." + property + " = '" + value + "'");
    } else if (document.layers) {
        eval("document.layers['" + id + "']." + property + " = '" + value + "'");
    } else if (document.all) {
        eval("document.all." + id + ".style." + property + " = '" + value + "'");
    }
}

function getElementById(id) {
    if (document.getElementById) {
        return document.getElementById(id);
    } else if (document.layers) {
        return document.layers[id];
    } else if (document.all) {
        return document.all.id;
    }
}
                
function setPropertyByClass(cls, property, value) {
    var tags;
    if (document.getElementById) {
        tags = document.getElementsByTagName("*")
    } else if (document.layers) {
        tags = document.layers;
    } else if (document.all) {
        tags = document.all;
    }
    for (i = 0; i < tags.length; i++) {
        if (tags[i].className.indexOf(cls) > -1) {
            setPropertyById(tags[i].id, property, value);
        }
    }
}

function addEvent(obj, evType, fn) {
    if (obj.addEventListener) {
        obj.addEventListener(evType, fn, true);
        return true;
    } else if (obj.attachEvent) {
        var r = obj.attachEvent("on"+evType, fn);
        return r;
    } else {
        return false;
    }
}
 
function getLabelForId(id) {
    var label, labels = document.getElementsByTagName('label');
    for (var i = 0; (label = labels[i]); i++) {
        if (label.htmlFor == id) {
            return label;
        }
    }
    return false;
}
