1// Jquery Browser Detection 2(function() { 3 "use strict"; 4 var matched, browser; 5 jQuery.uaMatch = function( ua ) { 6 ua = ua.toLowerCase(); 7 8 var match = /(chrome)[ \/]([\w.]+)/.exec( ua ) || 9 /(webkit)[ \/]([\w.]+)/.exec( ua ) || 10 /(opera)(?:.*version|)[ \/]([\w.]+)/.exec( ua ) || 11 /(msie) ([\w.]+)/.exec( ua ) || 12 ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec( ua ) || 13 []; 14 15 return { 16 browser: match[ 1 ] || "", 17 version: match[ 2 ] || "0" 18 }; 19 }; 20 matched = jQuery.uaMatch( navigator.userAgent ); 21 browser = {}; 22 if ( matched.browser ) { 23 browser[ matched.browser ] = true; 24 browser.version = matched.version; 25 } 26 if ( browser.chrome ) { 27 browser.webkit = true; 28 } else if ( browser.webkit ) { 29 browser.safari = true; 30 } 31 jQuery.browser = browser; 32 jQuery.sub = function() { 33 function jQuerySub( selector, context ) { 34 return new jQuerySub.fn.init( selector, context ); 35 } 36 jQuery.extend( true, jQuerySub, this ); 37 jQuerySub.superclass = this; 38 jQuerySub.fn = jQuerySub.prototype = this(); 39 jQuerySub.fn.constructor = jQuerySub; 40 jQuerySub.sub = this.sub; 41 jQuerySub.fn.init = function init( selector, context ) { 42 if ( context && context instanceof jQuery && !(context instanceof jQuerySub) ) { 43 context = jQuerySub( context ); 44 } 45 return jQuery.fn.init.call( this, selector, context, rootjQuerySub ); 46 }; 47 jQuerySub.fn.init.prototype = jQuerySub.fn; 48 var rootjQuerySub = jQuerySub(document); 49 return jQuerySub; 50 }; 51})(); 52 53var bw = document.body.clientWidth; 54 55// Portfolio Filter 56 57 58jQuery.fn.dysaniagrid = function (options) { 59var selector = jQuery(this); 60 var settings = jQuery.extend({ 61 galleryid: '#gridbox1' 62 }, options); 63selector.find("li a").on("click", function (event) { 64 event.preventDefault(); 65 var filter = jQuery(this).data('filter'); 66 var item = jQuery(settings.galleryid).find("li"); 67 selector.find("li a").removeClass('active'); 68 jQuery(this).addClass('active'); 69 item.each(function () { 70 if(filter === 'all') { 71 item.removeClass('no-effect'); 72 item.css('cursor', 'pointer'); 73 if (jQuery.browser.msie && parseInt((jQuery.browser.version), 10) <= 9){ 74 item.css('visibility', 'visible'); 75 } 76 if (bw <= 480) { 77 jQuery(this).css('display', 'block'); 78 } 79 } 80 else if (jQuery(this).filter("[data-filter~=" + filter + "]").length) { 81 jQuery(this).removeClass('no-effect'); 82 jQuery(this).css('cursor', 'pointer'); 83 if (jQuery.browser.msie && parseInt((jQuery.browser.version), 10) <= 9){ 84 jQuery(this).css('visibility', 'visible'); 85 } 86 if (bw <= 480) { 87 jQuery(this).css('display', 'block'); 88 } 89 } 90 else { 91 jQuery(this).addClass('no-effect'); 92 jQuery(this).css('cursor', 'default'); 93 if (jQuery.browser.msie && parseInt((jQuery.browser.version), 10) <= 9){ 94 jQuery(this).css('visibility', 'hidden'); 95 } 96 if (bw <= 480) { 97 jQuery(this).css('display', 'none'); 98 } 99 } 100 }); 101}); 102};
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.