From f29aa679d26dfc4f883868d041c506eaee4b6064 Mon Sep 17 00:00:00 2001 From: James Taylor Date: Mon, 2 Jul 2007 14:15:59 +0000 Subject: [PATCH] (javascript) New jquery release, substantially faster, smoother animation (especially in Firefox). Also, some fixes to animation speed and for Safari. --- static/scripts/jquery.js | 1101 +++++++++++++++++-------------- static/scripts/packed/jquery.js | 12 +- templates/history.tmpl | 4 +- templates/tool_menu.tmpl | 4 +- 4 files changed, 613 insertions(+), 508 deletions(-) diff --git a/static/scripts/jquery.js b/static/scripts/jquery.js index 5273931a83f..760b1841fd2 100644 --- a/static/scripts/jquery.js +++ b/static/scripts/jquery.js @@ -1,53 +1,24 @@ -/* prevent execution of jQuery if included more than once */ +// prevent execution of jQuery if included more than once if(typeof window.jQuery == "undefined") { /* - * jQuery 1.1.2 - New Wave Javascript + * jQuery 1.1.3 - New Wave Javascript * * Copyright (c) 2007 John Resig (jquery.com) * Dual licensed under the MIT (MIT-LICENSE.txt) * and GPL (GPL-LICENSE.txt) licenses. * - * $Date: 2007-02-28 12:03:00 -0500 (Wed, 28 Feb 2007) $ - * $Rev: 1465 $ + * $Date: 2007-07-01 08:54:38 -0400 (Sun, 01 Jul 2007) $ + * $Rev: 2200 $ */ // Global undefined variable window.undefined = window.undefined; var jQuery = function(a,c) { // If the context is global, return a new object - if ( window == this ) + if ( window == this || !this.init ) return new jQuery(a,c); - - // Make sure that a selection was provided - a = a || document; - // HANDLE: $(function) - // Shortcut for document ready - if ( jQuery.isFunction(a) ) - return new jQuery(document)[ jQuery.fn.ready ? "ready" : "load" ]( a ); - - // Handle HTML strings - if ( typeof a == "string" ) { - // HANDLE: $(html) -> $(array) - var m = /^[^<]*(<(.|\s)+>)[^>]*$/.exec(a); - if ( m ) - a = jQuery.clean( [ m[1] ] ); - - // HANDLE: $(expr) - else - return new jQuery( c ).find( a ); - } - - return this.setArray( - // HANDLE: $(array) - a.constructor == Array && a || - - // HANDLE: $(arraylike) - // Watch for when an array-like object is passed as the selector - (a.jquery || a.length && a != window && !a.nodeType && a[0] != undefined && a[0].nodeType) && jQuery.makeArray( a ) || - - // HANDLE: $(*) - [ a ] ); + return this.init(a,c); }; // Map over the $ in case of overwrite @@ -58,7 +29,39 @@ if ( typeof $ != "undefined" ) var $ = jQuery; jQuery.fn = jQuery.prototype = { - jquery: "1.1.2", + init: function(a,c) { + // Make sure that a selection was provided + a = a || document; + + // HANDLE: $(function) + // Shortcut for document ready + if ( jQuery.isFunction(a) ) + return new jQuery(document)[ jQuery.fn.ready ? "ready" : "load" ]( a ); + + // Handle HTML strings + if ( typeof a == "string" ) { + // HANDLE: $(html) -> $(array) + var m = /^[^<]*(<(.|\s)+>)[^>]*$/.exec(a); + if ( m ) + a = jQuery.clean( [ m[1] ] ); + + // HANDLE: $(expr) + else + return new jQuery( c ).find( a ); + } + + return this.setArray( + // HANDLE: $(array) + a.constructor == Array && a || + + // HANDLE: $(arraylike) + // Watch for when an array-like object is passed as the selector + (a.jquery || a.length && a != window && !a.nodeType && a[0] != undefined && a[0].nodeType) && jQuery.makeArray( a ) || + + // HANDLE: $(*) + [ a ] ); + }, + jquery: "1.1.3", size: function() { return this.length; @@ -140,10 +143,13 @@ jQuery.fn = jQuery.prototype = { wrap: function() { // The elements to wrap the target around - var a = jQuery.clean(arguments); + var a, args = arguments; // Wrap each of the matched elements individually return this.each(function(){ + if ( !a ) + a = jQuery.clean(args, this.ownerDocument); + // Clone the structure that we're using to wrap var b = a[0].cloneNode(true); @@ -182,16 +188,35 @@ jQuery.fn = jQuery.prototype = { return this.prevObject || jQuery([]); }, find: function(t) { - return this.pushStack( jQuery.map( this, function(a){ - return jQuery.find(t,a); - }), t ); + var data = jQuery.map(this, function(a){ return jQuery.find(t,a); }); + return this.pushStack( /[^+>] [^+>]/.test( t ) || t.indexOf("..") > -1 ? + jQuery.unique( data ) : data ); }, clone: function(deep) { - return this.pushStack( jQuery.map( this, function(a){ - var a = a.cloneNode( deep != undefined ? deep : true ); - a.$events = null; // drop $events expando to avoid firing incorrect events - return a; + // Need to remove events on the element and its descendants + var $this = this.add(this.find("*")); + $this.each(function() { + this._$events = {}; + for (var type in this.$events) + this._$events[type] = jQuery.extend({},this.$events[type]); + }).unbind(); + + // Do the clone + var r = this.pushStack( jQuery.map( this, function(a){ + return a.cloneNode( deep != undefined ? deep : true ); }) ); + + // Add the events back to the original and its descendants + $this.each(function() { + var events = this._$events; + for (var type in events) + for (var handler in events[type]) + jQuery.event.add(this, type, events[type][handler], events[type][handler].data); + this._$events = null; + }); + + // Return the cloned set + return r; }, filter: function(t) { @@ -227,7 +252,7 @@ jQuery.fn = jQuery.prototype = { ); }, is: function(expr) { - return expr ? jQuery.filter(expr,this).r.length > 0 : false; + return expr ? jQuery.multiFilter(expr,this).length > 0 : false; }, val: function( val ) { @@ -242,12 +267,15 @@ jQuery.fn = jQuery.prototype = { this.empty().append( val ); }, domManip: function(args, table, dir, fn){ - var clone = this.length > 1; - var a = jQuery.clean(args); - if ( dir < 0 ) - a.reverse(); + var clone = this.length > 1, a; return this.each(function(){ + if ( !a ) { + a = jQuery.clean(args, this.ownerDocument); + if ( dir < 0 ) + a.reverse(); + } + var obj = this; if ( table && jQuery.nodeName(this, "table") && jQuery.nodeName(a[0], "tr") ) @@ -263,8 +291,7 @@ jQuery.fn = jQuery.prototype = { jQuery.extend = jQuery.fn.extend = function() { // copy reference to target object - var target = arguments[0], - a = 1; + var target = arguments[0], a = 1; // extend jQuery itself if only one argument is passed if ( arguments.length == 1 ) { @@ -272,7 +299,7 @@ jQuery.extend = jQuery.fn.extend = function() { a = 0; } var prop; - while (prop = arguments[a++]) + while ( (prop = arguments[a++]) != null ) // Extend the base object for ( var i in prop ) target[i] = prop[i]; @@ -291,7 +318,7 @@ jQuery.extend({ // is the only cross-browser way to do this. --John isFunction: function( fn ) { return !!fn && typeof fn != "string" && !fn.nodeName && - typeof fn[0] == "undefined" && /function/i.test( fn + "" ); + fn.constructor != Array && /function/i.test( fn + "" ); }, // check if an element is in a XML document @@ -338,7 +365,7 @@ jQuery.extend({ // internal only, use removeClass("class") remove: function( elem, c ){ - elem.className = c ? + elem.className = c != undefined ? jQuery.grep( elem.className.split(/\s+/), function(cur){ return !jQuery.className.has( c, cur ); }).join(" ") : ""; @@ -346,10 +373,7 @@ jQuery.extend({ // internal only, use is(".class") has: function( t, c ) { - t = t.className || t; - // escape regex characters - c = c.replace(/([\.\\\+\*\?\[\^\]\$\(\)\{\}\=\!\<\>\|\:])/g, "\\$1"); - return t && new RegExp("(^|\\s)" + c + "(\\s|$)").test( t ); + return jQuery.inArray( c, (t.className || t).toString().split(/\s+/) ) > -1; } }, swap: function(e,o,f) { @@ -372,7 +396,7 @@ jQuery.extend({ }); jQuery.swap( e, old, function() { - if (jQuery.css(e,"display") != "none") { + if ( jQuery(e).is(':visible') ) { oHeight = e.offsetHeight; oWidth = e.offsetWidth; } else { @@ -382,14 +406,14 @@ jQuery.extend({ visibility: "hidden", position: "absolute", display: "block", right: "0", left: "0" }).appendTo(e.parentNode)[0]; - var parPos = jQuery.css(e.parentNode,"position"); - if ( parPos == "" || parPos == "static" ) + var parPos = jQuery.css(e.parentNode,"position") || "static"; + if ( parPos == "static" ) e.parentNode.style.position = "relative"; oHeight = e.clientHeight; oWidth = e.clientWidth; - if ( parPos == "" || parPos == "static" ) + if ( parPos == "static" ) e.parentNode.style.position = "static"; e.parentNode.removeChild(e); @@ -404,19 +428,21 @@ jQuery.extend({ curCSS: function(elem, prop, force) { var ret; + + if (prop == "opacity" && jQuery.browser.msie) { + ret = jQuery.attr(elem.style, "opacity"); + return ret == "" ? "1" : ret; + } - if (prop == "opacity" && jQuery.browser.msie) - return jQuery.attr(elem.style, "opacity"); - - if (prop == "float" || prop == "cssFloat") - prop = jQuery.browser.msie ? "styleFloat" : "cssFloat"; + if (prop.match(/float/i)) + prop = jQuery.styleFloat; if (!force && elem.style[prop]) ret = elem.style[prop]; else if (document.defaultView && document.defaultView.getComputedStyle) { - if (prop == "cssFloat" || prop == "styleFloat") + if (prop.match(/float/i)) prop = "float"; prop = prop.replace(/([A-Z])/g,"-$1").toLowerCase(); @@ -433,17 +459,16 @@ jQuery.extend({ }); } else if (elem.currentStyle) { - var newProp = prop.replace(/\-(\w)/g,function(m,c){return c.toUpperCase();}); ret = elem.currentStyle[prop] || elem.currentStyle[newProp]; - } return ret; }, - clean: function(a) { + clean: function(a, doc) { var r = []; + doc = doc || document; jQuery.each( a, function(i,arg){ if ( !arg ) return; @@ -451,17 +476,20 @@ jQuery.extend({ if ( arg.constructor == Number ) arg = arg.toString(); - // Convert html string into DOM nodes + // Convert html string into DOM nodes if ( typeof arg == "string" ) { // Trim whitespace, otherwise indexOf won't work as expected - var s = jQuery.trim(arg), div = document.createElement("div"), tb = []; + var s = jQuery.trim(arg).toLowerCase(), div = doc.createElement("div"), tb = []; var wrap = - // option or optgroup + // option or optgroup !s.indexOf("", ""] || - (!s.indexOf("", ""] || + + (!s.indexOf("", ""] || !s.indexOf("", ""] || + !s.indexOf("", ""] || + [0,"",""]; // Go to html and back, then peel off extra wrappers - div.innerHTML = wrap[1] + s + wrap[2]; + div.innerHTML = wrap[1] + arg + wrap[2]; // Move to the right depth while ( wrap[0]-- ) @@ -497,15 +528,13 @@ jQuery.extend({ } - arg = []; - for (var i=0, l=div.childNodes.length; i=0", + contains: "(a.textContent||a.innerText||'').indexOf(m[3])>=0", // Visibility - visible: 'a.type!="hidden"&&jQuery.css(a,"display")!="none"&&jQuery.css(a,"visibility")!="hidden"', - hidden: 'a.type=="hidden"||jQuery.css(a,"display")=="none"||jQuery.css(a,"visibility")=="hidden"', + visible: '"hidden"!=a.type&&jQuery.css(a,"display")!="none"&&jQuery.css(a,"visibility")!="hidden"', + hidden: '"hidden"==a.type||jQuery.css(a,"display")=="none"||jQuery.css(a,"visibility")=="hidden"', // Form attributes enabled: "!a.disabled", @@ -789,56 +819,34 @@ jQuery.extend({ selected: "a.selected||jQuery.attr(a,'selected')", // Form elements - text: "a.type=='text'", - radio: "a.type=='radio'", - checkbox: "a.type=='checkbox'", - file: "a.type=='file'", - password: "a.type=='password'", - submit: "a.type=='submit'", - image: "a.type=='image'", - reset: "a.type=='reset'", - button: 'a.type=="button"||jQuery.nodeName(a,"button")', + text: "'text'==a.type", + radio: "'radio'==a.type", + checkbox: "'checkbox'==a.type", + file: "'file'==a.type", + password: "'password'==a.type", + submit: "'submit'==a.type", + image: "'image'==a.type", + reset: "'reset'==a.type", + button: '"button"==a.type||jQuery.nodeName(a,"button")', input: "/input|select|textarea|button/i.test(a.nodeName)" }, - ".": "jQuery.className.has(a,m[2])", - "@": { - "=": "z==m[4]", - "!=": "z!=m[4]", - "^=": "z&&!z.indexOf(m[4])", - "$=": "z&&z.substr(z.length - m[4].length,m[4].length)==m[4]", - "*=": "z&&z.indexOf(m[4])>=0", - "": "z", - _resort: function(m){ - return ["", m[1], m[3], m[2], m[5]]; - }, - _prefix: "z=a[m[3]];if(!z||/href|src/.test(m[3]))z=jQuery.attr(a,m[3]);" - }, "[": "jQuery.find(m[2],a).length" }, // The regular expressions that power the parsing engine parse: [ // Match: [@value='test'], [@foo] - /^\[ *(@)([a-z0-9_-]*) *([!*$^=]*) *('?"?)(.*?)\4 *\]/i, + /^\[ *(@)([\w-]+) *([!*$^~=]*) *('?"?)(.*?)\4 *\]/, // Match: [div], [div p] /^(\[)\s*(.*?(\[.*?\])?[^[]*?)\s*\]/, // Match: :contains('foo') - /^(:)([a-z0-9_-]*)\("?'?(.*?(\(.*?\))?[^(]*?)"?'?\)/i, + /^(:)([\w-]+)\("?'?(.*?(\(.*?\))?[^(]*?)"?'?\)/, - // Match: :even, :last-chlid - /^([:.#]*)([a-z0-9_*-]*)/i - ], - - token: [ - /^(\/?\.\.)/, "a.parentNode", - /^(>|\/)/, "jQuery.sibling(a.firstChild)", - /^(\+)/, "jQuery.nth(a,2,'nextSibling')", - /^(~)/, function(a){ - var s = jQuery.sibling(a.parentNode.firstChild); - return s.slice(jQuery.inArray(a,s) + 1); - } + // Match: :even, :last-chlid, #id, .class + new RegExp("^([:.#]*)(" + + ( jQuery.chars = "(?:[\\w\u0128-\uFFFF*_-]|\\\\.)" ) + "+)") ], multiFilter: function( expr, elems, not ) { @@ -871,7 +879,7 @@ jQuery.extend({ t = t.substr(2,t.length); // And the / root expression - } else if ( !t.indexOf("/") ) { + } else if ( !t.indexOf("/") && !context.ownerDocument ) { context = context.documentElement; t = t.substr(1,t.length); if ( t.indexOf("/") >= 1 ) @@ -879,7 +887,7 @@ jQuery.extend({ } // Initialize the search - var ret = [context], done = [], last = null; + var ret = [context], done = [], last; // Continue while a selector expression exists, and while // we're no longer looping upon ourselves @@ -887,47 +895,59 @@ jQuery.extend({ var r = []; last = t; - t = jQuery.trim(t).replace( /^\/\//i, "" ); + t = jQuery.trim(t).replace( /^\/\//, "" ); var foundToken = false; // An attempt at speeding up child selectors that // point to a specific element tag - var re = /^[\/>]\s*([a-z0-9*-]+)/i; + var re = new RegExp("^[/>]\\s*(" + jQuery.chars + "+)"); var m = re.exec(t); if ( m ) { + var nodeName = m[1].toUpperCase(); + // Perform our own iteration and filter - jQuery.each( ret, function(){ - for ( var c = this.firstChild; c; c = c.nextSibling ) - if ( c.nodeType == 1 && ( jQuery.nodeName(c, m[1]) || m[1] == "*" ) ) + for ( var i = 0; ret[i]; i++ ) + for ( var c = ret[i].firstChild; c; c = c.nextSibling ) + if ( c.nodeType == 1 && (nodeName == "*" || c.nodeName == nodeName.toUpperCase()) ) r.push( c ); - }); ret = r; t = t.replace( re, "" ); if ( t.indexOf(" ") == 0 ) continue; foundToken = true; } else { - // Look for pre-defined expression tokens - for ( var i = 0; i < jQuery.token.length; i += 2 ) { - // Attempt to match each, individual, token in - // the specified order - var re = jQuery.token[i]; - var m = re.exec(t); + re = /^((\/?\.\.)|([>\/+~]))\s*([a-z]*)/i; - // If the token match was found - if ( m ) { - // Map it against the token's handler - r = ret = jQuery.map( ret, jQuery.isFunction( jQuery.token[i+1] ) ? - jQuery.token[i+1] : - function(a){ return eval(jQuery.token[i+1]); }); + if ( (m = re.exec(t)) != null ) { + r = []; - // And remove the token - t = jQuery.trim( t.replace( re, "" ) ); - foundToken = true; - break; - } + var nodeName = m[4], mergeNum = jQuery.mergeNum++; + m = m[1]; + + for ( var j = 0, rl = ret.length; j < rl; j++ ) + if ( m.indexOf("..") < 0 ) { + var n = m == "~" || m == "+" ? ret[j].nextSibling : ret[j].firstChild; + for ( ; n; n = n.nextSibling ) + if ( n.nodeType == 1 ) { + if ( m == "~" && n.mergeNum == mergeNum ) break; + + if (!nodeName || n.nodeName == nodeName.toUpperCase() ) { + if ( m == "~" ) n.mergeNum = mergeNum; + r.push( n ); + } + + if ( m == "+" ) break; + } + } else + r.push( ret[j].parentNode ); + + ret = r; + + // And remove the token + t = jQuery.trim( t.replace( re, "" ) ); + foundToken = true; } } @@ -937,10 +957,10 @@ jQuery.extend({ // Handle multiple expressions if ( !t.indexOf(",") ) { // Clean the result set - if ( ret[0] == context ) ret.shift(); + if ( context == ret[0] ) ret.shift(); // Merge the result sets - jQuery.merge( done, ret ); + done = jQuery.merge( done, ret ); // Reset the context r = ret = [context]; @@ -950,7 +970,7 @@ jQuery.extend({ } else { // Optomize for the case nodeName#idName - var re2 = /^([a-z0-9_-]+)(#)([a-z0-9\\*_-]*)/i; + var re2 = new RegExp("^(" + jQuery.chars + "+)(#)(" + jQuery.chars + "+)"); var m = re2.exec(t); // Re-organize the results, so that they're consistent @@ -960,66 +980,57 @@ jQuery.extend({ } else { // Otherwise, do a traditional filter check for // ID, class, and element selectors - re2 = /^([#.]?)([a-z0-9\\*_-]*)/i; + re2 = new RegExp("^([#.]?)(" + jQuery.chars + "*)"); m = re2.exec(t); } + m[2] = m[2].replace(/\\/g, ""); + + var elem = ret[ret.length-1]; + // Try to do a global search by ID, where we can - if ( m[1] == "#" && ret[ret.length-1].getElementById ) { + if ( m[1] == "#" && elem && elem.getElementById ) { // Optimization for HTML document case - var oid = ret[ret.length-1].getElementById(m[2]); + var oid = elem.getElementById(m[2]); // Do a quick check for the existence of the actual ID attribute // to avoid selecting by the name attribute in IE - if ( jQuery.browser.msie && oid && oid.id != m[2] ) - oid = jQuery('[@id="'+m[2]+'"]', ret[ret.length-1])[0]; + // also check to insure id is a string to avoid selecting an element with the name of 'id' inside a form + if ( (jQuery.browser.msie||jQuery.browser.opera) && oid && typeof oid.id == "string" && oid.id != m[2] ) + oid = jQuery('[@id="'+m[2]+'"]', elem)[0]; // Do a quick check for node name (where applicable) so // that div#foo searches will be really fast ret = r = oid && (!m[3] || jQuery.nodeName(oid, m[3])) ? [oid] : []; - } else { - // Pre-compile a regular expression to handle class searches - if ( m[1] == "." ) - var rec = new RegExp("(^|\\s)" + m[2] + "(\\s|$)"); - - // We need to find all descendant elements, it is more - // efficient to use getAll() when we are already further down - // the tree - we try to recognize that here - jQuery.each( ret, function(){ + // We need to find all descendant elements + for ( var i = 0; ret[i]; i++ ) { // Grab the tag name being searched for var tag = m[1] != "" || m[0] == "" ? "*" : m[2]; // Handle IE7 being really dumb about s - if ( jQuery.nodeName(this, "object") && tag == "*" ) + if ( tag == "*" && ret[i].nodeName.toLowerCase() == "object" ) tag = "param"; - jQuery.merge( r, - m[1] != "" && ret.length != 1 ? - jQuery.getAll( this, [], m[1], m[2], rec ) : - this.getElementsByTagName( tag ) - ); - }); + r = jQuery.merge( r, ret[i].getElementsByTagName( tag )); + } // It's faster to filter by class and be done with it - if ( m[1] == "." && ret.length == 1 ) - r = jQuery.grep( r, function(e) { - return rec.test(e.className); - }); + if ( m[1] == "." ) + r = jQuery.classFilter( r, m[2] ); // Same with ID filtering - if ( m[1] == "#" && ret.length == 1 ) { - // Remember, then wipe out, the result set - var tmp = r; - r = []; + if ( m[1] == "#" ) { + var tmp = []; - // Then try to find the element with the ID - jQuery.each( tmp, function(){ - if ( this.getAttribute("id") == m[2] ) { - r = [ this ]; - return false; + // Try to find the element with the ID + for ( var i = 0; r[i]; i++ ) + if ( r[i].getAttribute("id") == m[2] ) { + tmp = [ r[i] ]; + break; } - }); + + r = tmp; } ret = r; @@ -1039,52 +1050,119 @@ jQuery.extend({ } } + // An error occurred with the selector; + // just return an empty set instead + if ( t ) + ret = []; + // Remove the root context - if ( ret && ret[0] == context ) ret.shift(); + if ( ret && context == ret[0] ) + ret.shift(); // And combine the results - jQuery.merge( done, ret ); + done = jQuery.merge( done, ret ); return done; }, + classFilter: function(r,m,not){ + m = " " + m + " "; + var tmp = []; + for ( var i = 0; r[i]; i++ ) { + var pass = (" " + r[i].className + " ").indexOf( m ) >= 0; + if ( !not && pass || not && !pass ) + tmp.push( r[i] ); + } + return tmp; + }, + filter: function(t,r,not) { + var last; + // Look for common filter expressions - while ( t && /^[a-z[({<*:.#]/i.test(t) ) { + while ( t && t != last ) { + last = t; var p = jQuery.parse, m; - jQuery.each( p, function(i,re){ - - // Look for, and replace, string-like sequences - // and finally build a regexp out of it - m = re.exec( t ); + for ( var i = 0; p[i]; i++ ) { + m = p[i].exec( t ); if ( m ) { // Remove what we just matched t = t.substring( m[0].length ); - // Re-organize the first match - if ( jQuery.expr[ m[1] ]._resort ) - m = jQuery.expr[ m[1] ]._resort( m ); - - return false; + m[2] = m[2].replace(/\\/g, ""); + break; } - }); + } + + if ( !m ) + break; // :not() is a special case that can be optimized by // keeping it out of the expression list if ( m[1] == ":" && m[2] == "not" ) r = jQuery.filter(m[3], r, true).r; - // Handle classes as a special case (this will help to - // improve the speed, as the regexp will only be compiled once) - else if ( m[1] == "." ) { + // We can get a big speed boost by filtering by class here + else if ( m[1] == "." ) + r = jQuery.classFilter(r, m[2], not); - var re = new RegExp("(^|\\s)" + m[2] + "(\\s|$)"); - r = jQuery.grep( r, function(e){ - return re.test(e.className || ""); - }, not); + else if ( m[1] == "@" ) { + var tmp = [], type = m[3]; + + for ( var i = 0, rl = r.length; i < rl; i++ ) { + var a = r[i], z = a[ jQuery.props[m[2]] || m[2] ]; + + if ( z == null || /href|src/.test(m[2]) ) + z = jQuery.attr(a,m[2]); + + if ( (type == "" && !!z || + type == "=" && z == m[5] || + type == "!=" && z != m[5] || + type == "^=" && z && !z.indexOf(m[5]) || + type == "$=" && z.substr(z.length - m[5].length) == m[5] || + (type == "*=" || type == "~=") && z.indexOf(m[5]) >= 0) ^ not ) + tmp.push( a ); + } + + r = tmp; + + // We can get a speed boost by handling nth-child here + } else if ( m[1] == ":" && m[2] == "nth-child" ) { + var num = jQuery.mergeNum++, tmp = [], + test = /(\d*)n\+?(\d*)/.exec( + m[3] == "even" && "2n" || m[3] == "odd" && "2n+1" || + !/\D/.test(m[3]) && "n+" + m[3] || m[3]), + first = (test[1] || 1) - 0, last = test[2] - 0; + + for ( var i = 0, rl = r.length; i < rl; i++ ) { + var node = r[i], parentNode = node.parentNode; + + if ( num != parentNode.mergeNum ) { + var c = 1; + + for ( var n = parentNode.firstChild; n; n = n.nextSibling ) + if ( n.nodeType == 1 ) + n.nodeIndex = c++; + + parentNode.mergeNum = num; + } + + var add = false; + + if ( first == 1 ) { + if ( last == 0 || node.nodeIndex == last ) + add = true; + } else if ( (node.nodeIndex + last) % first == 0 ) + add = true; + + if ( add ^ not ) + tmp.push( node ); + } + + r = tmp; // Otherwise, find the expression to execute } else { @@ -1093,9 +1171,7 @@ jQuery.extend({ f = jQuery.expr[m[1]][m[2]]; // Build a custom macro to enclose it - eval("f = function(a,i){" + - ( jQuery.expr[ m[1] ]._prefix || "" ) + - "return " + f + "}"); + eval("f = function(a,i){return " + f + "}"); // Execute it against the current filter r = jQuery.grep( r, f, not ); @@ -1106,28 +1182,6 @@ jQuery.extend({ // and the modified expression string (t) return { r: r, t: t }; }, - - getAll: function( o, r, token, name, re ) { - for ( var s = o.firstChild; s; s = s.nextSibling ) - if ( s.nodeType == 1 ) { - var add = true; - - if ( token == "." ) - add = s.className && re.test(s.className); - else if ( token == "#" ) - add = s.getAttribute("id") == name; - - if ( add ) - r.push( s ); - - if ( token == "#" && r.length ) break; - - if ( s.firstChild ) - jQuery.getAll( s, r, token, name, re ); - } - - return r; - }, parents: function( elem ){ var matched = []; var cur = elem.parentNode; @@ -1140,11 +1194,12 @@ jQuery.extend({ nth: function(cur,result,dir,elem){ result = result || 1; var num = 0; - for ( ; cur; cur = cur[dir] ) { - if ( cur.nodeType == 1 ) num++; - if ( num == result || result == "even" && num % 2 == 0 && num > 1 && cur == elem || - result == "odd" && num % 2 == 1 && cur == elem ) return cur; - } + + for ( ; cur; cur = cur[dir] ) + if ( cur.nodeType == 1 && ++num == result ) + break; + + return cur; }, sibling: function( n, elem ) { var r = []; @@ -1171,42 +1226,71 @@ jQuery.event = { // around, causing it to be cloned in the process if ( jQuery.browser.msie && element.setInterval != undefined ) element = window; - - // if data is passed, bind to handler - if( data ) - handler.data = data; - + // Make sure that the function being executed has a unique ID if ( !handler.guid ) handler.guid = this.guid++; + + // if data is passed, bind to handler + if( data != undefined ) { + // Create temporary function pointer to original handler + var fn = handler; + + // Create unique handler function, wrapped around original handler + handler = function() { + // Pass arguments and context to original handler + return fn.apply(this, arguments); + }; + + // Store data in unique handler + handler.data = data; + + // Set the guid of unique handler to the same of original handler, so it can be removed + handler.guid = fn.guid; + } // Init the element's event structure if (!element.$events) element.$events = {}; + + if (!element.$handle) + element.$handle = function() { + // returned undefined or false + var val; + + // Handle the second event of a trigger and when + // an event is called after a page has unloaded + if ( typeof jQuery == "undefined" || jQuery.event.triggered ) + return val; + + val = jQuery.event.handle.apply(element, arguments); + + return val; + }; // Get the current list of functions bound to this event var handlers = element.$events[type]; - // If it hasn't been initialized yet + // Init the event handler queue if (!handlers) { - // Init the event handler queue - handlers = element.$events[type] = {}; - - // Remember an existing handler, if it's already there - if (element["on" + type]) - handlers[0] = element["on" + type]; + handlers = element.$events[type] = {}; + + // And bind the global event handler to the element + if (element.addEventListener) + element.addEventListener(type, element.$handle, false); + else + element.attachEvent("on" + type, element.$handle); } // Add the function to the element's handler list handlers[handler.guid] = handler; - // And bind the global event handler to the element - element["on" + type] = this.handle; - // Remember the function in a global list (for triggering) if (!this.global[type]) this.global[type] = []; - this.global[type].push( element ); + // Only add the element to the global list once + if (jQuery.inArray(element, this.global[type]) == -1) + this.global[type].push( element ); }, guid: 1, @@ -1214,35 +1298,49 @@ jQuery.event = { // Detach an event or set of events from an element remove: function(element, type, handler) { - if (element.$events) { - var i,j,k; - if ( type && type.type ) { // type is actually an event object here + var events = element.$events, ret, index; + + if ( events ) { + // type is actually an event object here + if ( type && type.type ) { handler = type.handler; - type = type.type; + type = type.type; } - if (type && element.$events[type]) + if ( !type ) { + for ( type in events ) + this.remove( element, type ); + + } else if ( events[type] ) { // remove the given handler for the given type if ( handler ) - delete element.$events[type][handler.guid]; - + delete events[type][handler.guid]; + // remove all handlers for the given type else - for ( i in element.$events[type] ) - delete element.$events[type][i]; - - // remove all handlers - else - for ( j in element.$events ) - this.remove( element, j ); - - // remove event handler if no more handlers exist - for ( k in element.$events[type] ) - if (k) { - k = true; - break; + for ( handler in element.$events[type] ) + delete events[type][handler]; + + // remove generic event handler if no more handlers exist + for ( ret in events[type] ) break; + if ( !ret ) { + if (element.removeEventListener) + element.removeEventListener(type, element.$handle, false); + else + element.detachEvent("on" + type, element.$handle); + ret = null; + delete events[type]; + + // Remove element from the global event type cache + while ( this.global[type] && ( (index = jQuery.inArray(element, this.global[type])) >= 0 ) ) + delete this.global[type][index]; } - if (!k) element["on" + type] = null; + } + + // Remove the expando if it's no longer used + for ( ret in events ) break; + if ( !ret ) + element.$handle = element.$events = null; } }, @@ -1258,19 +1356,16 @@ jQuery.event = { // Handle triggering a single element else { - var handler = element["on" + type ], val, - fn = jQuery.isFunction( element[ type ] ); + var val, ret, fn = jQuery.isFunction( element[ type ] || null ); + + // Pass along a fake event + data.unshift( this.fix({ type: type, target: element }) ); - if ( handler ) { - // Pass along a fake event - data.unshift( this.fix({ type: type, target: element }) ); - - // Trigger the event - if ( (val = handler.apply( element, data )) !== false ) - this.triggered = true; - } + // Trigger the event + if ( jQuery.isFunction(element.$handle) && (val = element.$handle.apply( element, data )) !== false ) + this.triggered = true; - if ( fn && val !== false ) + if ( fn && val !== false && !jQuery.nodeName(element, 'a') ) element[ type ](); this.triggered = false; @@ -1278,19 +1373,13 @@ jQuery.event = { }, handle: function(event) { - // Handle the second event of a trigger and when - // an event is called after a page has unloaded - if ( typeof jQuery == "undefined" || jQuery.event.triggered ) return; + // returned undefined or false + var val; // Empty object is for triggered events with no data event = jQuery.event.fix( event || window.event || {} ); - // returned undefined or false - var returnValue; - - var c = this.$events[event.type]; - - var args = [].slice.call( arguments, 1 ); + var c = this.$events && this.$events[event.type], args = [].slice.call( arguments, 1 ); args.unshift( event ); for ( var j in c ) { @@ -1302,58 +1391,72 @@ jQuery.event = { if ( c[j].apply( this, args ) === false ) { event.preventDefault(); event.stopPropagation(); - returnValue = false; + val = false; } } // Clean up added properties in IE to prevent memory leak - if (jQuery.browser.msie) event.target = event.preventDefault = event.stopPropagation = event.handler = event.data = null; + if (jQuery.browser.msie) + event.target = event.preventDefault = event.stopPropagation = + event.handler = event.data = null; - return returnValue; + return val; }, fix: function(event) { + // store a copy of the original event object + // and clone to set read-only properties + var originalEvent = event; + event = jQuery.extend({}, originalEvent); + + // add preventDefault and stopPropagation since + // they will not work on the clone + event.preventDefault = function() { + // if preventDefault exists run it on the original event + if (originalEvent.preventDefault) + return originalEvent.preventDefault(); + // otherwise set the returnValue property of the original event to false (IE) + originalEvent.returnValue = false; + }; + event.stopPropagation = function() { + // if stopPropagation exists run it on the original event + if (originalEvent.stopPropagation) + return originalEvent.stopPropagation(); + // otherwise set the cancelBubble property of the original event to true (IE) + originalEvent.cancelBubble = true; + }; + // Fix target property, if necessary if ( !event.target && event.srcElement ) event.target = event.srcElement; - - // Calculate pageX/Y if missing and clientX/Y available - if ( event.pageX == undefined && event.clientX != undefined ) { - var e = document.documentElement, b = document.body; - event.pageX = event.clientX + (e.scrollLeft || b.scrollLeft); - event.pageY = event.clientY + (e.scrollTop || b.scrollTop); - } // check if target is a textnode (safari) - if (jQuery.browser.safari && event.target.nodeType == 3) { - // store a copy of the original event object - // and clone because target is read only - var originalEvent = event; - event = jQuery.extend({}, originalEvent); - - // get parentnode from textnode + if (jQuery.browser.safari && event.target.nodeType == 3) event.target = originalEvent.target.parentNode; - - // add preventDefault and stopPropagation since - // they will not work on the clone - event.preventDefault = function() { - return originalEvent.preventDefault(); - }; - event.stopPropagation = function() { - return originalEvent.stopPropagation(); - }; + + // Add relatedTarget, if necessary + if ( !event.relatedTarget && event.fromElement ) + event.relatedTarget = event.fromElement == event.target ? event.toElement : event.fromElement; + + // Calculate pageX/Y if missing and clientX/Y available + if ( event.pageX == null && event.clientX != null ) { + var e = document.documentElement, b = document.body; + event.pageX = event.clientX + (e && e.scrollLeft || b.scrollLeft); + event.pageY = event.clientY + (e && e.scrollTop || b.scrollTop); } - - // fix preventDefault and stopPropagation - if (!event.preventDefault) - event.preventDefault = function() { - this.returnValue = false; - }; - if (!event.stopPropagation) - event.stopPropagation = function() { - this.cancelBubble = true; - }; + // Add which for key events + if ( !event.which && (event.charCode || event.keyCode) ) + event.which = event.charCode || event.keyCode; + + // Add metaKey to non-Mac browsers (use ctrl for PC's and Meta for Macs) + if ( !event.metaKey && event.ctrlKey ) + event.metaKey = event.ctrlKey; + + // Add which for click: 1 == left; 2 == middle; 3 == right + // Note: button is not normalized, so don't use it + if ( !event.which && event.button ) + event.which = (event.button & 1 ? 1 : ( event.button & 2 ? 3 : ( event.button & 4 ? 2 : 0 ) )); return event; } @@ -1361,8 +1464,8 @@ jQuery.event = { jQuery.fn.extend({ bind: function( type, data, fn ) { - return this.each(function(){ - jQuery.event.add( this, type, fn || data, data ); + return type == "unload" ? this.one(type, data, fn) : this.each(function(){ + jQuery.event.add( this, type, fn || data, fn && data ); }); }, one: function( type, data, fn ) { @@ -1370,7 +1473,7 @@ jQuery.fn.extend({ jQuery.event.add( this, type, function(event) { jQuery(this).unbind(event); return (fn || data).apply( this, arguments); - }, data); + }, fn && data); }); }, unbind: function( type, fn ) { @@ -1389,7 +1492,7 @@ jQuery.fn.extend({ return this.click(function(e) { // Figure out which function to execute - this.lastToggle = this.lastToggle == 0 ? 1 : 0; + this.lastToggle = 0 == this.lastToggle ? 1 : 0; // Make sure that clicks stop e.preventDefault(); @@ -1403,7 +1506,7 @@ jQuery.fn.extend({ // A private function for handling mouse 'hovering' function handleHover(e) { // Check if mouse(over|out) are still within the same parent element - var p = (e.type == "mouseover" ? e.fromElement : e.toElement) || e.relatedTarget; + var p = e.relatedTarget; // Traverse up the tree while ( p && p != this ) try { p = p.parentNode } catch(e) { p = this; }; @@ -1425,10 +1528,9 @@ jQuery.fn.extend({ f.apply( document, [jQuery] ); // Otherwise, remember the function for later - else { + else // Add the function to the wait list jQuery.readyList.push( function() { return f.apply(this, [jQuery]) } ); - } return this; } @@ -1458,9 +1560,13 @@ jQuery.extend({ // Reset the list of functions jQuery.readyList = null; } - // Remove event lisenter to avoid memory leak + // Remove event listener to avoid memory leak if ( jQuery.browser.mozilla || jQuery.browser.opera ) document.removeEventListener( "DOMContentLoaded", jQuery.ready, false ); + + // Remove script element used by IE hack + if( !window.frames.length ) // don't remove if frames are present (#1187) + jQuery(window).load(function(){ jQuery("#__ie_init").remove(); }); } } }); @@ -1498,7 +1604,6 @@ new function(){ if ( script ) script.onreadystatechange = function() { if ( this.readyState != "complete" ) return; - this.parentNode.removeChild( this ); jQuery.ready(); }; @@ -1535,7 +1640,7 @@ if (jQuery.browser.msie) var els = global[type], i = els.length; if ( i && type != 'unload' ) do - jQuery.event.remove(els[i-1], type); + els[i-1] && jQuery.event.remove(els[i-1], type); while (--i); } }); @@ -1602,12 +1707,6 @@ jQuery.fn.extend({ }); -// If IE is used, create a wrapper for the XMLHttpRequest object -if ( !window.XMLHttpRequest ) - XMLHttpRequest = function(){ - return new ActiveXObject("Microsoft.XMLHTTP"); - }; - // Attach a bunch of functions for handling common AJAX events jQuery.each( "ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","), function(i,o){ @@ -1625,6 +1724,7 @@ jQuery.extend({ } return jQuery.ajax({ + type: "GET", url: url, data: data, success: callback, @@ -1655,9 +1755,6 @@ jQuery.extend({ dataType: type }); }, - - // timeout (ms) - //timeout: 0, ajaxTimeout: function( timeout ) { jQuery.ajaxSettings.timeout = timeout; }, @@ -1701,8 +1798,9 @@ jQuery.extend({ var requestDone = false; - // Create the request object - var xml = new XMLHttpRequest(); + // Create the request object; Microsoft failed to properly + // implement the XMLHttpRequest in IE7, so we use the ActiveXObject when it is available + var xml = window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest(); // Open the socket xml.open(s.type, s.url, s.async); @@ -1719,10 +1817,6 @@ jQuery.extend({ // Set header so the called script knows that it's an XMLHttpRequest xml.setRequestHeader("X-Requested-With", "XMLHttpRequest"); - // Make sure the browser sends the right content length - if ( xml.overrideMimeType ) - xml.setRequestHeader("Connection", "close"); - // Allow custom headers/mimetypes if( s.beforeSend ) s.beforeSend(xml); @@ -1874,7 +1968,7 @@ jQuery.extend({ // Get the JavaScript object, if JSON is used. if ( type == "json" ) - eval( "data = " + data ); + data = eval("(" + data + ")"); // evaluate scripts within html if ( type == "html" ) @@ -1928,46 +2022,44 @@ jQuery.extend({ jQuery.fn.extend({ show: function(speed,callback){ - var hidden = this.filter(":hidden"); - speed ? - hidden.animate({ + return speed ? + this.animate({ height: "show", width: "show", opacity: "show" }, speed, callback) : - hidden.each(function(){ + this.filter(":hidden").each(function(){ this.style.display = this.oldblock ? this.oldblock : ""; if ( jQuery.css(this,"display") == "none" ) this.style.display = "block"; - }); - return this; + }).end(); }, hide: function(speed,callback){ - var visible = this.filter(":visible"); - speed ? - visible.animate({ + return speed ? + this.animate({ height: "hide", width: "hide", opacity: "hide" }, speed, callback) : - visible.each(function(){ + this.filter(":visible").each(function(){ this.oldblock = this.oldblock || jQuery.css(this,"display"); if ( this.oldblock == "none" ) this.oldblock = "block"; this.style.display = "none"; - }); - return this; + }).end(); }, // Save the old toggle function _toggle: jQuery.fn.toggle, toggle: function( fn, fn2 ){ - var args = arguments; return jQuery.isFunction(fn) && jQuery.isFunction(fn2) ? this._toggle( fn, fn2 ) : - this.each(function(){ - jQuery(this)[ jQuery(this).is(":hidden") ? "show" : "hide" ] - .apply( jQuery(this), args ); - }); + fn ? + this.animate({ + height: "toggle", width: "toggle", opacity: "toggle" + }, fn, fn2) : + this.each(function(){ + jQuery(this)[ jQuery(this).is(":hidden") ? "show" : "hide" ](); + }); }, slideDown: function(speed,callback){ return this.animate({height: "show"}, speed, callback); @@ -1976,10 +2068,7 @@ jQuery.fn.extend({ return this.animate({height: "hide"}, speed, callback); }, slideToggle: function(speed, callback){ - return this.each(function(){ - var state = jQuery(this).is(":hidden") ? "show" : "hide"; - jQuery(this).animate({height: state}, speed, callback); - }); + return this.animate({height: "toggle"}, speed, callback); }, fadeIn: function(speed, callback){ return this.animate({opacity: "show"}, speed, callback); @@ -1992,18 +2081,23 @@ jQuery.fn.extend({ }, animate: function( prop, speed, easing, callback ) { return this.queue(function(){ - + var hidden = jQuery(this).is(":hidden"), + opt = jQuery.speed(speed, easing, callback), + self = this; + + for ( var p in prop ) + if ( prop[p] == "hide" && hidden || prop[p] == "show" && !hidden ) + return jQuery.isFunction(opt.complete) && opt.complete.apply(this); + this.curAnim = jQuery.extend({}, prop); - var opt = jQuery.speed(speed, easing, callback); - for ( var p in prop ) { - var e = new jQuery.fx( this, opt, p ); - if ( prop[p].constructor == Number ) - e.custom( e.cur(), prop[p] ); + jQuery.each( prop, function(name, val){ + var e = new jQuery.fx( self, opt, name ); + if ( val.constructor == Number ) + e.custom( e.cur(), val ); else - e[ prop[p] ]( prop ); - } - + e[ val == "toggle" ? hidden ? "show" : "hide" : val ]( prop ); + }); }); }, queue: function(type,fn){ @@ -2035,7 +2129,7 @@ jQuery.extend({ complete: fn || !fn && easing || jQuery.isFunction( speed ) && speed, duration: speed, - easing: fn && easing || easing && easing.constructor != Function && easing + easing: fn && easing || easing && easing.constructor != Function && easing || (jQuery.easing.swing ? "swing" : "linear") }; opt.duration = (opt.duration && opt.duration.constructor == Number ? @@ -2053,7 +2147,14 @@ jQuery.extend({ return opt; }, - easing: {}, + easing: { + linear: function( p, n, firstNum, diff ) { + return firstNum + diff * p; + }, + swing: function( p, n, firstNum, diff ) { + return ((-Math.cos(p*Math.PI)/2) + 0.5) * diff + firstNum; + } + }, queue: {}, @@ -2071,6 +2172,8 @@ jQuery.extend({ } }, + timers: [], + /* * I originally wrote fx() as a clone of moo.fx and in the process * of making it small in size the code became illegible to sane @@ -2084,11 +2187,14 @@ jQuery.extend({ // The styles var y = elem.style; - // Store display property - var oldDisplay = jQuery.css(elem, "display"); + if ( prop == "height" || prop == "width" ) { + // Store display property + var oldDisplay = jQuery.css(elem, "display"); - // Make sure that nothing sneaks out - y.overflow = "hidden"; + // Make sure that nothing sneaks out + var oldOverflow = y.overflow; + y.overflow = "hidden"; + } // Simple function for setting a style value z.a = function(){ @@ -2097,10 +2203,10 @@ jQuery.extend({ if ( prop == "opacity" ) jQuery.attr(y, "opacity", z.now); // Let attr handle opacity - else if ( parseInt(z.now) ) // My hate for IE will never die + else { y[prop] = parseInt(z.now) + "px"; - - y.display = "block"; // Set display property to block for animation + y.display = "block"; // Set display property to block for animation + } }; // Figure out the maximum number to run to @@ -2120,9 +2226,22 @@ jQuery.extend({ z.now = from; z.a(); - z.timer = setInterval(function(){ - z.step(from, to); - }, 13); + jQuery.timers.push(function(){ + return z.step(from, to); + }); + + if ( jQuery.timers.length == 1 ) { + var timer = setInterval(function(){ + var timers = jQuery.timers; + + for ( var i = 0; i < timers.length; i++ ) + if ( !timers[i]() ) + timers.splice(i--, 1); + + if ( !timers.length ) + clearInterval( timer ); + }, 13); + } }; // Simple 'show' function @@ -2130,16 +2249,20 @@ jQuery.extend({ if ( !elem.orig ) elem.orig = {}; // Remember where we started, so that we can go back to it later - elem.orig[prop] = this.cur(); + elem.orig[prop] = jQuery.attr( elem.style, prop ); options.show = true; // Begin the animation - z.custom(0, elem.orig[prop]); + z.custom(0, this.cur()); - // Stupid IE, look what you made me do + // Make sure that we start at a small width/height to avoid any + // flash of content if ( prop != "opacity" ) y[prop] = "1px"; + + // Start by showing the element + jQuery(elem).show(); }; // Simple 'hide' function @@ -2147,36 +2270,12 @@ jQuery.extend({ if ( !elem.orig ) elem.orig = {}; // Remember where we started, so that we can go back to it later - elem.orig[prop] = this.cur(); + elem.orig[prop] = jQuery.attr( elem.style, prop ); options.hide = true; // Begin the animation - z.custom(elem.orig[prop], 0); - }; - - //Simple 'toggle' function - z.toggle = function() { - if ( !elem.orig ) elem.orig = {}; - - // Remember where we started, so that we can go back to it later - elem.orig[prop] = this.cur(); - - if(oldDisplay == "none") { - options.show = true; - - // Stupid IE, look what you made me do - if ( prop != "opacity" ) - y[prop] = "1px"; - - // Begin the animation - z.custom(0, elem.orig[prop]); - } else { - options.hide = true; - - // Begin the animation - z.custom(elem.orig[prop], 0); - } + z.custom(this.cur(), 0); }; // Each step of an animation @@ -2184,10 +2283,6 @@ jQuery.extend({ var t = (new Date()).getTime(); if (t > options.duration + z.startTime) { - // Stop the timer - clearInterval(z.timer); - z.timer = null; - z.now = lastNum; z.a(); @@ -2199,45 +2294,45 @@ jQuery.extend({ done = false; if ( done ) { - // Reset the overflow - y.overflow = ""; + if ( oldDisplay != null ) { + // Reset the overflow + y.overflow = oldOverflow; - // Reset the display - y.display = oldDisplay; - if (jQuery.css(elem, "display") == "none") - y.display = "block"; + // Reset the display + y.display = oldDisplay; + if ( jQuery.css(elem, "display") == "none" ) + y.display = "block"; + } // Hide the element if the "hide" operation was done - if ( options.hide ) + if ( options.hide ) y.display = "none"; // Reset the properties, if the item has been hidden or shown if ( options.hide || options.show ) for ( var p in elem.curAnim ) - if (p == "opacity") - jQuery.attr(y, p, elem.orig[p]); - else - y[p] = ""; + jQuery.attr(y, p, elem.orig[p]); } // If a callback was provided, execute it if ( done && jQuery.isFunction( options.complete ) ) // Execute the complete function options.complete.apply( elem ); + + return false; } else { var n = t - this.startTime; // Figure out where in the animation we are and set the number var p = n / options.duration; - // If the easing function exists, then use it - z.now = options.easing && jQuery.easing[options.easing] ? - jQuery.easing[options.easing](p, n, firstNum, (lastNum-firstNum), options.duration) : - // else use default linear easing - ((-Math.cos(p*Math.PI)/2) + 0.5) * (lastNum-firstNum) + firstNum; + // Perform the easing function, defaults to swing + z.now = jQuery.easing[options.easing](p, n, firstNum, (lastNum-firstNum), options.duration); // Perform the next step of the animation z.a(); } + + return true; }; } diff --git a/static/scripts/packed/jquery.js b/static/scripts/packed/jquery.js index f954b6b3ce0..0813e40829b 100644 --- a/static/scripts/packed/jquery.js +++ b/static/scripts/packed/jquery.js @@ -1 +1,11 @@ -eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('7(1C 1w.6=="T"){1w.T=1w.T;B 6=u(a,c){7(1w==q)v 1p 6(a,c);a=a||17;7(6.1t(a))v 1p 6(17)[6.E.27?"27":"2O"](a);7(1C a=="23"){B m=/^[^<]*(<(.|\\s)+>)[^>]*$/.2Q(a);7(m)a=6.3k([m[1]]);J v 1p 6(c).2o(a)}v q.6r(a.1l==2y&&a||(a.3Y||a.I&&a!=1w&&!a.24&&a[0]!=T&&a[0].24)&&6.3M(a)||[a])};7(1C $!="T")6.2S$=$;B $=6;6.E=6.8p={3Y:"1.1.2",8q:u(){v q.I},I:0,2b:u(1T){v 1T==T?6.3M(q):q[1T]},2r:u(a){B L=6(a);L.6p=q;v L},6r:u(a){q.I=0;[].1g.14(q,a);v q},K:u(E,1E){v 6.K(q,E,1E)},2h:u(1c){B 4c=-1;q.K(u(i){7(q==1c)4c=i});v 4c},1I:u(1Y,O,C){B 1c=1Y;7(1Y.1l==3t)7(O==T)v q.I&&6[C||"1I"](q[0],1Y)||T;J{1c={};1c[1Y]=O}v q.K(u(2h){P(B H 1x 1c)6.1I(C?q.1q:q,H,6.H(q,1c[H],C,2h,H))})},1m:u(1Y,O){v q.1I(1Y,O,"30")},2L:u(e){7(1C e=="23")v q.3u().3r(17.8t(e));B t="";6.K(e||q,u(){6.K(q.2I,u(){7(q.24!=8)t+=q.24!=1?q.60:6.E.2L([q])})});v t},2K:u(){B a=6.3k(1A);v q.K(u(){B b=a[0].3l(U);q.11.2X(b,q);22(b.1b)b=b.1b;b.4C(q)})},3r:u(){v q.3j(1A,U,1,u(a){q.4C(a)})},5i:u(){v q.3j(1A,U,-1,u(a){q.2X(a,q.1b)})},5j:u(){v q.3j(1A,12,1,u(a){q.11.2X(a,q)})},5t:u(){v q.3j(1A,12,-1,u(a){q.11.2X(a,q.2e)})},4g:u(){v q.6p||6([])},2o:u(t){v q.2r(6.31(q,u(a){v 6.2o(t,a)}),t)},4Y:u(4N){v q.2r(6.31(q,u(a){B a=a.3l(4N!=T?4N:U);a.$1H=16;v a}))},1D:u(t){v q.2r(6.1t(t)&&6.2q(q,u(2z,2h){v t.14(2z,[2h])})||6.3z(t,q))},2g:u(t){v q.2r(t.1l==3t&&6.3z(t,q,U)||6.2q(q,u(a){v(t.1l==2y||t.3Y)?6.3y(a,t)<0:a!=t}))},1M:u(t){v q.2r(6.2k(q.2b(),t.1l==3t?6(t).2b():t.I!=T&&(!t.1f||t.1f=="8v")?t:[t]))},4l:u(1s){v 1s?6.1D(1s,q).r.I>0:12},1a:u(1a){v 1a==T?(q.I?q[0].O:16):q.1I("O",1a)},4U:u(1a){v 1a==T?(q.I?q[0].2t:16):q.3u().3r(1a)},3j:u(1E,1P,3Z,E){B 4Y=q.I>1;B a=6.3k(1E);7(3Z<0)a.8w();v q.K(u(){B 1c=q;7(1P&&6.1f(q,"1P")&&6.1f(a[0],"3m"))1c=q.5J("20")[0]||q.4C(17.6n("20"));6.K(a,u(){E.14(1c,[4Y?q.3l(U):q])})})}};6.1z=6.E.1z=u(){B 1O=1A[0],a=1;7(1A.I==1){1O=q;a=0}B H;22(H=1A[a++])P(B i 1x H)1O[i]=H[i];v 1O};6.1z({8x:u(){7(6.2S$)$=6.2S$;v 6},1t:u(E){v!!E&&1C E!="23"&&!E.1f&&1C E[0]=="T"&&/u/i.1n(E+"")},4B:u(D){v D.66&&D.5I&&!D.5I.64},1f:u(D,Y){v D.1f&&D.1f.3K()==Y.3K()},K:u(1c,E,1E){7(1c.I==T)P(B i 1x 1c)E.14(1c[i],1E||[i,1c[i]]);J P(B i=0,6q=1c.I;i<6q;i++)7(E.14(1c[i],1E||[i,1c[i]])===12)3O;v 1c},H:u(D,O,C,2h,H){7(6.1t(O))O=O.3n(D,[2h]);B 6s=/z-?2h|7P-?8A|1d|58|8B-?28/i;v O&&O.1l==3Q&&C=="30"&&!6s.1n(H)?O+"4S":O},19:{1M:u(D,c){6.K(c.3o(/\\s+/),u(i,Q){7(!6.19.2V(D.19,Q))D.19+=(D.19?" ":"")+Q})},2f:u(D,c){D.19=c?6.2q(D.19.3o(/\\s+/),u(Q){v!6.19.2V(c,Q)}).6t(" "):""},2V:u(t,c){t=t.19||t;c=c.1R(/([\\.\\\\\\+\\*\\?\\[\\^\\]\\$\\(\\)\\{\\}\\=\\!\\<\\>\\|\\:])/g,"\\\\$1");v t&&1p 4v("(^|\\\\s)"+c+"(\\\\s|$)").1n(t)}},4d:u(e,o,f){P(B i 1x o){e.1q["1N"+i]=e.1q[i];e.1q[i]=o[i]}f.14(e,[]);P(B i 1x o)e.1q[i]=e.1q["1N"+i]},1m:u(e,p){7(p=="28"||p=="3V"){B 1N={},46,3P,d=["7d","8C","8D","8E"];6.K(d,u(){1N["8F"+q]=0;1N["8G"+q+"8H"]=0});6.4d(e,1N,u(){7(6.1m(e,"1h")!="1Z"){46=e.8I;3P=e.8J}J{e=6(e.3l(U)).2o(":4j").5l("2Z").4g().1m({4n:"1G",45:"8K",1h:"2D",7I:"0",8M:"0"}).5z(e.11)[0];B 3d=6.1m(e.11,"45");7(3d==""||3d=="4b")e.11.1q.45="6x";46=e.6y;3P=e.6z;7(3d==""||3d=="4b")e.11.1q.45="4b";e.11.33(e)}});v p=="28"?46:3P}v 6.30(e,p)},30:u(D,H,53){B L;7(H=="1d"&&6.W.1j)v 6.1I(D.1q,"1d");7(H=="4h"||H=="2v")H=6.W.1j?"3T":"2v";7(!53&&D.1q[H])L=D.1q[H];J 7(17.44&&17.44.4W){7(H=="2v"||H=="3T")H="4h";H=H.1R(/([A-Z])/g,"-$1").4m();B Q=17.44.4W(D,16);7(Q)L=Q.55(H);J 7(H=="1h")L="1Z";J 6.4d(D,{1h:"2D"},u(){B c=17.44.4W(q,"");L=c&&c.55(H)||""})}J 7(D.51){B 56=H.1R(/\\-(\\w)/g,u(m,c){v c.3K()});L=D.51[H]||D.51[56]}v L},3k:u(a){B r=[];6.K(a,u(i,1r){7(!1r)v;7(1r.1l==3Q)1r=1r.6C();7(1C 1r=="23"){B s=6.35(1r),1V=17.6n("1V"),2i=[];B 2K=!s.18("<1u")&&[1,"<42>",""]||(!s.18("<6D")||!s.18("<20")||!s.18("<6E"))&&[1,"<1P>",""]||!s.18("<3m")&&[2,"<1P><20>",""]||(!s.18("<6F")||!s.18("<6G"))&&[3,"<1P><20><3m>",""]||[0,"",""];1V.2t=2K[1]+s+2K[2];22(2K[0]--)1V=1V.1b;7(6.W.1j){7(!s.18("<1P")&&s.18("<20")<0)2i=1V.1b&&1V.1b.2I;J 7(2K[1]=="<1P>"&&s.18("<20")<0)2i=1V.2I;P(B n=2i.I-1;n>=0;--n)7(6.1f(2i[n],"20")&&!2i[n].2I.I)2i[n].11.33(2i[n])}1r=[];P(B i=0,l=1V.2I.I;im[3]-0",2a:"m[3]-0==i",5q:"m[3]-0==i",2u:"i==0",2T:"i==r.I-1",5R:"i%2==0",5S:"i%2","2a-3s":"6.2a(a.11.1b,m[3],\'2e\',a)==a","2u-3s":"6.2a(a.11.1b,1,\'2e\')==a","2T-3s":"6.2a(a.11.7n,1,\'5s\')==a","7p-3s":"6.2B(a.11.1b).I==1",5u:"a.1b",3u:"!a.1b",5v:"6.E.2L.14([a]).18(m[3])>=0",3i:\'a.C!="1G"&&6.1m(a,"1h")!="1Z"&&6.1m(a,"4n")!="1G"\',1G:\'a.C=="1G"||6.1m(a,"1h")=="1Z"||6.1m(a,"4n")=="1G"\',7v:"!a.2W",2W:"a.2W",2Z:"a.2Z",2Y:"a.2Y||6.1I(a,\'2Y\')",2L:"a.C==\'2L\'",4j:"a.C==\'4j\'",5x:"a.C==\'5x\'",4G:"a.C==\'4G\'",5y:"a.C==\'5y\'",4R:"a.C==\'4R\'",5A:"a.C==\'5A\'",5B:"a.C==\'5B\'",3x:\'a.C=="3x"||6.1f(a,"3x")\',5C:"/5C|42|7A|3x/i.1n(a.1f)"},".":"6.19.2V(a,m[2])","@":{"=":"z==m[4]","!=":"z!=m[4]","^=":"z&&!z.18(m[4])","$=":"z&&z.2U(z.I - m[4].I,m[4].I)==m[4]","*=":"z&&z.18(m[4])>=0","":"z",4u:u(m){v["",m[1],m[3],m[2],m[5]]},5P:"z=a[m[3]];7(!z||/5E|3e/.1n(m[3]))z=6.1I(a,m[3]);"},"[":"6.2o(m[2],a).I"},5M:[/^\\[ *(@)([a-2m-3C-]*) *([!*$^=]*) *(\'?"?)(.*?)\\4 *\\]/i,/^(\\[)\\s*(.*?(\\[.*?\\])?[^[]*?)\\s*\\]/,/^(:)([a-2m-3C-]*)\\("?\'?(.*?(\\(.*?\\))?[^(]*?)"?\'?\\)/i,/^([:.#]*)([a-2m-3C*-]*)/i],1Q:[/^(\\/?\\.\\.)/,"a.11",/^(>|\\/)/,"6.2B(a.1b)",/^(\\+)/,"6.2a(a,2,\'2e\')",/^(~)/,u(a){B s=6.2B(a.11.1b);v s.3N(6.3y(a,s)+1)}],3z:u(1s,1U,2g){B 1N,Q=[];22(1s&&1s!=1N){1N=1s;B f=6.1D(1s,1U,2g);1s=f.t.1R(/^\\s*,\\s*/,"");Q=2g?1U=f.r:6.2k(Q,f.r)}v Q},2o:u(t,1B){7(1C t!="23")v[t];7(1B&&!1B.24)1B=16;1B=1B||17;7(!t.18("//")){1B=1B.4H;t=t.2U(2,t.I)}J 7(!t.18("/")){1B=1B.4H;t=t.2U(1,t.I);7(t.18("/")>=1)t=t.2U(t.18("/"),t.I)}B L=[1B],2c=[],2T=16;22(t&&2T!=t){B r=[];2T=t;t=6.35(t).1R(/^\\/\\//i,"");B 3B=12;B 1J=/^[\\/>]\\s*([a-2m-9*-]+)/i;B m=1J.2Q(t);7(m){6.K(L,u(){P(B c=q.1b;c;c=c.2e)7(c.24==1&&(6.1f(c,m[1])||m[1]=="*"))r.1g(c)});L=r;t=t.1R(1J,"");7(t.18(" ")==0)5F;3B=U}J{P(B i=0;i<6.1Q.I;i+=2){B 1J=6.1Q[i];B m=1J.2Q(t);7(m){r=L=6.31(L,6.1t(6.1Q[i+1])?6.1Q[i+1]:u(a){v 40(6.1Q[i+1])});t=6.35(t.1R(1J,""));3B=U;3O}}}7(t&&!3B){7(!t.18(",")){7(L[0]==1B)L.4L();6.2k(2c,L);r=L=[1B];t=" "+t.2U(1,t.I)}J{B 34=/^([a-2m-3C-]+)(#)([a-2m-9\\\\*2S-]*)/i;B m=34.2Q(t);7(m){m=[0,m[2],m[3],m[1]]}J{34=/^([#.]?)([a-2m-9\\\\*2S-]*)/i;m=34.2Q(t)}7(m[1]=="#"&&L[L.I-1].4X){B 2l=L[L.I-1].4X(m[2]);7(6.W.1j&&2l&&2l.2J!=m[2])2l=6(\'[@2J="\'+m[2]+\'"]\',L[L.I-1])[0];L=r=2l&&(!m[3]||6.1f(2l,m[3]))?[2l]:[]}J{7(m[1]==".")B 4r=1p 4v("(^|\\\\s)"+m[2]+"(\\\\s|$)");6.K(L,u(){B 3E=m[1]!=""||m[0]==""?"*":m[2];7(6.1f(q,"7J")&&3E=="*")3E="3g";6.2k(r,m[1]!=""&&L.I!=1?6.4x(q,[],m[1],m[2],4r):q.5J(3E))});7(m[1]=="."&&L.I==1)r=6.2q(r,u(e){v 4r.1n(e.19)});7(m[1]=="#"&&L.I==1){B 5K=r;r=[];6.K(5K,u(){7(q.36("2J")==m[2]){r=[q];v 12}})}L=r}t=t.1R(34,"")}}7(t){B 1a=6.1D(t,r);L=r=1a.r;t=6.35(1a.t)}}7(L&&L[0]==1B)L.4L();6.2k(2c,L);v 2c},1D:u(t,r,2g){22(t&&/^[a-z[({<*:.#]/i.1n(t)){B p=6.5M,m;6.K(p,u(i,1J){m=1J.2Q(t);7(m){t=t.7M(m[0].I);7(6.1s[m[1]].4u)m=6.1s[m[1]].4u(m);v 12}});7(m[1]==":"&&m[2]=="2g")r=6.1D(m[3],r,U).r;J 7(m[1]=="."){B 1J=1p 4v("(^|\\\\s)"+m[2]+"(\\\\s|$)");r=6.2q(r,u(e){v 1J.1n(e.19||"")},2g)}J{B f=6.1s[m[1]];7(1C f!="23")f=6.1s[m[1]][m[2]];40("f = u(a,i){"+(6.1s[m[1]].5P||"")+"v "+f+"}");r=6.2q(r,f,2g)}}v{r:r,t:t}},4x:u(o,r,1Q,Y,1J){P(B s=o.1b;s;s=s.2e)7(s.24==1){B 1M=U;7(1Q==".")1M=s.19&&1J.1n(s.19);J 7(1Q=="#")1M=s.36("2J")==Y;7(1M)r.1g(s);7(1Q=="#"&&r.I)3O;7(s.1b)6.4x(s,r,1Q,Y,1J)}v r},4z:u(D){B 4A=[];B Q=D.11;22(Q&&Q!=17){4A.1g(Q);Q=Q.11}v 4A},2a:u(Q,1i,3Z,D){1i=1i||1;B 1T=0;P(;Q;Q=Q[3Z]){7(Q.24==1)1T++;7(1T==1i||1i=="5R"&&1T%2==0&&1T>1&&Q==D||1i=="5S"&&1T%2==1&&Q==D)v Q}},2B:u(n,D){B r=[];P(;n;n=n.2e){7(n.24==1&&(!D||n!=D))r.1g(n)}v r}});6.G={1M:u(S,C,1o,F){7(6.W.1j&&S.3L!=T)S=1w;7(F)1o.F=F;7(!1o.2A)1o.2A=q.2A++;7(!S.$1H)S.$1H={};B 38=S.$1H[C];7(!38){38=S.$1H[C]={};7(S["39"+C])38[0]=S["39"+C]}38[1o.2A]=1o;S["39"+C]=q.5Y;7(!q.1k[C])q.1k[C]=[];q.1k[C].1g(S)},2A:1,1k:{},2f:u(S,C,1o){7(S.$1H){B i,j,k;7(C&&C.C){1o=C.1o;C=C.C}7(C&&S.$1H[C])7(1o)5U S.$1H[C][1o.2A];J P(i 1x S.$1H[C])5U S.$1H[C][i];J P(j 1x S.$1H)q.2f(S,j);P(k 1x S.$1H[C])7(k){k=U;3O}7(!k)S["39"+C]=16}},1S:u(C,F,S){F=6.3M(F||[]);7(!S)6.K(q.1k[C]||[],u(){6.G.1S(C,F,q)});J{B 1o=S["39"+C],1a,E=6.1t(S[C]);7(1o){F.61(q.2j({C:C,1O:S}));7((1a=1o.14(S,F))!==12)q.4F=U}7(E&&1a!==12)S[C]();q.4F=12}},5Y:u(G){7(1C 6=="T"||6.G.4F)v;G=6.G.2j(G||1w.G||{});B 3R;B c=q.$1H[G.C];B 1E=[].3N.3n(1A,1);1E.61(G);P(B j 1x c){1E[0].1o=c[j];1E[0].F=c[j].F;7(c[j].14(q,1E)===12){G.2n();G.2H();3R=12}}7(6.W.1j)G.1O=G.2n=G.2H=G.1o=G.F=16;v 3R},2j:u(G){7(!G.1O&&G.63)G.1O=G.63;7(G.65==T&&G.67!=T){B e=17.4H,b=17.64;G.65=G.67+(e.68||b.68);G.7Y=G.7Z+(e.6c||b.6c)}7(6.W.2N&&G.1O.24==3){B 3a=G;G=6.1z({},3a);G.1O=3a.1O.11;G.2n=u(){v 3a.2n()};G.2H=u(){v 3a.2H()}}7(!G.2n)G.2n=u(){q.3R=12};7(!G.2H)G.2H=u(){q.82=U};v G}};6.E.1z({3U:u(C,F,E){v q.K(u(){6.G.1M(q,C,E||F,F)})},6u:u(C,F,E){v q.K(u(){6.G.1M(q,C,u(G){6(q).6f(G);v(E||F).14(q,1A)},F)})},6f:u(C,E){v q.K(u(){6.G.2f(q,C,E)})},1S:u(C,F){v q.K(u(){6.G.1S(C,F,q)})},3X:u(){B a=1A;v q.6j(u(e){q.4M=q.4M==0?1:0;e.2n();v a[q.4M].14(q,[e])||12})},83:u(f,g){u 4O(e){B p=(e.C=="41"?e.84:e.85)||e.86;22(p&&p!=q)2G{p=p.11}2w(e){p=q};7(p==q)v 12;v(e.C=="41"?f:g).14(q,[e])}v q.41(4O).6k(4O)},27:u(f){7(6.3W)f.14(17,[6]);J{6.3c.1g(u(){v f.14(q,[6])})}v q}});6.1z({3W:12,3c:[],27:u(){7(!6.3W){6.3W=U;7(6.3c){6.K(6.3c,u(){q.14(17)});6.3c=16}7(6.W.3h||6.W.3f)17.87("6o",6.27,12)}}});1p u(){6.K(("88,8a,2O,8b,8d,52,6j,8e,"+"8f,8g,8h,41,6k,8j,42,"+"4R,8k,8l,8m,2C").3o(","),u(i,o){6.E[o]=u(f){v f?q.3U(o,f):q.1S(o)}});7(6.W.3h||6.W.3f)17.8n("6o",6.27,12);J 7(6.W.1j){17.8o("<8r"+"8s 2J=62 8u=U "+"3e=//:><\\/2d>");B 2d=17.4X("62");7(2d)2d.37=u(){7(q.3D!="1X")v;q.11.33(q);6.27()};2d=16}J 7(6.W.2N)6.50=3L(u(){7(17.3D=="8y"||17.3D=="1X"){4p(6.50);6.50=16;6.27()}},10);6.G.1M(1w,"2O",6.27)};7(6.W.1j)6(1w).6u("52",u(){B 1k=6.G.1k;P(B C 1x 1k){B 4Z=1k[C],i=4Z.I;7(i&&C!=\'52\')6w 6.G.2f(4Z[i-1],C);22(--i)}});6.E.1z({6A:u(V,21,M){q.2O(V,21,M,1)},2O:u(V,21,M,1W){7(6.1t(V))v q.3U("2O",V);M=M||u(){};B C="5d";7(21)7(6.1t(21)){M=21;21=16}J{21=6.3g(21);C="5V"}B 4e=q;6.3v({V:V,C:C,F:21,1W:1W,1X:u(2P,15){7(15=="2M"||!1W&&15=="5L")4e.1I("2t",2P.3G).4V().K(M,[2P.3G,15,2P]);J M.14(4e,[2P.3G,15,2P])}});v q},6B:u(){v 6.3g(q)},4V:u(){v q.2o("2d").K(u(){7(q.3e)6.59(q.3e);J 6.4a(q.2L||q.6H||q.2t||"")}).4g()}});7(!1w.3p)3p=u(){v 1p 6I("6K.6M")};6.K("5m,5Q,5O,5W,5N,5H".3o(","),u(i,o){6.E[o]=u(f){v q.3U(o,f)}});6.1z({2b:u(V,F,M,C,1W){7(6.1t(F)){M=F;F=16}v 6.3v({V:V,F:F,2M:M,4t:C,1W:1W})},6Q:u(V,F,M,C){v 6.2b(V,F,M,C,1)},59:u(V,M){v 6.2b(V,16,M,"2d")},6S:u(V,F,M){v 6.2b(V,F,M,"6m")},6U:u(V,F,M,C){7(6.1t(F)){M=F;F={}}v 6.3v({C:"5V",V:V,F:F,2M:M,4t:C})},6X:u(29){6.3q.29=29},6Y:u(5c){6.1z(6.3q,5c)},3q:{1k:U,C:"5d",29:0,5r:"70/x-73-3w-77",5h:U,48:U,F:16},3S:{},3v:u(s){s=6.1z({},6.3q,s);7(s.F){7(s.5h&&1C s.F!="23")s.F=6.3g(s.F);7(s.C.4m()=="2b"){s.V+=((s.V.18("?")>-1)?"&":"?")+s.F;s.F=16}}7(s.1k&&!6.4E++)6.G.1S("5m");B 4y=12;B N=1p 3p();N.7j(s.C,s.V,s.48);7(s.F)N.3A("7l-7m",s.5r);7(s.1W)N.3A("7o-4K-7q",6.3S[s.V]||"7s, 7t 7w 7x 4o:4o:4o 7z");N.3A("X-7B-7C","3p");7(N.7E)N.3A("7F","7G");7(s.5G)s.5G(N);7(s.1k)6.G.1S("5H",[N,s]);B 37=u(4s){7(N&&(N.3D==4||4s=="29")){4y=U;7(3I){4p(3I);3I=16}B 15;2G{15=6.5Z(N)&&4s!="29"?s.1W&&6.69(N,s.V)?"5L":"2M":"2C";7(15!="2C"){B 3F;2G{3F=N.4P("6b-4K")}2w(e){}7(s.1W&&3F)6.3S[s.V]=3F;B F=6.6i(N,s.4t);7(s.2M)s.2M(F,15);7(s.1k)6.G.1S("5N",[N,s])}J 6.3J(s,N,15)}2w(e){15="2C";6.3J(s,N,15,e)}7(s.1k)6.G.1S("5O",[N,s]);7(s.1k&&!--6.4E)6.G.1S("5Q");7(s.1X)s.1X(N,15);7(s.48)N=16}};B 3I=3L(37,13);7(s.29>0)57(u(){7(N){N.7N();7(!4y)37("29")}},s.29);2G{N.7Q(s.F)}2w(e){6.3J(s,N,16,e)}7(!s.48)37();v N},3J:u(s,N,15,e){7(s.2C)s.2C(N,15,e);7(s.1k)6.G.1S("5W",[N,s,e])},4E:0,5Z:u(r){2G{v!r.15&&7V.7W=="4G:"||(r.15>=5X&&r.15<7X)||r.15==6d||6.W.2N&&r.15==T}2w(e){}v 12},69:u(N,V){2G{B 6e=N.4P("6b-4K");v N.15==6d||6e==6.3S[V]||6.W.2N&&N.15==T}2w(e){}v 12},6i:u(r,C){B 4Q=r.4P("8c-C");B F=!C&&4Q&&4Q.18("N")>=0;F=C=="N"||F?r.8i:r.3G;7(C=="2d")6.4a(F);7(C=="6m")40("F = "+F);7(C=="4U")6("<1V>").4U(F).4V();v F},3g:u(a){B s=[];7(a.1l==2y||a.3Y)6.K(a,u(){s.1g(2x(q.Y)+"="+2x(q.O))});J P(B j 1x a)7(a[j]&&a[j].1l==2y)6.K(a[j],u(){s.1g(2x(j)+"="+2x(q))});J s.1g(2x(j)+"="+2x(a[j]));v s.6t("&")},4a:u(F){7(1w.54)1w.54(F);J 7(6.W.2N)1w.57(F,0);J 40.3n(1w,F)}});6.E.1z({1L:u(R,M){B 1G=q.1D(":1G");R?1G.26({28:"1L",3V:"1L",1d:"1L"},R,M):1G.K(u(){q.1q.1h=q.2E?q.2E:"";7(6.1m(q,"1h")=="1Z")q.1q.1h="2D"});v q},1K:u(R,M){B 3i=q.1D(":3i");R?3i.26({28:"1K",3V:"1K",1d:"1K"},R,M):3i.K(u(){q.2E=q.2E||6.1m(q,"1h");7(q.2E=="1Z")q.2E="2D";q.1q.1h="1Z"});v q},5g:6.E.3X,3X:u(E,4I){B 1E=1A;v 6.1t(E)&&6.1t(4I)?q.5g(E,4I):q.K(u(){6(q)[6(q).4l(":1G")?"1L":"1K"].14(6(q),1E)})},7a:u(R,M){v q.26({28:"1L"},R,M)},7c:u(R,M){v q.26({28:"1K"},R,M)},7f:u(R,M){v q.K(u(){B 5k=6(q).4l(":1G")?"1L":"1K";6(q).26({28:5k},R,M)})},7r:u(R,M){v q.26({1d:"1L"},R,M)},7u:u(R,M){v q.26({1d:"1K"},R,M)},7y:u(R,43,M){v q.26({1d:43},R,M)},26:u(H,R,1v,M){v q.1F(u(){q.2F=6.1z({},H);B 1u=6.R(R,1v,M);P(B p 1x H){B e=1p 6.3b(q,1u,p);7(H[p].1l==3Q)e.2s(e.Q(),H[p]);J e[H[p]](H)}})},1F:u(C,E){7(!E){E=C;C="3b"}v q.K(u(){7(!q.1F)q.1F={};7(!q.1F[C])q.1F[C]=[];q.1F[C].1g(E);7(q.1F[C].I==1)E.14(q)})}});6.1z({R:u(R,1v,E){B 1u=R&&R.1l==7K?R:{1X:E||!E&&1v||6.1t(R)&&R,25:R,1v:E&&1v||1v&&1v.1l!=4w&&1v};1u.25=(1u.25&&1u.25.1l==3Q?1u.25:{7R:7S,7T:5X}[1u.25])||7U;1u.1N=1u.1X;1u.1X=u(){6.6a(q,"3b");7(6.1t(1u.1N))1u.1N.14(q)};v 1u},1v:{},1F:{},6a:u(D,C){C=C||"3b";7(D.1F&&D.1F[C]){D.1F[C].4L();B f=D.1F[C][0];7(f)f.14(D)}},3b:u(D,1e,H){B z=q;B y=D.1q;B 4D=6.1m(D,"1h");y.5T="1G";z.a=u(){7(1e.49)1e.49.14(D,[z.2p]);7(H=="1d")6.1I(y,"1d",z.2p);J 7(6l(z.2p))y[H]=6l(z.2p)+"4S";y.1h="2D"};z.6v=u(){v 4T(6.1m(D,H))};z.Q=u(){B r=4T(6.30(D,H));v r&&r>-8z?r:z.6v()};z.2s=u(4f,43){z.4J=(1p 5o()).5w();z.2p=4f;z.a();z.4q=3L(u(){z.49(4f,43)},13)};z.1L=u(){7(!D.1y)D.1y={};D.1y[H]=q.Q();1e.1L=U;z.2s(0,D.1y[H]);7(H!="1d")y[H]="5a"};z.1K=u(){7(!D.1y)D.1y={};D.1y[H]=q.Q();1e.1K=U;z.2s(D.1y[H],0)};z.3X=u(){7(!D.1y)D.1y={};D.1y[H]=q.Q();7(4D=="1Z"){1e.1L=U;7(H!="1d")y[H]="5a";z.2s(0,D.1y[H])}J{1e.1K=U;z.2s(D.1y[H],0)}};z.49=u(32,47){B t=(1p 5o()).5w();7(t>1e.25+z.4J){4p(z.4q);z.4q=16;z.2p=47;z.a();7(D.2F)D.2F[H]=U;B 2c=U;P(B i 1x D.2F)7(D.2F[i]!==U)2c=12;7(2c){y.5T="";y.1h=4D;7(6.1m(D,"1h")=="1Z")y.1h="2D";7(1e.1K)y.1h="1Z";7(1e.1K||1e.1L)P(B p 1x D.2F)7(p=="1d")6.1I(y,p,D.1y[p]);J y[p]=""}7(2c&&6.1t(1e.1X))1e.1X.14(D)}J{B n=t-q.4J;B p=n/1e.25;z.2p=1e.1v&&6.1v[1e.1v]?6.1v[1e.1v](p,n,32,(47-32),1e.25):((-6h.7O(p*6h.8L)/2)+0.5)*(47-32)+32;z.a()}}}})}',62,545,'||||||jQuery|if|||||||||||||||||||this||||function|return||||||var|type|elem|fn|data|event|prop|length|else|each|ret|callback|xml|value|for|cur|speed|element|undefined|true|url|browser||name|||parentNode|false||apply|status|null|document|indexOf|className|val|firstChild|obj|opacity|options|nodeName|push|display|result|msie|global|constructor|css|test|handler|new|style|arg|expr|isFunction|opt|easing|window|in|orig|extend|arguments|context|typeof|filter|args|queue|hidden|events|attr|re|hide|show|add|old|target|table|token|replace|trigger|num|elems|div|ifModified|complete|key|none|tbody|params|while|string|nodeType|duration|animate|ready|height|timeout|nth|get|done|script|nextSibling|remove|not|index|tb|fix|merge|oid|z0|preventDefault|find|now|grep|pushStack|custom|innerHTML|first|cssFloat|catch|encodeURIComponent|Array|el|guid|sibling|error|block|oldblock|curAnim|try|stopPropagation|childNodes|id|wrap|text|success|safari|load|res|exec|al|_|last|substr|has|disabled|insertBefore|selected|checked|curCSS|map|firstNum|removeChild|re2|trim|getAttribute|onreadystatechange|handlers|on|originalEvent|fx|readyList|parPos|src|opera|param|mozilla|visible|domManip|clean|cloneNode|tr|call|split|XMLHttpRequest|ajaxSettings|append|child|String|empty|ajax|form|button|inArray|multiFilter|setRequestHeader|foundToken|9_|readyState|tag|modRes|responseText|second|ival|handleError|toUpperCase|setInterval|makeArray|slice|break|oWidth|Number|returnValue|lastModified|styleFloat|bind|width|isReady|toggle|jquery|dir|eval|mouseover|select|to|defaultView|position|oHeight|lastNum|async|step|globalEval|static|pos|swap|self|from|end|float|alpha|radio|inv|is|toLowerCase|visibility|00|clearInterval|timer|rec|isTimeout|dataType|_resort|RegExp|Function|getAll|requestDone|parents|matched|isXMLDoc|appendChild|oldDisplay|active|triggered|file|documentElement|fn2|startTime|Modified|shift|lastToggle|deep|handleHover|getResponseHeader|ct|submit|px|parseFloat|html|evalScripts|getComputedStyle|getElementById|clone|els|safariTimer|currentStyle|unload|force|execScript|getPropertyValue|newProp|setTimeout|zoom|getScript|1px|sl|settings|GET|rl|check|_toggle|processData|prepend|before|state|removeAttr|ajaxStart|lt|Date|gt|eq|contentType|previousSibling|after|parent|contains|getTime|checkbox|password|appendTo|image|reset|input|webkit|href|continue|beforeSend|ajaxSend|ownerDocument|getElementsByTagName|tmp|notmodified|parse|ajaxSuccess|ajaxComplete|_prefix|ajaxStop|even|odd|overflow|delete|POST|ajaxError|200|handle|httpSuccess|nodeValue|unshift|__ie_init|srcElement|body|pageX|tagName|clientX|scrollLeft|httpNotModified|dequeue|Last|scrollTop|304|xmlRes|unbind|100|Math|httpData|click|mouseout|parseInt|json|createElement|DOMContentLoaded|prevObject|ol|setArray|exclude|join|one|max|do|relative|clientHeight|clientWidth|loadIfModified|serialize|toString|thead|tfoot|td|th|textContent|ActiveXObject|htmlFor|Microsoft|class|XMLHTTP|readOnly|gi|match|getIfModified|9999|getJSON|getAttributeNode|post|setAttribute|ig|ajaxTimeout|ajaxSetup|concat|application|userAgent|compatible|www|compatMode|CSS1Compat|next|urlencoded|siblings|children|slideDown|prependTo|slideUp|Top|insertAfter|slideToggle|removeAttribute|addClass|removeClass|open|toggleClass|Content|Type|lastChild|If|only|Since|fadeIn|Thu|01|fadeOut|enabled|Jan|1970|fadeTo|GMT|textarea|Requested|With|prev|overrideMimeType|Connection|close|boxModel|right|object|Object|navigator|substring|abort|cos|font|send|slow|600|fast|400|location|protocol|300|pageY|clientY|method|action|cancelBubble|hover|fromElement|toElement|relatedTarget|removeEventListener|blur|readonly|focus|resize|content|scroll|dblclick|mousedown|mouseup|mousemove|responseXML|change|keydown|keypress|keyup|addEventListener|write|prototype|size|scr|ipt|createTextNode|defer|FORM|reverse|noConflict|loaded|10000|weight|line|Bottom|Right|Left|padding|border|Width|offsetHeight|offsetWidth|absolute|PI|left'.split('|'),0,{})) +/* + * jQuery 1.1.3 - New Wave Javascript + * + * Copyright (c) 2007 John Resig (jquery.com) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * $Date: 2007-07-01 08:54:38 -0400 (Sun, 01 Jul 2007) $ + * $Rev: 2200 $ + */ +eval(function(p,a,c,k,e,r){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('7(1e 12.6=="J"){12.J=12.J;u 6=q(a,c){7(12==9||!9.3Z)v 17 6(a,c);v 9.3Z(a,c)};7(1e $!="J")6.1I$=$;u $=6;6.11=6.8r={3Z:q(a,c){a=a||P;7(6.14(a))v 17 6(P)[6.11.1D?"1D":"1X"](a);7(1e a=="1v"){u m=/^[^<]*(<(.|\\s)+>)[^>]*$/.1Q(a);7(m)a=6.2Y([m[1]]);B v 17 6(c).1H(a)}v 9.4A(a.18==23&&a||(a.3B||a.C&&a!=12&&!a.1r&&a[0]!=J&&a[0].1r)&&6.2K(a)||[a])},3B:"1.1.3",7Y:q(){v 9.C},C:0,1L:q(a){v a==J?6.2K(9):9[a]},1W:q(a){u b=6(a);b.5l=9;v b},4A:q(a){9.C=0;[].R.O(9,a);v 9},F:q(a,b){v 6.F(9,a,b)},2m:q(a){u b=-1;9.F(q(i){7(9==a)b=i});v b},1b:q(f,d,e){u c=f;7(f.18==31)7(d==J)v 9.C&&6[e||"1b"](9[0],f)||J;B{c={};c[f]=d}v 9.F(q(a){E(u b T c)6.1b(e?9.Y:9,b,6.4D(9,c[b],e,a,b))})},1c:q(b,a){v 9.1b(b,a,"2q")},2R:q(e){7(1e e=="1v")v 9.2V().3m(P.67(e));u t="";6.F(e||9,q(){6.F(9.2S,q(){7(9.1r!=8)t+=9.1r!=1?9.5R:6.11.2R([9])})});v t},8c:q(){u a,1Z=1g;v 9.F(q(){7(!a)a=6.2Y(1Z,9.2N);u b=a[0].3r(K);9.L.2J(b,9);1q(b.1a)b=b.1a;b.4h(9)})},3m:q(){v 9.2F(1g,K,1,q(a){9.4h(a)})},5s:q(){v 9.2F(1g,K,-1,q(a){9.2J(a,9.1a)})},5p:q(){v 9.2F(1g,M,1,q(a){9.L.2J(a,9)})},5n:q(){v 9.2F(1g,M,-1,q(a){9.L.2J(a,9.1U)})},2E:q(){v 9.5l||6([])},1H:q(t){u b=6.3h(9,q(a){v 6.1H(t,a)});v 9.1W(/[^+>] [^+>]/.16(t)||t.I("..")>-1?6.5c(b):b)},7z:q(e){u d=9.1A(9.1H("*"));d.F(q(){9.1I$19={};E(u a T 9.$19)9.1I$19[a]=6.1f({},9.$19[a])}).3C();u r=9.1W(6.3h(9,q(a){v a.3r(e!=J?e:K)}));d.F(q(){u b=9.1I$19;E(u a T b)E(u c T b[a])6.S.1A(9,a,b[a][c],b[a][c].W);9.1I$19=H});v r},1j:q(t){v 9.1W(6.14(t)&&6.2x(9,q(b,a){v t.O(b,[a])})||6.2w(t,9))},4V:q(t){v 9.1W(t.18==31&&6.2w(t,9,K)||6.2x(9,q(a){v(t.18==23||t.3B)?6.2s(a,t)<0:a!=t}))},1A:q(t){v 9.1W(6.1R(9.1L(),t.18==31?6(t).1L():t.C!=J&&(!t.Q||t.Q=="71")?t:[t]))},33:q(a){v a?6.2w(a,9).C>0:M},6T:q(a){v a==J?(9.C?9[0].2t:H):9.1b("2t",a)},3K:q(a){v a==J?(9.C?9[0].26:H):9.2V().3m(a)},2F:q(f,d,g,e){u c=9.C>1,a;v 9.F(q(){7(!a){a=6.2Y(f,9.2N);7(g<0)a.6G()}u b=9;7(d&&6.Q(9,"1s")&&6.Q(a[0],"3k"))b=9.3V("1x")[0]||9.4h(P.55("1x"));6.F(a,q(){e.O(b,[c?9.3r(K):9])})})}};6.1f=6.11.1f=q(){u c=1g[0],a=1;7(1g.C==1){c=9;a=0}u b;1q((b=1g[a++])!=H)E(u i T b)c[i]=b[i];v c};6.1f({6o:q(){7(6.1I$)$=6.1I$;v 6},14:q(a){v!!a&&1e a!="1v"&&!a.Q&&a.18!=23&&/q/i.16(a+"")},43:q(a){v a.4x&&a.2N&&!a.2N.4w},Q:q(b,a){v b.Q&&b.Q.1S()==a.1S()},F:q(a,b,c){7(a.C==J)E(u i T a)b.O(a[i],c||[i,a[i]]);B E(u i=0,4v=a.C;i<4v;i++)7(b.O(a[i],c||[i,a[i]])===M)1E;v a},4D:q(c,b,d,e,a){7(6.14(b))b=b.3D(c,[e]);u f=/z-?2m|5Y-?8p|1d|5U|8i-?1u/i;v b&&b.18==3x&&d=="2q"&&!f.16(a)?b+"4p":b},V:{1A:q(b,c){6.F(c.2Q(/\\s+/),q(i,a){7(!6.V.3v(b.V,a))b.V+=(b.V?" ":"")+a})},1B:q(b,c){b.V=c!=J?6.2x(b.V.2Q(/\\s+/),q(a){v!6.V.3v(c,a)}).5K(" "):""},3v:q(t,c){v 6.2s(c,(t.V||t).3s().2Q(/\\s+/))>-1}},4n:q(e,o,f){E(u i T o){e.Y["2M"+i]=e.Y[i];e.Y[i]=o[i]}f.O(e,[]);E(u i T o)e.Y[i]=e.Y["2M"+i]},1c:q(e,p){7(p=="1u"||p=="28"){u b={},3q,3p,d=["85","83","82","80"];6.F(d,q(){b["7X"+9]=0;b["7W"+9+"7V"]=0});6.4n(e,b,q(){7(6(e).33(\':4g\')){3q=e.7S;3p=e.7Q}B{e=6(e.3r(K)).1H(":4c").5r("2D").2E().1c({49:"1y",3i:"7N",15:"2j",7M:"0",7K:"0"}).5j(e.L)[0];u a=6.1c(e.L,"3i")||"3n";7(a=="3n")e.L.Y.3i="7I";3q=e.7G;3p=e.7F;7(a=="3n")e.L.Y.3i="3n";e.L.3t(e)}});v p=="1u"?3q:3p}v 6.2q(e,p)},2q:q(e,a,d){u g;7(a=="1d"&&6.N.1h){g=6.1b(e.Y,"1d");v g==""?"1":g}7(a.3w(/3u/i))a=6.1T;7(!d&&e.Y[a])g=e.Y[a];B 7(P.3d&&P.3d.40){7(a.3w(/3u/i))a="3u";a=a.1o(/([A-Z])/g,"-$1").2T();u b=P.3d.40(e,H);7(b)g=b.52(a);B 7(a=="15")g="1G";B 6.4n(e,{15:"2j"},q(){u c=P.3d.40(9,"");g=c&&c.52(a)||""})}B 7(e.3U){u f=a.1o(/\\-(\\w)/g,q(m,c){v c.1S()});g=e.3U[a]||e.3U[f]}v g},2Y:q(a,c){u r=[];c=c||P;6.F(a,q(i,b){7(!b)v;7(b.18==3x)b=b.3s();7(1e b=="1v"){u s=6.2p(b).2T(),1z=c.55("1z"),1K=[];u a=!s.I("<2z")&&[1,"<2y>",""]||!s.I("<7i")&&[1,"<4Y>",""]||(!s.I("<7e")||!s.I("<1x")||!s.I("<7d")||!s.I("<7a"))&&[1,"<1s>",""]||!s.I("<3k")&&[2,"<1s><1x>",""]||(!s.I("<77")||!s.I("<76"))&&[3,"<1s><1x><3k>",""]||!s.I("<75")&&[2,"<1s><4U>",""]||[0,"",""];1z.26=a[1]+b+a[2];1q(a[0]--)1z=1z.1a;7(6.N.1h){7(!s.I("<1s")&&s.I("<1x")<0)1K=1z.1a&&1z.1a.2S;B 7(a[1]=="<1s>"&&s.I("<1x")<0)1K=1z.2S;E(u n=1K.C-1;n>=0;--n)7(6.Q(1K[n],"1x")&&!1K[n].2S.C)1K[n].L.3t(1K[n])}b=6.2K(1z.2S)}7(0===b.C&&(!6.Q(b,"35")&&!6.Q(b,"2y")))v;7(b[0]==J||6.Q(b,"35")||b.73)r.R(b);B r=6.1R(r,b)});v r},1b:q(c,d,a){u e=6.43(c)?{}:6.3J;7(e[d]){7(a!=J)c[e[d]]=a;v c[e[d]]}B 7(a==J&&6.N.1h&&6.Q(c,"35")&&(d=="72"||d=="70"))v c.6X(d).5R;B 7(c.4x){7(d=="1d"&&6.N.1h){7(a!=J){c.5U=1;c.1j=(c.1j||"").1o(/4J\\([^)]*\\)/,"")+(34(a).3s()=="6S"?"":"4J(1d="+a*4Q+")")}v c.1j?(34(c.1j.3w(/1d=([^)]*)/)[1])/4Q).3s():""}7(a!=J)c.6Q(d,a);7(6.N.1h&&/4I|2r/.16(d)&&!6.43(c))v c.2Z(d,2);v c.2Z(d)}B{d=d.1o(/-([a-z])/6M,q(z,b){v b.1S()});7(a!=J)c[d]=a;v c[d]}},2p:q(t){v t.1o(/^\\s+|\\s+$/g,"")},2K:q(a){u r=[];7(1e a!="6K")E(u i=0,25=a.C;i<25;i++)r.R(a[i]);B r=a.4X(0);v r},2s:q(b,a){E(u i=0,25=a.C;i<25;i++)7(a[i]==b)v i;v-1},1R:q(a,b){E(u i=0;b[i];i++)a.R(b[i]);v a},5c:q(a){u r=[],3F=6.1m++;E(u i=0,4C=a.C;i<4C;i++)7(3F!=a[i].1m){a[i].1m=3F;r.R(a[i])}v r},1m:0,2x:q(c,b,d){7(1e b=="1v")b=17 3S("a","i","v "+b);u a=[];E(u i=0,30=c.C;i<30;i++)7(!d&&b(c[i],i)||d&&!b(c[i],i))a.R(c[i]);v a},3h:q(c,b){7(1e b=="1v")b=17 3S("a","v "+b);u d=[];E(u i=0,30=c.C;i<30;i++){u a=b(c[i],i);7(a!==H&&a!=J){7(a.18!=23)a=[a];d=d.6x(a)}}v d}});17 q(){u b=6w.6v.2T();6.N={6u:b.3w(/.+(?:6t|6r|6p|6n)[\\/: ]([\\d.]+)/)[1],2g:/5g/.16(b),2k:/2k/.16(b),1h:/1h/.16(b)&&!/2k/.16(b),3g:/3g/.16(b)&&!/(6i|5g)/.16(b)};6.6h=!6.N.1h||P.6g=="6d";6.1T=6.N.1h?"1T":"5t",6.3J={"E":"69","68":"V","3u":6.1T,5t:6.1T,1T:6.1T,26:"26",V:"V",2t:"2t",2B:"2B",2D:"2D",66:"64",2H:"2H",62:"5Z"}};6.F({5E:"a.L",4r:"6.4r(a)",8o:"6.21(a,2,\'1U\')",8n:"6.21(a,2,\'4t\')",8k:"6.4q(a.L.1a,a)",8h:"6.4q(a.1a)"},q(i,n){6.11[i]=q(a){u b=6.3h(9,n);7(a&&1e a=="1v")b=6.2w(a,b);v 9.1W(b)}});6.F({5j:"3m",8g:"5s",2J:"5p",8f:"5n"},q(i,n){6.11[i]=q(){u a=1g;v 9.F(q(){E(u j=0,25=a.C;j<25;j++)6(a[j])[n](9)})}});6.F({5r:q(a){6.1b(9,a,"");9.8e(a)},8d:q(c){6.V.1A(9,c)},8b:q(c){6.V.1B(9,c)},8a:q(c){6.V[6.V.3v(9,c)?"1B":"1A"](9,c)},1B:q(a){7(!a||6.1j(a,[9]).r.C)9.L.3t(9)},2V:q(){1q(9.1a)9.3t(9.1a)}},q(i,n){6.11[i]=q(){v 9.F(n,1g)}});6.F(["5Q","5P","5M","5L"],q(i,n){6.11[n]=q(a,b){v 9.1j(":"+n+"("+a+")",b)}});6.F(["1u","28"],q(i,n){6.11[n]=q(h){v h==J?(9.C?6.1c(9[0],n):H):9.1c(n,h.18==31?h:h+"4p")}});6.1f({4o:{"":"m[2]==\'*\'||6.Q(a,m[2])","#":"a.2Z(\'24\')==m[2]",":":{5P:"im[3]-0",21:"m[3]-0==i",5Q:"m[3]-0==i",2P:"i==0",2O:"i==r.C-1",5J:"i%2==0",5G:"i%2","2P-2X":"a.L.3V(\'*\')[0]==a","2O-2X":"6.21(a.L.5F,1,\'4t\')==a","88-2X":"!6.21(a.L.5F,2,\'4t\')",5E:"a.1a",2V:"!a.1a",5L:"(a.5D||a.87||\'\').I(m[3])>=0",4g:\'"1y"!=a.G&&6.1c(a,"15")!="1G"&&6.1c(a,"49")!="1y"\',1y:\'"1y"==a.G||6.1c(a,"15")=="1G"||6.1c(a,"49")=="1y"\',86:"!a.2B",2B:"a.2B",2D:"a.2D",2H:"a.2H||6.1b(a,\'2H\')",2R:"\'2R\'==a.G",4c:"\'4c\'==a.G",5C:"\'5C\'==a.G",4m:"\'4m\'==a.G",5B:"\'5B\'==a.G",4l:"\'4l\'==a.G",5A:"\'5A\'==a.G",5z:"\'5z\'==a.G",1J:\'"1J"==a.G||6.Q(a,"1J")\',5y:"/5y|2y|84|1J/i.16(a.Q)"},"[":"6.1H(m[2],a).C"},5x:[/^\\[ *(@)([\\w-]+) *([!*$^~=]*) *(\'?"?)(.*?)\\4 *\\]/,/^(\\[)\\s*(.*?(\\[.*?\\])?[^[]*?)\\s*\\]/,/^(:)([\\w-]+)\\("?\'?(.*?(\\(.*?\\))?[^(]*?)"?\'?\\)/,17 3o("^([:.#]*)("+(6.2I="(?:[\\\\w\\81-\\7Z*1I-]|\\\\\\\\.)")+"+)")],2w:q(a,c,b){u d,1O=[];1q(a&&a!=d){d=a;u f=6.1j(a,c,b);a=f.t.1o(/^\\s*,\\s*/,"");1O=b?c=f.r:6.1R(1O,f.r)}v 1O},1H:q(t,l){7(1e t!="1v")v[t];7(l&&!l.1r)l=H;l=l||P;7(!t.I("//")){l=l.4i;t=t.2G(2,t.C)}B 7(!t.I("/")&&!l.2N){l=l.4i;t=t.2G(1,t.C);7(t.I("/")>=1)t=t.2G(t.I("/"),t.C)}u b=[l],2a=[],2O;1q(t&&2O!=t){u r=[];2O=t;t=6.2p(t).1o(/^\\/\\//,"");u k=M;u g=17 3o("^[/>]\\\\s*("+6.2I+"+)");u m=g.1Q(t);7(m){u o=m[1].1S();E(u i=0;b[i];i++)E(u c=b[i].1a;c;c=c.1U)7(c.1r==1&&(o=="*"||c.Q==o.1S()))r.R(c);b=r;t=t.1o(g,"");7(t.I(" ")==0)7T;k=K}B{g=/^((\\/?\\.\\.)|([>\\/+~]))\\s*([a-z]*)/i;7((m=g.1Q(t))!=H){r=[];u o=m[4],1m=6.1m++;m=m[1];E(u j=0,2b=b.C;j<2b;j++)7(m.I("..")<0){u n=m=="~"||m=="+"?b[j].1U:b[j].1a;E(;n;n=n.1U)7(n.1r==1){7(m=="~"&&n.1m==1m)1E;7(!o||n.Q==o.1S()){7(m=="~")n.1m=1m;r.R(n)}7(m=="+")1E}}B r.R(b[j].L);b=r;t=6.2p(t.1o(g,""));k=K}}7(t&&!k){7(!t.I(",")){7(l==b[0])b.4f();2a=6.1R(2a,b);r=b=[l];t=" "+t.2G(1,t.C)}B{u h=17 3o("^("+6.2I+"+)(#)("+6.2I+"+)");u m=h.1Q(t);7(m){m=[0,m[2],m[3],m[1]]}B{h=17 3o("^([#.]?)("+6.2I+"*)");m=h.1Q(t)}m[2]=m[2].1o(/\\\\/g,"");u f=b[b.C-1];7(m[1]=="#"&&f&&f.4e){u p=f.4e(m[2]);7((6.N.1h||6.N.2k)&&p&&1e p.24=="1v"&&p.24!=m[2])p=6(\'[@24="\'+m[2]+\'"]\',f)[0];b=r=p&&(!m[3]||6.Q(p,m[3]))?[p]:[]}B{E(u i=0;b[i];i++){u a=m[1]!=""||m[0]==""?"*":m[2];7(a=="*"&&b[i].Q.2T()=="7R")a="2C";r=6.1R(r,b[i].3V(a))}7(m[1]==".")r=6.4d(r,m[2]);7(m[1]=="#"){u e=[];E(u i=0;r[i];i++)7(r[i].2Z("24")==m[2]){e=[r[i]];1E}r=e}b=r}t=t.1o(h,"")}}7(t){u d=6.1j(t,r);b=r=d.r;t=6.2p(d.t)}}7(t)b=[];7(b&&l==b[0])b.4f();2a=6.1R(2a,b);v 2a},4d:q(r,m,a){m=" "+m+" ";u b=[];E(u i=0;r[i];i++){u c=(" "+r[i].V+" ").I(m)>=0;7(!a&&c||a&&!c)b.R(r[i])}v b},1j:q(t,r,h){u d;1q(t&&t!=d){d=t;u p=6.5x,m;E(u i=0;p[i];i++){m=p[i].1Q(t);7(m){t=t.7P(m[0].C);m[2]=m[2].1o(/\\\\/g,"");1E}}7(!m)1E;7(m[1]==":"&&m[2]=="4V")r=6.1j(m[3],r,K).r;B 7(m[1]==".")r=6.4d(r,m[2],h);B 7(m[1]=="@"){u g=[],G=m[3];E(u i=0,2b=r.C;i<2b;i++){u a=r[i],z=a[6.3J[m[2]]||m[2]];7(z==H||/4I|2r/.16(m[2]))z=6.1b(a,m[2]);7((G==""&&!!z||G=="="&&z==m[5]||G=="!="&&z!=m[5]||G=="^="&&z&&!z.I(m[5])||G=="$="&&z.2G(z.C-m[5].C)==m[5]||(G=="*="||G=="~=")&&z.I(m[5])>=0)^h)g.R(a)}r=g}B 7(m[1]==":"&&m[2]=="21-2X"){u e=6.1m++,g=[],16=/(\\d*)n\\+?(\\d*)/.1Q(m[3]=="5J"&&"2n"||m[3]=="5G"&&"2n+1"||!/\\D/.16(m[3])&&"n+"+m[3]||m[3]),2P=(16[1]||1)-0,d=16[2]-0;E(u i=0,2b=r.C;i<2b;i++){u j=r[i],L=j.L;7(e!=L.1m){u c=1;E(u n=L.1a;n;n=n.1U)7(n.1r==1)n.4b=c++;L.1m=e}u b=M;7(2P==1){7(d==0||j.4b==d)b=K}B 7((j.4b+d)%2P==0)b=K;7(b^h)g.R(j)}r=g}B{u f=6.4o[m[1]];7(1e f!="1v")f=6.4o[m[1]][m[2]];4a("f = q(a,i){v "+f+"}");r=6.2x(r,f,h)}}v{r:r,t:t}},4r:q(c){u b=[];u a=c.L;1q(a&&a!=P){b.R(a);a=a.L}v b},21:q(a,e,c,b){e=e||1;u d=0;E(;a;a=a[c])7(a.1r==1&&++d==e)1E;v a},4q:q(n,a){u r=[];E(;n;n=n.1U){7(n.1r==1&&(!a||n!=a))r.R(n)}v r}});6.S={1A:q(d,e,c,b){7(6.N.1h&&d.3l!=J)d=12;7(!c.1M)c.1M=9.1M++;7(b!=J){u f=c;c=q(){v f.O(9,1g)};c.W=b;c.1M=f.1M}7(!d.$19)d.$19={};7(!d.$1p)d.$1p=q(){u a;7(1e 6=="J"||6.S.48)v a;a=6.S.1p.O(d,1g);v a};u g=d.$19[e];7(!g){g=d.$19[e]={};7(d.47)d.47(e,d.$1p,M);B d.7O("5m"+e,d.$1p)}g[c.1M]=c;7(!9.U[e])9.U[e]=[];7(6.2s(d,9.U[e])==-1)9.U[e].R(d)},1M:1,U:{},1B:q(b,c,a){u d=b.$19,1V,2m;7(d){7(c&&c.G){a=c.46;c=c.G}7(!c){E(c T d)9.1B(b,c)}B 7(d[c]){7(a)3j d[c][a.1M];B E(a T b.$19[c])3j d[c][a];E(1V T d[c])1E;7(!1V){7(b.45)b.45(c,b.$1p,M);B b.7L("5m"+c,b.$1p);1V=H;3j d[c];1q(9.U[c]&&((2m=6.2s(b,9.U[c]))>=0))3j 9.U[c][2m]}}E(1V T d)1E;7(!1V)b.$1p=b.$19=H}},1t:q(c,b,d){b=6.2K(b||[]);7(!d)6.F(9.U[c]||[],q(){6.S.1t(c,b,9)});B{u a,1V,11=6.14(d[c]||H);b.5k(9.44({G:c,1N:d}));7(6.14(d.$1p)&&(a=d.$1p.O(d,b))!==M)9.48=K;7(11&&a!==M&&!6.Q(d,\'a\'))d[c]();9.48=M}},1p:q(b){u a;b=6.S.44(b||12.S||{});u c=9.$19&&9.$19[b.G],1Z=[].4X.3D(1g,1);1Z.5k(b);E(u j T c){1Z[0].46=c[j];1Z[0].W=c[j].W;7(c[j].O(9,1Z)===M){b.2d();b.2L();a=M}}7(6.N.1h)b.1N=b.2d=b.2L=b.46=b.W=H;v a},44:q(c){u a=c;c=6.1f({},a);c.2d=q(){7(a.2d)v a.2d();a.7J=M};c.2L=q(){7(a.2L)v a.2L();a.7H=K};7(!c.1N&&c.5i)c.1N=c.5i;7(6.N.2g&&c.1N.1r==3)c.1N=a.1N.L;7(!c.42&&c.4k)c.42=c.4k==c.1N?c.7E:c.4k;7(c.5h==H&&c.5f!=H){u e=P.4i,b=P.4w;c.5h=c.5f+(e&&e.5I||b.5I);c.7D=c.7C+(e&&e.5b||b.5b)}7(!c.3f&&(c.5a||c.5O))c.3f=c.5a||c.5O;7(!c.59&&c.58)c.59=c.58;7(!c.3f&&c.1J)c.3f=(c.1J&1?1:(c.1J&2?3:(c.1J&4?2:0)));v c}};6.11.1f({3e:q(c,a,b){v c=="3z"?9.41(c,a,b):9.F(q(){6.S.1A(9,c,b||a,b&&a)})},41:q(d,b,c){v 9.F(q(){6.S.1A(9,d,q(a){6(9).3C(a);v(c||b).O(9,1g)},c&&b)})},3C:q(a,b){v 9.F(q(){6.S.1B(9,a,b)})},1t:q(a,b){v 9.F(q(){6.S.1t(a,b,9)})},1P:q(){u a=1g;v 9.57(q(e){9.3O=0==9.3O?1:0;e.2d();v a[9.3O].O(9,[e])||M})},7y:q(f,g){q 3Y(e){u p=e.42;1q(p&&p!=9)2c{p=p.L}2h(e){p=9};7(p==9)v M;v(e.G=="3X"?f:g).O(9,[e])}v 9.3X(3Y).54(3Y)},1D:q(f){7(6.3c)f.O(P,[6]);B 6.2o.R(q(){v f.O(9,[6])});v 9}});6.1f({3c:M,2o:[],1D:q(){7(!6.3c){6.3c=K;7(6.2o){6.F(6.2o,q(){9.O(P)});6.2o=H}7(6.N.3g||6.N.2k)P.45("53",6.1D,M);7(!12.7x.C)6(12).1X(q(){6("#3W").1B()})}}});17 q(){6.F(("7w,7v,1X,7u,7t,3z,57,7s,"+"7r,7q,7p,3X,54,7o,2y,"+"4l,7n,7m,7l,29").2Q(","),q(i,o){6.11[o]=q(f){v f?9.3e(o,f):9.1t(o)}});7(6.N.3g||6.N.2k)P.47("53",6.1D,M);B 7(6.N.1h){P.7k("<7j"+"7h 24=3W 7g=K "+"2r=//:><\\/3a>");u a=P.4e("3W");7(a)a.7f=q(){7(9.39!="1n")v;6.1D()};a=H}B 7(6.N.2g)6.3R=3l(q(){7(P.39=="7c"||P.39=="1n"){3P(6.3R);6.3R=H;6.1D()}},10);6.S.1A(12,"1X",6.1D)};7(6.N.1h)6(12).41("3z",q(){u a=6.S.U;E(u b T a){u c=a[b],i=c.C;7(i&&b!=\'3z\')79 c[i-1]&&6.S.1B(c[i-1],b);1q(--i)}});6.11.1f({78:q(c,b,a){9.1X(c,b,a,1)},1X:q(g,d,c,e){7(6.14(g))v 9.3e("1X",g);c=c||q(){};u f="3M";7(d)7(6.14(d)){c=d;d=H}B{d=6.2C(d);f="4W"}u h=9;6.37({1C:g,G:f,W:d,2v:e,1n:q(a,b){7(b=="27"||!e&&b=="4T")h.1b("26",a.36).3L().F(c,[a.36,b,a]);B c.O(h,[a.36,b,a])}});v 9},74:q(){v 6.2C(9)},3L:q(){v 9.1H("3a").F(q(){7(9.2r)6.4S(9.2r);B 6.3H(9.2R||9.5D||9.26||"")}).2E()}});6.F("4R,4E,4P,4O,4N,4F".2Q(","),q(i,o){6.11[o]=q(f){v 9.3e(o,f)}});6.1f({1L:q(e,c,a,d,b){7(6.14(c)){a=c;c=H}v 6.37({G:"3M",1C:e,W:c,27:a,3I:d,2v:b})},6Y:q(d,b,a,c){v 6.1L(d,b,a,c,1)},4S:q(b,a){v 6.1L(b,H,a,"3a")},6W:q(c,b,a){v 6.1L(c,b,a,"4L")},6V:q(d,b,a,c){7(6.14(b)){a=b;b={}}v 6.37({G:"4W",1C:d,W:b,27:a,3I:c})},6U:q(a){6.32.20=a},6Z:q(a){6.1f(6.32,a)},32:{U:K,G:"3M",20:0,4K:"6R/x-6P-35-6O",4M:K,2W:K,W:H},38:{},37:q(s){s=6.1f({},6.32,s);7(s.W){7(s.4M&&1e s.W!="1v")s.W=6.2C(s.W);7(s.G.2T()=="1L"){s.1C+=((s.1C.I("?")>-1)?"&":"?")+s.W;s.W=H}}7(s.U&&!6.3G++)6.S.1t("4R");u f=M;u h=12.4H?17 4H("6N.6L"):17 4G();h.7b(s.G,s.1C,s.2W);7(s.W)h.3N("6J-6I",s.4K);7(s.2v)h.3N("6H-3Q-6F",6.38[s.1C]||"6E, 6D 6C 6B 3T:3T:3T 6A");h.3N("X-6z-6y","4G");7(s.5e)s.5e(h);7(s.U)6.S.1t("4F",[h,s]);u g=q(d){7(h&&(h.39==4||d=="20")){f=K;7(i){3P(i);i=H}u c;2c{c=6.56(h)&&d!="20"?s.2v&&6.4B(h,s.1C)?"4T":"27":"29";7(c!="29"){u b;2c{b=h.3E("50-3Q")}2h(e){}7(s.2v&&b)6.38[s.1C]=b;u a=6.4Z(h,s.3I);7(s.27)s.27(a,c);7(s.U)6.S.1t("4N",[h,s])}B 6.3b(s,h,c)}2h(e){c="29";6.3b(s,h,c,e)}7(s.U)6.S.1t("4P",[h,s]);7(s.U&&!--6.3G)6.S.1t("4E");7(s.1n)s.1n(h,c);7(s.2W)h=H}};u i=3l(g,13);7(s.20>0)51(q(){7(h){h.6s();7(!f)g("20")}},s.20);2c{h.6q(s.W)}2h(e){6.3b(s,h,H,e)}7(!s.2W)g();v h},3b:q(s,a,b,e){7(s.29)s.29(a,b,e);7(s.U)6.S.1t("4O",[a,s,e])},3G:0,56:q(r){2c{v!r.1Y&&7A.7B=="4m:"||(r.1Y>=5d&&r.1Y<6m)||r.1Y==5q||6.N.2g&&r.1Y==J}2h(e){}v M},4B:q(a,c){2c{u b=a.3E("50-3Q");v a.1Y==5q||b==6.38[c]||6.N.2g&&a.1Y==J}2h(e){}v M},4Z:q(r,b){u c=r.3E("6l-G");u a=!b&&c&&c.I("4z")>=0;a=b=="4z"||a?r.6k:r.36;7(b=="3a")6.3H(a);7(b=="4L")a=4a("("+a+")");7(b=="3K")6("<1z>").3K(a).3L();v a},2C:q(a){u s=[];7(a.18==23||a.3B)6.F(a,q(){s.R(2e(9.6j)+"="+2e(9.2t))});B E(u j T a)7(a[j]&&a[j].18==23)6.F(a[j],q(){s.R(2e(j)+"="+2e(9))});B s.R(2e(j)+"="+2e(a[j]));v s.5K("&")},3H:q(a){7(12.4y)12.4y(a);B 7(6.N.2g)12.51(a,0);B 4a.3D(12,a)}});6.11.1f({1k:q(b,a){v b?9.1w({1u:"1k",28:"1k",1d:"1k"},b,a):9.1j(":1y").F(q(){9.Y.15=9.2f?9.2f:"";7(6.1c(9,"15")=="1G")9.Y.15="2j"}).2E()},1i:q(b,a){v b?9.1w({1u:"1i",28:"1i",1d:"1i"},b,a):9.1j(":4g").F(q(){9.2f=9.2f||6.1c(9,"15");7(9.2f=="1G")9.2f="2j";9.Y.15="1G"}).2E()},5o:6.11.1P,1P:q(a,b){v 6.14(a)&&6.14(b)?9.5o(a,b):a?9.1w({1u:"1P",28:"1P",1d:"1P"},a,b):9.F(q(){6(9)[6(9).33(":1y")?"1k":"1i"]()})},6f:q(b,a){v 9.1w({1u:"1k"},b,a)},6e:q(b,a){v 9.1w({1u:"1i"},b,a)},6c:q(b,a){v 9.1w({1u:"1P"},b,a)},6b:q(b,a){v 9.1w({1d:"1k"},b,a)},6a:q(b,a){v 9.1w({1d:"1i"},b,a)},7U:q(c,a,b){v 9.1w({1d:a},c,b)},1w:q(d,h,f,g){v 9.1l(q(){u c=6(9).33(":1y"),2z=6.5v(h,f,g),5u=9;E(u p T d)7(d[p]=="1i"&&c||d[p]=="1k"&&!c)v 6.14(2z.1n)&&2z.1n.O(9);9.2i=6.1f({},d);6.F(d,q(a,b){u e=17 6.2A(5u,2z,a);7(b.18==3x)e.2U(e.1O(),b);B e[b=="1P"?c?"1k":"1i":b](d)})})},1l:q(a,b){7(!b){b=a;a="2A"}v 9.F(q(){7(!9.1l)9.1l={};7(!9.1l[a])9.1l[a]=[];9.1l[a].R(b);7(9.1l[a].C==1)b.O(9)})}});6.1f({5v:q(b,a,c){u d=b&&b.18==65?b:{1n:c||!c&&a||6.14(b)&&b,1F:b,2u:c&&a||a&&a.18!=3S&&a||(6.2u.4j?"4j":"5w")};d.1F=(d.1F&&d.1F.18==3x?d.1F:{63:61,60:5d}[d.1F])||89;d.2M=d.1n;d.1n=q(){6.5N(9,"2A");7(6.14(d.2M))d.2M.O(9)};v d},2u:{5w:q(p,n,b,a){v b+a*p},4j:q(p,n,b,a){v((-5H.5X(p*5H.5W)/2)+0.5)*a+b}},1l:{},5N:q(b,a){a=a||"2A";7(b.1l&&b.1l[a]){b.1l[a].4f();u f=b.1l[a][0];7(f)f.O(b)}},3y:[],2A:q(h,e,j){u z=9;u y=h.Y;7(j=="1u"||j=="28"){u f=6.1c(h,"15");u g=y.4u;y.4u="1y"}z.a=q(){7(e.3A)e.3A.O(h,[z.2l]);7(j=="1d")6.1b(y,"1d",z.2l);B{y[j]=8m(z.2l)+"4p";y.15="2j"}};z.5V=q(){v 34(6.1c(h,j))};z.1O=q(){u r=34(6.2q(h,j));v r&&r>-8l?r:z.5V()};z.2U=q(c,b){z.4s=(17 5T()).5S();z.2l=c;z.a();6.3y.R(q(){v z.3A(c,b)});7(6.3y.C==1){u d=3l(q(){u a=6.3y;E(u i=0;ie.1F+z.4s){z.2l=c;z.a();7(h.2i)h.2i[j]=K;u b=K;E(u i T h.2i)7(h.2i[i]!==K)b=M;7(b){7(f!=H){y.4u=g;y.15=f;7(6.1c(h,"15")=="1G")y.15="2j"}7(e.1i)y.15="1G";7(e.1i||e.1k)E(u p T h.2i)6.1b(y,p,h.22[p])}7(b&&6.14(e.1n))e.1n.O(h);v M}B{u n=t-9.4s;u p=n/e.1F;z.2l=6.2u[e.2u](p,n,a,(c-a),e.1F);z.a()}v K}}})}',62,524,'||||||jQuery|if||this|||||||||||||||||function||||var|return||||||else|length||for|each|type|null|indexOf|undefined|true|parentNode|false|browser|apply|document|nodeName|push|event|in|global|className|data||style|||fn|window||isFunction|display|test|new|constructor|events|firstChild|attr|css|opacity|typeof|extend|arguments|msie|hide|filter|show|queue|mergeNum|complete|replace|handle|while|nodeType|table|trigger|height|string|animate|tbody|hidden|div|add|remove|url|ready|break|duration|none|find|_|button|tb|get|guid|target|cur|toggle|exec|merge|toUpperCase|styleFloat|nextSibling|ret|pushStack|load|status|args|timeout|nth|orig|Array|id|al|innerHTML|success|width|error|done|rl|try|preventDefault|encodeURIComponent|oldblock|safari|catch|curAnim|block|opera|now|index||readyList|trim|curCSS|src|inArray|value|easing|ifModified|multiFilter|grep|select|opt|fx|disabled|param|checked|end|domManip|substr|selected|chars|insertBefore|makeArray|stopPropagation|old|ownerDocument|last|first|split|text|childNodes|toLowerCase|custom|empty|async|child|clean|getAttribute|el|String|ajaxSettings|is|parseFloat|form|responseText|ajax|lastModified|readyState|script|handleError|isReady|defaultView|bind|which|mozilla|map|position|delete|tr|setInterval|append|static|RegExp|oWidth|oHeight|cloneNode|toString|removeChild|float|has|match|Number|timers|unload|step|jquery|unbind|call|getResponseHeader|num|active|globalEval|dataType|props|html|evalScripts|GET|setRequestHeader|lastToggle|clearInterval|Modified|safariTimer|Function|00|currentStyle|getElementsByTagName|__ie_init|mouseover|handleHover|init|getComputedStyle|one|relatedTarget|isXMLDoc|fix|removeEventListener|handler|addEventListener|triggered|visibility|eval|nodeIndex|radio|classFilter|getElementById|shift|visible|appendChild|documentElement|swing|fromElement|submit|file|swap|expr|px|sibling|parents|startTime|previousSibling|overflow|ol|body|tagName|execScript|xml|setArray|httpNotModified|fl|prop|ajaxStop|ajaxSend|XMLHttpRequest|ActiveXObject|href|alpha|contentType|json|processData|ajaxSuccess|ajaxError|ajaxComplete|100|ajaxStart|getScript|notmodified|colgroup|not|POST|slice|fieldset|httpData|Last|setTimeout|getPropertyValue|DOMContentLoaded|mouseout|createElement|httpSuccess|click|ctrlKey|metaKey|charCode|scrollTop|unique|200|beforeSend|clientX|webkit|pageX|srcElement|appendTo|unshift|prevObject|on|after|_toggle|before|304|removeAttr|prepend|cssFloat|self|speed|linear|parse|input|reset|image|password|checkbox|textContent|parent|lastChild|odd|Math|scrollLeft|even|join|contains|gt|dequeue|keyCode|lt|eq|nodeValue|getTime|Date|zoom|max|PI|cos|font|maxLength|fast|600|maxlength|slow|readOnly|Object|readonly|createTextNode|class|htmlFor|fadeOut|fadeIn|slideToggle|CSS1Compat|slideUp|slideDown|compatMode|boxModel|compatible|name|responseXML|content|300|ie|noConflict|ra|send|it|abort|rv|version|userAgent|navigator|concat|With|Requested|GMT|1970|Jan|01|Thu|Since|reverse|If|Type|Content|array|XMLHTTP|ig|Microsoft|urlencoded|www|setAttribute|application|NaN|val|ajaxTimeout|post|getJSON|getAttributeNode|getIfModified|ajaxSetup|method|FORM|action|options|serialize|col|th|td|loadIfModified|do|colg|open|loaded|tfoot|thead|onreadystatechange|defer|ipt|leg|scr|write|keyup|keypress|keydown|change|mousemove|mouseup|mousedown|dblclick|scroll|resize|focus|blur|frames|hover|clone|location|protocol|clientY|pageY|toElement|clientWidth|clientHeight|cancelBubble|relative|returnValue|left|detachEvent|right|absolute|attachEvent|substring|offsetWidth|object|offsetHeight|continue|fadeTo|Width|border|padding|size|uFFFF|Left|u0128|Right|Bottom|textarea|Top|enabled|innerText|only|400|toggleClass|removeClass|wrap|addClass|removeAttribute|insertAfter|prependTo|children|line|splice|siblings|10000|parseInt|prev|next|weight|1px|prototype'.split('|'),0,{})) \ No newline at end of file diff --git a/templates/history.tmpl b/templates/history.tmpl index 160680b0b79..875f6891634 100644 --- a/templates/history.tmpl +++ b/templates/history.tmpl @@ -59,13 +59,13 @@ }) }) // Collapse all - q("#top-links").append( " | " ).append( q("collapse all").click( function() { + q("#top-links").append( "| " ).append( q("collapse all").click( function() { q( "div.historyItemBody:visible" ).each( function() { if ( q.browser.mozilla ) { q(this).find( "pre.peek" ).css( "overflow", "hidden" ); - q(this).slideUp( "fast" ); } + q(this).slideUp( "fast" ); }) state.removeAll().save(); })) diff --git a/templates/tool_menu.tmpl b/templates/tool_menu.tmpl index 628a85ece5d..e3280812582 100644 --- a/templates/tool_menu.tmpl +++ b/templates/tool_menu.tmpl @@ -21,10 +21,10 @@ if ( body.is( ":hidden" ) ) { if ( last_expanded ) last_expanded.slideUp( "fast" ); last_expanded = body; - body.slideDown(); + body.slideDown( "fast" ); } else { - body.slideUp(); + body.slideUp( "fast" ); last_expanded = null; } });