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);
|
});
|
});
|
};
|
|
// Auto set on page load...
|
$(document).ready(function() {
|
jQuery('form.uniForm').uniform();
|
});
|