jQuery.fn.uniform = function(settings) {
    settings = jQuery.extend({
        valid_class: 'valid',
        invalid_class: 'invalid',
        focused_class: 'focused',
        holder_class: 'ctrlHolder',
        field_selector: 'input, select, textarea'
    }, settings);

    return this.each(function() {
        var form = jQuery(this);

        // Focus specific control holder
        var focusControlHolder = function(element) {
            var parent = element.parent();


            //    Ken 012509 Parent(0) failing when selecting the material for a custom shade.
            while (typeof (parent) == 'object') {
                if (parent) {
                    //  This field is empty on the ones that fail
                    if (parent[0] && (parent[0].className.indexOf(settings.holder_class) >= 0)) {
                        parent.addClass(settings.focused_class);
                        return;
                    } // if
                } // if
                parent = jQuery(parent.parent());
            } // while
        };

        // Select form fields and attach them higlighter functionality
        form.find(settings.field_selector).focus(function() {
            form.find('.' + settings.focused_class).removeClass(settings.focused_class);
            focusControlHolder(jQuery(this));
        }).blur(function() {
            form.find('.' + settings.focused_class).removeClass(settings.focused_class);
        });
    });
};

// Auto set on page load...
$(document).ready(function() {
  jQuery('form.uniForm').uniform();
});