From ab565d14ed27393efdcf669c921759dc5cc99f38 Mon Sep 17 00:00:00 2001 From: hehongwei44 Date: Tue, 29 Jul 2014 10:07:13 +0800 Subject: [PATCH] =?UTF-8?q?jfz=E8=BD=AE=E6=92=AD1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit jfz轮播1 --- JFZ_Slider/css/JFZ_Slider.css | 54 + JFZ_Slider/css/cssreset.css | 57 + JFZ_Slider/images/ads/1.gif | Bin 0 -> 61243 bytes JFZ_Slider/images/ads/2.gif | Bin 0 -> 42627 bytes JFZ_Slider/images/ads/3.gif | Bin 0 -> 58885 bytes JFZ_Slider/images/ads/4.gif | Bin 0 -> 34475 bytes JFZ_Slider/images/ads/5.gif | Bin 0 -> 57338 bytes JFZ_Slider/js/JFZ_Slider.js | 57 + JFZ_Slider/js/jquery-1.7.2.js | 9404 +++++++++++++++++++++ JFZ_Slider/js/jquery.plugin.Slider.min.js | 1 + JFZ_Slider/test.html | 36 + 11 files changed, 9609 insertions(+) create mode 100644 JFZ_Slider/css/JFZ_Slider.css create mode 100644 JFZ_Slider/css/cssreset.css create mode 100644 JFZ_Slider/images/ads/1.gif create mode 100644 JFZ_Slider/images/ads/2.gif create mode 100644 JFZ_Slider/images/ads/3.gif create mode 100644 JFZ_Slider/images/ads/4.gif create mode 100644 JFZ_Slider/images/ads/5.gif create mode 100644 JFZ_Slider/js/JFZ_Slider.js create mode 100644 JFZ_Slider/js/jquery-1.7.2.js create mode 100644 JFZ_Slider/js/jquery.plugin.Slider.min.js create mode 100644 JFZ_Slider/test.html diff --git a/JFZ_Slider/css/JFZ_Slider.css b/JFZ_Slider/css/JFZ_Slider.css new file mode 100644 index 0000000..b1f2e36 --- /dev/null +++ b/JFZ_Slider/css/JFZ_Slider.css @@ -0,0 +1,54 @@ +/*轮播样式*/ +.JFZ_Slider{ + border: 1px solid #AAA; + width: 586px; + height: 150px; + overflow: hidden; + position: relative; + +} +.JFZ_Slider ul { + position: absolute; +} +.JFZ_Slider ul li { + width: 586px; + height: 150px; + display: none; +} + +.JFZ_Slider .num { + position: absolute; + right:5px; + bottom:5px; +} + +.JFZ_Slider .num li{ + display:inline-block; + float: left; + color: #FF7300; + text-align: center; + line-height: 16px; + width: 16px; + height: 16px; + font-family: Arial; + font-size: 12px; + cursor: pointer; + overflow: hidden; + margin: 3px 1px; + border: 1px solid #FF7300; + background-color: #fff; + *display:inline; + *zoom:1; +} + +.JFZ_Slider .num li.on{ + color: #fff; + line-height: 21px; + width: 21px; + height: 21px; + font-size: 16px; + margin: 0 1px; + border: 0; + background-color: #FF7300; + font-weight: bold; +} diff --git a/JFZ_Slider/css/cssreset.css b/JFZ_Slider/css/cssreset.css new file mode 100644 index 0000000..79f6975 --- /dev/null +++ b/JFZ_Slider/css/cssreset.css @@ -0,0 +1,57 @@ +/* + 重置浏览器的默认样式 + */ +html { + color: #000; + background: #FFF +} +body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, textarea, p, blockquote, th, td { + margin: 0; + padding: 0 +} +table { + border-collapse: collapse; + border-spacing: 0 +} +fieldset, img { + border: 0 +} +address, caption, cite, code, dfn, em, strong, th, var { + font-style: normal; + font-weight: normal +} +ol, ul { + list-style: none +} +caption, th { + text-align: left +} +h1, h2, h3, h4, h5, h6 { + font-size: 100%; + font-weight: normal +} +q:before, q:after { + content: '' +} +abbr, acronym { + border: 0; + font-variant: normal +} +sup { + vertical-align: text-top +} +sub { + vertical-align: text-bottom +} +input, textarea, select { + font-family: inherit; + font-size: inherit; + font-weight: inherit +} +input, textarea, select { + *font-size: 100% +} +legend { + color: #000 +} + diff --git a/JFZ_Slider/images/ads/1.gif b/JFZ_Slider/images/ads/1.gif new file mode 100644 index 0000000000000000000000000000000000000000..10970cdccc9021aa6044d2f92f91a262379a0fc0 GIT binary patch literal 61243 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Ô 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 literal 0 HcmV?d00001 diff --git a/JFZ_Slider/images/ads/2.gif b/JFZ_Slider/images/ads/2.gif new file mode 100644 index 0000000000000000000000000000000000000000..fe19a91ba8e227089c10c9681bb326c5579b174d GIT binary patch literal 42627 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 literal 0 HcmV?d00001 diff --git a/JFZ_Slider/images/ads/3.gif b/JFZ_Slider/images/ads/3.gif new file mode 100644 index 0000000000000000000000000000000000000000..275ab68c6126159f530ebd396bd8ff06064e4c50 GIT binary patch literal 58885 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" + } + + ul_root += ""; + $plugin.append(ul_root); + $ul_num = $plugin.find("ul.num"); + $li_num = $ul_num.find("li"); + + return this.each(function(){ + + var index = 0, + Timer = null; + + $lis.eq(index).show(); + $li_num.eq(index).addClass("on"); + + $li_num.bind('mouseover',function(){ + index = $li_num.index(this); + showImg(index); + }); + + $plugin.hover(function(){ + clearInterval(Timer); + },function(){ + Timer = setInterval(function(){ + showImg(index); + index++; + + if(index == len) + index = 0; + },3000); + }).trigger("mouseleave"); + + }); + + function showImg(index){ + $lis.eq(index).show().siblings().hide(); + $li_num.removeClass("on").eq(index).addClass("on"); + } + } + +})(jQuery); diff --git a/JFZ_Slider/js/jquery-1.7.2.js b/JFZ_Slider/js/jquery-1.7.2.js new file mode 100644 index 0000000..3774ff9 --- /dev/null +++ b/JFZ_Slider/js/jquery-1.7.2.js @@ -0,0 +1,9404 @@ +/*! + * jQuery JavaScript Library v1.7.2 + * http://jquery.com/ + * + * Copyright 2011, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Wed Mar 21 12:46:34 2012 -0700 + */ +(function( window, undefined ) { + +// Use the correct document accordingly with window argument (sandbox) +var document = window.document, + navigator = window.navigator, + location = window.location; +var jQuery = (function() { + +// Define a local copy of jQuery +var jQuery = function( selector, context ) { + // The jQuery object is actually just the init constructor 'enhanced' + return new jQuery.fn.init( selector, context, rootjQuery ); + }, + + // Map over jQuery in case of overwrite + _jQuery = window.jQuery, + + // Map over the $ in case of overwrite + _$ = window.$, + + // A central reference to the root jQuery(document) + rootjQuery, + + // A simple way to check for HTML strings or ID strings + // Prioritize #id over to avoid XSS via location.hash (#9521) + quickExpr = /^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/, + + // Check if a string has a non-whitespace character in it + rnotwhite = /\S/, + + // Used for trimming whitespace + trimLeft = /^\s+/, + trimRight = /\s+$/, + + // Match a standalone tag + rsingleTag = /^<(\w+)\s*\/?>(?:<\/\1>)?$/, + + // JSON RegExp + rvalidchars = /^[\],:{}\s]*$/, + rvalidescape = /\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, + rvalidtokens = /"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, + rvalidbraces = /(?:^|:|,)(?:\s*\[)+/g, + + // Useragent RegExp + rwebkit = /(webkit)[ \/]([\w.]+)/, + ropera = /(opera)(?:.*version)?[ \/]([\w.]+)/, + rmsie = /(msie) ([\w.]+)/, + rmozilla = /(mozilla)(?:.*? rv:([\w.]+))?/, + + // Matches dashed string for camelizing + rdashAlpha = /-([a-z]|[0-9])/ig, + rmsPrefix = /^-ms-/, + + // Used by jQuery.camelCase as callback to replace() + fcamelCase = function( all, letter ) { + return ( letter + "" ).toUpperCase(); + }, + + // Keep a UserAgent string for use with jQuery.browser + userAgent = navigator.userAgent, + + // For matching the engine and version of the browser + browserMatch, + + // The deferred used on DOM ready + readyList, + + // The ready event handler + DOMContentLoaded, + + // Save a reference to some core methods + toString = Object.prototype.toString, + hasOwn = Object.prototype.hasOwnProperty, + push = Array.prototype.push, + slice = Array.prototype.slice, + trim = String.prototype.trim, + indexOf = Array.prototype.indexOf, + + // [[Class]] -> type pairs + class2type = {}; + +jQuery.fn = jQuery.prototype = { + constructor: jQuery, + init: function( selector, context, rootjQuery ) { + var match, elem, ret, doc; + + // Handle $(""), $(null), or $(undefined) + if ( !selector ) { + return this; + } + + // Handle $(DOMElement) + if ( selector.nodeType ) { + this.context = this[0] = selector; + this.length = 1; + return this; + } + + // The body element only exists once, optimize finding it + if ( selector === "body" && !context && document.body ) { + this.context = document; + this[0] = document.body; + this.selector = selector; + this.length = 1; + return this; + } + + // Handle HTML strings + if ( typeof selector === "string" ) { + // Are we dealing with HTML string or an ID? + if ( selector.charAt(0) === "<" && selector.charAt( selector.length - 1 ) === ">" && selector.length >= 3 ) { + // Assume that strings that start and end with <> are HTML and skip the regex check + match = [ null, selector, null ]; + + } else { + match = quickExpr.exec( selector ); + } + + // Verify a match, and that no context was specified for #id + if ( match && (match[1] || !context) ) { + + // HANDLE: $(html) -> $(array) + if ( match[1] ) { + context = context instanceof jQuery ? context[0] : context; + doc = ( context ? context.ownerDocument || context : document ); + + // If a single string is passed in and it's a single tag + // just do a createElement and skip the rest + ret = rsingleTag.exec( selector ); + + if ( ret ) { + if ( jQuery.isPlainObject( context ) ) { + selector = [ document.createElement( ret[1] ) ]; + jQuery.fn.attr.call( selector, context, true ); + + } else { + selector = [ doc.createElement( ret[1] ) ]; + } + + } else { + ret = jQuery.buildFragment( [ match[1] ], [ doc ] ); + selector = ( ret.cacheable ? jQuery.clone(ret.fragment) : ret.fragment ).childNodes; + } + + return jQuery.merge( this, selector ); + + // HANDLE: $("#id") + } else { + elem = document.getElementById( match[2] ); + + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + if ( elem && elem.parentNode ) { + // Handle the case where IE and Opera return items + // by name instead of ID + if ( elem.id !== match[2] ) { + return rootjQuery.find( selector ); + } + + // Otherwise, we inject the element directly into the jQuery object + this.length = 1; + this[0] = elem; + } + + this.context = document; + this.selector = selector; + return this; + } + + // HANDLE: $(expr, $(...)) + } else if ( !context || context.jquery ) { + return ( context || rootjQuery ).find( selector ); + + // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return this.constructor( context ).find( selector ); + } + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( jQuery.isFunction( selector ) ) { + return rootjQuery.ready( selector ); + } + + if ( selector.selector !== undefined ) { + this.selector = selector.selector; + this.context = selector.context; + } + + return jQuery.makeArray( selector, this ); + }, + + // Start with an empty selector + selector: "", + + // The current version of jQuery being used + jquery: "1.7.2", + + // The default length of a jQuery object is 0 + length: 0, + + // The number of elements contained in the matched element set + size: function() { + return this.length; + }, + + toArray: function() { + return slice.call( this, 0 ); + }, + + // 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 + this.toArray() : + + // Return just the object + ( num < 0 ? this[ this.length + num ] : this[ num ] ); + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems, name, selector ) { + // Build a new jQuery matched element set + var ret = this.constructor(); + + if ( jQuery.isArray( elems ) ) { + push.apply( ret, elems ); + + } else { + jQuery.merge( ret, elems ); + } + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + + ret.context = this.context; + + if ( name === "find" ) { + ret.selector = this.selector + ( this.selector ? " " : "" ) + selector; + } else if ( name ) { + ret.selector = this.selector + "." + name + "(" + selector + ")"; + } + + // 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 ); + }, + + ready: function( fn ) { + // Attach the listeners + jQuery.bindReady(); + + // Add the callback + readyList.add( fn ); + + return this; + }, + + eq: function( i ) { + i = +i; + return i === -1 ? + this.slice( i ) : + this.slice( i, i + 1 ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + slice: function() { + return this.pushStack( slice.apply( this, arguments ), + "slice", slice.call(arguments).join(",") ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map(this, function( elem, i ) { + return callback.call( elem, i, elem ); + })); + }, + + 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: [].sort, + splice: [].splice +}; + +// Give the init function the jQuery prototype for later instantiation +jQuery.fn.init.prototype = jQuery.fn; + +jQuery.extend = jQuery.fn.extend = function() { + var options, name, src, copy, copyIsArray, clone, + target = arguments[0] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + target = arguments[1] || {}; + // skip the boolean and the target + i = 2; + } + + // 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 ( length === i ) { + 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({ + noConflict: function( deep ) { + if ( window.$ === jQuery ) { + window.$ = _$; + } + + if ( deep && window.jQuery === jQuery ) { + window.jQuery = _jQuery; + } + + return jQuery; + }, + + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + + // A counter to track how many items to wait for before + // the ready event fires. See #6781 + readyWait: 1, + + // Hold (or release) the ready event + holdReady: function( hold ) { + if ( hold ) { + jQuery.readyWait++; + } else { + jQuery.ready( true ); + } + }, + + // Handle when the DOM is ready + ready: function( wait ) { + // Either a released hold or an DOMready/load event and not yet ready + if ( (wait === true && !--jQuery.readyWait) || (wait !== true && !jQuery.isReady) ) { + // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443). + if ( !document.body ) { + return setTimeout( jQuery.ready, 1 ); + } + + // Remember that the DOM is ready + jQuery.isReady = true; + + // If a normal DOM Ready event fired, decrement, and wait if need be + if ( wait !== true && --jQuery.readyWait > 0 ) { + return; + } + + // If there are functions bound, to execute + readyList.fireWith( document, [ jQuery ] ); + + // Trigger any bound ready events + if ( jQuery.fn.trigger ) { + jQuery( document ).trigger( "ready" ).off( "ready" ); + } + } + }, + + bindReady: function() { + if ( readyList ) { + return; + } + + readyList = jQuery.Callbacks( "once memory" ); + + // Catch cases where $(document).ready() is called after the + // browser event has already occurred. + if ( document.readyState === "complete" ) { + // Handle it asynchronously to allow scripts the opportunity to delay ready + return setTimeout( jQuery.ready, 1 ); + } + + // Mozilla, Opera and webkit nightlies currently support this event + if ( document.addEventListener ) { + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", DOMContentLoaded, false ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", jQuery.ready, false ); + + // If IE event model is used + } else if ( document.attachEvent ) { + // ensure firing before onload, + // maybe late but safe also for iframes + document.attachEvent( "onreadystatechange", DOMContentLoaded ); + + // A fallback to window.onload, that will always work + window.attachEvent( "onload", jQuery.ready ); + + // If IE and not a frame + // continually check to see if the document is ready + var toplevel = false; + + try { + toplevel = window.frameElement == null; + } catch(e) {} + + if ( document.documentElement.doScroll && toplevel ) { + doScrollCheck(); + } + } + }, + + // 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 ) { + return obj != null && obj == obj.window; + }, + + isNumeric: function( obj ) { + return !isNaN( parseFloat(obj) ) && isFinite( obj ); + }, + + type: function( obj ) { + return obj == null ? + String( obj ) : + class2type[ toString.call(obj) ] || "object"; + }, + + isPlainObject: function( obj ) { + // 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; + } + + // Own properties are enumerated firstly, so to speed up, + // if last one is own, then all properties are own. + + var key; + for ( key in obj ) {} + + return key === undefined || hasOwn.call( obj, key ); + }, + + isEmptyObject: function( obj ) { + for ( var name in obj ) { + return false; + } + return true; + }, + + error: function( msg ) { + throw new Error( msg ); + }, + + parseJSON: function( data ) { + if ( typeof data !== "string" || !data ) { + return null; + } + + // Make sure leading/trailing whitespace is removed (IE can't handle it) + data = jQuery.trim( data ); + + // Attempt to parse using the native JSON parser first + if ( window.JSON && window.JSON.parse ) { + return window.JSON.parse( data ); + } + + // Make sure the incoming data is actual JSON + // Logic borrowed from http://json.org/json2.js + if ( rvalidchars.test( data.replace( rvalidescape, "@" ) + .replace( rvalidtokens, "]" ) + .replace( rvalidbraces, "")) ) { + + return ( new Function( "return " + data ) )(); + + } + jQuery.error( "Invalid JSON: " + data ); + }, + + // Cross-browser xml parsing + parseXML: function( data ) { + if ( typeof data !== "string" || !data ) { + return null; + } + var xml, tmp; + try { + if ( window.DOMParser ) { // Standard + tmp = new DOMParser(); + xml = tmp.parseFromString( data , "text/xml" ); + } else { // IE + xml = new ActiveXObject( "Microsoft.XMLDOM" ); + xml.async = "false"; + xml.loadXML( data ); + } + } catch( e ) { + xml = undefined; + } + if ( !xml || !xml.documentElement || xml.getElementsByTagName( "parsererror" ).length ) { + jQuery.error( "Invalid XML: " + data ); + } + return xml; + }, + + noop: function() {}, + + // 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 && rnotwhite.test( 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.toUpperCase() === name.toUpperCase(); + }, + + // args is for internal usage only + each: function( object, callback, args ) { + var name, i = 0, + length = object.length, + isObj = length === undefined || jQuery.isFunction( object ); + + if ( args ) { + if ( isObj ) { + for ( name in object ) { + if ( callback.apply( object[ name ], args ) === false ) { + break; + } + } + } else { + for ( ; i < length; ) { + if ( callback.apply( object[ i++ ], args ) === false ) { + break; + } + } + } + + // A special, fast, case for the most common use of each + } else { + if ( isObj ) { + for ( name in object ) { + if ( callback.call( object[ name ], name, object[ name ] ) === false ) { + break; + } + } + } else { + for ( ; i < length; ) { + if ( callback.call( object[ i ], i, object[ i++ ] ) === false ) { + break; + } + } + } + } + + return object; + }, + + // Use native String.trim function wherever possible + trim: trim ? + function( text ) { + return text == null ? + "" : + trim.call( text ); + } : + + // Otherwise use our own trimming functionality + function( text ) { + return text == null ? + "" : + text.toString().replace( trimLeft, "" ).replace( trimRight, "" ); + }, + + // results is for internal usage only + makeArray: function( array, results ) { + var ret = results || []; + + if ( array != null ) { + // The window, strings (and functions) also have 'length' + // Tweaked logic slightly to handle Blackberry 4.7 RegExp issues #6930 + var type = jQuery.type( array ); + + if ( array.length == null || type === "string" || type === "function" || type === "regexp" || jQuery.isWindow( array ) ) { + push.call( ret, array ); + } else { + jQuery.merge( ret, array ); + } + } + + return ret; + }, + + inArray: function( elem, array, i ) { + var len; + + if ( array ) { + if ( indexOf ) { + return indexOf.call( array, elem, i ); + } + + len = array.length; + i = i ? i < 0 ? Math.max( 0, len + i ) : i : 0; + + for ( ; i < len; i++ ) { + // Skip accessing in sparse arrays + if ( i in array && array[ i ] === elem ) { + return i; + } + } + } + + return -1; + }, + + merge: function( first, second ) { + var i = first.length, + j = 0; + + if ( typeof second.length === "number" ) { + for ( var l = second.length; j < l; j++ ) { + first[ i++ ] = second[ j ]; + } + + } else { + while ( second[j] !== undefined ) { + first[ i++ ] = second[ j++ ]; + } + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, inv ) { + var ret = [], retVal; + inv = !!inv; + + // Go through the array, only saving the items + // that pass the validator function + for ( var i = 0, length = elems.length; i < length; i++ ) { + retVal = !!callback( elems[ i ], i ); + if ( inv !== retVal ) { + ret.push( elems[ i ] ); + } + } + + return ret; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var value, key, ret = [], + i = 0, + length = elems.length, + // jquery objects are treated as arrays + isArray = elems instanceof jQuery || length !== undefined && typeof length === "number" && ( ( length > 0 && elems[ 0 ] && elems[ length -1 ] ) || length === 0 || jQuery.isArray( elems ) ) ; + + // Go through the array, translating each of the items to their + if ( isArray ) { + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret[ ret.length ] = value; + } + } + + // Go through every key on the object, + } else { + for ( key in elems ) { + value = callback( elems[ key ], key, arg ); + + if ( value != null ) { + ret[ ret.length ] = value; + } + } + } + + // Flatten any nested arrays + return ret.concat.apply( [], ret ); + }, + + // A global GUID counter for objects + guid: 1, + + // Bind a function to a context, optionally partially applying any + // arguments. + proxy: function( fn, context ) { + if ( typeof context === "string" ) { + var tmp = fn[ context ]; + context = fn; + fn = tmp; + } + + // Quick check to determine if target is callable, in the spec + // this throws a TypeError, but we will just return undefined. + if ( !jQuery.isFunction( fn ) ) { + return undefined; + } + + // Simulated bind + var args = slice.call( arguments, 2 ), + proxy = function() { + return fn.apply( context, args.concat( slice.call( arguments ) ) ); + }; + + // Set the guid of unique handler to the same of original handler, so it can be removed + proxy.guid = fn.guid = fn.guid || proxy.guid || jQuery.guid++; + + return proxy; + }, + + // Mutifunctional method to get and set values to a collection + // The value/s can optionally be executed if it's a function + access: function( elems, fn, key, value, chainable, emptyGet, pass ) { + var exec, + bulk = key == null, + i = 0, + length = elems.length; + + // Sets many values + if ( key && typeof key === "object" ) { + for ( i in key ) { + jQuery.access( elems, fn, i, key[i], 1, emptyGet, value ); + } + chainable = 1; + + // Sets one value + } else if ( value !== undefined ) { + // Optionally, function values get executed if exec is true + exec = pass === undefined && jQuery.isFunction( value ); + + if ( bulk ) { + // Bulk operations only iterate when executing function values + if ( exec ) { + exec = fn; + fn = function( elem, key, value ) { + return exec.call( jQuery( elem ), value ); + }; + + // Otherwise they run against the entire set + } else { + fn.call( elems, value ); + fn = null; + } + } + + if ( fn ) { + for (; i < length; i++ ) { + fn( elems[i], key, exec ? value.call( elems[i], i, fn( elems[i], key ) ) : value, pass ); + } + } + + chainable = 1; + } + + return chainable ? + elems : + + // Gets + bulk ? + fn.call( elems ) : + length ? fn( elems[0], key ) : emptyGet; + }, + + now: function() { + return ( new Date() ).getTime(); + }, + + // Use of jQuery.browser is frowned upon. + // More details: http://docs.jquery.com/Utilities/jQuery.browser + uaMatch: function( ua ) { + ua = ua.toLowerCase(); + + var match = rwebkit.exec( ua ) || + ropera.exec( ua ) || + rmsie.exec( ua ) || + ua.indexOf("compatible") < 0 && rmozilla.exec( ua ) || + []; + + return { browser: match[1] || "", version: match[2] || "0" }; + }, + + 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; + }, + + browser: {} +}); + +// Populate the class2type map +jQuery.each("Boolean Number String Function Array Date RegExp Object".split(" "), function(i, name) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); +}); + +browserMatch = jQuery.uaMatch( userAgent ); +if ( browserMatch.browser ) { + jQuery.browser[ browserMatch.browser ] = true; + jQuery.browser.version = browserMatch.version; +} + +// Deprecated, use jQuery.browser.webkit instead +if ( jQuery.browser.webkit ) { + jQuery.browser.safari = true; +} + +// IE doesn't match non-breaking spaces with \s +if ( rnotwhite.test( "\xA0" ) ) { + trimLeft = /^[\s\xA0]+/; + trimRight = /[\s\xA0]+$/; +} + +// All jQuery objects should point back to these +rootjQuery = jQuery(document); + +// Cleanup functions for the document ready method +if ( document.addEventListener ) { + DOMContentLoaded = function() { + document.removeEventListener( "DOMContentLoaded", DOMContentLoaded, false ); + jQuery.ready(); + }; + +} else if ( document.attachEvent ) { + DOMContentLoaded = function() { + // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443). + if ( document.readyState === "complete" ) { + document.detachEvent( "onreadystatechange", DOMContentLoaded ); + jQuery.ready(); + } + }; +} + +// The DOM ready check for Internet Explorer +function doScrollCheck() { + if ( jQuery.isReady ) { + return; + } + + try { + // If IE is used, use the trick by Diego Perini + // http://javascript.nwbox.com/IEContentLoaded/ + document.documentElement.doScroll("left"); + } catch(e) { + setTimeout( doScrollCheck, 1 ); + return; + } + + // and execute any waiting functions + jQuery.ready(); +} + +return jQuery; + +})(); + + +// String to Object flags format cache +var flagsCache = {}; + +// Convert String-formatted flags into Object-formatted ones and store in cache +function createFlags( flags ) { + var object = flagsCache[ flags ] = {}, + i, length; + flags = flags.split( /\s+/ ); + for ( i = 0, length = flags.length; i < length; i++ ) { + object[ flags[i] ] = true; + } + return object; +} + +/* + * Create a callback list using the following parameters: + * + * flags: an optional list of space-separated flags that will change how + * the callback list behaves + * + * By default a callback list will act like an event callback list and can be + * "fired" multiple times. + * + * Possible flags: + * + * once: will ensure the callback list can only be fired once (like a Deferred) + * + * memory: will keep track of previous values and will call any callback added + * after the list has been fired right away with the latest "memorized" + * values (like a Deferred) + * + * unique: will ensure a callback can only be added once (no duplicate in the list) + * + * stopOnFalse: interrupt callings when a callback returns false + * + */ +jQuery.Callbacks = function( flags ) { + + // Convert flags from String-formatted to Object-formatted + // (we check in cache first) + flags = flags ? ( flagsCache[ flags ] || createFlags( flags ) ) : {}; + + var // Actual callback list + list = [], + // Stack of fire calls for repeatable lists + stack = [], + // Last fire value (for non-forgettable lists) + memory, + // Flag to know if list was already fired + fired, + // Flag to know if list is currently firing + firing, + // First callback to fire (used internally by add and fireWith) + firingStart, + // End of the loop when firing + firingLength, + // Index of currently firing callback (modified by remove if needed) + firingIndex, + // Add one or several callbacks to the list + add = function( args ) { + var i, + length, + elem, + type, + actual; + for ( i = 0, length = args.length; i < length; i++ ) { + elem = args[ i ]; + type = jQuery.type( elem ); + if ( type === "array" ) { + // Inspect recursively + add( elem ); + } else if ( type === "function" ) { + // Add if not in unique mode and callback is not in + if ( !flags.unique || !self.has( elem ) ) { + list.push( elem ); + } + } + } + }, + // Fire callbacks + fire = function( context, args ) { + args = args || []; + memory = !flags.memory || [ context, args ]; + fired = true; + firing = true; + firingIndex = firingStart || 0; + firingStart = 0; + firingLength = list.length; + for ( ; list && firingIndex < firingLength; firingIndex++ ) { + if ( list[ firingIndex ].apply( context, args ) === false && flags.stopOnFalse ) { + memory = true; // Mark as halted + break; + } + } + firing = false; + if ( list ) { + if ( !flags.once ) { + if ( stack && stack.length ) { + memory = stack.shift(); + self.fireWith( memory[ 0 ], memory[ 1 ] ); + } + } else if ( memory === true ) { + self.disable(); + } else { + list = []; + } + } + }, + // Actual Callbacks object + self = { + // Add a callback or a collection of callbacks to the list + add: function() { + if ( list ) { + var length = list.length; + add( arguments ); + // Do we need to add the callbacks to the + // current firing batch? + if ( firing ) { + firingLength = list.length; + // With memory, if we're not firing then + // we should call right away, unless previous + // firing was halted (stopOnFalse) + } else if ( memory && memory !== true ) { + firingStart = length; + fire( memory[ 0 ], memory[ 1 ] ); + } + } + return this; + }, + // Remove a callback from the list + remove: function() { + if ( list ) { + var args = arguments, + argIndex = 0, + argLength = args.length; + for ( ; argIndex < argLength ; argIndex++ ) { + for ( var i = 0; i < list.length; i++ ) { + if ( args[ argIndex ] === list[ i ] ) { + // Handle firingIndex and firingLength + if ( firing ) { + if ( i <= firingLength ) { + firingLength--; + if ( i <= firingIndex ) { + firingIndex--; + } + } + } + // Remove the element + list.splice( i--, 1 ); + // If we have some unicity property then + // we only need to do this once + if ( flags.unique ) { + break; + } + } + } + } + } + return this; + }, + // Control if a given callback is in the list + has: function( fn ) { + if ( list ) { + var i = 0, + length = list.length; + for ( ; i < length; i++ ) { + if ( fn === list[ i ] ) { + return true; + } + } + } + return false; + }, + // Remove all callbacks from the list + empty: function() { + list = []; + return this; + }, + // Have the list do nothing anymore + disable: function() { + list = stack = memory = undefined; + return this; + }, + // Is it disabled? + disabled: function() { + return !list; + }, + // Lock the list in its current state + lock: function() { + stack = undefined; + if ( !memory || memory === true ) { + self.disable(); + } + return this; + }, + // Is it locked? + locked: function() { + return !stack; + }, + // Call all callbacks with the given context and arguments + fireWith: function( context, args ) { + if ( stack ) { + if ( firing ) { + if ( !flags.once ) { + stack.push( [ context, args ] ); + } + } else if ( !( flags.once && memory ) ) { + fire( context, args ); + } + } + return this; + }, + // Call all the callbacks with the given arguments + fire: function() { + self.fireWith( this, arguments ); + return this; + }, + // To know if the callbacks have already been called at least once + fired: function() { + return !!fired; + } + }; + + return self; +}; + + + + +var // Static reference to slice + sliceDeferred = [].slice; + +jQuery.extend({ + + Deferred: function( func ) { + var doneList = jQuery.Callbacks( "once memory" ), + failList = jQuery.Callbacks( "once memory" ), + progressList = jQuery.Callbacks( "memory" ), + state = "pending", + lists = { + resolve: doneList, + reject: failList, + notify: progressList + }, + promise = { + done: doneList.add, + fail: failList.add, + progress: progressList.add, + + state: function() { + return state; + }, + + // Deprecated + isResolved: doneList.fired, + isRejected: failList.fired, + + then: function( doneCallbacks, failCallbacks, progressCallbacks ) { + deferred.done( doneCallbacks ).fail( failCallbacks ).progress( progressCallbacks ); + return this; + }, + always: function() { + deferred.done.apply( deferred, arguments ).fail.apply( deferred, arguments ); + return this; + }, + pipe: function( fnDone, fnFail, fnProgress ) { + return jQuery.Deferred(function( newDefer ) { + jQuery.each( { + done: [ fnDone, "resolve" ], + fail: [ fnFail, "reject" ], + progress: [ fnProgress, "notify" ] + }, function( handler, data ) { + var fn = data[ 0 ], + action = data[ 1 ], + returned; + if ( jQuery.isFunction( fn ) ) { + deferred[ handler ](function() { + returned = fn.apply( this, arguments ); + if ( returned && jQuery.isFunction( returned.promise ) ) { + returned.promise().then( newDefer.resolve, newDefer.reject, newDefer.notify ); + } else { + newDefer[ action + "With" ]( this === deferred ? newDefer : this, [ returned ] ); + } + }); + } else { + deferred[ handler ]( newDefer[ action ] ); + } + }); + }).promise(); + }, + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function( obj ) { + if ( obj == null ) { + obj = promise; + } else { + for ( var key in promise ) { + obj[ key ] = promise[ key ]; + } + } + return obj; + } + }, + deferred = promise.promise({}), + key; + + for ( key in lists ) { + deferred[ key ] = lists[ key ].fire; + deferred[ key + "With" ] = lists[ key ].fireWith; + } + + // Handle state + deferred.done( function() { + state = "resolved"; + }, failList.disable, progressList.lock ).fail( function() { + state = "rejected"; + }, doneList.disable, progressList.lock ); + + // Call given func if any + if ( func ) { + func.call( deferred, deferred ); + } + + // All done! + return deferred; + }, + + // Deferred helper + when: function( firstParam ) { + var args = sliceDeferred.call( arguments, 0 ), + i = 0, + length = args.length, + pValues = new Array( length ), + count = length, + pCount = length, + deferred = length <= 1 && firstParam && jQuery.isFunction( firstParam.promise ) ? + firstParam : + jQuery.Deferred(), + promise = deferred.promise(); + function resolveFunc( i ) { + return function( value ) { + args[ i ] = arguments.length > 1 ? sliceDeferred.call( arguments, 0 ) : value; + if ( !( --count ) ) { + deferred.resolveWith( deferred, args ); + } + }; + } + function progressFunc( i ) { + return function( value ) { + pValues[ i ] = arguments.length > 1 ? sliceDeferred.call( arguments, 0 ) : value; + deferred.notifyWith( promise, pValues ); + }; + } + if ( length > 1 ) { + for ( ; i < length; i++ ) { + if ( args[ i ] && args[ i ].promise && jQuery.isFunction( args[ i ].promise ) ) { + args[ i ].promise().then( resolveFunc(i), deferred.reject, progressFunc(i) ); + } else { + --count; + } + } + if ( !count ) { + deferred.resolveWith( deferred, args ); + } + } else if ( deferred !== firstParam ) { + deferred.resolveWith( deferred, length ? [ firstParam ] : [] ); + } + return promise; + } +}); + + + + +jQuery.support = (function() { + + var support, + all, + a, + select, + opt, + input, + fragment, + tds, + events, + eventName, + i, + isSupported, + div = document.createElement( "div" ), + documentElement = document.documentElement; + + // Preliminary tests + div.setAttribute("className", "t"); + div.innerHTML = "
a"; + + all = div.getElementsByTagName( "*" ); + a = div.getElementsByTagName( "a" )[ 0 ]; + + // Can't get basic test support + if ( !all || !all.length || !a ) { + return {}; + } + + // First batch of supports tests + select = document.createElement( "select" ); + opt = select.appendChild( document.createElement("option") ); + input = div.getElementsByTagName( "input" )[ 0 ]; + + support = { + // IE strips leading whitespace when .innerHTML is used + leadingWhitespace: ( div.firstChild.nodeType === 3 ), + + // Make sure that tbody elements aren't automatically inserted + // IE will insert them into empty tables + tbody: !div.getElementsByTagName("tbody").length, + + // Make sure that link elements get serialized correctly by innerHTML + // This requires a wrapper element in IE + htmlSerialize: !!div.getElementsByTagName("link").length, + + // Get the style information from getAttribute + // (IE uses .cssText instead) + style: /top/.test( a.getAttribute("style") ), + + // Make sure that URLs aren't manipulated + // (IE normalizes it by default) + hrefNormalized: ( a.getAttribute("href") === "/a" ), + + // Make sure that element opacity exists + // (IE uses filter instead) + // Use a regex to work around a WebKit issue. See #5145 + opacity: /^0.55/.test( a.style.opacity ), + + // Verify style float existence + // (IE uses styleFloat instead of cssFloat) + cssFloat: !!a.style.cssFloat, + + // Make sure that if no value is specified for a checkbox + // that it defaults to "on". + // (WebKit defaults to "" instead) + checkOn: ( input.value === "on" ), + + // Make sure that a selected-by-default option has a working selected property. + // (WebKit defaults to false instead of true, IE too, if it's in an optgroup) + optSelected: opt.selected, + + // Test setAttribute on camelCase class. If it works, we need attrFixes when doing get/setAttribute (ie6/7) + getSetAttribute: div.className !== "t", + + // Tests for enctype support on a form(#6743) + enctype: !!document.createElement("form").enctype, + + // Makes sure cloning an html5 element does not cause problems + // Where outerHTML is undefined, this still works + html5Clone: document.createElement("nav").cloneNode( true ).outerHTML !== "<:nav>", + + // Will be defined later + submitBubbles: true, + changeBubbles: true, + focusinBubbles: false, + deleteExpando: true, + noCloneEvent: true, + inlineBlockNeedsLayout: false, + shrinkWrapBlocks: false, + reliableMarginRight: true, + pixelMargin: true + }; + + // jQuery.boxModel DEPRECATED in 1.3, use jQuery.support.boxModel instead + jQuery.boxModel = support.boxModel = (document.compatMode === "CSS1Compat"); + + // Make sure checked status is properly cloned + input.checked = true; + support.noCloneChecked = input.cloneNode( true ).checked; + + // Make sure that the options inside disabled selects aren't marked as disabled + // (WebKit marks them as disabled) + select.disabled = true; + support.optDisabled = !opt.disabled; + + // Test to see if it's possible to delete an expando from an element + // Fails in Internet Explorer + try { + delete div.test; + } catch( e ) { + support.deleteExpando = false; + } + + if ( !div.addEventListener && div.attachEvent && div.fireEvent ) { + div.attachEvent( "onclick", function() { + // Cloning a node shouldn't copy over any + // bound event handlers (IE does this) + support.noCloneEvent = false; + }); + div.cloneNode( true ).fireEvent( "onclick" ); + } + + // Check if a radio maintains its value + // after being appended to the DOM + input = document.createElement("input"); + input.value = "t"; + input.setAttribute("type", "radio"); + support.radioValue = input.value === "t"; + + input.setAttribute("checked", "checked"); + + // #11217 - WebKit loses check when the name is after the checked attribute + input.setAttribute( "name", "t" ); + + div.appendChild( input ); + fragment = document.createDocumentFragment(); + fragment.appendChild( div.lastChild ); + + // WebKit doesn't clone checked state correctly in fragments + support.checkClone = fragment.cloneNode( true ).cloneNode( true ).lastChild.checked; + + // Check if a disconnected checkbox will retain its checked + // value of true after appended to the DOM (IE6/7) + support.appendChecked = input.checked; + + fragment.removeChild( input ); + fragment.appendChild( div ); + + // Technique from Juriy Zaytsev + // http://perfectionkills.com/detecting-event-support-without-browser-sniffing/ + // We only care about the case where non-standard event systems + // are used, namely in IE. Short-circuiting here helps us to + // avoid an eval call (in setAttribute) which can cause CSP + // to go haywire. See: https://developer.mozilla.org/en/Security/CSP + if ( div.attachEvent ) { + for ( i in { + submit: 1, + change: 1, + focusin: 1 + }) { + eventName = "on" + i; + isSupported = ( eventName in div ); + if ( !isSupported ) { + div.setAttribute( eventName, "return;" ); + isSupported = ( typeof div[ eventName ] === "function" ); + } + support[ i + "Bubbles" ] = isSupported; + } + } + + fragment.removeChild( div ); + + // Null elements to avoid leaks in IE + fragment = select = opt = div = input = null; + + // Run tests that need a body at doc ready + jQuery(function() { + var container, outer, inner, table, td, offsetSupport, + marginDiv, conMarginTop, style, html, positionTopLeftWidthHeight, + paddingMarginBorderVisibility, paddingMarginBorder, + body = document.getElementsByTagName("body")[0]; + + if ( !body ) { + // Return for frameset docs that don't have a body + return; + } + + conMarginTop = 1; + paddingMarginBorder = "padding:0;margin:0;border:"; + positionTopLeftWidthHeight = "position:absolute;top:0;left:0;width:1px;height:1px;"; + paddingMarginBorderVisibility = paddingMarginBorder + "0;visibility:hidden;"; + style = "style='" + positionTopLeftWidthHeight + paddingMarginBorder + "5px solid #000;"; + html = "

" + + "" + + "
"; + + container = document.createElement("div"); + container.style.cssText = paddingMarginBorderVisibility + "width:0;height:0;position:static;top:0;margin-top:" + conMarginTop + "px"; + body.insertBefore( container, body.firstChild ); + + // Construct the test element + div = document.createElement("div"); + container.appendChild( div ); + + // Check if table cells still have offsetWidth/Height when they are set + // to display:none and there are still other visible table cells in a + // table row; if so, offsetWidth/Height are not reliable for use when + // determining if an element has been hidden directly using + // display:none (it is still safe to use offsets if a parent element is + // hidden; don safety goggles and see bug #4512 for more information). + // (only IE 8 fails this test) + div.innerHTML = "
t
"; + tds = div.getElementsByTagName( "td" ); + isSupported = ( tds[ 0 ].offsetHeight === 0 ); + + tds[ 0 ].style.display = ""; + tds[ 1 ].style.display = "none"; + + // Check if empty table cells still have offsetWidth/Height + // (IE <= 8 fail this test) + support.reliableHiddenOffsets = isSupported && ( tds[ 0 ].offsetHeight === 0 ); + + // Check if div with explicit width and no margin-right incorrectly + // gets computed margin-right based on width of container. For more + // info see bug #3333 + // Fails in WebKit before Feb 2011 nightlies + // WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right + if ( window.getComputedStyle ) { + div.innerHTML = ""; + marginDiv = document.createElement( "div" ); + marginDiv.style.width = "0"; + marginDiv.style.marginRight = "0"; + div.style.width = "2px"; + div.appendChild( marginDiv ); + support.reliableMarginRight = + ( parseInt( ( window.getComputedStyle( marginDiv, null ) || { marginRight: 0 } ).marginRight, 10 ) || 0 ) === 0; + } + + if ( typeof div.style.zoom !== "undefined" ) { + // Check if natively block-level elements act like inline-block + // elements when setting their display to 'inline' and giving + // them layout + // (IE < 8 does this) + div.innerHTML = ""; + div.style.width = div.style.padding = "1px"; + div.style.border = 0; + div.style.overflow = "hidden"; + div.style.display = "inline"; + div.style.zoom = 1; + support.inlineBlockNeedsLayout = ( div.offsetWidth === 3 ); + + // Check if elements with layout shrink-wrap their children + // (IE 6 does this) + div.style.display = "block"; + div.style.overflow = "visible"; + div.innerHTML = "
"; + support.shrinkWrapBlocks = ( div.offsetWidth !== 3 ); + } + + div.style.cssText = positionTopLeftWidthHeight + paddingMarginBorderVisibility; + div.innerHTML = html; + + outer = div.firstChild; + inner = outer.firstChild; + td = outer.nextSibling.firstChild.firstChild; + + offsetSupport = { + doesNotAddBorder: ( inner.offsetTop !== 5 ), + doesAddBorderForTableAndCells: ( td.offsetTop === 5 ) + }; + + inner.style.position = "fixed"; + inner.style.top = "20px"; + + // safari subtracts parent border width here which is 5px + offsetSupport.fixedPosition = ( inner.offsetTop === 20 || inner.offsetTop === 15 ); + inner.style.position = inner.style.top = ""; + + outer.style.overflow = "hidden"; + outer.style.position = "relative"; + + offsetSupport.subtractsBorderForOverflowNotVisible = ( inner.offsetTop === -5 ); + offsetSupport.doesNotIncludeMarginInBodyOffset = ( body.offsetTop !== conMarginTop ); + + if ( window.getComputedStyle ) { + div.style.marginTop = "1%"; + support.pixelMargin = ( window.getComputedStyle( div, null ) || { marginTop: 0 } ).marginTop !== "1%"; + } + + if ( typeof container.style.zoom !== "undefined" ) { + container.style.zoom = 1; + } + + body.removeChild( container ); + marginDiv = div = container = null; + + jQuery.extend( support, offsetSupport ); + }); + + return support; +})(); + + + + +var rbrace = /^(?:\{.*\}|\[.*\])$/, + rmultiDash = /([A-Z])/g; + +jQuery.extend({ + cache: {}, + + // Please use with caution + uuid: 0, + + // Unique for each copy of jQuery on the page + // Non-digits removed to match rinlinejQuery + expando: "jQuery" + ( jQuery.fn.jquery + Math.random() ).replace( /\D/g, "" ), + + // The following elements throw uncatchable exceptions if you + // attempt to add expando properties to them. + noData: { + "embed": true, + // Ban all objects except for Flash (which handle expandos) + "object": "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000", + "applet": true + }, + + hasData: function( elem ) { + elem = elem.nodeType ? jQuery.cache[ elem[jQuery.expando] ] : elem[ jQuery.expando ]; + return !!elem && !isEmptyDataObject( elem ); + }, + + data: function( elem, name, data, pvt /* Internal Use Only */ ) { + if ( !jQuery.acceptData( elem ) ) { + return; + } + + var privateCache, thisCache, ret, + internalKey = jQuery.expando, + getByName = typeof name === "string", + + // We have to handle DOM nodes and JS objects differently because IE6-7 + // can't GC object references properly across the DOM-JS boundary + isNode = elem.nodeType, + + // Only DOM nodes need the global jQuery cache; JS object data is + // attached directly to the object so GC can occur automatically + cache = isNode ? jQuery.cache : elem, + + // Only defining an ID for JS objects if its cache already exists allows + // the code to shortcut on the same path as a DOM node with no cache + id = isNode ? elem[ internalKey ] : elem[ internalKey ] && internalKey, + isEvents = name === "events"; + + // Avoid doing any more work than we need to when trying to get data on an + // object that has no data at all + if ( (!id || !cache[id] || (!isEvents && !pvt && !cache[id].data)) && getByName && data === undefined ) { + return; + } + + if ( !id ) { + // Only DOM nodes need a new unique ID for each element since their data + // ends up in the global cache + if ( isNode ) { + elem[ internalKey ] = id = ++jQuery.uuid; + } else { + id = internalKey; + } + } + + if ( !cache[ id ] ) { + cache[ id ] = {}; + + // Avoids exposing jQuery metadata on plain JS objects when the object + // is serialized using JSON.stringify + if ( !isNode ) { + cache[ id ].toJSON = jQuery.noop; + } + } + + // An object can be passed to jQuery.data instead of a key/value pair; this gets + // shallow copied over onto the existing cache + if ( typeof name === "object" || typeof name === "function" ) { + if ( pvt ) { + cache[ id ] = jQuery.extend( cache[ id ], name ); + } else { + cache[ id ].data = jQuery.extend( cache[ id ].data, name ); + } + } + + privateCache = thisCache = cache[ id ]; + + // jQuery data() is stored in a separate object inside the object's internal data + // cache in order to avoid key collisions between internal data and user-defined + // data. + if ( !pvt ) { + if ( !thisCache.data ) { + thisCache.data = {}; + } + + thisCache = thisCache.data; + } + + if ( data !== undefined ) { + thisCache[ jQuery.camelCase( name ) ] = data; + } + + // Users should not attempt to inspect the internal events object using jQuery.data, + // it is undocumented and subject to change. But does anyone listen? No. + if ( isEvents && !thisCache[ name ] ) { + return privateCache.events; + } + + // Check for both converted-to-camel and non-converted data property names + // If a data property was specified + if ( getByName ) { + + // First Try to find as-is property data + ret = thisCache[ name ]; + + // Test for null|undefined property data + if ( ret == null ) { + + // Try to find the camelCased property + ret = thisCache[ jQuery.camelCase( name ) ]; + } + } else { + ret = thisCache; + } + + return ret; + }, + + removeData: function( elem, name, pvt /* Internal Use Only */ ) { + if ( !jQuery.acceptData( elem ) ) { + return; + } + + var thisCache, i, l, + + // Reference to internal data cache key + internalKey = jQuery.expando, + + isNode = elem.nodeType, + + // See jQuery.data for more information + cache = isNode ? jQuery.cache : elem, + + // See jQuery.data for more information + id = isNode ? elem[ internalKey ] : internalKey; + + // If there is already no cache entry for this object, there is no + // purpose in continuing + if ( !cache[ id ] ) { + return; + } + + if ( name ) { + + thisCache = pvt ? cache[ id ] : cache[ id ].data; + + if ( thisCache ) { + + // Support array or space separated string names for data keys + if ( !jQuery.isArray( name ) ) { + + // try the string as a key before any manipulation + if ( name in thisCache ) { + name = [ name ]; + } else { + + // split the camel cased version by spaces unless a key with the spaces exists + name = jQuery.camelCase( name ); + if ( name in thisCache ) { + name = [ name ]; + } else { + name = name.split( " " ); + } + } + } + + for ( i = 0, l = name.length; i < l; i++ ) { + delete thisCache[ name[i] ]; + } + + // If there is no data left in the cache, we want to continue + // and let the cache object itself get destroyed + if ( !( pvt ? isEmptyDataObject : jQuery.isEmptyObject )( thisCache ) ) { + return; + } + } + } + + // See jQuery.data for more information + if ( !pvt ) { + delete cache[ id ].data; + + // Don't destroy the parent cache unless the internal data object + // had been the only thing left in it + if ( !isEmptyDataObject(cache[ id ]) ) { + return; + } + } + + // Browsers that fail expando deletion also refuse to delete expandos on + // the window, but it will allow it on all other JS objects; other browsers + // don't care + // Ensure that `cache` is not a window object #10080 + if ( jQuery.support.deleteExpando || !cache.setInterval ) { + delete cache[ id ]; + } else { + cache[ id ] = null; + } + + // We destroyed the cache and need to eliminate the expando on the node to avoid + // false lookups in the cache for entries that no longer exist + if ( isNode ) { + // IE does not allow us to delete expando properties from nodes, + // nor does it have a removeAttribute function on Document nodes; + // we must handle all of these cases + if ( jQuery.support.deleteExpando ) { + delete elem[ internalKey ]; + } else if ( elem.removeAttribute ) { + elem.removeAttribute( internalKey ); + } else { + elem[ internalKey ] = null; + } + } + }, + + // For internal use only. + _data: function( elem, name, data ) { + return jQuery.data( elem, name, data, true ); + }, + + // A method for determining if a DOM node can handle the data expando + acceptData: function( elem ) { + if ( elem.nodeName ) { + var match = jQuery.noData[ elem.nodeName.toLowerCase() ]; + + if ( match ) { + return !(match === true || elem.getAttribute("classid") !== match); + } + } + + return true; + } +}); + +jQuery.fn.extend({ + data: function( key, value ) { + var parts, part, attr, name, l, + elem = this[0], + i = 0, + data = null; + + // Gets all values + if ( key === undefined ) { + if ( this.length ) { + data = jQuery.data( elem ); + + if ( elem.nodeType === 1 && !jQuery._data( elem, "parsedAttrs" ) ) { + attr = elem.attributes; + for ( l = attr.length; i < l; i++ ) { + name = attr[i].name; + + if ( name.indexOf( "data-" ) === 0 ) { + name = jQuery.camelCase( name.substring(5) ); + + dataAttr( elem, name, data[ name ] ); + } + } + jQuery._data( elem, "parsedAttrs", true ); + } + } + + return data; + } + + // Sets multiple values + if ( typeof key === "object" ) { + return this.each(function() { + jQuery.data( this, key ); + }); + } + + parts = key.split( ".", 2 ); + parts[1] = parts[1] ? "." + parts[1] : ""; + part = parts[1] + "!"; + + return jQuery.access( this, function( value ) { + + if ( value === undefined ) { + data = this.triggerHandler( "getData" + part, [ parts[0] ] ); + + // Try to fetch any internally stored data first + if ( data === undefined && elem ) { + data = jQuery.data( elem, key ); + data = dataAttr( elem, key, data ); + } + + return data === undefined && parts[1] ? + this.data( parts[0] ) : + data; + } + + parts[1] = value; + this.each(function() { + var self = jQuery( this ); + + self.triggerHandler( "setData" + part, parts ); + jQuery.data( this, key, value ); + self.triggerHandler( "changeData" + part, parts ); + }); + }, null, value, arguments.length > 1, null, false ); + }, + + removeData: function( key ) { + return this.each(function() { + jQuery.removeData( this, key ); + }); + } +}); + +function dataAttr( elem, key, data ) { + // If nothing was found internally, try to fetch any + // data from the HTML5 data-* attribute + if ( data === undefined && elem.nodeType === 1 ) { + + var name = "data-" + key.replace( rmultiDash, "-$1" ).toLowerCase(); + + data = elem.getAttribute( name ); + + if ( typeof data === "string" ) { + try { + data = data === "true" ? true : + data === "false" ? false : + data === "null" ? null : + jQuery.isNumeric( data ) ? +data : + rbrace.test( data ) ? jQuery.parseJSON( data ) : + data; + } catch( e ) {} + + // Make sure we set the data so it isn't changed later + jQuery.data( elem, key, data ); + + } else { + data = undefined; + } + } + + return data; +} + +// checks a cache object for emptiness +function isEmptyDataObject( obj ) { + for ( var name in obj ) { + + // if the public data object is empty, the private is still empty + if ( name === "data" && jQuery.isEmptyObject( obj[name] ) ) { + continue; + } + if ( name !== "toJSON" ) { + return false; + } + } + + return true; +} + + + + +function handleQueueMarkDefer( elem, type, src ) { + var deferDataKey = type + "defer", + queueDataKey = type + "queue", + markDataKey = type + "mark", + defer = jQuery._data( elem, deferDataKey ); + if ( defer && + ( src === "queue" || !jQuery._data(elem, queueDataKey) ) && + ( src === "mark" || !jQuery._data(elem, markDataKey) ) ) { + // Give room for hard-coded callbacks to fire first + // and eventually mark/queue something else on the element + setTimeout( function() { + if ( !jQuery._data( elem, queueDataKey ) && + !jQuery._data( elem, markDataKey ) ) { + jQuery.removeData( elem, deferDataKey, true ); + defer.fire(); + } + }, 0 ); + } +} + +jQuery.extend({ + + _mark: function( elem, type ) { + if ( elem ) { + type = ( type || "fx" ) + "mark"; + jQuery._data( elem, type, (jQuery._data( elem, type ) || 0) + 1 ); + } + }, + + _unmark: function( force, elem, type ) { + if ( force !== true ) { + type = elem; + elem = force; + force = false; + } + if ( elem ) { + type = type || "fx"; + var key = type + "mark", + count = force ? 0 : ( (jQuery._data( elem, key ) || 1) - 1 ); + if ( count ) { + jQuery._data( elem, key, count ); + } else { + jQuery.removeData( elem, key, true ); + handleQueueMarkDefer( elem, type, "mark" ); + } + } + }, + + queue: function( elem, type, data ) { + var q; + if ( elem ) { + type = ( type || "fx" ) + "queue"; + q = jQuery._data( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( data ) { + if ( !q || jQuery.isArray(data) ) { + q = jQuery._data( elem, type, jQuery.makeArray(data) ); + } else { + q.push( data ); + } + } + return q || []; + } + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + fn = queue.shift(), + hooks = {}; + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + } + + if ( fn ) { + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift( "inprogress" ); + } + + jQuery._data( elem, type + ".run", hooks ); + fn.call( elem, function() { + jQuery.dequeue( elem, type ); + }, hooks ); + } + + if ( !queue.length ) { + jQuery.removeData( elem, type + "queue " + type + ".run", true ); + handleQueueMarkDefer( elem, type, "queue" ); + } + } +}); + +jQuery.fn.extend({ + queue: function( type, data ) { + var setter = 2; + + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + setter--; + } + + if ( arguments.length < setter ) { + return jQuery.queue( this[0], type ); + } + + return data === undefined ? + this : + this.each(function() { + var queue = jQuery.queue( this, type, data ); + + if ( type === "fx" && queue[0] !== "inprogress" ) { + jQuery.dequeue( this, type ); + } + }); + }, + dequeue: function( type ) { + return this.each(function() { + jQuery.dequeue( this, type ); + }); + }, + // Based off of the plugin by Clint Helfers, with permission. + // http://blindsignals.com/index.php/2009/07/jquery-delay/ + delay: function( time, type ) { + time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; + type = type || "fx"; + + return this.queue( type, function( next, hooks ) { + var timeout = setTimeout( next, time ); + hooks.stop = function() { + clearTimeout( timeout ); + }; + }); + }, + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + }, + // Get a promise resolved when queues of a certain type + // are emptied (fx is the type by default) + promise: function( type, object ) { + if ( typeof type !== "string" ) { + object = type; + type = undefined; + } + type = type || "fx"; + var defer = jQuery.Deferred(), + elements = this, + i = elements.length, + count = 1, + deferDataKey = type + "defer", + queueDataKey = type + "queue", + markDataKey = type + "mark", + tmp; + function resolve() { + if ( !( --count ) ) { + defer.resolveWith( elements, [ elements ] ); + } + } + while( i-- ) { + if (( tmp = jQuery.data( elements[ i ], deferDataKey, undefined, true ) || + ( jQuery.data( elements[ i ], queueDataKey, undefined, true ) || + jQuery.data( elements[ i ], markDataKey, undefined, true ) ) && + jQuery.data( elements[ i ], deferDataKey, jQuery.Callbacks( "once memory" ), true ) )) { + count++; + tmp.add( resolve ); + } + } + resolve(); + return defer.promise( object ); + } +}); + + + + +var rclass = /[\n\t\r]/g, + rspace = /\s+/, + rreturn = /\r/g, + rtype = /^(?:button|input)$/i, + rfocusable = /^(?:button|input|object|select|textarea)$/i, + rclickable = /^a(?:rea)?$/i, + rboolean = /^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i, + getSetAttribute = jQuery.support.getSetAttribute, + nodeHook, boolHook, fixSpecified; + +jQuery.fn.extend({ + attr: function( name, value ) { + return jQuery.access( this, jQuery.attr, name, value, arguments.length > 1 ); + }, + + removeAttr: function( name ) { + return this.each(function() { + jQuery.removeAttr( this, name ); + }); + }, + + prop: function( name, value ) { + return jQuery.access( this, jQuery.prop, name, value, arguments.length > 1 ); + }, + + removeProp: function( name ) { + name = jQuery.propFix[ name ] || name; + return this.each(function() { + // try/catch handles cases where IE balks (such as removing a property on window) + try { + this[ name ] = undefined; + delete this[ name ]; + } catch( e ) {} + }); + }, + + addClass: function( value ) { + var classNames, i, l, elem, + setClass, c, cl; + + if ( jQuery.isFunction( value ) ) { + return this.each(function( j ) { + jQuery( this ).addClass( value.call(this, j, this.className) ); + }); + } + + if ( value && typeof value === "string" ) { + classNames = value.split( rspace ); + + for ( i = 0, l = this.length; i < l; i++ ) { + elem = this[ i ]; + + if ( elem.nodeType === 1 ) { + if ( !elem.className && classNames.length === 1 ) { + elem.className = value; + + } else { + setClass = " " + elem.className + " "; + + for ( c = 0, cl = classNames.length; c < cl; c++ ) { + if ( !~setClass.indexOf( " " + classNames[ c ] + " " ) ) { + setClass += classNames[ c ] + " "; + } + } + elem.className = jQuery.trim( setClass ); + } + } + } + } + + return this; + }, + + removeClass: function( value ) { + var classNames, i, l, elem, className, c, cl; + + if ( jQuery.isFunction( value ) ) { + return this.each(function( j ) { + jQuery( this ).removeClass( value.call(this, j, this.className) ); + }); + } + + if ( (value && typeof value === "string") || value === undefined ) { + classNames = ( value || "" ).split( rspace ); + + for ( i = 0, l = this.length; i < l; i++ ) { + elem = this[ i ]; + + if ( elem.nodeType === 1 && elem.className ) { + if ( value ) { + className = (" " + elem.className + " ").replace( rclass, " " ); + for ( c = 0, cl = classNames.length; c < cl; c++ ) { + className = className.replace(" " + classNames[ c ] + " ", " "); + } + elem.className = jQuery.trim( className ); + + } else { + elem.className = ""; + } + } + } + } + + return this; + }, + + toggleClass: function( value, stateVal ) { + var type = typeof value, + isBool = typeof stateVal === "boolean"; + + if ( jQuery.isFunction( value ) ) { + return this.each(function( i ) { + jQuery( this ).toggleClass( value.call(this, i, this.className, stateVal), stateVal ); + }); + } + + return this.each(function() { + if ( type === "string" ) { + // toggle individual class names + var className, + i = 0, + self = jQuery( this ), + state = stateVal, + classNames = value.split( rspace ); + + while ( (className = classNames[ i++ ]) ) { + // check each className given, space seperated list + state = isBool ? state : !self.hasClass( className ); + self[ state ? "addClass" : "removeClass" ]( className ); + } + + } else if ( type === "undefined" || type === "boolean" ) { + if ( this.className ) { + // store className if set + jQuery._data( this, "__className__", this.className ); + } + + // toggle whole className + this.className = this.className || value === false ? "" : jQuery._data( this, "__className__" ) || ""; + } + }); + }, + + hasClass: function( selector ) { + var className = " " + selector + " ", + i = 0, + l = this.length; + for ( ; i < l; i++ ) { + if ( this[i].nodeType === 1 && (" " + this[i].className + " ").replace(rclass, " ").indexOf( className ) > -1 ) { + return true; + } + } + + return false; + }, + + val: function( value ) { + var hooks, ret, isFunction, + elem = this[0]; + + if ( !arguments.length ) { + if ( elem ) { + hooks = jQuery.valHooks[ elem.type ] || jQuery.valHooks[ elem.nodeName.toLowerCase() ]; + + if ( hooks && "get" in hooks && (ret = hooks.get( elem, "value" )) !== undefined ) { + return ret; + } + + ret = elem.value; + + return typeof ret === "string" ? + // handle most common string cases + ret.replace(rreturn, "") : + // handle cases where value is null/undef or number + ret == null ? "" : ret; + } + + return; + } + + isFunction = jQuery.isFunction( value ); + + return this.each(function( i ) { + var self = jQuery(this), val; + + if ( this.nodeType !== 1 ) { + return; + } + + if ( isFunction ) { + val = value.call( this, i, self.val() ); + } else { + val = value; + } + + // Treat null/undefined as ""; convert numbers to string + if ( val == null ) { + val = ""; + } else if ( typeof val === "number" ) { + val += ""; + } else if ( jQuery.isArray( val ) ) { + val = jQuery.map(val, function ( value ) { + return value == null ? "" : value + ""; + }); + } + + hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; + + // If set returns undefined, fall back to normal setting + if ( !hooks || !("set" in hooks) || hooks.set( this, val, "value" ) === undefined ) { + this.value = val; + } + }); + } +}); + +jQuery.extend({ + valHooks: { + option: { + get: function( elem ) { + // attributes.value is undefined in Blackberry 4.7 but + // uses .value. See #6932 + var val = elem.attributes.value; + return !val || val.specified ? elem.value : elem.text; + } + }, + select: { + get: function( elem ) { + var value, i, max, option, + index = elem.selectedIndex, + values = [], + options = elem.options, + one = elem.type === "select-one"; + + // Nothing was selected + if ( index < 0 ) { + return null; + } + + // Loop through all the selected options + i = one ? index : 0; + max = one ? index + 1 : options.length; + for ( ; i < max; i++ ) { + option = options[ i ]; + + // Don't return options that are disabled or in a disabled optgroup + if ( option.selected && (jQuery.support.optDisabled ? !option.disabled : option.getAttribute("disabled") === null) && + (!option.parentNode.disabled || !jQuery.nodeName( option.parentNode, "optgroup" )) ) { + + // Get the specific value for the option + value = jQuery( option ).val(); + + // We don't need an array for one selects + if ( one ) { + return value; + } + + // Multi-Selects return an array + values.push( value ); + } + } + + // Fixes Bug #2551 -- select.val() broken in IE after form.reset() + if ( one && !values.length && options.length ) { + return jQuery( options[ index ] ).val(); + } + + return values; + }, + + set: function( elem, value ) { + var values = jQuery.makeArray( value ); + + jQuery(elem).find("option").each(function() { + this.selected = jQuery.inArray( jQuery(this).val(), values ) >= 0; + }); + + if ( !values.length ) { + elem.selectedIndex = -1; + } + return values; + } + } + }, + + attrFn: { + val: true, + css: true, + html: true, + text: true, + data: true, + width: true, + height: true, + offset: true + }, + + attr: function( elem, name, value, pass ) { + var ret, hooks, notxml, + nType = elem.nodeType; + + // don't get/set attributes on text, comment and attribute nodes + if ( !elem || nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + if ( pass && name in jQuery.attrFn ) { + return jQuery( elem )[ name ]( value ); + } + + // Fallback to prop when attributes are not supported + if ( typeof elem.getAttribute === "undefined" ) { + return jQuery.prop( elem, name, value ); + } + + notxml = nType !== 1 || !jQuery.isXMLDoc( elem ); + + // All attributes are lowercase + // Grab necessary hook if one is defined + if ( notxml ) { + name = name.toLowerCase(); + hooks = jQuery.attrHooks[ name ] || ( rboolean.test( name ) ? boolHook : nodeHook ); + } + + if ( value !== undefined ) { + + if ( value === null ) { + jQuery.removeAttr( elem, name ); + return; + + } else if ( hooks && "set" in hooks && notxml && (ret = hooks.set( elem, value, name )) !== undefined ) { + return ret; + + } else { + elem.setAttribute( name, "" + value ); + return value; + } + + } else if ( hooks && "get" in hooks && notxml && (ret = hooks.get( elem, name )) !== null ) { + return ret; + + } else { + + ret = elem.getAttribute( name ); + + // Non-existent attributes return null, we normalize to undefined + return ret === null ? + undefined : + ret; + } + }, + + removeAttr: function( elem, value ) { + var propName, attrNames, name, l, isBool, + i = 0; + + if ( value && elem.nodeType === 1 ) { + attrNames = value.toLowerCase().split( rspace ); + l = attrNames.length; + + for ( ; i < l; i++ ) { + name = attrNames[ i ]; + + if ( name ) { + propName = jQuery.propFix[ name ] || name; + isBool = rboolean.test( name ); + + // See #9699 for explanation of this approach (setting first, then removal) + // Do not do this for boolean attributes (see #10870) + if ( !isBool ) { + jQuery.attr( elem, name, "" ); + } + elem.removeAttribute( getSetAttribute ? name : propName ); + + // Set corresponding property to false for boolean attributes + if ( isBool && propName in elem ) { + elem[ propName ] = false; + } + } + } + } + }, + + attrHooks: { + type: { + set: function( elem, value ) { + // We can't allow the type property to be changed (since it causes problems in IE) + if ( rtype.test( elem.nodeName ) && elem.parentNode ) { + jQuery.error( "type property can't be changed" ); + } else if ( !jQuery.support.radioValue && value === "radio" && jQuery.nodeName(elem, "input") ) { + // Setting the type on a radio button after the value resets the value in IE6-9 + // Reset value to it's default in case type is set after value + // This is for element creation + var val = elem.value; + elem.setAttribute( "type", value ); + if ( val ) { + elem.value = val; + } + return value; + } + } + }, + // Use the value property for back compat + // Use the nodeHook for button elements in IE6/7 (#1954) + value: { + get: function( elem, name ) { + if ( nodeHook && jQuery.nodeName( elem, "button" ) ) { + return nodeHook.get( elem, name ); + } + return name in elem ? + elem.value : + null; + }, + set: function( elem, value, name ) { + if ( nodeHook && jQuery.nodeName( elem, "button" ) ) { + return nodeHook.set( elem, value, name ); + } + // Does not return so that setAttribute is also used + elem.value = value; + } + } + }, + + propFix: { + tabindex: "tabIndex", + readonly: "readOnly", + "for": "htmlFor", + "class": "className", + maxlength: "maxLength", + cellspacing: "cellSpacing", + cellpadding: "cellPadding", + rowspan: "rowSpan", + colspan: "colSpan", + usemap: "useMap", + frameborder: "frameBorder", + contenteditable: "contentEditable" + }, + + prop: function( elem, name, value ) { + var ret, hooks, notxml, + nType = elem.nodeType; + + // don't get/set properties on text, comment and attribute nodes + if ( !elem || nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + notxml = nType !== 1 || !jQuery.isXMLDoc( elem ); + + if ( notxml ) { + // Fix name and attach hooks + name = jQuery.propFix[ name ] || name; + hooks = jQuery.propHooks[ name ]; + } + + if ( value !== undefined ) { + if ( hooks && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ) { + return ret; + + } else { + return ( elem[ name ] = value ); + } + + } else { + if ( hooks && "get" in hooks && (ret = hooks.get( elem, name )) !== null ) { + return ret; + + } else { + return elem[ name ]; + } + } + }, + + propHooks: { + tabIndex: { + get: function( elem ) { + // elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set + // http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ + var attributeNode = elem.getAttributeNode("tabindex"); + + return attributeNode && attributeNode.specified ? + parseInt( attributeNode.value, 10 ) : + rfocusable.test( elem.nodeName ) || rclickable.test( elem.nodeName ) && elem.href ? + 0 : + undefined; + } + } + } +}); + +// Add the tabIndex propHook to attrHooks for back-compat (different case is intentional) +jQuery.attrHooks.tabindex = jQuery.propHooks.tabIndex; + +// Hook for boolean attributes +boolHook = { + get: function( elem, name ) { + // Align boolean attributes with corresponding properties + // Fall back to attribute presence where some booleans are not supported + var attrNode, + property = jQuery.prop( elem, name ); + return property === true || typeof property !== "boolean" && ( attrNode = elem.getAttributeNode(name) ) && attrNode.nodeValue !== false ? + name.toLowerCase() : + undefined; + }, + set: function( elem, value, name ) { + var propName; + if ( value === false ) { + // Remove boolean attributes when set to false + jQuery.removeAttr( elem, name ); + } else { + // value is true since we know at this point it's type boolean and not false + // Set boolean attributes to the same name and set the DOM property + propName = jQuery.propFix[ name ] || name; + if ( propName in elem ) { + // Only set the IDL specifically if it already exists on the element + elem[ propName ] = true; + } + + elem.setAttribute( name, name.toLowerCase() ); + } + return name; + } +}; + +// IE6/7 do not support getting/setting some attributes with get/setAttribute +if ( !getSetAttribute ) { + + fixSpecified = { + name: true, + id: true, + coords: true + }; + + // Use this for any attribute in IE6/7 + // This fixes almost every IE6/7 issue + nodeHook = jQuery.valHooks.button = { + get: function( elem, name ) { + var ret; + ret = elem.getAttributeNode( name ); + return ret && ( fixSpecified[ name ] ? ret.nodeValue !== "" : ret.specified ) ? + ret.nodeValue : + undefined; + }, + set: function( elem, value, name ) { + // Set the existing or create a new attribute node + var ret = elem.getAttributeNode( name ); + if ( !ret ) { + ret = document.createAttribute( name ); + elem.setAttributeNode( ret ); + } + return ( ret.nodeValue = value + "" ); + } + }; + + // Apply the nodeHook to tabindex + jQuery.attrHooks.tabindex.set = nodeHook.set; + + // Set width and height to auto instead of 0 on empty string( Bug #8150 ) + // This is for removals + jQuery.each([ "width", "height" ], function( i, name ) { + jQuery.attrHooks[ name ] = jQuery.extend( jQuery.attrHooks[ name ], { + set: function( elem, value ) { + if ( value === "" ) { + elem.setAttribute( name, "auto" ); + return value; + } + } + }); + }); + + // Set contenteditable to false on removals(#10429) + // Setting to empty string throws an error as an invalid value + jQuery.attrHooks.contenteditable = { + get: nodeHook.get, + set: function( elem, value, name ) { + if ( value === "" ) { + value = "false"; + } + nodeHook.set( elem, value, name ); + } + }; +} + + +// Some attributes require a special call on IE +if ( !jQuery.support.hrefNormalized ) { + jQuery.each([ "href", "src", "width", "height" ], function( i, name ) { + jQuery.attrHooks[ name ] = jQuery.extend( jQuery.attrHooks[ name ], { + get: function( elem ) { + var ret = elem.getAttribute( name, 2 ); + return ret === null ? undefined : ret; + } + }); + }); +} + +if ( !jQuery.support.style ) { + jQuery.attrHooks.style = { + get: function( elem ) { + // Return undefined in the case of empty string + // Normalize to lowercase since IE uppercases css property names + return elem.style.cssText.toLowerCase() || undefined; + }, + set: function( elem, value ) { + return ( elem.style.cssText = "" + value ); + } + }; +} + +// Safari mis-reports the default selected property of an option +// Accessing the parent's selectedIndex property fixes it +if ( !jQuery.support.optSelected ) { + jQuery.propHooks.selected = jQuery.extend( jQuery.propHooks.selected, { + get: function( elem ) { + var parent = elem.parentNode; + + if ( parent ) { + parent.selectedIndex; + + // Make sure that it also works with optgroups, see #5701 + if ( parent.parentNode ) { + parent.parentNode.selectedIndex; + } + } + return null; + } + }); +} + +// IE6/7 call enctype encoding +if ( !jQuery.support.enctype ) { + jQuery.propFix.enctype = "encoding"; +} + +// Radios and checkboxes getter/setter +if ( !jQuery.support.checkOn ) { + jQuery.each([ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = { + get: function( elem ) { + // Handle the case where in Webkit "" is returned instead of "on" if a value isn't specified + return elem.getAttribute("value") === null ? "on" : elem.value; + } + }; + }); +} +jQuery.each([ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = jQuery.extend( jQuery.valHooks[ this ], { + set: function( elem, value ) { + if ( jQuery.isArray( value ) ) { + return ( elem.checked = jQuery.inArray( jQuery(elem).val(), value ) >= 0 ); + } + } + }); +}); + + + + +var rformElems = /^(?:textarea|input|select)$/i, + rtypenamespace = /^([^\.]*)?(?:\.(.+))?$/, + rhoverHack = /(?:^|\s)hover(\.\S+)?\b/, + rkeyEvent = /^key/, + rmouseEvent = /^(?:mouse|contextmenu)|click/, + rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, + rquickIs = /^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/, + quickParse = function( selector ) { + var quick = rquickIs.exec( selector ); + if ( quick ) { + // 0 1 2 3 + // [ _, tag, id, class ] + quick[1] = ( quick[1] || "" ).toLowerCase(); + quick[3] = quick[3] && new RegExp( "(?:^|\\s)" + quick[3] + "(?:\\s|$)" ); + } + return quick; + }, + quickIs = function( elem, m ) { + var attrs = elem.attributes || {}; + return ( + (!m[1] || elem.nodeName.toLowerCase() === m[1]) && + (!m[2] || (attrs.id || {}).value === m[2]) && + (!m[3] || m[3].test( (attrs[ "class" ] || {}).value )) + ); + }, + hoverHack = function( events ) { + return jQuery.event.special.hover ? events : events.replace( rhoverHack, "mouseenter$1 mouseleave$1" ); + }; + +/* + * Helper functions for managing events -- not part of the public interface. + * Props to Dean Edwards' addEvent library for many of the ideas. + */ +jQuery.event = { + + add: function( elem, types, handler, data, selector ) { + + var elemData, eventHandle, events, + t, tns, type, namespaces, handleObj, + handleObjIn, quick, handlers, special; + + // Don't attach events to noData or text/comment nodes (allow plain objects tho) + if ( elem.nodeType === 3 || elem.nodeType === 8 || !types || !handler || !(elemData = jQuery._data( elem )) ) { + return; + } + + // Caller can pass in an object of custom data in lieu of the handler + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + selector = handleObjIn.selector; + } + + // Make sure that the handler has a unique ID, used to find/remove it later + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure and main handler, if this is the first + events = elemData.events; + if ( !events ) { + elemData.events = events = {}; + } + eventHandle = elemData.handle; + if ( !eventHandle ) { + elemData.handle = eventHandle = function( e ) { + // Discard the second event of a jQuery.event.trigger() and + // when an event is called after a page has unloaded + return typeof jQuery !== "undefined" && (!e || jQuery.event.triggered !== e.type) ? + jQuery.event.dispatch.apply( eventHandle.elem, arguments ) : + undefined; + }; + // Add elem as a property of the handle fn to prevent a memory leak with IE non-native events + eventHandle.elem = elem; + } + + // Handle multiple events separated by a space + // jQuery(...).bind("mouseover mouseout", fn); + types = jQuery.trim( hoverHack(types) ).split( " " ); + for ( t = 0; t < types.length; t++ ) { + + tns = rtypenamespace.exec( types[t] ) || []; + type = tns[1]; + namespaces = ( tns[2] || "" ).split( "." ).sort(); + + // If event changes its type, use the special event handlers for the changed type + special = jQuery.event.special[ type ] || {}; + + // If selector defined, determine special event api type, otherwise given type + type = ( selector ? special.delegateType : special.bindType ) || type; + + // Update special based on newly reset type + special = jQuery.event.special[ type ] || {}; + + // handleObj is passed to all event handlers + handleObj = jQuery.extend({ + type: type, + origType: tns[1], + data: data, + handler: handler, + guid: handler.guid, + selector: selector, + quick: selector && quickParse( selector ), + namespace: namespaces.join(".") + }, handleObjIn ); + + // Init the event handler queue if we're the first + handlers = events[ type ]; + if ( !handlers ) { + handlers = events[ type ] = []; + handlers.delegateCount = 0; + + // Only use addEventListener/attachEvent if the special events handler returns false + if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + // Bind the global event handler to the element + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle, false ); + + } else if ( elem.attachEvent ) { + elem.attachEvent( "on" + type, eventHandle ); + } + } + } + + if ( special.add ) { + special.add.call( elem, handleObj ); + + if ( !handleObj.handler.guid ) { + handleObj.handler.guid = handler.guid; + } + } + + // Add to the element's handler list, delegates in front + if ( selector ) { + handlers.splice( handlers.delegateCount++, 0, handleObj ); + } else { + handlers.push( handleObj ); + } + + // Keep track of which events have ever been used, for event optimization + jQuery.event.global[ type ] = true; + } + + // Nullify elem to prevent memory leaks in IE + elem = null; + }, + + global: {}, + + // Detach an event or set of events from an element + remove: function( elem, types, handler, selector, mappedTypes ) { + + var elemData = jQuery.hasData( elem ) && jQuery._data( elem ), + t, tns, type, origType, namespaces, origCount, + j, events, special, handle, eventType, handleObj; + + if ( !elemData || !(events = elemData.events) ) { + return; + } + + // Once for each type.namespace in types; type may be omitted + types = jQuery.trim( hoverHack( types || "" ) ).split(" "); + for ( t = 0; t < types.length; t++ ) { + tns = rtypenamespace.exec( types[t] ) || []; + type = origType = tns[1]; + namespaces = tns[2]; + + // Unbind all events (on this namespace, if provided) for the element + if ( !type ) { + for ( type in events ) { + jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); + } + continue; + } + + special = jQuery.event.special[ type ] || {}; + type = ( selector? special.delegateType : special.bindType ) || type; + eventType = events[ type ] || []; + origCount = eventType.length; + namespaces = namespaces ? new RegExp("(^|\\.)" + namespaces.split(".").sort().join("\\.(?:.*\\.)?") + "(\\.|$)") : null; + + // Remove matching events + for ( j = 0; j < eventType.length; j++ ) { + handleObj = eventType[ j ]; + + if ( ( mappedTypes || origType === handleObj.origType ) && + ( !handler || handler.guid === handleObj.guid ) && + ( !namespaces || namespaces.test( handleObj.namespace ) ) && + ( !selector || selector === handleObj.selector || selector === "**" && handleObj.selector ) ) { + eventType.splice( j--, 1 ); + + if ( handleObj.selector ) { + eventType.delegateCount--; + } + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + } + + // Remove generic event handler if we removed something and no more handlers exist + // (avoids potential for endless recursion during removal of special event handlers) + if ( eventType.length === 0 && origCount !== eventType.length ) { + if ( !special.teardown || special.teardown.call( elem, namespaces ) === false ) { + jQuery.removeEvent( elem, type, elemData.handle ); + } + + delete events[ type ]; + } + } + + // Remove the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + handle = elemData.handle; + if ( handle ) { + handle.elem = null; + } + + // removeData also checks for emptiness and clears the expando if empty + // so use it instead of delete + jQuery.removeData( elem, [ "events", "handle" ], true ); + } + }, + + // Events that are safe to short-circuit if no handlers are attached. + // Native DOM events should not be added, they may have inline handlers. + customEvent: { + "getData": true, + "setData": true, + "changeData": true + }, + + trigger: function( event, data, elem, onlyHandlers ) { + // Don't do events on text and comment nodes + if ( elem && (elem.nodeType === 3 || elem.nodeType === 8) ) { + return; + } + + // Event object or event type + var type = event.type || event, + namespaces = [], + cache, exclusive, i, cur, old, ontype, special, handle, eventPath, bubbleType; + + // focus/blur morphs to focusin/out; ensure we're not firing them right now + if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { + return; + } + + if ( type.indexOf( "!" ) >= 0 ) { + // Exclusive events trigger only for the exact event (no namespaces) + type = type.slice(0, -1); + exclusive = true; + } + + if ( type.indexOf( "." ) >= 0 ) { + // Namespaced trigger; create a regexp to match event type in handle() + namespaces = type.split("."); + type = namespaces.shift(); + namespaces.sort(); + } + + if ( (!elem || jQuery.event.customEvent[ type ]) && !jQuery.event.global[ type ] ) { + // No jQuery handlers for this event type, and it can't have inline handlers + return; + } + + // Caller can pass in an Event, Object, or just an event type string + event = typeof event === "object" ? + // jQuery.Event object + event[ jQuery.expando ] ? event : + // Object literal + new jQuery.Event( type, event ) : + // Just the event type (string) + new jQuery.Event( type ); + + event.type = type; + event.isTrigger = true; + event.exclusive = exclusive; + event.namespace = namespaces.join( "." ); + event.namespace_re = event.namespace? new RegExp("(^|\\.)" + namespaces.join("\\.(?:.*\\.)?") + "(\\.|$)") : null; + ontype = type.indexOf( ":" ) < 0 ? "on" + type : ""; + + // Handle a global trigger + if ( !elem ) { + + // TODO: Stop taunting the data cache; remove global events and always attach to document + cache = jQuery.cache; + for ( i in cache ) { + if ( cache[ i ].events && cache[ i ].events[ type ] ) { + jQuery.event.trigger( event, data, cache[ i ].handle.elem, true ); + } + } + return; + } + + // Clean up the event in case it is being reused + event.result = undefined; + if ( !event.target ) { + event.target = elem; + } + + // Clone any incoming data and prepend the event, creating the handler arg list + data = data != null ? jQuery.makeArray( data ) : []; + data.unshift( event ); + + // Allow special events to draw outside the lines + special = jQuery.event.special[ type ] || {}; + if ( special.trigger && special.trigger.apply( elem, data ) === false ) { + return; + } + + // Determine event propagation path in advance, per W3C events spec (#9951) + // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) + eventPath = [[ elem, special.bindType || type ]]; + if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) { + + bubbleType = special.delegateType || type; + cur = rfocusMorph.test( bubbleType + type ) ? elem : elem.parentNode; + old = null; + for ( ; cur; cur = cur.parentNode ) { + eventPath.push([ cur, bubbleType ]); + old = cur; + } + + // Only add window if we got to document (e.g., not plain obj or detached DOM) + if ( old && old === elem.ownerDocument ) { + eventPath.push([ old.defaultView || old.parentWindow || window, bubbleType ]); + } + } + + // Fire handlers on the event path + for ( i = 0; i < eventPath.length && !event.isPropagationStopped(); i++ ) { + + cur = eventPath[i][0]; + event.type = eventPath[i][1]; + + handle = ( jQuery._data( cur, "events" ) || {} )[ event.type ] && jQuery._data( cur, "handle" ); + if ( handle ) { + handle.apply( cur, data ); + } + // Note that this is a bare JS function and not a jQuery handler + handle = ontype && cur[ ontype ]; + if ( handle && jQuery.acceptData( cur ) && handle.apply( cur, data ) === false ) { + event.preventDefault(); + } + } + event.type = type; + + // If nobody prevented the default action, do it now + if ( !onlyHandlers && !event.isDefaultPrevented() ) { + + if ( (!special._default || special._default.apply( elem.ownerDocument, data ) === false) && + !(type === "click" && jQuery.nodeName( elem, "a" )) && jQuery.acceptData( elem ) ) { + + // Call a native DOM method on the target with the same name name as the event. + // Can't use an .isFunction() check here because IE6/7 fails that test. + // Don't do default actions on window, that's where global variables be (#6170) + // IE<9 dies on focus/blur to hidden element (#1486) + if ( ontype && elem[ type ] && ((type !== "focus" && type !== "blur") || event.target.offsetWidth !== 0) && !jQuery.isWindow( elem ) ) { + + // Don't re-trigger an onFOO event when we call its FOO() method + old = elem[ ontype ]; + + if ( old ) { + elem[ ontype ] = null; + } + + // Prevent re-triggering of the same event, since we already bubbled it above + jQuery.event.triggered = type; + elem[ type ](); + jQuery.event.triggered = undefined; + + if ( old ) { + elem[ ontype ] = old; + } + } + } + } + + return event.result; + }, + + dispatch: function( event ) { + + // Make a writable jQuery.Event from the native event object + event = jQuery.event.fix( event || window.event ); + + var handlers = ( (jQuery._data( this, "events" ) || {} )[ event.type ] || []), + delegateCount = handlers.delegateCount, + args = [].slice.call( arguments, 0 ), + run_all = !event.exclusive && !event.namespace, + special = jQuery.event.special[ event.type ] || {}, + handlerQueue = [], + i, j, cur, jqcur, ret, selMatch, matched, matches, handleObj, sel, related; + + // Use the fix-ed jQuery.Event rather than the (read-only) native event + args[0] = event; + event.delegateTarget = this; + + // Call the preDispatch hook for the mapped type, and let it bail if desired + if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { + return; + } + + // Determine handlers that should run if there are delegated events + // Avoid non-left-click bubbling in Firefox (#3861) + if ( delegateCount && !(event.button && event.type === "click") ) { + + // Pregenerate a single jQuery object for reuse with .is() + jqcur = jQuery(this); + jqcur.context = this.ownerDocument || this; + + for ( cur = event.target; cur != this; cur = cur.parentNode || this ) { + + // Don't process events on disabled elements (#6911, #8165) + if ( cur.disabled !== true ) { + selMatch = {}; + matches = []; + jqcur[0] = cur; + for ( i = 0; i < delegateCount; i++ ) { + handleObj = handlers[ i ]; + sel = handleObj.selector; + + if ( selMatch[ sel ] === undefined ) { + selMatch[ sel ] = ( + handleObj.quick ? quickIs( cur, handleObj.quick ) : jqcur.is( sel ) + ); + } + if ( selMatch[ sel ] ) { + matches.push( handleObj ); + } + } + if ( matches.length ) { + handlerQueue.push({ elem: cur, matches: matches }); + } + } + } + } + + // Add the remaining (directly-bound) handlers + if ( handlers.length > delegateCount ) { + handlerQueue.push({ elem: this, matches: handlers.slice( delegateCount ) }); + } + + // Run delegates first; they may want to stop propagation beneath us + for ( i = 0; i < handlerQueue.length && !event.isPropagationStopped(); i++ ) { + matched = handlerQueue[ i ]; + event.currentTarget = matched.elem; + + for ( j = 0; j < matched.matches.length && !event.isImmediatePropagationStopped(); j++ ) { + handleObj = matched.matches[ j ]; + + // Triggered event must either 1) be non-exclusive and have no namespace, or + // 2) have namespace(s) a subset or equal to those in the bound event (both can have no namespace). + if ( run_all || (!event.namespace && !handleObj.namespace) || event.namespace_re && event.namespace_re.test( handleObj.namespace ) ) { + + event.data = handleObj.data; + event.handleObj = handleObj; + + ret = ( (jQuery.event.special[ handleObj.origType ] || {}).handle || handleObj.handler ) + .apply( matched.elem, args ); + + if ( ret !== undefined ) { + event.result = ret; + if ( ret === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + } + } + } + + // Call the postDispatch hook for the mapped type + if ( special.postDispatch ) { + special.postDispatch.call( this, event ); + } + + return event.result; + }, + + // Includes some event props shared by KeyEvent and MouseEvent + // *** attrChange attrName relatedNode srcElement are not normalized, non-W3C, deprecated, will be removed in 1.8 *** + props: "attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "), + + fixHooks: {}, + + keyHooks: { + props: "char charCode key keyCode".split(" "), + filter: function( event, original ) { + + // Add which for key events + if ( event.which == null ) { + event.which = original.charCode != null ? original.charCode : original.keyCode; + } + + return event; + } + }, + + mouseHooks: { + props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "), + filter: function( event, original ) { + var eventDoc, doc, body, + button = original.button, + fromElement = original.fromElement; + + // Calculate pageX/Y if missing and clientX/Y available + if ( event.pageX == null && original.clientX != null ) { + eventDoc = event.target.ownerDocument || document; + doc = eventDoc.documentElement; + body = eventDoc.body; + + event.pageX = original.clientX + ( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) - ( doc && doc.clientLeft || body && body.clientLeft || 0 ); + event.pageY = original.clientY + ( doc && doc.scrollTop || body && body.scrollTop || 0 ) - ( doc && doc.clientTop || body && body.clientTop || 0 ); + } + + // Add relatedTarget, if necessary + if ( !event.relatedTarget && fromElement ) { + event.relatedTarget = fromElement === event.target ? original.toElement : fromElement; + } + + // Add which for click: 1 === left; 2 === middle; 3 === right + // Note: button is not normalized, so don't use it + if ( !event.which && button !== undefined ) { + event.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) ); + } + + return event; + } + }, + + fix: function( event ) { + if ( event[ jQuery.expando ] ) { + return event; + } + + // Create a writable copy of the event object and normalize some properties + var i, prop, + originalEvent = event, + fixHook = jQuery.event.fixHooks[ event.type ] || {}, + copy = fixHook.props ? this.props.concat( fixHook.props ) : this.props; + + event = jQuery.Event( originalEvent ); + + for ( i = copy.length; i; ) { + prop = copy[ --i ]; + event[ prop ] = originalEvent[ prop ]; + } + + // Fix target property, if necessary (#1925, IE 6/7/8 & Safari2) + if ( !event.target ) { + event.target = originalEvent.srcElement || document; + } + + // Target should not be a text node (#504, Safari) + if ( event.target.nodeType === 3 ) { + event.target = event.target.parentNode; + } + + // For mouse/key events; add metaKey if it's not there (#3368, IE6/7/8) + if ( event.metaKey === undefined ) { + event.metaKey = event.ctrlKey; + } + + return fixHook.filter? fixHook.filter( event, originalEvent ) : event; + }, + + special: { + ready: { + // Make sure the ready event is setup + setup: jQuery.bindReady + }, + + load: { + // Prevent triggered image.load events from bubbling to window.load + noBubble: true + }, + + focus: { + delegateType: "focusin" + }, + blur: { + delegateType: "focusout" + }, + + beforeunload: { + setup: function( data, namespaces, eventHandle ) { + // We only want to do this special case on windows + if ( jQuery.isWindow( this ) ) { + this.onbeforeunload = eventHandle; + } + }, + + teardown: function( namespaces, eventHandle ) { + if ( this.onbeforeunload === eventHandle ) { + this.onbeforeunload = null; + } + } + } + }, + + simulate: function( type, elem, event, bubble ) { + // Piggyback on a donor event to simulate a different one. + // Fake originalEvent to avoid donor's stopPropagation, but if the + // simulated event prevents default then we do the same on the donor. + var e = jQuery.extend( + new jQuery.Event(), + event, + { type: type, + isSimulated: true, + originalEvent: {} + } + ); + if ( bubble ) { + jQuery.event.trigger( e, null, elem ); + } else { + jQuery.event.dispatch.call( elem, e ); + } + if ( e.isDefaultPrevented() ) { + event.preventDefault(); + } + } +}; + +// Some plugins are using, but it's undocumented/deprecated and will be removed. +// The 1.7 special event interface should provide all the hooks needed now. +jQuery.event.handle = jQuery.event.dispatch; + +jQuery.removeEvent = document.removeEventListener ? + function( elem, type, handle ) { + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle, false ); + } + } : + function( elem, type, handle ) { + if ( elem.detachEvent ) { + elem.detachEvent( "on" + type, handle ); + } + }; + +jQuery.Event = function( src, props ) { + // Allow instantiation without the 'new' keyword + if ( !(this instanceof jQuery.Event) ) { + return new jQuery.Event( src, props ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + + // Events bubbling up the document may have been marked as prevented + // by a handler lower down the tree; reflect the correct value. + this.isDefaultPrevented = ( src.defaultPrevented || src.returnValue === false || + src.getPreventDefault && src.getPreventDefault() ) ? returnTrue : returnFalse; + + // Event type + } else { + this.type = src; + } + + // Put explicitly provided properties onto the event object + if ( props ) { + jQuery.extend( this, props ); + } + + // Create a timestamp if incoming event doesn't have one + this.timeStamp = src && src.timeStamp || jQuery.now(); + + // Mark it as fixed + this[ jQuery.expando ] = true; +}; + +function returnFalse() { + return false; +} +function returnTrue() { + return true; +} + +// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +jQuery.Event.prototype = { + preventDefault: function() { + this.isDefaultPrevented = returnTrue; + + var e = this.originalEvent; + if ( !e ) { + return; + } + + // if preventDefault exists run it on the original event + if ( e.preventDefault ) { + e.preventDefault(); + + // otherwise set the returnValue property of the original event to false (IE) + } else { + e.returnValue = false; + } + }, + stopPropagation: function() { + this.isPropagationStopped = returnTrue; + + var e = this.originalEvent; + if ( !e ) { + return; + } + // if stopPropagation exists run it on the original event + if ( e.stopPropagation ) { + e.stopPropagation(); + } + // otherwise set the cancelBubble property of the original event to true (IE) + e.cancelBubble = true; + }, + stopImmediatePropagation: function() { + this.isImmediatePropagationStopped = returnTrue; + this.stopPropagation(); + }, + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse +}; + +// Create mouseenter/leave events using mouseover/out and event-time checks +jQuery.each({ + mouseenter: "mouseover", + mouseleave: "mouseout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + delegateType: fix, + bindType: fix, + + handle: function( event ) { + var target = this, + related = event.relatedTarget, + handleObj = event.handleObj, + selector = handleObj.selector, + ret; + + // For mousenter/leave call the handler if related is outside the target. + // NB: No relatedTarget if the mouse left/entered the browser window + if ( !related || (related !== target && !jQuery.contains( target, related )) ) { + event.type = handleObj.origType; + ret = handleObj.handler.apply( this, arguments ); + event.type = fix; + } + return ret; + } + }; +}); + +// IE submit delegation +if ( !jQuery.support.submitBubbles ) { + + jQuery.event.special.submit = { + setup: function() { + // Only need this for delegated form submit events + if ( jQuery.nodeName( this, "form" ) ) { + return false; + } + + // Lazy-add a submit handler when a descendant form may potentially be submitted + jQuery.event.add( this, "click._submit keypress._submit", function( e ) { + // Node name check avoids a VML-related crash in IE (#9807) + var elem = e.target, + form = jQuery.nodeName( elem, "input" ) || jQuery.nodeName( elem, "button" ) ? elem.form : undefined; + if ( form && !form._submit_attached ) { + jQuery.event.add( form, "submit._submit", function( event ) { + event._submit_bubble = true; + }); + form._submit_attached = true; + } + }); + // return undefined since we don't need an event listener + }, + + postDispatch: function( event ) { + // If form was submitted by the user, bubble the event up the tree + if ( event._submit_bubble ) { + delete event._submit_bubble; + if ( this.parentNode && !event.isTrigger ) { + jQuery.event.simulate( "submit", this.parentNode, event, true ); + } + } + }, + + teardown: function() { + // Only need this for delegated form submit events + if ( jQuery.nodeName( this, "form" ) ) { + return false; + } + + // Remove delegated handlers; cleanData eventually reaps submit handlers attached above + jQuery.event.remove( this, "._submit" ); + } + }; +} + +// IE change delegation and checkbox/radio fix +if ( !jQuery.support.changeBubbles ) { + + jQuery.event.special.change = { + + setup: function() { + + if ( rformElems.test( this.nodeName ) ) { + // IE doesn't fire change on a check/radio until blur; trigger it on click + // after a propertychange. Eat the blur-change in special.change.handle. + // This still fires onchange a second time for check/radio after blur. + if ( this.type === "checkbox" || this.type === "radio" ) { + jQuery.event.add( this, "propertychange._change", function( event ) { + if ( event.originalEvent.propertyName === "checked" ) { + this._just_changed = true; + } + }); + jQuery.event.add( this, "click._change", function( event ) { + if ( this._just_changed && !event.isTrigger ) { + this._just_changed = false; + jQuery.event.simulate( "change", this, event, true ); + } + }); + } + return false; + } + // Delegated event; lazy-add a change handler on descendant inputs + jQuery.event.add( this, "beforeactivate._change", function( e ) { + var elem = e.target; + + if ( rformElems.test( elem.nodeName ) && !elem._change_attached ) { + jQuery.event.add( elem, "change._change", function( event ) { + if ( this.parentNode && !event.isSimulated && !event.isTrigger ) { + jQuery.event.simulate( "change", this.parentNode, event, true ); + } + }); + elem._change_attached = true; + } + }); + }, + + handle: function( event ) { + var elem = event.target; + + // Swallow native change events from checkbox/radio, we already triggered them above + if ( this !== elem || event.isSimulated || event.isTrigger || (elem.type !== "radio" && elem.type !== "checkbox") ) { + return event.handleObj.handler.apply( this, arguments ); + } + }, + + teardown: function() { + jQuery.event.remove( this, "._change" ); + + return rformElems.test( this.nodeName ); + } + }; +} + +// Create "bubbling" focus and blur events +if ( !jQuery.support.focusinBubbles ) { + jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) { + + // Attach a single capturing handler while someone wants focusin/focusout + var attaches = 0, + handler = function( event ) { + jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ), true ); + }; + + jQuery.event.special[ fix ] = { + setup: function() { + if ( attaches++ === 0 ) { + document.addEventListener( orig, handler, true ); + } + }, + teardown: function() { + if ( --attaches === 0 ) { + document.removeEventListener( orig, handler, true ); + } + } + }; + }); +} + +jQuery.fn.extend({ + + on: function( types, selector, data, fn, /*INTERNAL*/ one ) { + var origFn, type; + + // Types can be a map of types/handlers + if ( typeof types === "object" ) { + // ( types-Object, selector, data ) + if ( typeof selector !== "string" ) { // && selector != null + // ( types-Object, data ) + data = data || selector; + selector = undefined; + } + for ( type in types ) { + this.on( type, selector, data, types[ type ], one ); + } + return this; + } + + if ( data == null && fn == null ) { + // ( types, fn ) + fn = selector; + data = selector = undefined; + } else if ( fn == null ) { + if ( typeof selector === "string" ) { + // ( types, selector, fn ) + fn = data; + data = undefined; + } else { + // ( types, data, fn ) + fn = data; + data = selector; + selector = undefined; + } + } + if ( fn === false ) { + fn = returnFalse; + } else if ( !fn ) { + return this; + } + + if ( one === 1 ) { + origFn = fn; + fn = function( event ) { + // Can use an empty set, since event contains the info + jQuery().off( event ); + return origFn.apply( this, arguments ); + }; + // Use same guid so caller can remove using origFn + fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); + } + return this.each( function() { + jQuery.event.add( this, types, fn, data, selector ); + }); + }, + one: function( types, selector, data, fn ) { + return this.on( types, selector, data, fn, 1 ); + }, + off: function( types, selector, fn ) { + if ( types && types.preventDefault && types.handleObj ) { + // ( event ) dispatched jQuery.Event + var handleObj = types.handleObj; + jQuery( types.delegateTarget ).off( + handleObj.namespace ? handleObj.origType + "." + handleObj.namespace : handleObj.origType, + handleObj.selector, + handleObj.handler + ); + return this; + } + if ( typeof types === "object" ) { + // ( types-object [, selector] ) + for ( var type in types ) { + this.off( type, selector, types[ type ] ); + } + return this; + } + if ( selector === false || typeof selector === "function" ) { + // ( types [, fn] ) + fn = selector; + selector = undefined; + } + if ( fn === false ) { + fn = returnFalse; + } + return this.each(function() { + jQuery.event.remove( this, types, fn, selector ); + }); + }, + + bind: function( types, data, fn ) { + return this.on( types, null, data, fn ); + }, + unbind: function( types, fn ) { + return this.off( types, null, fn ); + }, + + live: function( types, data, fn ) { + jQuery( this.context ).on( types, this.selector, data, fn ); + return this; + }, + die: function( types, fn ) { + jQuery( this.context ).off( types, this.selector || "**", fn ); + return this; + }, + + delegate: function( selector, types, data, fn ) { + return this.on( types, selector, data, fn ); + }, + undelegate: function( selector, types, fn ) { + // ( namespace ) or ( selector, types [, fn] ) + return arguments.length == 1? this.off( selector, "**" ) : this.off( types, selector, fn ); + }, + + trigger: function( type, data ) { + return this.each(function() { + jQuery.event.trigger( type, data, this ); + }); + }, + triggerHandler: function( type, data ) { + if ( this[0] ) { + return jQuery.event.trigger( type, data, this[0], true ); + } + }, + + toggle: function( fn ) { + // Save reference to arguments for access in closure + var args = arguments, + guid = fn.guid || jQuery.guid++, + i = 0, + toggler = function( event ) { + // Figure out which function to execute + var lastToggle = ( jQuery._data( this, "lastToggle" + fn.guid ) || 0 ) % i; + jQuery._data( this, "lastToggle" + fn.guid, lastToggle + 1 ); + + // Make sure that clicks stop + event.preventDefault(); + + // and execute the function + return args[ lastToggle ].apply( this, arguments ) || false; + }; + + // link all the functions, so any of them can unbind this click handler + toggler.guid = guid; + while ( i < args.length ) { + args[ i++ ].guid = guid; + } + + return this.click( toggler ); + }, + + hover: function( fnOver, fnOut ) { + return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); + } +}); + +jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblclick " + + "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + + "change select submit keydown keypress keyup error contextmenu").split(" "), function( i, name ) { + + // Handle event binding + jQuery.fn[ name ] = function( data, fn ) { + if ( fn == null ) { + fn = data; + data = null; + } + + return arguments.length > 0 ? + this.on( name, null, data, fn ) : + this.trigger( name ); + }; + + if ( jQuery.attrFn ) { + jQuery.attrFn[ name ] = true; + } + + if ( rkeyEvent.test( name ) ) { + jQuery.event.fixHooks[ name ] = jQuery.event.keyHooks; + } + + if ( rmouseEvent.test( name ) ) { + jQuery.event.fixHooks[ name ] = jQuery.event.mouseHooks; + } +}); + + + +/*! + * Sizzle CSS Selector Engine + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * More information: http://sizzlejs.com/ + */ +(function(){ + +var chunker = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g, + expando = "sizcache" + (Math.random() + '').replace('.', ''), + done = 0, + toString = Object.prototype.toString, + hasDuplicate = false, + baseHasDuplicate = true, + rBackslash = /\\/g, + rReturn = /\r\n/g, + rNonWord = /\W/; + +// Here we check if the JavaScript engine is using some sort of +// optimization where it does not always call our comparision +// function. If that is the case, discard the hasDuplicate value. +// Thus far that includes Google Chrome. +[0, 0].sort(function() { + baseHasDuplicate = false; + return 0; +}); + +var Sizzle = function( selector, context, results, seed ) { + results = results || []; + context = context || document; + + var origContext = context; + + if ( context.nodeType !== 1 && context.nodeType !== 9 ) { + return []; + } + + if ( !selector || typeof selector !== "string" ) { + return results; + } + + var m, set, checkSet, extra, ret, cur, pop, i, + prune = true, + contextXML = Sizzle.isXML( context ), + parts = [], + soFar = selector; + + // Reset the position of the chunker regexp (start from head) + do { + chunker.exec( "" ); + m = chunker.exec( soFar ); + + if ( m ) { + soFar = m[3]; + + parts.push( m[1] ); + + if ( m[2] ) { + extra = m[3]; + break; + } + } + } while ( m ); + + if ( parts.length > 1 && origPOS.exec( selector ) ) { + + if ( parts.length === 2 && Expr.relative[ parts[0] ] ) { + set = posProcess( parts[0] + parts[1], context, seed ); + + } else { + set = Expr.relative[ parts[0] ] ? + [ context ] : + Sizzle( parts.shift(), context ); + + while ( parts.length ) { + selector = parts.shift(); + + if ( Expr.relative[ selector ] ) { + selector += parts.shift(); + } + + set = posProcess( selector, set, seed ); + } + } + + } else { + // Take a shortcut and set the context if the root selector is an ID + // (but not if it'll be faster if the inner selector is an ID) + if ( !seed && parts.length > 1 && context.nodeType === 9 && !contextXML && + Expr.match.ID.test(parts[0]) && !Expr.match.ID.test(parts[parts.length - 1]) ) { + + ret = Sizzle.find( parts.shift(), context, contextXML ); + context = ret.expr ? + Sizzle.filter( ret.expr, ret.set )[0] : + ret.set[0]; + } + + if ( context ) { + ret = seed ? + { expr: parts.pop(), set: makeArray(seed) } : + Sizzle.find( parts.pop(), parts.length === 1 && (parts[0] === "~" || parts[0] === "+") && context.parentNode ? context.parentNode : context, contextXML ); + + set = ret.expr ? + Sizzle.filter( ret.expr, ret.set ) : + ret.set; + + if ( parts.length > 0 ) { + checkSet = makeArray( set ); + + } else { + prune = false; + } + + while ( parts.length ) { + cur = parts.pop(); + pop = cur; + + if ( !Expr.relative[ cur ] ) { + cur = ""; + } else { + pop = parts.pop(); + } + + if ( pop == null ) { + pop = context; + } + + Expr.relative[ cur ]( checkSet, pop, contextXML ); + } + + } else { + checkSet = parts = []; + } + } + + if ( !checkSet ) { + checkSet = set; + } + + if ( !checkSet ) { + Sizzle.error( cur || selector ); + } + + if ( toString.call(checkSet) === "[object Array]" ) { + if ( !prune ) { + results.push.apply( results, checkSet ); + + } else if ( context && context.nodeType === 1 ) { + for ( i = 0; checkSet[i] != null; i++ ) { + if ( checkSet[i] && (checkSet[i] === true || checkSet[i].nodeType === 1 && Sizzle.contains(context, checkSet[i])) ) { + results.push( set[i] ); + } + } + + } else { + for ( i = 0; checkSet[i] != null; i++ ) { + if ( checkSet[i] && checkSet[i].nodeType === 1 ) { + results.push( set[i] ); + } + } + } + + } else { + makeArray( checkSet, results ); + } + + if ( extra ) { + Sizzle( extra, origContext, results, seed ); + Sizzle.uniqueSort( results ); + } + + return results; +}; + +Sizzle.uniqueSort = function( results ) { + if ( sortOrder ) { + hasDuplicate = baseHasDuplicate; + results.sort( sortOrder ); + + if ( hasDuplicate ) { + for ( var i = 1; i < results.length; i++ ) { + if ( results[i] === results[ i - 1 ] ) { + results.splice( i--, 1 ); + } + } + } + } + + return results; +}; + +Sizzle.matches = function( expr, set ) { + return Sizzle( expr, null, null, set ); +}; + +Sizzle.matchesSelector = function( node, expr ) { + return Sizzle( expr, null, null, [node] ).length > 0; +}; + +Sizzle.find = function( expr, context, isXML ) { + var set, i, len, match, type, left; + + if ( !expr ) { + return []; + } + + for ( i = 0, len = Expr.order.length; i < len; i++ ) { + type = Expr.order[i]; + + if ( (match = Expr.leftMatch[ type ].exec( expr )) ) { + left = match[1]; + match.splice( 1, 1 ); + + if ( left.substr( left.length - 1 ) !== "\\" ) { + match[1] = (match[1] || "").replace( rBackslash, "" ); + set = Expr.find[ type ]( match, context, isXML ); + + if ( set != null ) { + expr = expr.replace( Expr.match[ type ], "" ); + break; + } + } + } + } + + if ( !set ) { + set = typeof context.getElementsByTagName !== "undefined" ? + context.getElementsByTagName( "*" ) : + []; + } + + return { set: set, expr: expr }; +}; + +Sizzle.filter = function( expr, set, inplace, not ) { + var match, anyFound, + type, found, item, filter, left, + i, pass, + old = expr, + result = [], + curLoop = set, + isXMLFilter = set && set[0] && Sizzle.isXML( set[0] ); + + while ( expr && set.length ) { + for ( type in Expr.filter ) { + if ( (match = Expr.leftMatch[ type ].exec( expr )) != null && match[2] ) { + filter = Expr.filter[ type ]; + left = match[1]; + + anyFound = false; + + match.splice(1,1); + + if ( left.substr( left.length - 1 ) === "\\" ) { + continue; + } + + if ( curLoop === result ) { + result = []; + } + + if ( Expr.preFilter[ type ] ) { + match = Expr.preFilter[ type ]( match, curLoop, inplace, result, not, isXMLFilter ); + + if ( !match ) { + anyFound = found = true; + + } else if ( match === true ) { + continue; + } + } + + if ( match ) { + for ( i = 0; (item = curLoop[i]) != null; i++ ) { + if ( item ) { + found = filter( item, match, i, curLoop ); + pass = not ^ found; + + if ( inplace && found != null ) { + if ( pass ) { + anyFound = true; + + } else { + curLoop[i] = false; + } + + } else if ( pass ) { + result.push( item ); + anyFound = true; + } + } + } + } + + if ( found !== undefined ) { + if ( !inplace ) { + curLoop = result; + } + + expr = expr.replace( Expr.match[ type ], "" ); + + if ( !anyFound ) { + return []; + } + + break; + } + } + } + + // Improper expression + if ( expr === old ) { + if ( anyFound == null ) { + Sizzle.error( expr ); + + } else { + break; + } + } + + old = expr; + } + + return curLoop; +}; + +Sizzle.error = function( msg ) { + throw new Error( "Syntax error, unrecognized expression: " + msg ); +}; + +/** + * Utility function for retreiving the text value of an array of DOM nodes + * @param {Array|Element} elem + */ +var getText = Sizzle.getText = function( elem ) { + var i, node, + nodeType = elem.nodeType, + ret = ""; + + if ( nodeType ) { + if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { + // Use textContent || innerText for elements + if ( typeof elem.textContent === 'string' ) { + return elem.textContent; + } else if ( typeof elem.innerText === 'string' ) { + // Replace IE's carriage returns + return elem.innerText.replace( rReturn, '' ); + } else { + // Traverse it's children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling) { + ret += getText( elem ); + } + } + } else if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + } else { + + // If no nodeType, this is expected to be an array + for ( i = 0; (node = elem[i]); i++ ) { + // Do not traverse comment nodes + if ( node.nodeType !== 8 ) { + ret += getText( node ); + } + } + } + return ret; +}; + +var Expr = Sizzle.selectors = { + order: [ "ID", "NAME", "TAG" ], + + match: { + ID: /#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/, + CLASS: /\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/, + NAME: /\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/, + ATTR: /\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/, + TAG: /^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/, + CHILD: /:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/, + POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/, + PSEUDO: /:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/ + }, + + leftMatch: {}, + + attrMap: { + "class": "className", + "for": "htmlFor" + }, + + attrHandle: { + href: function( elem ) { + return elem.getAttribute( "href" ); + }, + type: function( elem ) { + return elem.getAttribute( "type" ); + } + }, + + relative: { + "+": function(checkSet, part){ + var isPartStr = typeof part === "string", + isTag = isPartStr && !rNonWord.test( part ), + isPartStrNotTag = isPartStr && !isTag; + + if ( isTag ) { + part = part.toLowerCase(); + } + + for ( var i = 0, l = checkSet.length, elem; i < l; i++ ) { + if ( (elem = checkSet[i]) ) { + while ( (elem = elem.previousSibling) && elem.nodeType !== 1 ) {} + + checkSet[i] = isPartStrNotTag || elem && elem.nodeName.toLowerCase() === part ? + elem || false : + elem === part; + } + } + + if ( isPartStrNotTag ) { + Sizzle.filter( part, checkSet, true ); + } + }, + + ">": function( checkSet, part ) { + var elem, + isPartStr = typeof part === "string", + i = 0, + l = checkSet.length; + + if ( isPartStr && !rNonWord.test( part ) ) { + part = part.toLowerCase(); + + for ( ; i < l; i++ ) { + elem = checkSet[i]; + + if ( elem ) { + var parent = elem.parentNode; + checkSet[i] = parent.nodeName.toLowerCase() === part ? parent : false; + } + } + + } else { + for ( ; i < l; i++ ) { + elem = checkSet[i]; + + if ( elem ) { + checkSet[i] = isPartStr ? + elem.parentNode : + elem.parentNode === part; + } + } + + if ( isPartStr ) { + Sizzle.filter( part, checkSet, true ); + } + } + }, + + "": function(checkSet, part, isXML){ + var nodeCheck, + doneName = done++, + checkFn = dirCheck; + + if ( typeof part === "string" && !rNonWord.test( part ) ) { + part = part.toLowerCase(); + nodeCheck = part; + checkFn = dirNodeCheck; + } + + checkFn( "parentNode", part, doneName, checkSet, nodeCheck, isXML ); + }, + + "~": function( checkSet, part, isXML ) { + var nodeCheck, + doneName = done++, + checkFn = dirCheck; + + if ( typeof part === "string" && !rNonWord.test( part ) ) { + part = part.toLowerCase(); + nodeCheck = part; + checkFn = dirNodeCheck; + } + + checkFn( "previousSibling", part, doneName, checkSet, nodeCheck, isXML ); + } + }, + + find: { + ID: function( match, context, isXML ) { + if ( typeof context.getElementById !== "undefined" && !isXML ) { + var m = context.getElementById(match[1]); + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + return m && m.parentNode ? [m] : []; + } + }, + + NAME: function( match, context ) { + if ( typeof context.getElementsByName !== "undefined" ) { + var ret = [], + results = context.getElementsByName( match[1] ); + + for ( var i = 0, l = results.length; i < l; i++ ) { + if ( results[i].getAttribute("name") === match[1] ) { + ret.push( results[i] ); + } + } + + return ret.length === 0 ? null : ret; + } + }, + + TAG: function( match, context ) { + if ( typeof context.getElementsByTagName !== "undefined" ) { + return context.getElementsByTagName( match[1] ); + } + } + }, + preFilter: { + CLASS: function( match, curLoop, inplace, result, not, isXML ) { + match = " " + match[1].replace( rBackslash, "" ) + " "; + + if ( isXML ) { + return match; + } + + for ( var i = 0, elem; (elem = curLoop[i]) != null; i++ ) { + if ( elem ) { + if ( not ^ (elem.className && (" " + elem.className + " ").replace(/[\t\n\r]/g, " ").indexOf(match) >= 0) ) { + if ( !inplace ) { + result.push( elem ); + } + + } else if ( inplace ) { + curLoop[i] = false; + } + } + } + + return false; + }, + + ID: function( match ) { + return match[1].replace( rBackslash, "" ); + }, + + TAG: function( match, curLoop ) { + return match[1].replace( rBackslash, "" ).toLowerCase(); + }, + + CHILD: function( match ) { + if ( match[1] === "nth" ) { + if ( !match[2] ) { + Sizzle.error( match[0] ); + } + + match[2] = match[2].replace(/^\+|\s*/g, ''); + + // parse equations like 'even', 'odd', '5', '2n', '3n+2', '4n-1', '-n+6' + var test = /(-?)(\d*)(?:n([+\-]?\d*))?/.exec( + match[2] === "even" && "2n" || match[2] === "odd" && "2n+1" || + !/\D/.test( match[2] ) && "0n+" + match[2] || match[2]); + + // calculate the numbers (first)n+(last) including if they are negative + match[2] = (test[1] + (test[2] || 1)) - 0; + match[3] = test[3] - 0; + } + else if ( match[2] ) { + Sizzle.error( match[0] ); + } + + // TODO: Move to normal caching system + match[0] = done++; + + return match; + }, + + ATTR: function( match, curLoop, inplace, result, not, isXML ) { + var name = match[1] = match[1].replace( rBackslash, "" ); + + if ( !isXML && Expr.attrMap[name] ) { + match[1] = Expr.attrMap[name]; + } + + // Handle if an un-quoted value was used + match[4] = ( match[4] || match[5] || "" ).replace( rBackslash, "" ); + + if ( match[2] === "~=" ) { + match[4] = " " + match[4] + " "; + } + + return match; + }, + + PSEUDO: function( match, curLoop, inplace, result, not ) { + if ( match[1] === "not" ) { + // If we're dealing with a complex expression, or a simple one + if ( ( chunker.exec(match[3]) || "" ).length > 1 || /^\w/.test(match[3]) ) { + match[3] = Sizzle(match[3], null, null, curLoop); + + } else { + var ret = Sizzle.filter(match[3], curLoop, inplace, true ^ not); + + if ( !inplace ) { + result.push.apply( result, ret ); + } + + return false; + } + + } else if ( Expr.match.POS.test( match[0] ) || Expr.match.CHILD.test( match[0] ) ) { + return true; + } + + return match; + }, + + POS: function( match ) { + match.unshift( true ); + + return match; + } + }, + + filters: { + enabled: function( elem ) { + return elem.disabled === false && elem.type !== "hidden"; + }, + + disabled: function( elem ) { + return elem.disabled === true; + }, + + checked: function( elem ) { + return elem.checked === true; + }, + + selected: function( elem ) { + // Accessing this property makes selected-by-default + // options in Safari work properly + if ( elem.parentNode ) { + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + parent: function( elem ) { + return !!elem.firstChild; + }, + + empty: function( elem ) { + return !elem.firstChild; + }, + + has: function( elem, i, match ) { + return !!Sizzle( match[3], elem ).length; + }, + + header: function( elem ) { + return (/h\d/i).test( elem.nodeName ); + }, + + text: function( elem ) { + var attr = elem.getAttribute( "type" ), type = elem.type; + // IE6 and 7 will map elem.type to 'text' for new HTML5 types (search, etc) + // use getAttribute instead to test this case + return elem.nodeName.toLowerCase() === "input" && "text" === type && ( attr === type || attr === null ); + }, + + radio: function( elem ) { + return elem.nodeName.toLowerCase() === "input" && "radio" === elem.type; + }, + + checkbox: function( elem ) { + return elem.nodeName.toLowerCase() === "input" && "checkbox" === elem.type; + }, + + file: function( elem ) { + return elem.nodeName.toLowerCase() === "input" && "file" === elem.type; + }, + + password: function( elem ) { + return elem.nodeName.toLowerCase() === "input" && "password" === elem.type; + }, + + submit: function( elem ) { + var name = elem.nodeName.toLowerCase(); + return (name === "input" || name === "button") && "submit" === elem.type; + }, + + image: function( elem ) { + return elem.nodeName.toLowerCase() === "input" && "image" === elem.type; + }, + + reset: function( elem ) { + var name = elem.nodeName.toLowerCase(); + return (name === "input" || name === "button") && "reset" === elem.type; + }, + + button: function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && "button" === elem.type || name === "button"; + }, + + input: function( elem ) { + return (/input|select|textarea|button/i).test( elem.nodeName ); + }, + + focus: function( elem ) { + return elem === elem.ownerDocument.activeElement; + } + }, + setFilters: { + first: function( elem, i ) { + return i === 0; + }, + + last: function( elem, i, match, array ) { + return i === array.length - 1; + }, + + even: function( elem, i ) { + return i % 2 === 0; + }, + + odd: function( elem, i ) { + return i % 2 === 1; + }, + + lt: function( elem, i, match ) { + return i < match[3] - 0; + }, + + gt: function( elem, i, match ) { + return i > match[3] - 0; + }, + + nth: function( elem, i, match ) { + return match[3] - 0 === i; + }, + + eq: function( elem, i, match ) { + return match[3] - 0 === i; + } + }, + filter: { + PSEUDO: function( elem, match, i, array ) { + var name = match[1], + filter = Expr.filters[ name ]; + + if ( filter ) { + return filter( elem, i, match, array ); + + } else if ( name === "contains" ) { + return (elem.textContent || elem.innerText || getText([ elem ]) || "").indexOf(match[3]) >= 0; + + } else if ( name === "not" ) { + var not = match[3]; + + for ( var j = 0, l = not.length; j < l; j++ ) { + if ( not[j] === elem ) { + return false; + } + } + + return true; + + } else { + Sizzle.error( name ); + } + }, + + CHILD: function( elem, match ) { + var first, last, + doneName, parent, cache, + count, diff, + type = match[1], + node = elem; + + switch ( type ) { + case "only": + case "first": + while ( (node = node.previousSibling) ) { + if ( node.nodeType === 1 ) { + return false; + } + } + + if ( type === "first" ) { + return true; + } + + node = elem; + + /* falls through */ + case "last": + while ( (node = node.nextSibling) ) { + if ( node.nodeType === 1 ) { + return false; + } + } + + return true; + + case "nth": + first = match[2]; + last = match[3]; + + if ( first === 1 && last === 0 ) { + return true; + } + + doneName = match[0]; + parent = elem.parentNode; + + if ( parent && (parent[ expando ] !== doneName || !elem.nodeIndex) ) { + count = 0; + + for ( node = parent.firstChild; node; node = node.nextSibling ) { + if ( node.nodeType === 1 ) { + node.nodeIndex = ++count; + } + } + + parent[ expando ] = doneName; + } + + diff = elem.nodeIndex - last; + + if ( first === 0 ) { + return diff === 0; + + } else { + return ( diff % first === 0 && diff / first >= 0 ); + } + } + }, + + ID: function( elem, match ) { + return elem.nodeType === 1 && elem.getAttribute("id") === match; + }, + + TAG: function( elem, match ) { + return (match === "*" && elem.nodeType === 1) || !!elem.nodeName && elem.nodeName.toLowerCase() === match; + }, + + CLASS: function( elem, match ) { + return (" " + (elem.className || elem.getAttribute("class")) + " ") + .indexOf( match ) > -1; + }, + + ATTR: function( elem, match ) { + var name = match[1], + result = Sizzle.attr ? + Sizzle.attr( elem, name ) : + Expr.attrHandle[ name ] ? + Expr.attrHandle[ name ]( elem ) : + elem[ name ] != null ? + elem[ name ] : + elem.getAttribute( name ), + value = result + "", + type = match[2], + check = match[4]; + + return result == null ? + type === "!=" : + !type && Sizzle.attr ? + result != null : + type === "=" ? + value === check : + type === "*=" ? + value.indexOf(check) >= 0 : + type === "~=" ? + (" " + value + " ").indexOf(check) >= 0 : + !check ? + value && result !== false : + type === "!=" ? + value !== check : + type === "^=" ? + value.indexOf(check) === 0 : + type === "$=" ? + value.substr(value.length - check.length) === check : + type === "|=" ? + value === check || value.substr(0, check.length + 1) === check + "-" : + false; + }, + + POS: function( elem, match, i, array ) { + var name = match[2], + filter = Expr.setFilters[ name ]; + + if ( filter ) { + return filter( elem, i, match, array ); + } + } + } +}; + +var origPOS = Expr.match.POS, + fescape = function(all, num){ + return "\\" + (num - 0 + 1); + }; + +for ( var type in Expr.match ) { + Expr.match[ type ] = new RegExp( Expr.match[ type ].source + (/(?![^\[]*\])(?![^\(]*\))/.source) ); + Expr.leftMatch[ type ] = new RegExp( /(^(?:.|\r|\n)*?)/.source + Expr.match[ type ].source.replace(/\\(\d+)/g, fescape) ); +} +// Expose origPOS +// "global" as in regardless of relation to brackets/parens +Expr.match.globalPOS = origPOS; + +var makeArray = function( array, results ) { + array = Array.prototype.slice.call( array, 0 ); + + if ( results ) { + results.push.apply( results, array ); + return results; + } + + return array; +}; + +// Perform a simple check to determine if the browser is capable of +// converting a NodeList to an array using builtin methods. +// Also verifies that the returned array holds DOM nodes +// (which is not the case in the Blackberry browser) +try { + Array.prototype.slice.call( document.documentElement.childNodes, 0 )[0].nodeType; + +// Provide a fallback method if it does not work +} catch( e ) { + makeArray = function( array, results ) { + var i = 0, + ret = results || []; + + if ( toString.call(array) === "[object Array]" ) { + Array.prototype.push.apply( ret, array ); + + } else { + if ( typeof array.length === "number" ) { + for ( var l = array.length; i < l; i++ ) { + ret.push( array[i] ); + } + + } else { + for ( ; array[i]; i++ ) { + ret.push( array[i] ); + } + } + } + + return ret; + }; +} + +var sortOrder, siblingCheck; + +if ( document.documentElement.compareDocumentPosition ) { + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + if ( !a.compareDocumentPosition || !b.compareDocumentPosition ) { + return a.compareDocumentPosition ? -1 : 1; + } + + return a.compareDocumentPosition(b) & 4 ? -1 : 1; + }; + +} else { + sortOrder = function( a, b ) { + // The nodes are identical, we can exit early + if ( a === b ) { + hasDuplicate = true; + return 0; + + // Fallback to using sourceIndex (in IE) if it's available on both nodes + } else if ( a.sourceIndex && b.sourceIndex ) { + return a.sourceIndex - b.sourceIndex; + } + + var al, bl, + ap = [], + bp = [], + aup = a.parentNode, + bup = b.parentNode, + cur = aup; + + // If the nodes are siblings (or identical) we can do a quick check + if ( aup === bup ) { + return siblingCheck( a, b ); + + // If no parents were found then the nodes are disconnected + } else if ( !aup ) { + return -1; + + } else if ( !bup ) { + return 1; + } + + // Otherwise they're somewhere else in the tree so we need + // to build up a full list of the parentNodes for comparison + while ( cur ) { + ap.unshift( cur ); + cur = cur.parentNode; + } + + cur = bup; + + while ( cur ) { + bp.unshift( cur ); + cur = cur.parentNode; + } + + al = ap.length; + bl = bp.length; + + // Start walking down the tree looking for a discrepancy + for ( var i = 0; i < al && i < bl; i++ ) { + if ( ap[i] !== bp[i] ) { + return siblingCheck( ap[i], bp[i] ); + } + } + + // We ended someplace up the tree so do a sibling check + return i === al ? + siblingCheck( a, bp[i], -1 ) : + siblingCheck( ap[i], b, 1 ); + }; + + siblingCheck = function( a, b, ret ) { + if ( a === b ) { + return ret; + } + + var cur = a.nextSibling; + + while ( cur ) { + if ( cur === b ) { + return -1; + } + + cur = cur.nextSibling; + } + + return 1; + }; +} + +// Check to see if the browser returns elements by name when +// querying by getElementById (and provide a workaround) +(function(){ + // We're going to inject a fake input element with a specified name + var form = document.createElement("div"), + id = "script" + (new Date()).getTime(), + root = document.documentElement; + + form.innerHTML = ""; + + // Inject it into the root element, check its status, and remove it quickly + root.insertBefore( form, root.firstChild ); + + // The workaround has to do additional checks after a getElementById + // Which slows things down for other browsers (hence the branching) + if ( document.getElementById( id ) ) { + Expr.find.ID = function( match, context, isXML ) { + if ( typeof context.getElementById !== "undefined" && !isXML ) { + var m = context.getElementById(match[1]); + + return m ? + m.id === match[1] || typeof m.getAttributeNode !== "undefined" && m.getAttributeNode("id").nodeValue === match[1] ? + [m] : + undefined : + []; + } + }; + + Expr.filter.ID = function( elem, match ) { + var node = typeof elem.getAttributeNode !== "undefined" && elem.getAttributeNode("id"); + + return elem.nodeType === 1 && node && node.nodeValue === match; + }; + } + + root.removeChild( form ); + + // release memory in IE + root = form = null; +})(); + +(function(){ + // Check to see if the browser returns only elements + // when doing getElementsByTagName("*") + + // Create a fake element + var div = document.createElement("div"); + div.appendChild( document.createComment("") ); + + // Make sure no comments are found + if ( div.getElementsByTagName("*").length > 0 ) { + Expr.find.TAG = function( match, context ) { + var results = context.getElementsByTagName( match[1] ); + + // Filter out possible comments + if ( match[1] === "*" ) { + var tmp = []; + + for ( var i = 0; results[i]; i++ ) { + if ( results[i].nodeType === 1 ) { + tmp.push( results[i] ); + } + } + + results = tmp; + } + + return results; + }; + } + + // Check to see if an attribute returns normalized href attributes + div.innerHTML = ""; + + if ( div.firstChild && typeof div.firstChild.getAttribute !== "undefined" && + div.firstChild.getAttribute("href") !== "#" ) { + + Expr.attrHandle.href = function( elem ) { + return elem.getAttribute( "href", 2 ); + }; + } + + // release memory in IE + div = null; +})(); + +if ( document.querySelectorAll ) { + (function(){ + var oldSizzle = Sizzle, + div = document.createElement("div"), + id = "__sizzle__"; + + div.innerHTML = "

"; + + // Safari can't handle uppercase or unicode characters when + // in quirks mode. + if ( div.querySelectorAll && div.querySelectorAll(".TEST").length === 0 ) { + return; + } + + Sizzle = function( query, context, extra, seed ) { + context = context || document; + + // Only use querySelectorAll on non-XML documents + // (ID selectors don't work in non-HTML documents) + if ( !seed && !Sizzle.isXML(context) ) { + // See if we find a selector to speed up + var match = /^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec( query ); + + if ( match && (context.nodeType === 1 || context.nodeType === 9) ) { + // Speed-up: Sizzle("TAG") + if ( match[1] ) { + return makeArray( context.getElementsByTagName( query ), extra ); + + // Speed-up: Sizzle(".CLASS") + } else if ( match[2] && Expr.find.CLASS && context.getElementsByClassName ) { + return makeArray( context.getElementsByClassName( match[2] ), extra ); + } + } + + if ( context.nodeType === 9 ) { + // Speed-up: Sizzle("body") + // The body element only exists once, optimize finding it + if ( query === "body" && context.body ) { + return makeArray( [ context.body ], extra ); + + // Speed-up: Sizzle("#ID") + } else if ( match && match[3] ) { + var elem = context.getElementById( match[3] ); + + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + if ( elem && elem.parentNode ) { + // Handle the case where IE and Opera return items + // by name instead of ID + if ( elem.id === match[3] ) { + return makeArray( [ elem ], extra ); + } + + } else { + return makeArray( [], extra ); + } + } + + try { + return makeArray( context.querySelectorAll(query), extra ); + } catch(qsaError) {} + + // qSA works strangely on Element-rooted queries + // We can work around this by specifying an extra ID on the root + // and working up from there (Thanks to Andrew Dupont for the technique) + // IE 8 doesn't work on object elements + } else if ( context.nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) { + var oldContext = context, + old = context.getAttribute( "id" ), + nid = old || id, + hasParent = context.parentNode, + relativeHierarchySelector = /^\s*[+~]/.test( query ); + + if ( !old ) { + context.setAttribute( "id", nid ); + } else { + nid = nid.replace( /'/g, "\\$&" ); + } + if ( relativeHierarchySelector && hasParent ) { + context = context.parentNode; + } + + try { + if ( !relativeHierarchySelector || hasParent ) { + return makeArray( context.querySelectorAll( "[id='" + nid + "'] " + query ), extra ); + } + + } catch(pseudoError) { + } finally { + if ( !old ) { + oldContext.removeAttribute( "id" ); + } + } + } + } + + return oldSizzle(query, context, extra, seed); + }; + + for ( var prop in oldSizzle ) { + Sizzle[ prop ] = oldSizzle[ prop ]; + } + + // release memory in IE + div = null; + })(); +} + +(function(){ + var html = document.documentElement, + matches = html.matchesSelector || html.mozMatchesSelector || html.webkitMatchesSelector || html.msMatchesSelector; + + if ( matches ) { + // Check to see if it's possible to do matchesSelector + // on a disconnected node (IE 9 fails this) + var disconnectedMatch = !matches.call( document.createElement( "div" ), "div" ), + pseudoWorks = false; + + try { + // This should fail with an exception + // Gecko does not error, returns false instead + matches.call( document.documentElement, "[test!='']:sizzle" ); + + } catch( pseudoError ) { + pseudoWorks = true; + } + + Sizzle.matchesSelector = function( node, expr ) { + // Make sure that attribute selectors are quoted + expr = expr.replace(/\=\s*([^'"\]]*)\s*\]/g, "='$1']"); + + if ( !Sizzle.isXML( node ) ) { + try { + if ( pseudoWorks || !Expr.match.PSEUDO.test( expr ) && !/!=/.test( expr ) ) { + var ret = matches.call( node, expr ); + + // IE 9's matchesSelector returns false on disconnected nodes + if ( ret || !disconnectedMatch || + // As well, disconnected nodes are said to be in a document + // fragment in IE 9, so check for that + node.document && node.document.nodeType !== 11 ) { + return ret; + } + } + } catch(e) {} + } + + return Sizzle(expr, null, null, [node]).length > 0; + }; + } +})(); + +(function(){ + var div = document.createElement("div"); + + div.innerHTML = "
"; + + // Opera can't find a second classname (in 9.6) + // Also, make sure that getElementsByClassName actually exists + if ( !div.getElementsByClassName || div.getElementsByClassName("e").length === 0 ) { + return; + } + + // Safari caches class attributes, doesn't catch changes (in 3.2) + div.lastChild.className = "e"; + + if ( div.getElementsByClassName("e").length === 1 ) { + return; + } + + Expr.order.splice(1, 0, "CLASS"); + Expr.find.CLASS = function( match, context, isXML ) { + if ( typeof context.getElementsByClassName !== "undefined" && !isXML ) { + return context.getElementsByClassName(match[1]); + } + }; + + // release memory in IE + div = null; +})(); + +function dirNodeCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) { + for ( var i = 0, l = checkSet.length; i < l; i++ ) { + var elem = checkSet[i]; + + if ( elem ) { + var match = false; + + elem = elem[dir]; + + while ( elem ) { + if ( elem[ expando ] === doneName ) { + match = checkSet[elem.sizset]; + break; + } + + if ( elem.nodeType === 1 && !isXML ){ + elem[ expando ] = doneName; + elem.sizset = i; + } + + if ( elem.nodeName.toLowerCase() === cur ) { + match = elem; + break; + } + + elem = elem[dir]; + } + + checkSet[i] = match; + } + } +} + +function dirCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) { + for ( var i = 0, l = checkSet.length; i < l; i++ ) { + var elem = checkSet[i]; + + if ( elem ) { + var match = false; + + elem = elem[dir]; + + while ( elem ) { + if ( elem[ expando ] === doneName ) { + match = checkSet[elem.sizset]; + break; + } + + if ( elem.nodeType === 1 ) { + if ( !isXML ) { + elem[ expando ] = doneName; + elem.sizset = i; + } + + if ( typeof cur !== "string" ) { + if ( elem === cur ) { + match = true; + break; + } + + } else if ( Sizzle.filter( cur, [elem] ).length > 0 ) { + match = elem; + break; + } + } + + elem = elem[dir]; + } + + checkSet[i] = match; + } + } +} + +if ( document.documentElement.contains ) { + Sizzle.contains = function( a, b ) { + return a !== b && (a.contains ? a.contains(b) : true); + }; + +} else if ( document.documentElement.compareDocumentPosition ) { + Sizzle.contains = function( a, b ) { + return !!(a.compareDocumentPosition(b) & 16); + }; + +} else { + Sizzle.contains = function() { + return false; + }; +} + +Sizzle.isXML = function( elem ) { + // documentElement is verified for cases where it doesn't yet exist + // (such as loading iframes in IE - #4833) + var documentElement = (elem ? elem.ownerDocument || elem : 0).documentElement; + + return documentElement ? documentElement.nodeName !== "HTML" : false; +}; + +var posProcess = function( selector, context, seed ) { + var match, + tmpSet = [], + later = "", + root = context.nodeType ? [context] : context; + + // Position selectors must be done after the filter + // And so must :not(positional) so we move all PSEUDOs to the end + while ( (match = Expr.match.PSEUDO.exec( selector )) ) { + later += match[0]; + selector = selector.replace( Expr.match.PSEUDO, "" ); + } + + selector = Expr.relative[selector] ? selector + "*" : selector; + + for ( var i = 0, l = root.length; i < l; i++ ) { + Sizzle( selector, root[i], tmpSet, seed ); + } + + return Sizzle.filter( later, tmpSet ); +}; + +// EXPOSE +// Override sizzle attribute retrieval +Sizzle.attr = jQuery.attr; +Sizzle.selectors.attrMap = {}; +jQuery.find = Sizzle; +jQuery.expr = Sizzle.selectors; +jQuery.expr[":"] = jQuery.expr.filters; +jQuery.unique = Sizzle.uniqueSort; +jQuery.text = Sizzle.getText; +jQuery.isXMLDoc = Sizzle.isXML; +jQuery.contains = Sizzle.contains; + + +})(); + + +var runtil = /Until$/, + rparentsprev = /^(?:parents|prevUntil|prevAll)/, + // Note: This RegExp should be improved, or likely pulled from Sizzle + rmultiselector = /,/, + isSimple = /^.[^:#\[\.,]*$/, + slice = Array.prototype.slice, + POS = jQuery.expr.match.globalPOS, + // methods guaranteed to produce a unique set when starting from a unique set + guaranteedUnique = { + children: true, + contents: true, + next: true, + prev: true + }; + +jQuery.fn.extend({ + find: function( selector ) { + var self = this, + i, l; + + if ( typeof selector !== "string" ) { + return jQuery( selector ).filter(function() { + for ( i = 0, l = self.length; i < l; i++ ) { + if ( jQuery.contains( self[ i ], this ) ) { + return true; + } + } + }); + } + + var ret = this.pushStack( "", "find", selector ), + length, n, r; + + for ( i = 0, l = this.length; i < l; i++ ) { + length = ret.length; + jQuery.find( selector, this[i], ret ); + + if ( i > 0 ) { + // Make sure that the results are unique + for ( n = length; n < ret.length; n++ ) { + for ( r = 0; r < length; r++ ) { + if ( ret[r] === ret[n] ) { + ret.splice(n--, 1); + break; + } + } + } + } + } + + return ret; + }, + + has: function( target ) { + var targets = jQuery( target ); + return this.filter(function() { + for ( var i = 0, l = targets.length; i < l; i++ ) { + if ( jQuery.contains( this, targets[i] ) ) { + return true; + } + } + }); + }, + + not: function( selector ) { + return this.pushStack( winnow(this, selector, false), "not", selector); + }, + + filter: function( selector ) { + return this.pushStack( winnow(this, selector, true), "filter", selector ); + }, + + is: function( selector ) { + return !!selector && ( + typeof selector === "string" ? + // If this is a positional selector, check membership in the returned set + // so $("p:first").is("p:last") won't return true for a doc with two "p". + POS.test( selector ) ? + jQuery( selector, this.context ).index( this[0] ) >= 0 : + jQuery.filter( selector, this ).length > 0 : + this.filter( selector ).length > 0 ); + }, + + closest: function( selectors, context ) { + var ret = [], i, l, cur = this[0]; + + // Array (deprecated as of jQuery 1.7) + if ( jQuery.isArray( selectors ) ) { + var level = 1; + + while ( cur && cur.ownerDocument && cur !== context ) { + for ( i = 0; i < selectors.length; i++ ) { + + if ( jQuery( cur ).is( selectors[ i ] ) ) { + ret.push({ selector: selectors[ i ], elem: cur, level: level }); + } + } + + cur = cur.parentNode; + level++; + } + + return ret; + } + + // String + var pos = POS.test( selectors ) || typeof selectors !== "string" ? + jQuery( selectors, context || this.context ) : + 0; + + for ( i = 0, l = this.length; i < l; i++ ) { + cur = this[i]; + + while ( cur ) { + if ( pos ? pos.index(cur) > -1 : jQuery.find.matchesSelector(cur, selectors) ) { + ret.push( cur ); + break; + + } else { + cur = cur.parentNode; + if ( !cur || !cur.ownerDocument || cur === context || cur.nodeType === 11 ) { + break; + } + } + } + } + + ret = ret.length > 1 ? jQuery.unique( ret ) : ret; + + return this.pushStack( ret, "closest", selectors ); + }, + + // Determine the position of an element within + // the matched set of elements + index: function( elem ) { + + // No argument, return index in parent + if ( !elem ) { + return ( this[0] && this[0].parentNode ) ? this.prevAll().length : -1; + } + + // index in selector + if ( typeof elem === "string" ) { + return jQuery.inArray( this[0], jQuery( elem ) ); + } + + // Locate the position of the desired element + return jQuery.inArray( + // If it receives a jQuery object, the first element is used + elem.jquery ? elem[0] : elem, this ); + }, + + add: function( selector, context ) { + var set = typeof selector === "string" ? + jQuery( selector, context ) : + jQuery.makeArray( selector && selector.nodeType ? [ selector ] : selector ), + all = jQuery.merge( this.get(), set ); + + return this.pushStack( isDisconnected( set[0] ) || isDisconnected( all[0] ) ? + all : + jQuery.unique( all ) ); + }, + + andSelf: function() { + return this.add( this.prevObject ); + } +}); + +// A painfully simple check to see if an element is disconnected +// from a document (should be improved, where feasible). +function isDisconnected( node ) { + return !node || !node.parentNode || node.parentNode.nodeType === 11; +} + +jQuery.each({ + parent: function( elem ) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + parents: function( elem ) { + return jQuery.dir( elem, "parentNode" ); + }, + parentsUntil: function( elem, i, until ) { + return jQuery.dir( elem, "parentNode", until ); + }, + next: function( elem ) { + return jQuery.nth( elem, 2, "nextSibling" ); + }, + prev: function( elem ) { + return jQuery.nth( elem, 2, "previousSibling" ); + }, + nextAll: function( elem ) { + return jQuery.dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return jQuery.dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, i, until ) { + return jQuery.dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, i, until ) { + return jQuery.dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return jQuery.sibling( ( elem.parentNode || {} ).firstChild, elem ); + }, + children: function( elem ) { + return jQuery.sibling( elem.firstChild ); + }, + contents: function( elem ) { + return jQuery.nodeName( elem, "iframe" ) ? + elem.contentDocument || elem.contentWindow.document : + jQuery.makeArray( elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var ret = jQuery.map( this, fn, until ); + + if ( !runtil.test( name ) ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + ret = jQuery.filter( selector, ret ); + } + + ret = this.length > 1 && !guaranteedUnique[ name ] ? jQuery.unique( ret ) : ret; + + if ( (this.length > 1 || rmultiselector.test( selector )) && rparentsprev.test( name ) ) { + ret = ret.reverse(); + } + + return this.pushStack( ret, name, slice.call( arguments ).join(",") ); + }; +}); + +jQuery.extend({ + filter: function( expr, elems, not ) { + if ( not ) { + expr = ":not(" + expr + ")"; + } + + return elems.length === 1 ? + jQuery.find.matchesSelector(elems[0], expr) ? [ elems[0] ] : [] : + jQuery.find.matches(expr, elems); + }, + + dir: function( elem, dir, until ) { + var matched = [], + cur = elem[ dir ]; + + while ( cur && cur.nodeType !== 9 && (until === undefined || cur.nodeType !== 1 || !jQuery( cur ).is( until )) ) { + if ( cur.nodeType === 1 ) { + matched.push( cur ); + } + cur = cur[dir]; + } + return matched; + }, + + nth: function( cur, result, dir, elem ) { + result = result || 1; + var num = 0; + + for ( ; cur; cur = cur[dir] ) { + if ( cur.nodeType === 1 && ++num === result ) { + break; + } + } + + return cur; + }, + + sibling: function( n, elem ) { + var r = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + r.push( n ); + } + } + + return r; + } +}); + +// Implement the identical functionality for filter and not +function winnow( elements, qualifier, keep ) { + + // Can't pass null or undefined to indexOf in Firefox 4 + // Set to 0 to skip string check + qualifier = qualifier || 0; + + if ( jQuery.isFunction( qualifier ) ) { + return jQuery.grep(elements, function( elem, i ) { + var retVal = !!qualifier.call( elem, i, elem ); + return retVal === keep; + }); + + } else if ( qualifier.nodeType ) { + return jQuery.grep(elements, function( elem, i ) { + return ( elem === qualifier ) === keep; + }); + + } else if ( typeof qualifier === "string" ) { + var filtered = jQuery.grep(elements, function( elem ) { + return elem.nodeType === 1; + }); + + if ( isSimple.test( qualifier ) ) { + return jQuery.filter(qualifier, filtered, !keep); + } else { + qualifier = jQuery.filter( qualifier, filtered ); + } + } + + return jQuery.grep(elements, function( elem, i ) { + return ( jQuery.inArray( elem, qualifier ) >= 0 ) === keep; + }); +} + + + + +function createSafeFragment( document ) { + var list = nodeNames.split( "|" ), + safeFrag = document.createDocumentFragment(); + + if ( safeFrag.createElement ) { + while ( list.length ) { + safeFrag.createElement( + list.pop() + ); + } + } + return safeFrag; +} + +var nodeNames = "abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|" + + "header|hgroup|mark|meter|nav|output|progress|section|summary|time|video", + rinlinejQuery = / jQuery\d+="(?:\d+|null)"/g, + rleadingWhitespace = /^\s+/, + rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig, + rtagName = /<([\w:]+)/, + rtbody = /]", "i"), + // checked="checked" or checked + rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i, + rscriptType = /\/(java|ecma)script/i, + rcleanScript = /^\s*", "" ], + legend: [ 1, "
", "
" ], + thead: [ 1, "", "
" ], + tr: [ 2, "", "
" ], + td: [ 3, "", "
" ], + col: [ 2, "", "
" ], + area: [ 1, "", "" ], + _default: [ 0, "", "" ] + }, + safeFragment = createSafeFragment( document ); + +wrapMap.optgroup = wrapMap.option; +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + +// IE can't serialize and + + + + + + +
+

模仿淘宝的图片轮播效果

+ +
+
    +
  • +
  • +
  • +
  • +
  • +
+
+ +
測試是否溢出
+
+ +