<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -158,22 +158,20 @@ HtmlTable = Class.refactor(HtmlTable, {
 		var data = Array.map(this.body.rows, function(row, i) {
 			var value = parser.convert.call(document.id(row.cells[index]));
 
-			if (parser.number || $type(value) == 'number') {
-				value = String(value).replace(/[^\d]/, '');
-				value = '00000000000000000000000000000000'.substr(0, 32 - value.length).concat(value);
-			}
-
 			return {
 				position: i,
 				value: value,
 				toString:  function() {
-					return value;
+					return value.toString();
 				}
 			};
 		}, this);
-
 		data.reverse(true);
-		data.sort();
+
+		data.sort(function(a, b){
+			if (a.value === b.value) return 0;
+			else return a.value &gt; b.value ? 1 : -1;
+		});
 
 		if (!this.sorted.reverse) data.reverse(true);
 
@@ -264,21 +262,21 @@ HtmlTable.Parsers = new Hash({
 	'numberLax': {
 		match: /^[^\d]+\d+$/,
 		convert: function() {
-			return this.get('text').replace(/[^0-9]/, '').toInt();
+			return this.get('text').replace(/[^-?^0-9]/, '').toInt();
 		},
 		number: true
 	},
 	'float': {
 		match: /^[\d]+\.[\d]+/,
 		convert: function() {
-			return this.get('text').replace(/[^\d.]/, '').toFloat();
+			return this.get('text').replace(/[^-?^\d.]/, '').toFloat();
 		},
 		number: true
 	},
 	'floatLax': {
 		match: /^[^\d]+[\d]+\.[\d]+$/,
 		convert: function() {
-			return this.get('text').replace(/[^\d.]/, '');
+			return this.get('text').replace(/[^-?^\d.]/, '');
 		},
 		number: true
 	},</diff>
      <filename>Source/Interface/HtmlTable.Sort.js</filename>
    </modified>
    <modified>
      <diff>@@ -294,7 +294,7 @@
 		},
 
 		&quot;HtmlTable.Sort&quot;: {
-			&quot;deps&quot;:[&quot;HtmlTable&quot;, &quot;Element.Delegation&quot;, &quot;Hash&quot;, &quot;Date&quot;, &quot;Class.Refactor&quot;],
+			&quot;deps&quot;:[&quot;HtmlTable&quot;, &quot;Element.Delegation&quot;, &quot;Hash&quot;, &quot;Date&quot;, &quot;Class.Refactor&quot;, &quot;String.Extras&quot;],
 			&quot;desc&quot;:&quot;Adds the ability to sort the columns of a HtmlTable.Zebra instance.&quot;
 		},
 </diff>
      <filename>Source/scripts.json</filename>
    </modified>
    <modified>
      <diff>@@ -15,6 +15,50 @@
 				t.push(['plumbs', 'purple']);
 				t.push(['grapes', 'green']);
 			}
+		},
+		{
+			title: &quot;HtmlTable.Sort - various data types&quot;,
+			description: &quot;Loads a striped table of data that can be sorted containing various data types.&quot;,
+			verify: &quot;Do you see the table? Can you sort it by clicking the headers? Do they sort properly?&quot;,
+			before: function(){
+
+				var data = [
+					     {
+						     &quot;id&quot;:56,
+						     &quot;timezone&quot;:&quot;Europe/Amsterdam&quot;,
+						     &quot;name&quot;:&quot;Amsterdam&quot;,
+						     &quot;geolat&quot;:52.3789,
+						     &quot;geolong&quot;:4.90067
+						 },
+						 {
+							 &quot;id&quot;:46,
+							 &quot;timezone&quot;:&quot;America/New_York&quot;,
+							 &quot;name&quot;:&quot;Atlanta&quot;,
+							 &quot;geolat&quot;:33.7525,
+							 &quot;geolong&quot;:-84.3888
+						 },{&quot;id&quot;:42,&quot;timezone&quot;:&quot;America/Chicago&quot;,&quot;name&quot;:&quot;Austin&quot;,&quot;geolat&quot;:30.2669,&quot;geolong&quot;:-97.7428},{&quot;id&quot;:63,&quot;timezone&quot;:&quot;America/New_York&quot;,&quot;name&quot;:&quot;Baltimore&quot;,&quot;geolat&quot;:39.294255,&quot;geolong&quot;:-76.614275},{&quot;id&quot;:24,&quot;timezone&quot;:&quot;America/New_York&quot;,&quot;name&quot;:&quot;Boston&quot;,&quot;geolat&quot;:42.3583,&quot;geolong&quot;:-71.0603},{&quot;id&quot;:32,&quot;timezone&quot;:&quot;America/Chicago&quot;,&quot;name&quot;:&quot;Chicago&quot;,&quot;geolat&quot;:41.8858,&quot;geolong&quot;:-87.6181},{&quot;id&quot;:64,&quot;timezone&quot;:&quot;America/New_York&quot;,&quot;name&quot;:&quot;Cleveland&quot;,&quot;geolat&quot;:41.499819,&quot;geolong&quot;:-81.693716},{&quot;id&quot;:43,&quot;timezone&quot;:&quot;America/Chicago&quot;,&quot;name&quot;:&quot;Dallas / Fort Worth&quot;,&quot;geolat&quot;:32.7887,&quot;geolong&quot;:-96.7676},{&quot;id&quot;:25,&quot;timezone&quot;:&quot;America/Denver&quot;,&quot;name&quot;:&quot;Denver&quot;,&quot;geolat&quot;:39.734,&quot;geolong&quot;:-105.026},{&quot;id&quot;:47,&quot;timezone&quot;:&quot;America/New_York&quot;,&quot;name&quot;:&quot;Detroit&quot;,&quot;geolat&quot;:42.3333,&quot;geolong&quot;:-83.0484},{&quot;id&quot;:48,&quot;timezone&quot;:&quot;America/Chicago&quot;,&quot;name&quot;:&quot;Houston&quot;,&quot;geolat&quot;:29.7594,&quot;geolong&quot;:-95.3594},{&quot;id&quot;:66,&quot;timezone&quot;:&quot;America/New_York&quot;,&quot;name&quot;:&quot;Indianapolis&quot;,&quot;geolat&quot;:39.767016,&quot;geolong&quot;:-86.156255},{&quot;id&quot;:65,&quot;timezone&quot;:&quot;America/Chicago&quot;,&quot;name&quot;:&quot;Kansas City&quot;,&quot;geolat&quot;:39.090431,&quot;geolong&quot;:-94.583644},{&quot;id&quot;:49,&quot;timezone&quot;:&quot;America/Los_Angeles&quot;,&quot;name&quot;:&quot;Las Vegas&quot;,&quot;geolat&quot;:36.1721,&quot;geolong&quot;:-115.122},{&quot;id&quot;:61,&quot;timezone&quot;:&quot;Europe/London&quot;,&quot;name&quot;:&quot;London&quot;,&quot;geolat&quot;:51.50714,&quot;geolong&quot;:-0.126171},{&quot;id&quot;:34,&quot;timezone&quot;:&quot;America/Los_Angeles&quot;,&quot;name&quot;:&quot;Los Angeles&quot;,&quot;geolat&quot;:34.0443,&quot;geolong&quot;:-118.251},{&quot;id&quot;:39,&quot;timezone&quot;:&quot;America/New_York&quot;,&quot;name&quot;:&quot;Miami&quot;,&quot;geolat&quot;:25.7323,&quot;geolong&quot;:-80.2436},{&quot;id&quot;:67,&quot;timezone&quot;:&quot;America/Chicago&quot;,&quot;name&quot;:&quot;Milwaukee&quot;,&quot;geolat&quot;:43.038902,&quot;geolong&quot;:-87.906474},{&quot;id&quot;:51,&quot;timezone&quot;:&quot;America/Chicago&quot;,&quot;name&quot;:&quot;Minneapolis / St. Paul&quot;,&quot;geolat&quot;:44.9609,&quot;geolong&quot;:-93.2642},{&quot;id&quot;:70,&quot;timezone&quot;:&quot;America/New_York&quot;,&quot;name&quot;:&quot;Montreal&quot;,&quot;geolat&quot;:45.545447,&quot;geolong&quot;:-73.639076},{&quot;id&quot;:52,&quot;timezone&quot;:&quot;America/Chicago&quot;,&quot;name&quot;:&quot;New Orleans&quot;,&quot;geolat&quot;:29.9544,&quot;geolong&quot;:-90.075},{&quot;id&quot;:22,&quot;timezone&quot;:&quot;America/New_York&quot;,&quot;name&quot;:&quot;New York City&quot;,&quot;geolat&quot;:40.7255,&quot;geolong&quot;:-73.9983},{&quot;id&quot;:72,&quot;timezone&quot;:&quot;America/Chicago&quot;,&quot;name&quot;:&quot;Omaha&quot;,&quot;geolat&quot;:41.254006,&quot;geolong&quot;:-95.999258},{&quot;id&quot;:33,&quot;timezone&quot;:&quot;America/New_York&quot;,&quot;name&quot;:&quot;Philadelphia&quot;,&quot;geolat&quot;:39.8694,&quot;geolong&quot;:-75.2731},{&quot;id&quot;:53,&quot;timezone&quot;:&quot;America/Phoenix&quot;,&quot;name&quot;:&quot;Phoenix&quot;,&quot;geolat&quot;:33.4483,&quot;geolong&quot;:-112.073},{&quot;id&quot;:60,&quot;timezone&quot;:&quot;America/New_York&quot;,&quot;name&quot;:&quot;Pittsburgh&quot;,&quot;geolat&quot;:40.4405,&quot;geolong&quot;:-79.9961},{&quot;id&quot;:37,&quot;timezone&quot;:&quot;America/Los_Angeles&quot;,&quot;name&quot;:&quot;Portland&quot;,&quot;geolat&quot;:45.527,&quot;geolong&quot;:-122.685},{&quot;id&quot;:57,&quot;timezone&quot;:&quot;America/New_York&quot;,&quot;name&quot;:&quot;Raleigh / Durham&quot;,&quot;geolat&quot;:35.7797,&quot;geolong&quot;:-78.6434},{&quot;id&quot;:73,&quot;timezone&quot;:&quot;America/New_York&quot;,&quot;name&quot;:&quot;Richmond&quot;,&quot;geolat&quot;:37.542979,&quot;geolong&quot;:-77.469092},{&quot;id&quot;:71,&quot;timezone&quot;:&quot;America/Denver&quot;,&quot;name&quot;:&quot;Salt Lake City&quot;,&quot;geolat&quot;:40.760779,&quot;geolong&quot;:-111.891047},{&quot;id&quot;:68,&quot;timezone&quot;:&quot;America/Chicago&quot;,&quot;name&quot;:&quot;San Antonio&quot;,&quot;geolat&quot;:29.424122,&quot;geolong&quot;:-98.493628},{&quot;id&quot;:38,&quot;timezone&quot;:&quot;America/Los_Angeles&quot;,&quot;name&quot;:&quot;San Diego&quot;,&quot;geolat&quot;:32.7153,&quot;geolong&quot;:-117.156},{&quot;id&quot;:23,&quot;timezone&quot;:&quot;America/Los_Angeles&quot;,&quot;name&quot;:&quot;San Francisco&quot;,&quot;geolat&quot;:37.7587,&quot;geolong&quot;:-122.433},{&quot;id&quot;:41,&quot;timezone&quot;:&quot;America/Los_Angeles&quot;,&quot;name&quot;:&quot;Seattle&quot;,&quot;geolat&quot;:47.6036,&quot;geolong&quot;:-122.326},{&quot;id&quot;:62,&quot;timezone&quot;:&quot;America/Chicago&quot;,&quot;name&quot;:&quot;St. Louis&quot;,&quot;geolat&quot;:38.627491,&quot;geolong&quot;:-90.198417},{&quot;id&quot;:69,&quot;timezone&quot;:&quot;America/New_York&quot;,&quot;name&quot;:&quot;Toronto&quot;,&quot;geolat&quot;:43.670233,&quot;geolong&quot;:-79.386755},{&quot;id&quot;:59,&quot;timezone&quot;:&quot;America/Vancouver&quot;,&quot;name&quot;:&quot;Vancouver&quot;,&quot;geolat&quot;:49.259515,&quot;geolong&quot;:-123.103867},{&quot;id&quot;:31,&quot;timezone&quot;:&quot;America/New_York&quot;,&quot;name&quot;:&quot;Washington, DC&quot;,&quot;geolat&quot;:38.8964,&quot;geolong&quot;:-77.0447}];
+				var myArray = data.map(function(item){
+					return [item.id, item.name, item.timezone, item.geolat, item.geolong];
+				});
+
+				var myTable = new HtmlTable({
+
+					properties : {
+						border : 1,
+						cellspacing : 0,
+						cellpadding : 5
+					},
+					rows : myArray,
+					headers : ['ID', 'TimeZone', 'Name', 'GEO Latitude', 'GEO Longitude'],
+					classHeadSort : 'sorted-up',
+					classHeadSortRev: 'sorted-down',
+					sortable : true,
+					classSortSpan : 'sort-order',
+					parsers : ['number', 'string', 'string', 'float', 'float']
+
+				});
+				$(myTable).inject(document.body);
+			}
 		}
 	]
 }
\ No newline at end of file</diff>
      <filename>Tests/UserTests/Interface/HtmlTable.Sort.all.js</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>cf4a30c565e8c6ea8da3e0c520ad4c30c2652233</id>
    </parent>
  </parents>
  <author>
    <name>Aaron Newton</name>
    <email>git@clientcide.com</email>
  </author>
  <url>http://github.com/mootools/mootools-more/commit/ee99dc38456539cbc730dd3abbbabd3256bc4394</url>
  <id>ee99dc38456539cbc730dd3abbbabd3256bc4394</id>
  <committed-date>2009-10-26T11:41:19-07:00</committed-date>
  <authored-date>2009-10-26T11:41:19-07:00</authored-date>
  <message>fixes https://mootools.lighthouseapp.com/projects/24057/tickets/162</message>
  <tree>8cb212e71de3185dbf7c2a21292b30ac3aef3e38</tree>
  <committer>
    <name>Aaron Newton</name>
    <email>git@clientcide.com</email>
  </committer>
</commit>
