/* @cc_on _d=document;eval('var document=_d')@ */

new function () {

var list = $("#tbl_body tr");
list.each(function (i, ele) {
	var info = ele.id.split("_");
	var price = (info[1] != "") ? eval(info[1]) : null;
	var haiki = (info[2] != "") ? eval(info[2]) : null;
	var nempi = (info[3] != "") ? eval(info[3]) : null;

	ele.price = price;
	ele.haiki = haiki;
	ele.nempi = nempi;
});

list.asc = function (key) {
	list.sort(function (a, b) {
		var aVal = (a[key] == null) ? 999999999 : eval(a[key]);
		var bVal = (b[key] == null) ? 999999999 : eval(b[key]);

		if (aVal === bVal) {
			return (a.id < b.id) ? -1: 1;
		}

		return (aVal < bVal) ? -1: 1;
	});
}
list.desc = function (key) {
	this.sort(function (a, b) {
		var aVal = (a[key] == null) ? -1 : eval(a[key]);
		var bVal = (b[key] == null) ? -1 : eval(b[key]);

		if (aVal === bVal) {
			return (a.id < b.id) ? -1: 1;
		}

		return (aVal > bVal) ? -1: 1;
	});
}

$("#tbl_head a").click(function (evnt) {
	if (this.className == "on") {
		return;
	}

	var target = evnt.target;

	$("#wait").show();
	$("#dummy").show(2000, function () {
		var type = target.id.split("_")[0];
		var sortName = target.id.split("_")[1];

		list[sortName](type);

		var body = $("#tbl_body");
		body.empty();

		list.each(function (i, ele) {
			var cName = ((i+1) % 2 != 0) ? "odd" : "even";

			ele.className = cName;
			body.append(ele);
		});

		body.find(".sort").removeClass("sort");

		var cName = "td_" + type;
		body.find("."+cName).addClass("sort");

		$("#tbl_head .on").attr("className", "off");
		target.className = "on";

		$("#wait").hide();
		$(this).hide();
	});

});

}();

