diff options
Diffstat (limited to 'theme/admin/js/uni-form.jquery.js')
| -rwxr-xr-x | theme/admin/js/uni-form.jquery.js | 41 |
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 @@ | |||
| 1 | jQuery.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 | ||
