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();
            
            while (typeof(parent) == 'object') {
                if (parent) {
                    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);
        });
    });
};

$(document).ready(function(){
    jQuery('form.uniForm').uniform();
});

