var currentPage 		= 0;
var currentSort 		= "";
var currentRecord		= "";
var currentSortOrder 	= "DESC";
var maxPage;

function $(id) {
	return document.getElementById(id);
}

function parseRecords(xml) {
	with (xml.getElementsByTagName("records").item(0)) {
    	page = getAttribute("page");
		if (page == "") {
			page = 0;
		}
		else {
			page = getAttribute("page")*1;
		}
		
        maxPerPage 	= getAttribute("max_per_page");
        startId 	= maxPerPage*page+1;
        total 		= getAttribute("total")*1;
        maxPage 	= Math.ceil(total/maxPerPage);
        
		$("dataStatus").innerHTML = 
          "Records : " + startId + " - " + (startId+getAttribute("count")*1-1) + " from " + total + "";
    }

	$("btnPrev").innerHTML 	= page == 0 ? "<span class=\'pgPrev pgEmpty\'>&lsaquo; prev</span>" : "<span class=\'pgPrev\'><a class=\'item\' href=\'javascript://\' onclick=javascript:changePage(-1) title=\'Prev Page\'>&lsaquo; prev</a></span>";
    $("btnNext").innerHTML 	= page+1 == maxPage ? "<span class=\'pgNext pgEmpty\'>next &rsaquo;</span>" : "<span class=\'pgNext\'><a class=\'item\' href=\'javascript://\' onclick=javascript:changePage(1) title=\'Next Page\'>next &rsaquo;</a></span>";
	
    d = $("display_data");
    for (i = d.rows.length-1; i >= 0; i--)
      d.deleteRow(i);
    record = xml.getElementsByTagName("record");
    result = "";
	
	z = 0;
    for (i = 0; i < record.length; i++) {
		tr = document.createElement("tr");
			td = document.createElement("td");

			first  = '<div class=\'comment\'><div class=\'commentAuthor\'><strong>' + record[i].childNodes[0].childNodes[0].nodeValue + '</strong><br />' + record[i].childNodes[2].childNodes[0].nodeValue + ', ' + record[i].childNodes[3].childNodes[0].nodeValue + '</div><div class=\'words\'><p>' + record[i].childNodes[1].childNodes[0].nodeValue + '</p></div>' + record[i].childNodes[4].childNodes[0].nodeValue + '</div>';
			
			td.innerHTML = first;
			tr.appendChild(td);

			d.appendChild(tr);
			z ++;
    }
    return result;
}

function getRecords() {
	advAJAX.get({
        url : "assets/libs/grid_guestbook.php?p="+currentPage+"&s="+currentSort+"%20"+currentSortOrder, onInitialization : function() {
			new Effect.ScrollTo('skip_to_content',{duration:0.8});
			//new Effect.BlindDown('display_data',{duration:.9})
            $("dataStatus").innerHTML 	= ' Loading data from JSON-XML ';
            $("btnPrev").innerHTML 		= "<span class=\'pgPrev pgEmpty\'>&lsaquo; prev</span>";
            $("btnNext").innerHTML 		= "<span class=\'pgNext pgEmpty\'>next &rsaquo;</span>";
        },
		uniqueParameter: "custom_unique_param",
        onSuccess : function(obj) { parseRecords(obj.responseXML); }
    });
}

function changeSort(s) {
    if (currentSort == s) { 
		currentSortOrder = currentSortOrder == "ASC" ? "DESC" : "ASC"; 
	}
	else {
		currentSortOrder = "ASC";
		if (currentSort != "")
			$(currentSort + "Sort").style.fontWeight = "normal";
         	$(s + "Sort").style.fontWeight = "bold";
    }
    currentSort = s;
    changePage(0);
}

function changePage(p) {
    currentPage += p;
    getRecords();
}

function initDynamicTable() {
	changeQuery(query)
    changeSort("created");
	changePage(0);
}