var currentPage = 0;
var currentSort = "";
var currentSortOrder = "";
var maxPage;
var defaultTableData;

function parseRecords(xml) {

	if(!xml.getElementsByTagName("records").item(0))
	{
		var msg = "array contents\n";
		for(i=0;i<xml.getElementsByTagName("records").length;i++) { msg += xml.getElementsByTagName("records")[i] + "\n"; }

		//alert(msg);
	}

	with (xml.getElementsByTagName("records").item(0)) {

		page = getAttribute("page")*1;
		maxPerPage = getAttribute('max_per_page');
		startId = maxPerPage*page+1;
		total = getAttribute("total")*1;
		nofields = getAttribute("no_fields");
		maxPage = Math.ceil(total/maxPerPage);
		$("dataStats").innerHTML =
		"Rekordy: " + startId + " - " + (startId+getAttribute("count")*1-1) + " z " + total + " (Strona: " +
		(page+1) + " z " + maxPage + ")";

		$("dataStatsT").innerHTML = $("dataStats").innerHTML;
	}
	$("btnFirst").style.visibility = $("btnPrev").style.visibility = page == 0 ? "hidden" : "visible";
	$("btnLast").style.visibility = $("btnNext").style.visibility = page+1 == maxPage ? "hidden" : "visible";

	$("btnFirstT").style.visibility = $("btnPrevT").style.visibility = page == 0 ? "hidden" : "visible";
	$("btnLastT").style.visibility = $("btnNextT").style.visibility = page+1 == maxPage ? "hidden" : "visible";

	d = $("dataTable");
	for (i = d.rows.length-1; i >= 0; i--)
	d.deleteRow(i);
	record = xml.getElementsByTagName("record");

	result = "";
	for (i = 0; i < record.length; i++) {
		tr = document.createElement("tr");
		td = document.createElement("td");
		td.innerHTML = startId + i;
		//tr.appendChild(td);
		for (j = 0; j < nofields; j++) {
			//alert(j + " - " + nofields)
			td = document.createElement("td");
			td.innerHTML = record[i].childNodes[j].childNodes[0].nodeValue;
			tr.appendChild(td);
			//alert(record[i].childNodes[j].childNodes[0].nodeValue);
		}
		d.appendChild(tr);
	}
	return result;
}

function getRecords() {
    searchPhrasee =  $('searchPhrase').value;
	advAJAX.post({
		url : ajaxGridScript,
		parameters: {
			p: currentPage,
			s: currentSort,
			ord: currentSortOrder,
			producent : getSelected('producent'),
			interfejs : getSelected('interface'),
			rodzaj : getSelected('rodzaj'),
			cap_min : $('cap_min').innerHTML,
			cap_max : $('cap_max').innerHTML,
			buf_min : $('buf_min').innerHTML,
			buf_max : $('buf_max').innerHTML,
			szer_min : $('szer_min').innerHTML,
			szer_max : $('szer_max').innerHTML,
			glos_min : $('glos_min').innerHTML,
			glos_max : $('glos_max').innerHTML,
			obr_min : $('obr_min').innerHTML,
			obr_max : $('obr_max').innerHTML,
			//pobor_idle_min : $('pobor_idle_min').innerHTML,
			//pobor_idle_max : $('pobor_idle_max').innerHTML,
			//pobor_praca_min : $('pobor_praca_min').innerHTML,
			//pobor_praca_max : $('pobor_praca_max').innerHTML,
			mtrans_max : $('mtrans_max').innerHTML,
			mtrans_min : $('mtrans_min').innerHTML,
			talerzy : $('no_disks').value,
			searchPhrase: searchPhrasee,
			search    : '1'
		},
		onInitialization : function() {

			$("dataStats").innerHTML = '<span style="font-weight: bold">Pobieranie danych...</span>';
			$("dataStatsT").innerHTML = '<span style="font-weight: bold">Pobieranie danych...</span>';
			$("btnPrev").style.visibility = "hidden";
			$("btnNext").style.visibility = "hidden";
			$("btnFirst").style.visibility = "hidden";
			$("btnLast").style.visibility = "hidden";
			//$('info').style.display="";
		},
		onSuccess : function(obj) {
			//alert(obj.responseXML);
			//alert('response: '+ obj.responseText);
			hideDivLoading();
			parseRecords(obj.responseXML);
			//$('info').style.display="none";
		}
	});
}

function changeSort(s) {

	if (currentSort == s)
	currentSortOrder = currentSortOrder == "ASC" ? "DESC" : "ASC"; 
	else {
		currentSortOrder = currentSortOrder;
		if (currentSort != "")
		$(currentSort + "Sort").style.fontWeight = "normal";
		$(s + "Sort").style.fontWeight = "bold";
	}
	currentSort = s;
	changePage(0);
}

function getData(s) {

//	if (currentSort == s)
//	currentSortOrder = currentSortOrder == "ASC" ? "DESC" : "ASC"; 
//	else {
//		currentSortOrder = currentSortOrder;
//		if (currentSort != "")
//		$(currentSort + "Sort").style.fontWeight = "normal";
//		$(s + "Sort").style.fontWeight = "bold";
//	}
	currentSort = s;
	changePage(0);
}


function changePage(p) {

	currentPage += p;
	getRecords();
}

function initDynamicTable() {

	if($('LiveGrid'))
	{
		//changeSort(sortBy);
		getData(sortBy);
	}
}
