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();
} );