From e1e631a04440c0d9ab6580ea1593286072fa7ef5 Mon Sep 17 00:00:00 2001
From: John Resig <jeresig@gmail.com>
Date: Sun, 14 Jan 2007 07:17:41 +0000
Subject: [PATCH] Removed a bunch more bytes from the total file size.

---
 src/jquery/jquery.js     |   26 +++++++++++++-------------
 src/selector/selector.js |   42 ++++++++++++++++++++----------------------
 2 files changed, 33 insertions(+), 35 deletions(-)

diff --git a/src/jquery/jquery.js b/src/jquery/jquery.js
index db65cfb..8c27b42 100644
--- a/src/jquery/jquery.js
+++ b/src/jquery/jquery.js
@@ -33,7 +33,7 @@ var jQuery = function(a,c) {
 	// HANDLE: $(function)
 	// Shortcut for document ready
 	// Safari reports typeof on DOM NodeLists as a function
-	if ( isFunction(a) && !a.nodeType && a[0] == undefined )
+	if ( jQuery.isFunction(a) && !a.nodeType && a[0] == undefined )
 		return new jQuery(document)[ jQuery.fn.ready ? "ready" : "load" ]( a );
 	
 	// Handle HTML strings
@@ -548,7 +548,7 @@ jQuery.fn = jQuery.prototype = {
 			"textContent" : "innerText";
 			
 		return e == undefined ?
-			jQuery.map(this, function(a){ return a[ type ]; }).join('') :
+			jQuery.map(this, function(a){ return a[ type ]; }).join("") :
 			this.each(function(){ this[ type ] = e; });
 	},
 
@@ -864,7 +864,7 @@ jQuery.fn = jQuery.prototype = {
 	 */
 	filter: function(t) {
 		return this.pushStack(
-			isFunction( t.constructor ) &&
+			jQuery.isFunction( t ) &&
 			jQuery.grep(this, function(el, index){
 				return t.apply(el, [index])
 			}) ||
@@ -1257,7 +1257,7 @@ jQuery.extend({
 	
 	prop: function(elem, value, type){
 			// Handle executable functions
-			if ( isFunction( value ) )
+			if ( jQuery.isFunction( value ) )
 				return value.call( elem );
 
 			// Handle passing in a number to a CSS property
@@ -1281,7 +1281,7 @@ jQuery.extend({
 			elem.className = c ?
 				jQuery.grep( elem.className.split(/\s+/), function(cur){
 					return !jQuery.className.has( c, cur );	
-				}).join(' ') : "";
+				}).join(" ") : "";
 		},
 
 		// internal only, use is(".class")
@@ -1348,8 +1348,8 @@ jQuery.extend({
 	curCSS: function(elem, prop, force) {
 		var ret;
 		
-		if (prop == 'opacity' && jQuery.browser.msie)
-			return jQuery.attr(elem.style, 'opacity');
+		if (prop == "opacity" && jQuery.browser.msie)
+			return jQuery.attr(elem.style, "opacity");
 			
 		if (prop == "float" || prop == "cssFloat")
 		    prop = jQuery.browser.msie ? "styleFloat" : "cssFloat";
@@ -1367,12 +1367,12 @@ jQuery.extend({
 
 			if ( cur )
 				ret = cur.getPropertyValue(prop);
-			else if ( prop == 'display' )
-				ret = 'none';
+			else if ( prop == "display" )
+				ret = "none";
 			else
-				jQuery.swap(elem, { display: 'block' }, function() {
-				    var c = document.defaultView.getComputedStyle(this, '');
-				    ret = c && c.getPropertyValue(prop) || '';
+				jQuery.swap(elem, { display: "block" }, function() {
+				    var c = document.defaultView.getComputedStyle(this, "");
+				    ret = c && c.getPropertyValue(prop) || "";
 				});
 
 		} else if (elem.currentStyle) {
@@ -1493,7 +1493,7 @@ jQuery.extend({
 			if ( value != undefined ) elem[fix[name]] = value;
 			return elem[fix[name]];
 
-		} else if ( value == undefined && jQuery.browser.msie && elem.nodeName && elem.nodeName.toUpperCase() == 'FORM' && (name == 'action' || name == 'method') )
+		} else if ( value == undefined && jQuery.browser.msie && elem.nodeName && elem.nodeName.toUpperCase() == "FORM" && (name == "action" || name == "method") )
 			return elem.getAttributeNode(name).nodeValue;
 
 		// IE elem.getAttribute passes even for style
diff --git a/src/selector/selector.js b/src/selector/selector.js
index 867bc4e..1f451c9 100644
--- a/src/selector/selector.js
+++ b/src/selector/selector.js
@@ -1,6 +1,6 @@
 jQuery.extend({
 	expr: {
-		"": "m[2]== '*'||a.nodeName.toUpperCase()==m[2].toUpperCase()",
+		"": "m[2]=='*'||a.nodeName.toUpperCase()==m[2].toUpperCase()",
 		"#": "a.getAttribute('id')==m[2]",
 		":": {
 			// Position Checks
@@ -27,14 +27,14 @@ jQuery.extend({
 			contains: "jQuery.fn.text.apply([a]).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: '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"',
 
 			// Form attributes
 			enabled: "!a.disabled",
 			disabled: "a.disabled",
 			checked: "a.checked",
-			selected: "a.selected || jQuery.attr(a, 'selected')",
+			selected: "a.selected||jQuery.attr(a,'selected')",
 
 			// Form elements
 			text: "a.type=='text'",
@@ -45,16 +45,16 @@ jQuery.extend({
 			submit: "a.type=='submit'",
 			image: "a.type=='image'",
 			reset: "a.type=='reset'",
-			button: "a.type=='button'||a.nodeName=='BUTTON'",
+			button: 'a.type=="button"||a.nodeName=="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&&!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]];
@@ -67,23 +67,23 @@ jQuery.extend({
 	// The regular expressions that power the parsing engine
 	parse: [
 		// Match: [@value='test'], [@foo]
-		"\\[ *(@)S *([!*$^=]*) *('?\"?)(.*?)\\4 *\\]",
+		/^\[ *(@)([a-z0-9_-]*) *([!*$^=]*) *('?"?)(.*?)\4 *\]/i,
 
 		// Match: [div], [div p]
-		"(\\[)\\s*(.*?(\\[.*?\\])?[^[]*?)\\s*\\]",
+		/^(\[)\s*(.*?(\[.*?\])?[^[]*?)\s*\]/,
 
 		// Match: :contains('foo')
-		"(:)S\\(\"?'?(.*?(\\(.*?\\))?[^(]*?)\"?'?\\)",
+		/^(:)([a-z0-9_-]*)\("?'?(.*?(\(.*?\))?[^(]*?)"?'?\)/i,
 
 		// Match: :even, :last-chlid
-		"([:.#]*)S"
+		/^([:.#]*)([a-z0-9_-]*)/i
 	],
 
 	token: [
-		"\\.\\.|/\\.\\.", "a.parentNode",
-		">|/", "jQuery.sibling(a.firstChild)",
-		"\\+", "jQuery.nth(a,2,'nextSibling')",
-		"~", function(a){
+		/^(\/?\.\.)/, "a.parentNode",
+		/^(>|\/)/, "jQuery.sibling(a.firstChild)",
+		/^(\+)/, "jQuery.nth(a,2,'nextSibling')",
+		/^(~)/, function(a){
 			var s = jQuery.sibling(a.parentNode.firstChild);
 			return s.slice(0, jQuery.inArray(a,s));
 		}
@@ -166,7 +166,7 @@ jQuery.extend({
 				for ( var i = 0; i < jQuery.token.length; i += 2 ) {
 					// Attempt to match each, individual, token in
 					// the specified order
-					var re = new RegExp("^(" + jQuery.token[i] + ")");
+					var re = jQuery.token[i];
 					var m = re.exec(t);
 
 					// If the token match was found
@@ -306,9 +306,7 @@ jQuery.extend({
 		
 				// Look for, and replace, string-like sequences
 				// and finally build a regexp out of it
-				var re = new RegExp(
-					"^" + p[i].replace("S", "([a-z*_-][a-z0-9_-]*)"), "i" );
-
+				var re = p[i];
 				var m = re.exec( t );
 
 				if ( m ) {
@@ -334,7 +332,7 @@ jQuery.extend({
 
 				var re = new RegExp("(^|\\s)" + m[2] + "(\\s|$)");
 				r = jQuery.grep( r, function(e){
-					return re.test(e.className || '');
+					return re.test(e.className || "");
 				}, not);
 
 			// Otherwise, find the expression to execute
@@ -366,7 +364,7 @@ jQuery.extend({
 				if ( token == "." )
 					add = s.className && re.test(s.className);
 				else if ( token == "#" )
-					add = s.getAttribute('id') == name;
+					add = s.getAttribute("id") == name;
 	
 				if ( add )
 					r.push( s );
-- 
1.7.10.4