PageSourceSearch

https://outreachjudaism.org/app/plugins/obox-social-commerce/admin…?ver=c9dba8d3c1a815415d0ba109f38e7e50

js outreachjudaism.org collected 2026-09-24 17:37:38 UTC 20,256 bytes, 672 lines download raw bytes

1/*
2
3Uniform v1.7.5
4Copyright © 2009 Josh Pyles / Pixelmatrix Design LLC
5http://pixelmatrixdesign.com
6
7Requires jQuery 1.4 or newer
8
9Much thanks to Thomas Reynolds and Buck Wilson for their help and advice on this
10
11Disabling text selection is made possible by Mathias Bynens <http://mathiasbynens.be/>
12and his noSelect plugin. <http://github.com/mathiasbynens/noSelect-jQuery-Plugin>
13
14Also, thanks to David Kaneda and Eugene Bond for their contributions to the plugin
15
16License:
17MIT License - http://www.opensource.org/licenses/mit-license.php
18
19Enjoy!
20
21*/
22
23(function($) {
24  $.uniform = {
25    options: {
26      selectClass:   'selector',
27      radioClass: 'radio',
28      checkboxClass: 'checker',
29      fileClass: 'uploader',
30      filenameClass: 'filename',
31      fileBtnClass: 'action',
32      fileDefaultText: 'No file selected',
33      fileBtnText: 'Choose File',
34      checkedClass: 'checked',
35      focusClass: 'focus',
36      disabledClass: 'disabled',
37      buttonClass: 'button',
38      activeClass: 'active',
39      hoverClass: 'hover',
40      useID: true,
41      idPrefix: 'uniform',
42      resetSelector: false,
43      autoHide: true
44    },
45    elements: []
46  };
47
48  if($.browser.msie && $.browser.version < 7){
49    $.support.selectOpacity = false;
50  }else{
51    $.support.selectOpacity = true;
52  }
53
54  $.fn.uniform = function(options) {
55
56    options = $.extend($.uniform.options, options);
57
58    var el = this;
59    //code for specifying a reset button
60    if(options.resetSelector != false){
61      $(options.resetSelector).mouseup(function(){
62        function resetThis(){
63          $.uniform.update(el);
64        }
65        setTimeout(resetThis, 10);
66      });
67    }
68    
69    function doInput(elem){
70      $el = $(elem);
71      $el.addClass($el.attr("type"));
72      storeElement(elem);
73    }
74    
75    function doTextarea(elem){
76      $(elem).addClass("uniform");
77      storeElement(elem);
78    }
79    
80    function doButton(elem){
81      var $el = $(elem);
82      
83      var divTag = $("<div>"),
84          spanTag = $("<span>");
85      
86      divTag.addClass(options.buttonClass);
87      
88      if(options.useID && $el.attr("id") != "") divTag.attr("id", options.idPrefix+"-"+$el.attr("id"));
89      
90      var btnText;
91      
92      if($el.is("a") || $el.is("button")){
93        btnText = $el.text();
94      }else if($el.is(":submit") || $el.is(":reset") || $el.is("input[type=button]")){
95        btnText = $el.attr("value");
96      }
97      
98      btnText = btnText == "" ? $el.is(":reset") ? "Reset" : "Submit" : btnText;
99      
100      spanTag.html(btnText);
101      
102      $el.css("opacity", 0);
103      $el.wrap(divTag);
104      $el.wrap(spanTag);
105      
106      //redefine variables
107      divTag = $el.closest("div");
108      spanTag = $el.closest("span");
109      
110      if($el.is(":disabled")) divTag.addClass(options.disabledClass);
111      
112      divTag.bind({
113        "mouseenter.uniform": function(){
114          divTag.addClass(options.hoverClass);
115        },
116        "mouseleave.uniform": function(){
117          divTag.removeClass(options.hoverClass);
118          divTag.removeClass(options.activeClass);
119        },
120        "mousedown.uniform touchbegin.uniform": function(){
121          divTag.addClass(options.activeClass);
122        },
123        "mouseup.uniform touchend.uniform": function(){
124          divTag.removeClass(options.activeClass);
125        },
126        "click.uniform touchend.uniform": function(e){
127          if($(e.target).is("span") || $(e.target).is("div")){    
128            if(elem[0].dispatchEvent){
129              var ev = document.createEvent('MouseEvents');
130              ev.initEvent( 'click', true, true );
131              elem[0].dispatchEvent(ev);
132            }else{
133              elem[0].click();
134            }
135          }
136        }
137      });
138      
139      elem.bind({
140        "focus.uniform": function(){
141          divTag.addClass(options.focusClass);
142        },
143        "blur.uniform": function(){
144          divTag.removeClass(options.focusClass);
145        }
146      });
147      
148      $.uniform.noSelect(divTag);
149      storeElement(elem);
150      
151    }
152
153    function doSelect(elem){
154      var $el = $(elem);
155      
156      var divTag = $('<div />'),
157          spanTag = $('<span />');
158      
159      if(!$el.css("display") == "none" && options.autoHide){
160        divTag.hide();
161      }
162
163      divTag.addClass(options.selectClass);
164
165      if(options.useID && elem.attr("id") != ""){
166        divTag.attr("id", options.idPrefix+"-"+elem.attr("id"));
167      }
168      
169      var selected = elem.find(":selected:first");
170      if(selected.length == 0){
171        selected = elem.find("option:first");
172      }
173      spanTag.html(selected.html());
174      
175      elem.css('opacity', 0);
176      elem.wrap(divTag);
177      elem.before(spanTag);
178
179      //redefine variables
180      divTag = elem.parent("div");
181      spanTag = elem.siblings("span");
182
183      elem.bind({
184        "change.uniform": function() {
185          spanTag.text(elem.find(":selected").html());
186          divTag.removeClass(options.activeClass);
187        },
188        "focus.uniform": function() {
189          divTag.addClass(options.focusClass);
190        },
191        "blur.uniform": function() {
192          divTag.removeClass(options.focusClass);
193          divTag.removeClass(options.activeClass);
194        },
195        "mousedown.uniform touchbegin.uniform": function() {
196          divTag.addClass(options.activeClass);
197        },
198        "mouseup.uniform touchend.uniform": function() {
199          divTag.removeClass(options.activeClass);
200        },
201        "click.uniform touchend.uniform": function(){
202          divTag.removeClass(options.activeClass);
203        },
204        "mouseenter.uniform": function() {
205          divTag.addClass(options.hoverClass);
206        },
207        "mouseleave.uniform": function() {
208          divTag.removeClass(options.hoverClass);
209          divTag.removeClass(options.activeClass);
210        },
211        "keyup.uniform": function(){
212          spanTag.text(elem.find(":selected").html());
213        }
214      });
215      
216      //handle disabled state
217      if($(elem).attr("disabled")){
218        //box is checked by default, check our box
219        divTag.addClass(options.disabledClass);
220      }
221      $.uniform.noSelect(spanTag);
222      
223      storeElement(elem);
224
225    }
226
227    function doCheckbox(elem){
228      var $el = $(elem);
229      
230      var divTag = $('<div />'),
231          spanTag = $('<span />');
232      
233      if(!$el.css("display") == "none" && options.autoHide){
234        divTag.hide();
235      }
236      
237      divTag.addClass(options.checkboxClass);
238
239      //assign the id of the element
240      if(options.useID && elem.attr("id") != ""){
241        divTag.attr("id", options.idPrefix+"-"+elem.attr("id"));
242      }
243
244      //wrap with the proper elements
245      $(elem).wrap(divTag);
246      $(elem).wrap(spanTag);
247
248      //redefine variables
249      spanTag = elem.parent();
250      divTag = spanTag.parent();
251
252      //hide normal input and add focus classes
253      $(elem)
254      .css("opacity", 0)
255      .bind({
256        "focus.uniform": function(){
257          divTag.addClass(options.focusClass);
258        },
259        "blur.uniform": function(){
260          divTag.removeClass(options.focusClass);
261        },
262        "click.uniform touchend.uniform": function(){
263          if(!$(elem).attr("checked")){
264            //box was just unchecked, uncheck span
265            spanTag.removeClass(options.checkedClass);
266          }else{
267            //box was just checked, check span.
268            spanTag.addClass(options.checkedClass);
269          }
270        },
271        "mousedown.uniform touchbegin.uniform": function() {
272          divTag.addClass(options.activeClass);
273        },
274        "mouseup.uniform touchend.uniform": function() {
275          divTag.removeClass(options.activeClass);
276        },
277        "mouseenter.uniform": function() {
278          divTag.addClass(options.hoverClass);
279        },
280        "mouseleave.uniform": function() {
281          divTag.removeClass(options.hoverClass);
282          divTag.removeClass(options.activeClass);
283        }
284      });
285      
286      //handle defaults
287      if($(elem).attr("checked")){
288        //box is checked by default, check our box
289        spanTag.addClass(options.checkedClass);
290      }
291
292      //handle disabled state
293      if($(elem).attr("disabled")){
294        //box is checked by default, check our box
295        divTag.addClass(options.disabledClass);
296      }
297
298      storeElement(elem);
299    }
300
301    function doRadio(elem){
302      var $el = $(elem);
303      
304      var divTag = $('<div />'),
305          spanTag = $('<span />');
306          
307      if(!$el.css("display") == "none" && options.autoHide){
308        divTag.hide();
309      }
310
311      divTag.addClass(options.radioClass);
312
313      if(options.useID && elem.attr("id") != ""){
314        divTag.attr("id", options.idPrefix+"-"+elem.attr("id"));
315      }
316
317      //wrap with the proper elements
318      $(elem).wrap(divTag);
319      $(elem).wrap(spanTag);
320
321      //redefine variables
322      spanTag = elem.parent();
323      divTag = spanTag.parent();
324
325      //hide normal input and add focus classes
326      $(elem)
327      .css("opacity", 0)
328      .bind({
329        "focus.uniform": function(){
330          divTag.addClass(options.focusClass);
331        },
332        "blur.uniform": function(){
333          divTag.removeClass(options.focusClass);
334        },
335        "click.uniform touchend.uniform": function(){
336          if(!$(elem).attr("checked")){
337            //box was just unchecked, uncheck span
338            spanTag.removeClass(options.checkedClass);
339          }else{
340            //box was just checked, check span
341            var classes = options.radioClass.split(" ")[0];
342            $("." + classes + " span." + options.checkedClass + ":has([name='" + $(elem).attr('name') + "'])").removeClass(options.checkedClass);
343            spanTag.addClass(options.checkedClass);
344          }
345        },
346        "mousedown.uniform touchend.uniform": function() {
347          if(!$(elem).is(":disabled")){
348            divTag.addClass(options.activeClass);
349          }
350        },
351        "mouseup.uniform touchbegin.uniform": function() {
352          divTag.removeClass(options.activeClass);
353        },
354        "mouseenter.uniform touchend.uniform": function() {
355          divTag.addClass(options.hoverClass);
356        },
357        "mouseleave.uniform": function() {
358          divTag.removeClass(options.hoverClass);
359          divTag.removeClass(options.activeClass);
360        }
361      });
362
363      //handle defaults
364      if($(elem).attr("checked")){
365        //box is checked by default, check span
366        spanTag.addClass(options.checkedClass);
367      }
368      //handle disabled state
369      if($(elem).attr("disabled")){
370        //box is checked by default, check our box
371        divTag.addClass(options.disabledClass);
372      }
373
374      storeElement(elem);
375
376    }
377
378    function doFile(elem){
379      //sanitize input
380      var $el = $(elem);
381
382      var divTag = $('<div />'),
383          filenameTag = $('<span>'+options.fileDefaultText+'</span>'),
384          btnTag = $('<span>'+options.fileBtnText+'</span>');
385      
386      if(!$el.css("display") == "none" && options.autoHide){
387        divTag.hide();
388      }
389
390      divTag.addClass(options.fileClass);
391      filenameTag.addClass(options.filenameClass);
392      btnTag.addClass(options.fileBtnClass);
393
394      if(options.useID && $el.attr("id") != ""){
395        divTag.attr("id", options.idPrefix+"-"+$el.attr("id"));
396      }
397
398      //wrap with the proper elements
399      $el.wrap(divTag);
400      $el.after(btnTag);
401      $el.after(filenameTag);
402
403      //redefine variables
404      divTag = $el.closest("div");
405      filenameTag = $el.siblings("."+options.filenameClass);
406      btnTag = $el.siblings("."+options.fileBtnClass);
407
408      //set the size
409      if(!$el.attr("size")){
410        var divWidth = divTag.width();
411        //$el.css("width", divWidth);
412        $el.attr("size", divWidth/10);
413      }
414
415      //actions
416      var setFilename = function()
417      {
418        var filename = $el.val();
419        if (filename === '')
420        {
421          filename = options.fileDefaultText;
422        }
423        else
424        {
425          filename = filename.split(/[\/\\]+/);
426          filename = filename[(filename.length-1)];
427        }
428        filenameTag.text(filename);
429      };
430
431      // Account for input saved across refreshes
432      setFilename();
433
434      $el
435      .css("opacity", 0)
436      .bind({
437        "focus.uniform": function(){
438          divTag.addClass(options.focusClass);
439        },
440        "blur.uniform": function(){
441          divTag.removeClass(options.focusClass);
442        },
443        "mousedown.uniform": function() {
444          if(!$(elem).is(":disabled")){
445            divTag.addClass(options.activeClass);
446          }
447        },
448        "mouseup.uniform": function() {
449          divTag.removeClass(options.activeClass);
450        },
451        "mouseenter.uniform": function() {
452          divTag.addClass(options.hoverClass);
453        },
454        "mouseleave.uniform": function() {
455          divTag.removeClass(options.hoverClass);
456          divTag.removeClass(options.activeClass);
457        }
458      });
459
460      // IE7 doesn't fire onChange until blur or second fire.
461      if ($.browser.msie){
462        // IE considers browser chrome blocking I/O, so it
463        // suspends tiemouts until after the file has been selected.
464        $el.bind('click.uniform.ie7', function() {
465          setTimeout(setFilename, 0);
466        });
467      }else{
468        // All other browsers behave properly
469        $el.bind('change.uniform', setFilename);
470      }
471
472      //handle defaults
473      if($el.attr("disabled")){
474        //box is checked by default, check our box
475        divTag.addClass(options.disabledClass);
476      }
477      
478      $.uniform.noSelect(filenameTag);
479      $.uniform.noSelect(btnTag);
480      
481      storeElement(elem);
482
483    }
484    
485    $.uniform.restore = function(elem){
486      if(elem == undefined){
487        elem = $($.uniform.elements);
488      }
489      
490      $(elem).each(function(){
491        if($(this).is(":checkbox")){
492          //unwrap from span and div
493          $(this).unwrap().unwrap();
494        }else if($(this).is("select")){
495          //remove sibling span
496          $(this).siblings("span").remove();
497          //unwrap parent div
498          $(this).unwrap();
499        }else if($(this).is(":radio")){
500          //unwrap from span and div
501          $(this).unwrap().unwrap();
502        }else if($(this).is(":file")){
503          //remove sibling spans
504          $(this).siblings("span").remove();
505          //unwrap parent div
506          $(this).unwrap();
507        }else if($(this).is("button, :submit, :reset, a, input[type='button']")){
508          //unwrap from span and div
509          $(this).unwrap().unwrap();
510        }
511        
512        //unbind events
513        $(this).unbind(".uniform");
514        
515        //reset inline style
516        $(this).css("opacity", "1");
517        
518        //remove item from list of uniformed elements
519        var index = $.inArray($(elem), $.uniform.elements);
520        $.uniform.elements.splice(index, 1);
521      });
522    };
523
524    function storeElement(elem){
525      //store this element in our global array
526      elem = $(elem).get();
527      if(elem.length > 1){
528        $.each(elem, function(i, val){
529          $.uniform.elements.push(val);
530        });
531      }else{
532        $.uniform.elements.push(elem);
533      }
534    }
535    
536    //noSelect v1.0
537    $.uniform.noSelect = function(elem) {
538      function f() {
539       return false;
540      };
541      $(elem).each(function() {
542       this.onselectstart = this.ondragstart = f; // Webkit & IE
543       $(this)
544        .mousedown(f) // Webkit & Opera
545        .css({ MozUserSelect: 'none' }); // Firefox
546      });
547     };
548
549    $.uniform.update = function(elem){
550      if(elem == undefined){
551        elem = $($.uniform.elements);
552      }
553      //sanitize input
554      elem = $(elem);
555
556      elem.each(function(){
557        //do to each item in the selector
558        //function to reset all classes
559        var $e = $(this);
560
561        if($e.is("select")){
562          //element is a select
563          var spanTag = $e.siblings("span");
564          var divTag = $e.parent("div");
565
566          divTag.removeClass(options.hoverClass+" "+options.focusClass+" "+options.activeClass);
567
568          //reset current selected text
569          spanTag.html($e.find(":selected").html());
570
571          if($e.is(":disabled")){
572            divTag.addClass(options.disabledClass);
573          }else{
574            divTag.removeClass(options.disabledClass);
575          }
576
577        }else if($e.is(":checkbox")){
578          //element is a checkbox
579          var spanTag = $e.closest("span");
580          var divTag = $e.closest("div");
581
582          divTag.removeClass(options.hoverClass+" "+options.focusClass+" "+options.activeClass);
583          spanTag.removeClass(options.checkedClass);
584
585          if($e.is(":checked")){
586            spanTag.addClass(options.checkedClass);
587          }
588          if($e.is(":disabled")){
589            divTag.addClass(options.disabledClass);
590          }else{
591            divTag.removeClass(options.disabledClass);
592          }
593
594        }else if($e.is(":radio")){
595          //element is a radio
596          var spanTag = $e.closest("span");
597          var divTag = $e.closest("div");
598
599          divTag.removeClass(options.hoverClass+" "+options.focusClass+" "+options.activeClass);
600          spanTag.removeClass(options.checkedClass);
601
602          if($e.is(":checked")){
603            spanTag.addClass(options.checkedClass);
604          }
605
606          if($e.is(":disabled")){
607            divTag.addClass(options.disabledClass);
608          }else{
609            divTag.removeClass(options.disabledClass);
610          }
611        }else if($e.is(":file")){
612          var divTag = $e.parent("div");
613          var filenameTag = $e.siblings(options.filenameClass);
614          btnTag = $e.siblings(options.fileBtnClass);
615
616          divTag.removeClass(options.hoverClass+" "+options.focusClass+" "+options.activeClass);
617
618          filenameTag.text($e.val());
619
620          if($e.is(":disabled")){
621            divTag.addClass(options.disabledClass);
622          }else{
623            divTag.removeClass(options.disabledClass);
624          }
625        }else if($e.is(":submit") || $e.is(":reset") || $e.is("button") || $e.is("a") || elem.is("input[type=button]")){
626          var divTag = $e.closest("div");
627          divTag.removeClass(options.hoverClass+" "+options.focusClass+" "+options.activeClass);
628          
629          if($e.is(":disabled")){
630            divTag.addClass(options.disabledClass);
631          }else{
632            divTag.removeClass(options.disabledClass);
633          }
634          
635        }
636        
637      });
638    };
639
640    return this.each(function() {
641      if($.support.selectOpacity){
642        var elem = $(this);
643
644        if(elem.is("select")){
645          //element is a select
646          if(elem.attr("multiple") != true){
647            //element is not a multi-select
648            if(elem.attr("size") == undefined || elem.attr("size") <= 1){
649              doSelect(elem);
650            }
651          }
652        }else if(elem.is(":checkbox")){
653          //element is a checkbox
654          doCheckbox(elem);
655        }else if(elem.is(":radio")){
656          //element is a radio
657          doRadio(elem);
658        }else if(elem.is(":file")){
659          //element is a file upload
660          doFile(elem);
661        }else if(elem.is(":text, :password, input[type='email']")){
662          doInput(elem);
663        }else if(elem.is("textarea")){
664          doTextarea(elem);
665        }else if(elem.is("a") || elem.is(":submit") || elem.is(":reset") || elem.is("button") || elem.is("input[type=button]")){
666          doButton(elem);
667        }
668          
669      }
670    });
671  };
672})(jQuery);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.