to your HTML
Add class="sortable" to any table you'd like to make sortable
Click on the headers to sort
Thanks to many, many people for contributions and suggestions.
Licenced as X11: http://www.kryogenix.org/code/browser/licence.html
This basically means: do what you want with it.
*/
var stIsIE = /*@cc_on!@*/false;
sorttable = {
init: function() {
// quit if this function has already been called
if (arguments.callee.done) return;
// flag this function so we don't do the same thing twice
arguments.callee.done = true;
// kill the timer
if (_timer) clearInterval(_timer);
if (!document.createElement || !document.getElementsByTagName) return;
sorttable.DATE_RE = /^(\d\d?)[\/\.-](\d\d?)[\/\.-]((\d\d)?\d\d)$/;
forEach(document.getElementsByTagName('table'), function(table) {
if (table.className.search(/\bsortable\b/) != -1) {
sorttable.makeSortable(table);
}
});
},
makeSortable: function(table) {
if (table.getElementsByTagName('thead').length == 0) {
// table doesn't have a tHead. Since it should have, create one and
// put the first table row in it.
the = document.createElement('thead');
the.appendChild(table.rows[0]);
table.insertBefore(the,table.firstChild);
}
// Safari doesn't support table.tHead, sigh
if (table.tHead == null) table.tHead = table.getElementsByTagName('thead')[0];
if (table.tHead.rows.length != 1) return; // can't cope with two header rows
// Sorttable v1 put rows with a class of "sortbottom" at the bottom (as
// "total" rows, for example). This is B&R, since what you're supposed
// to do is put them in a tfoot. So, if there are sortbottom rows,
// for backwards compatibility, move them to tfoot (creating it if needed).
sortbottomrows = [];
for (var i=0; i

You know, it's bad enough that we see Christmas decorations start going up in some stores before the Fourth of July, but now, some big retailers just can't wait for dessert after Thanksgiving before trying to rack up more sales:

Retailers this year will open for Black Friday sales early enough to make shoppers choose between hot deals and hot apple pie after Thanksgiving dinner.

From Toys R Us to Target to Walmart, retailers are opening as early as 8 p.m. on Thanksgiving night.

Toys R Us announced Monday that its Black Friday will begin on Nov. 22 when doors open at 8 p.m, an hour earlier than last year.

To entice shoppers to line up even earlier, the toy retailer will give the first 200 customers at each location a free "Great Big Goody Bag" full of stocking-stuffers up to $30 in value.

"You can have your dinner, then come to our store. We all know that everybody gets burned out on turkey and football," says Troy Rice, chief of store operations, who expects stores to have lines from 500 to more than 1,000 people by the time doors open.

We think this is just a classic case of shifting consumer behavior, much like how sales tax holidays actually work. Here, instead of racking up more sales, as they might hope, U.S. retailers joining in this scheme are basically trading the timing of when their sales occur. It's not like consumers will have any more money to spend on an extra four hours of shopping....

Taking the Toys R Us promotion as an example, lining up to join in a bizarre shopping frenzy for $30 worth of "stocking-stuffers" (at Toys R Us' inflated "regular" prices - we suspect their actual cost for the items is around $10) some four hours earlier than retail tradition would dictate doesn't seem like that great a gain for the American consumer.

In the modern world, for those who just can't wait for the Black Friday shopping experience, there's no need to wait until 8:00 PM to get in on those Black Friday deals.... Or even to leave home....

The best part is that if enough consumers take advantage of the online alternatives, the other retailers looking to bust out of Black Friday will have to offer much, much better deals to consumers to try to draw them into their stores. And if doing that keeps their bottom line from going the way they might hope, they might be forced to stop the Black Friday bleedout because their sales don't justify the higher costs of having to be open longer.

Welcome to the blogosphere's toolchest! Here, unlike other blogs dedicated to analyzing current events, we create easy-to-use, simple tools to do the math related to them so you can get in on the action too! If you would like to learn more about these tools, or if you would like to contribute ideas to develop for this blog, please e-mail us at:

Materials on this website are published by Political Calculations to provide visitors with free information and insights regarding the incentives created by the laws and policies described. However, this website is not designed for the purpose of providing legal, medical or financial advice to individuals. Visitors should not rely upon information on this website as a substitute for personal legal, medical or financial advice. While we make every effort to provide accurate website information, laws can change and inaccuracies happen despite our best efforts. If you have an individual problem, you should seek advice from a licensed professional in your state, i.e., by a competent authority with specialized knowledge who can apply it to the particular circumstances of your case.