?
Path : /home/admin/domains/happytokorea.com/public_html/happyezystyle/js/ |
Current File : /home/admin/domains/happytokorea.com/public_html/happyezystyle/js/jqbrowser-uncompressed.js |
/** * jQBrowser v0.2 - Extend jQuery's browser detection capabilities * * http://davecardwell.co.uk/javascript/jquery/plugins/jquery-browserdetect/0.2/ * * Dave Cardwell <http://davecardwell.co.uk/> * * Built on the shoulders of giants: * * John Resig <http://jquery.com/> * * Peter-Paul Koch <http://www.quirksmode.org/?/js/detect.html> * * * Copyright (c) 2006 Dave Cardwell, dual licensed under the MIT and GPL * licenses: * * http://www.opensource.org/licenses/mit-license.php * * http://www.gnu.org/licenses/gpl.txt */ /** * For the latest version of this plugin, and a discussion of its usage and * implementation, visit: * * http://davecardwell.co.uk/javascript/jquery/plugins/jquery-browserdetect/ */ new function() { /** * The following functions and attributes form the Public interface of the * jQBrowser plugin, accessed externally through the $.browser object. * See the relevant function definition later in the source for further * information. * * $.browser.browser() * $.browser.version.number() * $.browser.version.string() * $.browser.OS() * * $.browser.aol() * $.browser.camino() * $.browser.firefox() * $.browser.flock() * $.browser.icab() * $.browser.konqueror() * $.browser.mozilla() * $.browser.msie() * $.browser.netscape() * $.browser.opera() * $.browser.safari() * * $.browser.linux() * $.browser.mac() * $.browser.win() */ var Public = { // The current browser, its version as a number or a string, and the // operating system its running on. 'browser': function() { return Private.browser; }, 'version': { 'number': function() { return Private.version.number; }, 'string': function() { return Private.version.string; } }, 'OS': function() { return Private.OS; }, // A boolean value indicating whether or not the given browser was // detected. 'aol': function() { return Private.aol; }, 'camino': function() { return Private.camino; }, 'firefox': function() { return Private.firefox; }, 'flock': function() { return Private.flock; }, 'icab': function() { return Private.icab; }, 'konqueror': function() { return Private.konqueror; }, 'mozilla': function() { return Private.mozilla; }, 'msie': function() { return Private.msie; }, 'netscape': function() { return Private.netscape; }, 'opera': function() { return Private.opera; }, 'safari': function() { return Private.safari; }, // A boolean value indicating whether or not the given OS was // detected. 'linux': function() { return Private.linux; }, 'mac': function() { return Private.mac; }, 'win': function() { return Private.win; } }; // Allow external access to the 'Public' interface through the $.browser // object. $.browser = Public; /** * The following functions and attributes form the internal methods and * state of the jQBrowser plugin. See the relevant function definition * later in the source for further information. * * Private.browser * Private.version * Private.OS * * Private.aol * Private.camino * Private.firefox * Private.flock * Private.icab * Private.konqueror * Private.mozilla * Private.msie * Private.netscape * Private.opera * Private.safari * * Private.linux * Private.mac * Private.win */ var Private = { // Initially set to 'Unknown', if detected each of these properties will // be updated. 'browser': 'Unknown', 'version': { 'number': undefined, 'string': 'Unknown' }, 'OS': 'Unknown', // Initially set to false, if detected one of the following browsers // will be updated. 'aol': false, 'camino': false, 'firefox': false, 'flock': false, 'icab': false, 'konqueror': false, 'mozilla': false, 'msie': false, 'netscape': false, 'opera': false, 'safari': false, // Initially set to false, if detected one of the following operating // systems will be updated. 'linux': false, 'mac': false, 'win': false }; /** * Loop over the items in 'data' trying to find a browser match with the * test in data[i].browser(). Once found, attempt to determine the * browser version. * * 'name': A string containing the full name of the browser. * 'identifier': By default this is a lowercase version of 'name', but * this can be overwritten by explicitly defining an * 'identifier'. * 'browser': A function that returns a boolean value indicating * whether or not the given browser is detected. * 'version': An optional function that overwrites the default version * testing. Must return the result of a .match(). * * Please note that the order of the data array is important, as some * browsers contain details of others in their navigator.userAgent string. * For example, Flock's contains 'Firefox' so much come before Firefox's * test to avoid false positives. */ for( var i = 0, // counter ua = navigator.userAgent, // the navigator's user agent string ve = navigator.vendor, // the navigator's vendor string data = [ // browser tests and data { // Safari <http://www.apple.com/safari/> 'name': 'Safari', 'browser': function() { return /Apple/.test(ve) } }, { // Opera <http://www.opera.com/> 'name': 'Opera', 'browser': function() { return window.opera != undefined } }, { // iCab <http://www.icab.de/> 'name': 'iCab', 'browser': function() { return /iCab/.test(ve) } }, { // Konqueror <http://www.konqueror.org/> 'name': 'Konqueror', 'browser': function() { return /KDE/.test(ve) } }, { // AOL Explorer <http://downloads.channel.aol.com/browser> 'identifier': 'aol', 'name': 'AOL Explorer', 'browser': function() { return /America Online Browser/.test(ua) }, 'version': function() { return ua.match(/rev(\d+(?:\.\d+)+)/) } }, { // Flock <http://www.flock.com/> 'name': 'Flock', 'browser': function() { return /Flock/.test(ua) } }, { // Camino <http://www.caminobrowser.org/> 'name': 'Camino', 'browser': function() { return /Camino/.test(ve) } }, { // Firefox <http://www.mozilla.com/firefox/> 'name': 'Firefox', 'browser': function() { return /Firefox/.test(ua) } }, { // Netscape <http://browser.netscape.com/> 'name': 'Netscape', 'browser': function() { return /Netscape/.test(ua) } }, { // Internet Explorer <http://www.microsoft.com/windows/ie/> // <http://www.microsoft.com/mac/ie/> 'identifier': 'msie', 'name': 'Internet Explorer', 'browser': function() { return /MSIE/.test(ua) }, 'version': function() { return ua.match( /MSIE (\d+(?:\.\d+)+(?:b\d*)?)/ ) } }, { // Mozilla <http://www.mozilla.org/products/mozilla1.x/> 'name': 'Mozilla', 'browser': function() { return /Gecko|Mozilla/.test(ua) }, 'version': function() { return ua.match(/rv:(\d+(?:\.\d+)+)/) } } ]; i < data.length; i++ ) { if( data[i].browser() ) { // we have a match // If the identifier is not explicitly set, use a lowercase // version of the given name. var identifier = data[i].identifier ? data[i].identifier : data[i].name.toLowerCase(); // Make a note that this browser was detected. Private[ identifier ] = true; // $.browser.browser() will now return the correct browser. Private.browser = data[i].name; var result; if( data[i].version != undefined && (result = data[i].version()) ) { // Use the explicitly set test for browser version. Private.version.string = result[1]; Private.version.number = parseFloat( result[1] ); } else { // Otherwise use the default test which searches for the // version number after the browser name in the user agent // string. var re = new RegExp( data[i].name + '(?:\\s|\\/)(\\d+(?:\\.\\d+)+(?:(?:a|b)\\d*)?)' ); result = ua.match(re); if( result != undefined ) { Private.version.string = result[1]; Private.version.number = parseFloat( result[1] ); } } // Once we've detected the browser there is no need to check the // others. break; } }; /** * Loop over the items in 'data' trying to find a operating system match * with the test in data[i].os(). * * 'name': A string containing the full name of the operating * system. * 'identifier': By default this is a lowercase version of 'name', but * this can be overwritten by explicitly defining an * 'identifier'. * 'OS': A function that returns a boolean value indicating * whether or not the given operating system is detected. */ for( var i = 0, // counter pl = navigator.platform, // the navigator's platform string data = [ // OS data and tests { // Microsoft Windows <http://www.microsoft.com/windows/> 'identifier': 'win', 'name': 'Windows', 'OS': function() { return /Win/.test(pl) } }, { // Apple Mac OS <http://www.apple.com/macos/> 'name': 'Mac', 'OS': function() { return /Mac/.test(pl) } }, { // Linux <http://www.linux.org/> 'name': 'Linux', 'OS': function() { return /Linux/.test(pl) } } ]; i < data.length; i++ ) { if( data[i].OS() ) { // we have a match // If the identifier is not explicitly set, use a lowercase // version of the given name. var identifier = data[i].identifier ? data[i].identifier : data[i].name.toLowerCase(); // Make a note that the OS was detected. Private[ identifier ] = true; // $.browser.OS() will now return the correct OS. Private.OS = data[i].name; // Once we've detected the browser there is no need to check the // others. break; } }; }();