var currentPage = 0;
var perPage = 20;
var active = 1;
var category = "all";
var currentSort = "d.time";
var currentSortOrder = "DESC";
// heh null'owy strong :-P
var phrase='';
var maxPage;
var defaultTableData;
var sortPerPage;
var formFields=0;

function parseRecords(xml) 
{
	with (xml.getElementsByTagName("records").item(0)) 
	{
//         	page = getAttribute("page")*1;
		currentPage = getAttribute("current_page")*1;
            	maxPerPage = getAttribute("max_per_page");
            	startId = maxPerPage*currentPage+1;
            	total = getAttribute("total")*1;
            	maxPage = Math.ceil(total/maxPerPage);
            	$("dataStats").innerHTML = "Rekordy: " + startId + " - " + (startId+getAttribute("count")*1-1) + " z " + total + " (Strona: " + (currentPage+1) + " z " + maxPage + ")";
        }
        $("btnFirst").style.visibility = $("btnPrev").style.visibility = currentPage == 0 ? "hidden" : "visible";
        $("btnLast").style.visibility = $("btnNext").style.visibility = currentPage+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");
// 	    	colorizeButtonRows(td,i);
//             	td.innerHTML = startId+i;
//             	tr.appendChild(td);
            
		// opis
                td = document.createElement("td");
 		//colorizeRows(td,i);
		td.className="gridRow1";
		td.innerHTML = "<a href=\"./opisy,one,"+record[i].childNodes[0].childNodes[0].nodeValue+".html\">"+record[i].childNodes[2].childNodes[0].nodeValue+"</a>";
                tr.appendChild(td);

               	td = document.createElement("td");
// 		colorizeButtonRows(td,i);
		td.className="gridRowButton2";
		td.innerHTML = "<a href='#' onclick=\"javascript:prepare2Vote('"+record[i].childNodes[0].childNodes[0].nodeValue+"','plus');\">+</a>";
                tr.appendChild(td);

               	td = document.createElement("td");
// 		colorizeButtonRows(td,i);
		td.className="gridRowButton2";
		td.innerHTML = "<a href='#' onclick=\"javascript:prepare2Vote('"+record[i].childNodes[0].childNodes[0].nodeValue+"','minus');\">-</a>";
                tr.appendChild(td);

            	d.appendChild(tr);
        }
	formFields=record.length;
        return result;
    }
    
function getRecords() 
{
	advAJAX.get(
	{
		url : "./inc/ajax/user/search.php?perpage="+perPage+"&category="+category+"&active="+active+"&p="+currentPage+"&s="+currentSort+"%20"+currentSortOrder+"&phrase="+phrase,

            	onInitialization : function() 
		{
			scroll(0,0);
			divOnOff('descsDiv',1);
			if (phrase=='')
				info('l','loadingDiv','Proszę czekać...');
			$("btnPrev").style.visibility = "hidden";
			$("btnNext").style.visibility = "hidden";
			$("btnFirst").style.visibility = "hidden";
			$("btnLast").style.visibility = "hidden";
            	},
            	onSuccess : function(obj) 
		{
			if (phrase=='')
				divOnOff('loadingDiv',0);
			parseRecords(obj.responseXML);
            	},
 	    	onError : function(obj) { alert("Error: " + obj.status); }
        });
}

function changeSort(s) 
{
	if (currentSort == s)
		currentSortOrder = currentSortOrder == "ASC" ? "DESC" : "ASC";
	else 
		currentSortOrder = "ASC";

        currentSort = s;
}
   
function sortForm(sortBy,descsPerPage,categoryID)
{
	perPage=descsPerPage;
	category=categoryID;
	changeSort(sortBy);
	phrase='';
	divOnOff('searchDescs',0);
	getRecords();
}

function changeStatus(descsStatus)
{
	active=descsStatus;
	getRecords();
}

function searchForm(formPhrase)
{
	var phraseField=$("phrase");
	if(phraseField.value!='')
	{
		phrase=formPhrase;
		getRecords();
	}
}
 
function changePage(p) 
{
	currentPage += p;
        getRecords();
}

function initDynamicTable()
{
	$("btnPrev").style.visibility = "hidden";
	$("btnNext").style.visibility = "hidden";
	$("btnFirst").style.visibility = "hidden";
	$("btnLast").style.visibility = "hidden";
}