]> git.mxchange.org Git - mailer.git/blobdiff - js/jquery.uncompressed.js
Added missing 'extension' initialization in installer and used EL code there + fixed...
[mailer.git] / js / jquery.uncompressed.js
index 12c7797fdc6a98f9e3bd37d8416fe33a057deaae..8c24ffc610d6f5de6ffa9c992030800249612b9c 100644 (file)
@@ -1,5 +1,5 @@
 /*!
- * jQuery JavaScript Library v1.8.2
+ * jQuery JavaScript Library v1.8.3
  * http://jquery.com/
  *
  * Includes Sizzle.js
@@ -9,7 +9,7 @@
  * Released under the MIT license
  * http://jquery.org/license
  *
- * Date: Thu Sep 20 2012 21:13:05 GMT-0400 (Eastern Daylight Time)
+ * Date: Tue Nov 13 2012 08:20:33 GMT-0500 (Eastern Standard Time)
  */
 (function( window, undefined ) {
 var
@@ -186,7 +186,7 @@ jQuery.fn = jQuery.prototype = {
        selector: "",
 
        // The current version of jQuery being used
-       jquery: "1.8.2",
+       jquery: "1.8.3",
 
        // The default length of a jQuery object is 0
        length: 0,
@@ -999,8 +999,10 @@ jQuery.Callbacks = function( options ) {
                                        (function add( args ) {
                                                jQuery.each( args, function( _, arg ) {
                                                        var type = jQuery.type( arg );
-                                                       if ( type === "function" && ( !options.unique || !self.has( arg ) ) ) {
-                                                               list.push( arg );
+                                                       if ( type === "function" ) {
+                                                               if ( !options.unique || !self.has( arg ) ) {
+                                                                       list.push( arg );
+                                                               }
                                                        } else if ( arg && arg.length && type !== "string" ) {
                                                                // Inspect recursively
                                                                add( arg );
@@ -1253,24 +1255,23 @@ jQuery.support = (function() {
                clickFn,
                div = document.createElement("div");
 
-       // Preliminary tests
+       // Setup
        div.setAttribute( "className", "t" );
        div.innerHTML = "  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>";
 
+       // Support tests won't run in some limited or non-browser environments
        all = div.getElementsByTagName("*");
        a = div.getElementsByTagName("a")[ 0 ];
-       a.style.cssText = "top:1px;float:left;opacity:.5";
-
-       // Can't get basic test support
-       if ( !all || !all.length ) {
+       if ( !all || !a || !all.length ) {
                return {};
        }
 
-       // First batch of supports tests
+       // First batch of tests
        select = document.createElement("select");
        opt = select.appendChild( document.createElement("option") );
        input = div.getElementsByTagName("input")[ 0 ];
 
+       a.style.cssText = "top:1px;float:left;opacity:.5";
        support = {
                // IE strips leading whitespace when .innerHTML is used
                leadingWhitespace: ( div.firstChild.nodeType === 3 ),
@@ -1312,7 +1313,7 @@ jQuery.support = (function() {
                // 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)
+               // Tests for enctype support on a form (#6743)
                enctype: !!document.createElement("form").enctype,
 
                // Makes sure cloning an html5 element does not cause problems
@@ -2217,26 +2218,25 @@ jQuery.extend({
                },
                select: {
                        get: function( elem ) {
-                               var value, i, max, option,
-                                       index = elem.selectedIndex,
-                                       values = [],
+                               var value, option,
                                        options = elem.options,
-                                       one = elem.type === "select-one";
-
-                               // Nothing was selected
-                               if ( index < 0 ) {
-                                       return null;
-                               }
+                                       index = elem.selectedIndex,
+                                       one = elem.type === "select-one" || index < 0,
+                                       values = one ? null : [],
+                                       max = one ? index + 1 : options.length,
+                                       i = index < 0 ?
+                                               max :
+                                               one ? index : 0;
 
                                // 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" )) ) {
+                                       // oldIE doesn't update selected after form reset (#2551)
+                                       if ( ( option.selected || i === index ) &&
+                                                       // Don't return options that are disabled or in a disabled optgroup
+                                                       ( 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();
@@ -2251,11 +2251,6 @@ jQuery.extend({
                                        }
                                }
 
-                               // Fixes Bug #2551 -- select.val() broken in IE after form.reset()
-                               if ( one && !values.length && options.length ) {
-                                       return jQuery( options[ index ] ).val();
-                               }
-
                                return values;
                        },
 
@@ -3233,7 +3228,7 @@ jQuery.removeEvent = document.removeEventListener ?
 
                if ( elem.detachEvent ) {
 
-                       // #8545, #7054, preventing memory leaks for custom events in IE6-8 –
+                       // #8545, #7054, preventing memory leaks for custom events in IE6-8
                        // detachEvent needed property on element, by name of that event, to properly expose it to GC
                        if ( typeof elem[ name ] === "undefined" ) {
                                elem[ name ] = null;
@@ -3725,7 +3720,8 @@ var cachedruns,
                                delete cache[ keys.shift() ];
                        }
 
-                       return (cache[ key ] = value);
+                       // Retrieve with (key + " ") to avoid collision with native Object.prototype properties (see Issue #157)
+                       return (cache[ key + " " ] = value);
                }, cache );
        },
 
@@ -4259,13 +4255,13 @@ Expr = Sizzle.selectors = {
                },
 
                "CLASS": function( className ) {
-                       var pattern = classCache[ expando ][ className ];
-                       if ( !pattern ) {
-                               pattern = classCache( className, new RegExp("(^|" + whitespace + ")" + className + "(" + whitespace + "|$)") );
-                       }
-                       return function( elem ) {
-                               return pattern.test( elem.className || (typeof elem.getAttribute !== strundefined && elem.getAttribute("class")) || "" );
-                       };
+                       var pattern = classCache[ expando ][ className + " " ];
+
+                       return pattern ||
+                               (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) &&
+                               classCache( className, function( elem ) {
+                                       return pattern.test( elem.className || (typeof elem.getAttribute !== strundefined && elem.getAttribute("class")) || "" );
+                               });
                },
 
                "ATTR": function( name, operator, check ) {
@@ -4511,7 +4507,7 @@ Expr = Sizzle.selectors = {
 
                "focus": function( elem ) {
                        var doc = elem.ownerDocument;
-                       return elem === doc.activeElement && (!doc.hasFocus || doc.hasFocus()) && !!(elem.type || elem.href);
+                       return elem === doc.activeElement && (!doc.hasFocus || doc.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex);
                },
 
                "active": function( elem ) {
@@ -4519,11 +4515,11 @@ Expr = Sizzle.selectors = {
                },
 
                // Positional types
-               "first": createPositionalPseudo(function( matchIndexes, length, argument ) {
+               "first": createPositionalPseudo(function() {
                        return [ 0 ];
                }),
 
-               "last": createPositionalPseudo(function( matchIndexes, length, argument ) {
+               "last": createPositionalPseudo(function( matchIndexes, length ) {
                        return [ length - 1 ];
                }),
 
@@ -4531,14 +4527,14 @@ Expr = Sizzle.selectors = {
                        return [ argument < 0 ? argument + length : argument ];
                }),
 
-               "even": createPositionalPseudo(function( matchIndexes, length, argument ) {
+               "even": createPositionalPseudo(function( matchIndexes, length ) {
                        for ( var i = 0; i < length; i += 2 ) {
                                matchIndexes.push( i );
                        }
                        return matchIndexes;
                }),
 
-               "odd": createPositionalPseudo(function( matchIndexes, length, argument ) {
+               "odd": createPositionalPseudo(function( matchIndexes, length ) {
                        for ( var i = 1; i < length; i += 2 ) {
                                matchIndexes.push( i );
                        }
@@ -4659,7 +4655,9 @@ baseHasDuplicate = !hasDuplicate;
 // Document sorting and removing duplicates
 Sizzle.uniqueSort = function( results ) {
        var elem,
-               i = 1;
+               duplicates = [],
+               i = 1,
+               j = 0;
 
        hasDuplicate = baseHasDuplicate;
        results.sort( sortOrder );
@@ -4667,9 +4665,12 @@ Sizzle.uniqueSort = function( results ) {
        if ( hasDuplicate ) {
                for ( ; (elem = results[i]); i++ ) {
                        if ( elem === results[ i - 1 ] ) {
-                               results.splice( i--, 1 );
+                               j = duplicates.push( i );
                        }
                }
+               while ( j-- ) {
+                       results.splice( duplicates[ j ], 1 );
+               }
        }
 
        return results;
@@ -4680,8 +4681,9 @@ Sizzle.error = function( msg ) {
 };
 
 function tokenize( selector, parseOnly ) {
-       var matched, match, tokens, type, soFar, groups, preFilters,
-               cached = tokenCache[ expando ][ selector ];
+       var matched, match, tokens, type,
+               soFar, groups, preFilters,
+               cached = tokenCache[ expando ][ selector + " " ];
 
        if ( cached ) {
                return parseOnly ? 0 : cached.slice( 0 );
@@ -4696,7 +4698,8 @@ function tokenize( selector, parseOnly ) {
                // Comma and first run
                if ( !matched || (match = rcomma.exec( soFar )) ) {
                        if ( match ) {
-                               soFar = soFar.slice( match[0].length );
+                               // Don't consume trailing commas as valid
+                               soFar = soFar.slice( match[0].length ) || soFar;
                        }
                        groups.push( tokens = [] );
                }
@@ -4715,8 +4718,7 @@ function tokenize( selector, parseOnly ) {
                // Filters
                for ( type in Expr.filter ) {
                        if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] ||
-                               // The last two arguments here are (context, xml) for backCompat
-                               (match = preFilters[ type ]( match, document, true ))) ) {
+                               (match = preFilters[ type ]( match ))) ) {
 
                                tokens.push( matched = new Token( match.shift() ) );
                                soFar = soFar.slice( matched.length );
@@ -4836,18 +4838,13 @@ function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postS
                postFinder = setMatcher( postFinder, postSelector );
        }
        return markFunction(function( seed, results, context, xml ) {
-               // Positional selectors apply to seed elements, so it is invalid to follow them with relative ones
-               if ( seed && postFinder ) {
-                       return;
-               }
-
-               var i, elem, postFilterIn,
+               var temp, i, elem,
                        preMap = [],
                        postMap = [],
                        preexisting = results.length,
 
                        // Get initial elements from seed or context
-                       elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [], seed ),
+                       elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ),
 
                        // Prefilter to get matcher input, preserving a map for seed-results synchronization
                        matcherIn = preFilter && ( seed || !selector ) ?
@@ -4872,27 +4869,45 @@ function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postS
 
                // Apply postFilter
                if ( postFilter ) {
-                       postFilterIn = condense( matcherOut, postMap );
-                       postFilter( postFilterIn, [], context, xml );
+                       temp = condense( matcherOut, postMap );
+                       postFilter( temp, [], context, xml );
 
                        // Un-match failing elements by moving them back to matcherIn
-                       i = postFilterIn.length;
+                       i = temp.length;
                        while ( i-- ) {
-                               if ( (elem = postFilterIn[i]) ) {
+                               if ( (elem = temp[i]) ) {
                                        matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem);
                                }
                        }
                }
 
-               // Keep seed and results synchronized
                if ( seed ) {
-                       // Ignore postFinder because it can't coexist with seed
-                       i = preFilter && matcherOut.length;
-                       while ( i-- ) {
-                               if ( (elem = matcherOut[i]) ) {
-                                       seed[ preMap[i] ] = !(results[ preMap[i] ] = elem);
+                       if ( postFinder || preFilter ) {
+                               if ( postFinder ) {
+                                       // Get the final matcherOut by condensing this intermediate into postFinder contexts
+                                       temp = [];
+                                       i = matcherOut.length;
+                                       while ( i-- ) {
+                                               if ( (elem = matcherOut[i]) ) {
+                                                       // Restore matcherIn since elem is not yet a final match
+                                                       temp.push( (matcherIn[i] = elem) );
+                                               }
+                                       }
+                                       postFinder( null, (matcherOut = []), temp, xml );
+                               }
+
+                               // Move matched elements from seed to results to keep them synchronized
+                               i = matcherOut.length;
+                               while ( i-- ) {
+                                       if ( (elem = matcherOut[i]) &&
+                                               (temp = postFinder ? indexOf.call( seed, elem ) : preMap[i]) > -1 ) {
+
+                                               seed[temp] = !(results[temp] = elem);
+                                       }
                                }
                        }
+
+               // Add elements to results, through postFinder if defined
                } else {
                        matcherOut = condense(
                                matcherOut === results ?
@@ -4933,7 +4948,6 @@ function matcherFromTokens( tokens ) {
                if ( (matcher = Expr.relative[ tokens[i].type ]) ) {
                        matchers = [ addCombinator( elementMatcher( matchers ), matcher ) ];
                } else {
-                       // The concatenated values are (context, xml) for backCompat
                        matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches );
 
                        // Return special upon seeing a positional matcher
@@ -5062,7 +5076,7 @@ compile = Sizzle.compile = function( selector, group /* Internal Use Only */ ) {
        var i,
                setMatchers = [],
                elementMatchers = [],
-               cached = compilerCache[ expando ][ selector ];
+               cached = compilerCache[ expando ][ selector + " " ];
 
        if ( !cached ) {
                // Generate a function of recursive functions that can be used to check each element
@@ -5085,11 +5099,11 @@ compile = Sizzle.compile = function( selector, group /* Internal Use Only */ ) {
        return cached;
 };
 
-function multipleContexts( selector, contexts, results, seed ) {
+function multipleContexts( selector, contexts, results ) {
        var i = 0,
                len = contexts.length;
        for ( ; i < len; i++ ) {
-               Sizzle( selector, contexts[i], results, seed );
+               Sizzle( selector, contexts[i], results );
        }
        return results;
 }
@@ -5167,15 +5181,14 @@ if ( document.querySelectorAll ) {
                        rescape = /'|\\/g,
                        rattributeQuotes = /\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,
 
-                       // qSa(:focus) reports false when true (Chrome 21),
+                       // qSa(:focus) reports false when true (Chrome 21), no need to also add to buggyMatches since matches checks buggyQSA
                        // A support test would require too much code (would include document ready)
-                       rbuggyQSA = [":focus"],
+                       rbuggyQSA = [ ":focus" ],
 
-                       // matchesSelector(:focus) reports false when true (Chrome 21),
                        // matchesSelector(:active) reports false when true (IE9/Opera 11.5)
                        // A support test would require too much code (would include document ready)
                        // just skip matchesSelector for :active
-                       rbuggyMatches = [ ":active", ":focus" ],
+                       rbuggyMatches = [ ":active" ],
                        matches = docElem.matchesSelector ||
                                docElem.mozMatchesSelector ||
                                docElem.webkitMatchesSelector ||
@@ -5229,7 +5242,7 @@ if ( document.querySelectorAll ) {
                        // Only use querySelectorAll when not filtering,
                        // when this is not xml,
                        // and when no QSA bugs apply
-                       if ( !seed && !xml && (!rbuggyQSA || !rbuggyQSA.test( selector )) ) {
+                       if ( !seed && !xml && !rbuggyQSA.test( selector ) ) {
                                var groups, i,
                                        old = true,
                                        nid = expando,
@@ -5298,7 +5311,7 @@ if ( document.querySelectorAll ) {
                                expr = expr.replace( rattributeQuotes, "='$1']" );
 
                                // rbuggyMatches always contains :active, so no need for an existence check
-                               if ( !isXML( elem ) && !rbuggyMatches.test( expr ) && (!rbuggyQSA || !rbuggyQSA.test( expr )) ) {
+                               if ( !isXML( elem ) && !rbuggyMatches.test( expr ) && !rbuggyQSA.test( expr ) ) {
                                        try {
                                                var ret = matches.call( elem, expr );
 
@@ -6533,7 +6546,7 @@ var curCSS, iframe, iframeDoc,
        rnumsplit = new RegExp( "^(" + core_pnum + ")(.*)$", "i" ),
        rnumnonpx = new RegExp( "^(" + core_pnum + ")(?!px)[a-z%]+$", "i" ),
        rrelNum = new RegExp( "^([-+])=(" + core_pnum + ")", "i" ),
-       elemdisplay = {},
+       elemdisplay = { BODY: "block" },
 
        cssShow = { position: "absolute", visibility: "hidden", display: "block" },
        cssNormalTransform = {
@@ -6814,7 +6827,9 @@ if ( window.getComputedStyle ) {
 
                if ( computed ) {
 
-                       ret = computed[ name ];
+                       // getPropertyValue is only needed for .css('filter') in IE9, see #12537
+                       ret = computed.getPropertyValue( name ) || computed[ name ];
+
                        if ( ret === "" && !jQuery.contains( elem.ownerDocument, elem ) ) {
                                ret = jQuery.style( elem, name );
                        }
@@ -7843,9 +7858,12 @@ jQuery.extend({
 
                // A cross-domain request is in order when we have a protocol:host:port mismatch
                if ( s.crossDomain == null ) {
-                       parts = rurl.exec( s.url.toLowerCase() ) || false;
-                       s.crossDomain = parts && ( parts.join(":") + ( parts[ 3 ] ? "" : parts[ 1 ] === "http:" ? 80 : 443 ) ) !==
-                               ( ajaxLocParts.join(":") + ( ajaxLocParts[ 3 ] ? "" : ajaxLocParts[ 1 ] === "http:" ? 80 : 443 ) );
+                       parts = rurl.exec( s.url.toLowerCase() );
+                       s.crossDomain = !!( parts &&
+                               ( parts[ 1 ] !== ajaxLocParts[ 1 ] || parts[ 2 ] !== ajaxLocParts[ 2 ] ||
+                                       ( parts[ 3 ] || ( parts[ 1 ] === "http:" ? 80 : 443 ) ) !=
+                                               ( ajaxLocParts[ 3 ] || ( ajaxLocParts[ 1 ] === "http:" ? 80 : 443 ) ) )
+                       );
                }
 
                // Convert data if not already a string
@@ -8464,7 +8482,7 @@ if ( jQuery.support.ajax ) {
                                                                        // on any attempt to access responseText (#11426)
                                                                        try {
                                                                                responses.text = xhr.responseText;
-                                                                       } catch( _ ) {
+                                                                       } catch( e ) {
                                                                        }
 
                                                                        // Firefox throws an exception when accessing
@@ -8617,7 +8635,9 @@ function Animation( elem, properties, options ) {
                tick = function() {
                        var currentTime = fxNow || createFxNow(),
                                remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ),
-                               percent = 1 - ( remaining / animation.duration || 0 ),
+                               // archaic crash bug won't allow us to use 1 - ( 0.5 || 0 ) (#12497)
+                               temp = remaining / animation.duration || 0,
+                               percent = 1 - temp,
                                index = 0,
                                length = animation.tweens.length;
 
@@ -8769,7 +8789,7 @@ jQuery.Animation = jQuery.extend( Animation, {
 });
 
 function defaultPrefilter( elem, props, opts ) {
-       var index, prop, value, length, dataShow, tween, hooks, oldfire,
+       var index, prop, value, length, dataShow, toggle, tween, hooks, oldfire,
                anim = this,
                style = elem.style,
                orig = {},
@@ -8843,6 +8863,7 @@ function defaultPrefilter( elem, props, opts ) {
                value = props[ index ];
                if ( rfxtypes.exec( value ) ) {
                        delete props[ index ];
+                       toggle = toggle || value === "toggle";
                        if ( value === ( hidden ? "hide" : "show" ) ) {
                                continue;
                        }
@@ -8853,6 +8874,14 @@ function defaultPrefilter( elem, props, opts ) {
        length = handled.length;
        if ( length ) {
                dataShow = jQuery._data( elem, "fxshow" ) || jQuery._data( elem, "fxshow", {} );
+               if ( "hidden" in dataShow ) {
+                       hidden = dataShow.hidden;
+               }
+
+               // store state if its toggle - enables .stop().toggle() to "reverse"
+               if ( toggle ) {
+                       dataShow.hidden = !hidden;
+               }
                if ( hidden ) {
                        jQuery( elem ).show();
                } else {
@@ -9149,6 +9178,8 @@ jQuery.fx.tick = function() {
                timers = jQuery.timers,
                i = 0;
 
+       fxNow = jQuery.now();
+
        for ( ; i < timers.length; i++ ) {
                timer = timers[ i ];
                // Checks the timer has not already been removed
@@ -9160,6 +9191,7 @@ jQuery.fx.tick = function() {
        if ( !timers.length ) {
                jQuery.fx.stop();
        }
+       fxNow = undefined;
 };
 
 jQuery.fx.timer = function( timer ) {