10337 lines · 276.3 KB · JavaScript
RawDownload
/*! * jQuery JavaScript Library v1.11.0 * http://jquery.com/ * * Includes Sizzle.js * http://sizzlejs.com/ * * Copyright 2005, 2014 jQuery Foundation, Inc. and other contributors * Released under the MIT license * http://jquery.org/license * * Date: 2014-01-23T21:02Z */ (function( global, factory ) { 	if ( typeof module === "object" && typeof module.exports === "object" ) {		// For CommonJS and CommonJS-like environments where a proper window is present,		// execute the factory and get jQuery		// For environments that do not inherently posses a window with a document		// (such as Node.js), expose a jQuery-making factory as module.exports		// This accentuates the need for the creation of a real window		// e.g. var jQuery = require("jquery")(window);		// See ticket #14549 for more info		module.exports = global.document ?			factory( global, true ) :			function( w ) {				if ( !w.document ) {					throw new Error( "jQuery requires a window with a document" );				}				return factory( w );			};	} else {		factory( global );	} // Pass this if window is not defined yet}(typeof window !== "undefined" ? window : this, function( window, noGlobal ) { // Can't do this because several apps including ASP.NET trace// the stack via arguments.caller.callee and Firefox dies if// you try to trace through "use strict" call chains. (#13335)// Support: Firefox 18+// var deletedIds = []; var slice = deletedIds.slice; var concat = deletedIds.concat; var push = deletedIds.push; var indexOf = deletedIds.indexOf; var class2type = {}; var toString = class2type.toString; var hasOwn = class2type.hasOwnProperty; var trim = "".trim; var support = {};   var	version = "1.11.0", 	// Define a local copy of jQuery	jQuery = function( selector, context ) {		// The jQuery object is actually just the init constructor 'enhanced'		// Need init if jQuery is called (just allow error to be thrown if not included)		return new jQuery.fn.init( selector, context );	}, 	// Make sure we trim BOM and NBSP (here's looking at you, Safari 5.0 and IE)	rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, 	// Matches dashed string for camelizing	rmsPrefix = /^-ms-/,	rdashAlpha = /-([\da-z])/gi, 	// Used by jQuery.camelCase as callback to replace()	fcamelCase = function( all, letter ) {		return letter.toUpperCase();	}; jQuery.fn = jQuery.prototype = {	// The current version of jQuery being used	jquery: version, 	constructor: jQuery, 	// Start with an empty selector	selector: "", 	// The default length of a jQuery object is 0	length: 0, 	toArray: function() {		return slice.call( this );	}, 	// Get the Nth element in the matched element set OR	// Get the whole matched element set as a clean array	get: function( num ) {		return num != null ? 			// Return a 'clean' array			( num < 0 ? this[ num + this.length ] : this[ num ] ) : 			// Return just the object			slice.call( this );	}, 	// Take an array of elements and push it onto the stack	// (returning the new matched element set)	pushStack: function( elems ) { 		// Build a new jQuery matched element set		var ret = jQuery.merge( this.constructor(), elems ); 		// Add the old object onto the stack (as a reference)		ret.prevObject = this;		ret.context = this.context; 		// Return the newly-formed element set		return ret;	}, 	// Execute a callback for every element in the matched set.	// (You can seed the arguments with an array of args, but this is	// only used internally.)	each: function( callback, args ) {		return jQuery.each( this, callback, args );	}, 	map: function( callback ) {		return this.pushStack( jQuery.map(this, function( elem, i ) {			return callback.call( elem, i, elem );		}));	}, 	slice: function() {		return this.pushStack( slice.apply( this, arguments ) );	}, 	first: function() {		return this.eq( 0 );	}, 	last: function() {		return this.eq( -1 );	}, 	eq: function( i ) {		var len = this.length,			j = +i + ( i < 0 ? len : 0 );		return this.pushStack( j >= 0 && j < len ? [ this[j] ] : [] );	}, 	end: function() {		return this.prevObject || this.constructor(null);	}, 	// For internal use only.	// Behaves like an Array's method, not like a jQuery method.	push: push,	sort: deletedIds.sort,	splice: deletedIds.splice}; jQuery.extend = jQuery.fn.extend = function() {	var src, copyIsArray, copy, name, options, clone,		target = arguments[0] || {},		i = 1,		length = arguments.length,		deep = false; 	// Handle a deep copy situation	if ( typeof target === "boolean" ) {		deep = target; 		// skip the boolean and the target		target = arguments[ i ] || {};		i++;	} 	// Handle case when target is a string or something (possible in deep copy)	if ( typeof target !== "object" && !jQuery.isFunction(target) ) {		target = {};	} 	// extend jQuery itself if only one argument is passed	if ( i === length ) {		target = this;		i--;	} 	for ( ; i < length; i++ ) {		// Only deal with non-null/undefined values		if ( (options = arguments[ i ]) != null ) {			// Extend the base object			for ( name in options ) {				src = target[ name ];				copy = options[ name ]; 				// Prevent never-ending loop				if ( target === copy ) {					continue;				} 				// Recurse if we're merging plain objects or arrays				if ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) {					if ( copyIsArray ) {						copyIsArray = false;						clone = src && jQuery.isArray(src) ? src : []; 					} else {						clone = src && jQuery.isPlainObject(src) ? src : {};					} 					// Never move original objects, clone them					target[ name ] = jQuery.extend( deep, clone, copy ); 				// Don't bring in undefined values				} else if ( copy !== undefined ) {					target[ name ] = copy;				}			}		}	} 	// Return the modified object	return target;}; jQuery.extend({	// Unique for each copy of jQuery on the page	expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), 	// Assume jQuery is ready without the ready module	isReady: true, 	error: function( msg ) {		throw new Error( msg );	}, 	noop: function() {}, 	// See test/unit/core.js for details concerning isFunction.	// Since version 1.3, DOM methods and functions like alert	// aren't supported. They return false on IE (#2968).	isFunction: function( obj ) {		return jQuery.type(obj) === "function";	}, 	isArray: Array.isArray || function( obj ) {		return jQuery.type(obj) === "array";	}, 	isWindow: function( obj ) {		/* jshint eqeqeq: false */		return obj != null && obj == obj.window;	}, 	isNumeric: function( obj ) {		// parseFloat NaNs numeric-cast false positives (null|true|false|"")		// ...but misinterprets leading-number strings, particularly hex literals ("0x...")		// subtraction forces infinities to NaN		return obj - parseFloat( obj ) >= 0;	}, 	isEmptyObject: function( obj ) {		var name;		for ( name in obj ) {			return false;		}		return true;	}, 	isPlainObject: function( obj ) {		var key; 		// Must be an Object.		// Because of IE, we also have to check the presence of the constructor property.		// Make sure that DOM nodes and window objects don't pass through, as well		if ( !obj || jQuery.type(obj) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) {			return false;		} 		try {			// Not own constructor property must be Object			if ( obj.constructor &&				!hasOwn.call(obj, "constructor") &&				!hasOwn.call(obj.constructor.prototype, "isPrototypeOf") ) {				return false;			}		} catch ( e ) {			// IE8,9 Will throw exceptions on certain host objects #9897			return false;		} 		// Support: IE<9		// Handle iteration over inherited properties before own properties.		if ( support.ownLast ) {			for ( key in obj ) {				return hasOwn.call( obj, key );			}		} 		// Own properties are enumerated firstly, so to speed up,		// if last one is own, then all properties are own.		for ( key in obj ) {} 		return key === undefined || hasOwn.call( obj, key );	}, 	type: function( obj ) {		if ( obj == null ) {			return obj + "";		}		return typeof obj === "object" || typeof obj === "function" ?			class2type[ toString.call(obj) ] || "object" :			typeof obj;	}, 	// Evaluates a script in a global context	// Workarounds based on findings by Jim Driscoll	// http://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context	globalEval: function( data ) {		if ( data && jQuery.trim( data ) ) {			// We use execScript on Internet Explorer			// We use an anonymous function so that context is window			// rather than jQuery in Firefox			( window.execScript || function( data ) {				window[ "eval" ].call( window, data );			} )( data );		}	}, 	// Convert dashed to camelCase; used by the css and data modules	// Microsoft forgot to hump their vendor prefix (#9572)	camelCase: function( string ) {		return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase );	}, 	nodeName: function( elem, name ) {		return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();	}, 	// args is for internal usage only	each: function( obj, callback, args ) {		var value,			i = 0,			length = obj.length,			isArray = isArraylike( obj ); 		if ( args ) {			if ( isArray ) {				for ( ; i < length; i++ ) {					value = callback.apply( obj[ i ], args ); 					if ( value === false ) {						break;					}				}			} else {				for ( i in obj ) {					value = callback.apply( obj[ i ], args ); 					if ( value === false ) {						break;					}				}			} 		// A special, fast, case for the most common use of each		} else {			if ( isArray ) {				for ( ; i < length; i++ ) {					value = callback.call( obj[ i ], i, obj[ i ] ); 					if ( value === false ) {						break;					}				}			} else {				for ( i in obj ) {					value = callback.call( obj[ i ], i, obj[ i ] ); 					if ( value === false ) {						break;					}				}			}		} 		return obj;	}, 	// Use native String.trim function wherever possible	trim: trim && !trim.call("\uFEFF\xA0") ?		function( text ) {			return text == null ?				"" :				trim.call( text );		} : 		// Otherwise use our own trimming functionality		function( text ) {			return text == null ?				"" :				( text + "" ).replace( rtrim, "" );		}, 	// results is for internal usage only	makeArray: function( arr, results ) {		var ret = results || []; 		if ( arr != null ) {			if ( isArraylike( Object(arr) ) ) {				jQuery.merge( ret,					typeof arr === "string" ?					[ arr ] : arr				);			} else {				push.call( ret, arr );			}		} 		return ret;	}, 	inArray: function( elem, arr, i ) {		var len; 		if ( arr ) {			if ( indexOf ) {				return indexOf.call( arr, elem, i );			} 			len = arr.length;			i = i ? i < 0 ? Math.max( 0, len + i ) : i : 0; 			for ( ; i < len; i++ ) {				// Skip accessing in sparse arrays				if ( i in arr && arr[ i ] === elem ) {					return i;				}			}		} 		return -1;	}, 	merge: function( first, second ) {		var len = +second.length,			j = 0,			i = first.length; 		while ( j < len ) {			first[ i++ ] = second[ j++ ];		} 		// Support: IE<9		// Workaround casting of .length to NaN on otherwise arraylike objects (e.g., NodeLists)		if ( len !== len ) {			while ( second[j] !== undefined ) {				first[ i++ ] = second[ j++ ];			}		} 		first.length = i; 		return first;	}, 	grep: function( elems, callback, invert ) {		var callbackInverse,			matches = [],			i = 0,			length = elems.length,			callbackExpect = !invert; 		// Go through the array, only saving the items		// that pass the validator function		for ( ; i < length; i++ ) {			callbackInverse = !callback( elems[ i ], i );			if ( callbackInverse !== callbackExpect ) {				matches.push( elems[ i ] );			}		} 		return matches;	}, 	// arg is for internal usage only

Lines 1–500 of 10337.