jQuery.tablesorter.defaults.widgets.push('saveOrder');
jQuery.tablesorter.addWidget({
	id: "saveOrder",
	format: function(table){
		var cookieName = table.config.cookieName || 'tablesorterOrder';
		if(!table.config.orderInitialized){
			table.config.orderInitialized = true;
			var state = (jQuery.parseJSON(jQuery.cookie(cookieName), true) || [[0,0]]);
			jQuery(table).trigger('sorton',[state]);
		}
		jQuery.cookie(cookieName, jQuery.toJSON(table.config.sortList),{path:'/'});
	}
});

jQuery.tablesorter.addParser({
	id: "roomType",
	is: function(s) {
		return false;
	},
	format: function(s) {
		return s
			.replace(/ワンルーム/,0)
			.replace(/1K/,1)
			.replace(/1DK/,2)
			.replace(/1LDK/,3)
			.replace(/2K/,4)
			.replace(/2DK/,5)
			.replace(/2LDK/,6)
			.replace(/3K/,7)
			.replace(/3DK/,8)
			.replace(/3LDK/,9);
	},
	type: "numeric"
});

jQuery(function(){
	var type1 = {
		headers:{
			0:{sorter:'currency'},
			1:{sorter:'roomType'},
			2:{sorter:'currency'},
			3:{sorter:'currency'},
			4:{sorter:'currency'},
			5:{sorter:'currency'},
			6:{sorter:'currency'}
		},
		textExtraction:'complex',
		widgets:['zebra','saveOrder'],
		cookieName:"sortOrderType1"
	};

	var type2 = {
		headers:{
			0:{sorter:'currency'},
			1:{sorter:'roomType'},
			2:{sorter:'currency'}
		},
		widgets:['zebra','saveOrder'],
		cookieName:"sortOrderType2"
	};

	jQuery(".sorttype1").tablesorter(type1).tablesorterPager();
	jQuery(".sorttype2").tablesorter(type2).tablesorterPager();
});