Created
April 8, 2015 22:02
-
-
Save peavers/7d385630812ef5f9cbc5 to your computer and use it in GitHub Desktop.
Adds browser function
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
jQuery.noConflict(); | |
(function($) { | |
$(document).ready(function() { | |
/* removes text from search form on focus and replaces it on unfocus - if text is entered then it does not get replaced with default on unfocus */ | |
$('#SearchForm_SearchForm_action_results').val('L'); | |
var searchField = $('#SearchForm_SearchForm_Search'); | |
var default_value = searchField.val(); | |
searchField.focus(function() { | |
$(this).addClass('active'); | |
if(searchField.val() == default_value) { | |
searchField.val(''); | |
} | |
}); | |
searchField.blur(function() { | |
if(searchField.val() == '') { | |
searchField.val(default_value); | |
} | |
}); | |
if (!$.browser.msie || ($.browser.msie && (parseInt($.browser.version, 10) > 8))) { | |
var searchBarButton = $("span.search-dropdown-icon"); | |
var searchBar = $('div.search-bar'); | |
var menuButton = $("span.nav-open-button"); | |
var menu = $('.header .primary ul'); | |
var mobile = false; | |
var changed = false; | |
$('body').append('<div id="media-query-trigger"></div>'); | |
function menuWidthCheck() { | |
var header_w = $('header .inner').width(); | |
var elements_w = menu.width() + $('.brand').width(); | |
if ((header_w < elements_w) || ($(window).width() <= 768)) { | |
$('body').addClass('tablet-nav'); | |
} | |
else { | |
$('body').removeClass('tablet-nav'); | |
} | |
mobile_old = mobile; | |
if ($('#media-query-trigger').css('visibility') == 'hidden') { | |
mobile = false; | |
} | |
else { | |
mobile = true; | |
} | |
if (mobile_old != mobile) { | |
changed = true; | |
} | |
else { | |
changed = false; | |
} | |
} | |
menuWidthCheck(); | |
$(window).resize(function() { | |
menuWidthCheck(); | |
if (!mobile) { | |
menu.show(); | |
searchBar.show(); | |
} | |
else { | |
if (changed) { | |
menu.hide(); | |
searchBar.hide(); | |
} | |
} | |
}); | |
/* toggle navigation and search in mobile view */ | |
searchBarButton.click(function() { | |
menu.slideUp(); | |
searchBar.slideToggle(200); | |
}); | |
menuButton.click(function() { | |
searchBar.slideUp(); | |
menu.slideToggle(200); | |
}); | |
} | |
}); | |
var matched, browser; | |
// --------------------------------------------------------- | |
// Use of jQuery.browser is frowned upon. | |
// More details: http://api.jquery.com/jQuery.browser | |
// jQuery.uaMatch maintained for back-compat | |
jQuery.uaMatch = function( ua ) { | |
ua = ua.toLowerCase(); | |
var match = /(chrome)[ \/]([\w.]+)/.exec( ua ) || | |
/(webkit)[ \/]([\w.]+)/.exec( ua ) || | |
/(opera)(?:.*version|)[ \/]([\w.]+)/.exec( ua ) || | |
/(msie) ([\w.]+)/.exec( ua ) || | |
ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec( ua ) || | |
[]; | |
return { | |
browser: match[ 1 ] || "", | |
version: match[ 2 ] || "0" | |
}; | |
}; | |
matched = jQuery.uaMatch( navigator.userAgent ); | |
browser = {}; | |
if ( matched.browser ) { | |
browser[ matched.browser ] = true; | |
browser.version = matched.version; | |
} | |
// Chrome is Webkit, but Webkit is also Safari. | |
if ( browser.chrome ) { | |
browser.webkit = true; | |
} else if ( browser.webkit ) { | |
browser.safari = true; | |
} | |
jQuery.browser = browser; | |
jQuery.sub = function() { | |
function jQuerySub( selector, context ) { | |
return new jQuerySub.fn.init( selector, context ); | |
} | |
jQuery.extend( true, jQuerySub, this ); | |
jQuerySub.superclass = this; | |
jQuerySub.fn = jQuerySub.prototype = this(); | |
jQuerySub.fn.constructor = jQuerySub; | |
jQuerySub.sub = this.sub; | |
jQuerySub.fn.init = function init( selector, context ) { | |
if ( context && context instanceof jQuery && !(context instanceof jQuerySub) ) { | |
context = jQuerySub( context ); | |
} | |
return jQuery.fn.init.call( this, selector, context, rootjQuerySub ); | |
}; | |
jQuerySub.fn.init.prototype = jQuerySub.fn; | |
var rootjQuerySub = jQuerySub(document); | |
return jQuerySub; | |
}; | |
}(jQuery)); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment