    function initHighlight() {
        if (!document.getElementsByTagName){ return; }
        var f_input = document.getElementsByTagName("input");
        var f_txtarea = document.getElementsByTagName("textarea");
        var f_select = document.getElementsByTagName("select");
        applyHighlightClasses(f_input);
        applyHighlightClasses(f_txtarea);
        applyHighlightClasses(f_select);
    }
    function applyHighlightClasses(fieldcollection){
         for (var i = 0 ; i < fieldcollection.length ; i++){
            var field = fieldcollection[i];
            field.onfocus = function () {this.className = 'highlightActiveField'; }
            field.onblur = function () {this.className = 'highlightInactiveField'; }
        }      
    }
    // Nifty function to add onload events without overwriting
    // ones already there courtesy of the lovely and talented
    // Simon Willison http://simon.incutio.com/
    function addLoadEvent(func) {   
        var oldonload = window.onload;
        if (typeof window.onload != 'function'){
            window.onload = func;
        } else {
            window.onload = function(){
                oldonload();
                func();
            }
        }
    }