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();
	  var grandParent = parent.parent();
      
      while(typeof(parent) == 'object') {
          var parentTag = parent.get(0).className;
		  var grandParentTag = grandParent.get(0).className;										// custom
        if(parent && parentTag != 'buttonHolder' ) {			
          if(parent[0] && (parent[0].className.indexOf(settings.holder_class) >= 0)) {
            parent.addClass(settings.focused_class);
            return;
          } // if
		  else if(grandParent && grandParentTag != 'buttonHolder' ) {								// custom			
          	if(grandParent[0] && (grandParent[0].className.indexOf(settings.holder_class) >= 0)) {	// custom
            	grandParent.addClass(settings.focused_class);										// custom
           	 return;																				// custom
          	} // if																					// custom
       	  } // if
        } // if
		 
        return
        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();
});


//  used to adjust legend tags
function TJK_legend(){// v1.0 Copyright (c) 2006 TJKDesign - Thierry Koblentz
  if (document.getElementsByTagName && document.createElement){
	var zLegend = document.getElementsByTagName("legend");
  	for (i=0;i<zLegend.length;i++){
		var zSpan = document.createElement("span");
		var zData = document.createTextNode(zLegend[i].firstChild.data);
		zSpan.appendChild(zData);
		zLegend[i].firstChild.data="";
		zLegend[i].appendChild(zSpan);
		}
	}
}