$().ready(initDocumentTable);

var fgOptions = {
	dataType: 'json',
	sortname: "documentName",
	sortorder: "asc",
	usepager: true,
	singleSelect: false,
	title: false,
	useRp: true,
	rp: 10,
	rpOptions: [10,25,50,100,250],
	showTableToggleBtn: false,
	width: 922,
	height: "auto",
	resizable: false,
	onSubmit: addSearchData,
	onSuccess: updateHeader
};

var fieldColumns = ['RegNum', 'documentName', 'authorityName', 'categoryName', 'enactmentDateNumeric', 'description', 'download'];
var sortFields = [0, 2, 3, 4];

function sortableField(f) {
	var l = sortFields.length;
	for (var i = 0; i < l; ++i) {
		if (sortFields[i] == f) {
			return true;
		}
	}
	return false;
}

function initDocumentTable() {
	fgOptions.colModel = [];

	for (var i = 0; i < fieldColumns.length; ++i) {
		if (fieldWidths[i] == 0) continue;

		var column = {};
		column.display = fieldNames[i];
		column.name = fieldColumns[i];
		column.width = fieldWidths[i];
		column.sortable = sortableField(i);
		column.align = 'left';

		fgOptions.colModel.push(column);
	}

	$("#flex1").flexigrid(fgOptions);
}

function addSearchData() {
	var dt = $('#searchForm').serializeArray();
	$("#flex1").flexOptions({params: dt});
	return true;
}

function updateHeader() {
	if (this.total == 0) {
		$('#resultTotal').html(this.total);
		$('#resultRows').html(this.total);
		return;
	}

	var lastRow = Math.min(this.page * this.rp, this.total);
	var resultRows = ((this.page - 1) * this.rp + 1) + '-' + lastRow;

	$('#resultTotal').html(this.total);
	$('#resultRows').html(resultRows);
}

