summary refs log tree commit diff stats
path: root/theme/admin/js/uni-form.jquery.js
diff options
context:
space:
mode:
Diffstat (limited to 'theme/admin/js/uni-form.jquery.js')
-rwxr-xr-xtheme/admin/js/uni-form.jquery.js41
1 files changed, 41 insertions, 0 deletions
diff --git a/theme/admin/js/uni-form.jquery.js b/theme/admin/js/uni-form.jquery.js new file mode 100755 index 0000000..9786dde --- /dev/null +++ b/theme/admin/js/uni-form.jquery.js
@@ -0,0 +1,41 @@
1jQuery.fn.uniform = function(settings) {
2 settings = jQuery.extend({
3 valid_class : 'valid',
4 invalid_class : 'invalid',
5 focused_class : 'focused',
6 holder_class : 'ctrlHolder',
7 field_selector : 'input, select, textarea'
8 }, settings);
9
10 return this.each(function() {
11 var form = jQuery(this);
12
13 // Focus specific control holder
14 var focusControlHolder = function(element) {
15 var parent = element.parent();
16
17 while(typeof(parent) == 'object') {
18 if(parent) {
19 if(parent[0] && (parent[0].className.indexOf(settings.holder_class) >= 0)) {
20 parent.addClass(settings.focused_class);
21 return;
22 } // if
23 } // if
24 parent = jQuery(parent.parent());
25 } // while
26 };
27
28 // Select form fields and attach them higlighter functionality
29 form.find(settings.field_selector).focus(function() {
30 form.find('.' + settings.focused_class).removeClass(settings.focused_class);
31 focusControlHolder(jQuery(this));
32 }).blur(function() {
33 form.find('.' + settings.focused_class).removeClass(settings.focused_class);
34 });
35 });
36};
37
38// Auto set on page load...
39$(document).ready(function() {
40 jQuery('form.uniForm').uniform();
41}); \ No newline at end of file