var currentPageGroup	= 0;
var pageGroup			= 5;
var maxPageGroup		= 0;
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;
			currentPageGroup=0;
		}
		else {
			page = getAttribute("page")*1;
			currentPageGroup=Math.floor(page/pageGroup);
		}

        maxPerPage 	= getAttribute("max_per_page");
        startId 	= maxPerPage*page+1;
        total 		= getAttribute("total")*1;
        maxPage 	= Math.ceil(total/maxPerPage);
	maxPageGroup	= Math.ceil(maxPage/pageGroup);

		$("dataStatus").innerHTML =
          "Records : " + startId + " - " + (startId+getAttribute("count")*1-1) + " from " + total + " (Page: " +
          (page+1) + " of " + maxPage + ")";
    }
    
	$("btnFirst").innerHTML = page == 0 ? "<span class=\'pgStart pgEmpty\'>&laquo; start</span>" : "<span class=\'pgStart\'><a class=\'item\' href=\'javascript://\' onclick=javascript:changePageEnd(-currentPage) title=\'Start\'>&laquo; start</a></span>";
	$("btnLast").innerHTML 	= page+1 == maxPage ? "<span class=\'pgEnd pgEmpty\'>end &raquo;</span>" : "<span class=\'pgEnd\'><a class=\'item\' href=\'javascript://\' onclick=javascript:changePageEnd(maxPage-currentPage-1) title=\'End\'>end &raquo;</a></span>";
	$("btnPrev").innerHTML 	= currentPageGroup == 0 ? "<span class=\'pgPrev pgEmpty\'>&lsaquo; prev</span>" : "<span class=\'pgPrev\'><a class=\'item\' href=\'javascript://\' onclick=javascript:changeGroupPage(-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:changeGroupPage(1) title=\'Next Page\'>next &rsaquo;</a></span>";

	$("btnOne").innerHTML 	= page == (currentPageGroup*pageGroup+0) || maxPage <= (currentPageGroup*pageGroup+0) ? "<span class=\'pgNext\'>"+(currentPageGroup*pageGroup+1)+"</span>" : "<span class=\'pgNext\'><a class=\'item\' href=\'javascript://\' onclick=javascript:changePage("+(currentPageGroup*pageGroup+0)+") title=\'"+(currentPageGroup*pageGroup+1)+"\'>"+(currentPageGroup*pageGroup+1)+"</a></span>";
	$("btnTwo").innerHTML 	= page == (currentPageGroup*pageGroup+1) || maxPage <= (currentPageGroup*pageGroup+1) ? "<span class=\'pgNext\'>"+(currentPageGroup*pageGroup+2)+"</span>" : "<span class=\'pgNext\'><a class=\'item\' href=\'javascript://\' onclick=javascript:changePage("+(currentPageGroup*pageGroup+1)+") title=\'"+(currentPageGroup*pageGroup+2)+"\'>"+(currentPageGroup*pageGroup+2)+"</a></span>";
	$("btnThree").innerHTML	= page == (currentPageGroup*pageGroup+2) || maxPage <= (currentPageGroup*pageGroup+2) ? "<span class=\'pgNext\'>"+(currentPageGroup*pageGroup+3)+"</span>" : "<span class=\'pgNext\'><a class=\'item\' href=\'javascript://\' onclick=javascript:changePage("+(currentPageGroup*pageGroup+2)+") title=\'"+(currentPageGroup*pageGroup+3)+"\'>"+(currentPageGroup*pageGroup+3)+"</a></span>";
	$("btnFour").innerHTML 	= page == (currentPageGroup*pageGroup+3) || maxPage <= (currentPageGroup*pageGroup+3) ? "<span class=\'pgNext\'>"+(currentPageGroup*pageGroup+4)+"</span>" : "<span class=\'pgNext\'><a class=\'item\' href=\'javascript://\' onclick=javascript:changePage("+(currentPageGroup*pageGroup+3)+") title=\'"+(currentPageGroup*pageGroup+4)+"\'>"+(currentPageGroup*pageGroup+4)+"</a></span>";
	$("btnFive").innerHTML 	= page == (currentPageGroup*pageGroup+4) || maxPage <= (currentPageGroup*pageGroup+4) ? "<span class=\'pgNext\'>"+(currentPageGroup*pageGroup+5)+"</span>" : "<span class=\'pgNext\'><a class=\'item\' href=\'javascript://\' onclick=javascript:changePage("+(currentPageGroup*pageGroup+4)+") title=\'"+(currentPageGroup*pageGroup+5)+"\'>"+(currentPageGroup*pageGroup+5)+"</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=\'items_grid\'><a href=\'javascript:;\' onclick=\'xhr_detail_informasi_press_release('+ record[i].childNodes[0].childNodes[0].nodeValue +')\'>'+ record[i].childNodes[1].childNodes[0].nodeValue +'</a></div><div class=\'items_grid_attr\'><span class=\'date\'>Published on <a href=\'javascript:;\'>'+ record[i].childNodes[2].childNodes[0].nodeValue +'</a></span></div>';

			td.innerHTML = first;
            tr.appendChild(td);

		d.appendChild(tr);
		z ++;

    }
    return result;
}

function getRecords() {
	advAJAX.get({
        url : "assets/libs/grid_press_release.php?p="+currentPage+"&s="+currentSort+"%20"+currentSortOrder, onInitialization : function() {
            $("dataStatus").innerHTML 	= ' Loading data from JSON-XML ';
            $("btnPrev").innerHTML 	= "<span class=\'pgPrev pgEmpty\'>&lsaquo; prev</span>";
            $("btnNext").innerHTML 	= "<span class=\'pgEmpty\'>next &rsaquo;</span>";
            $("btnFirst").innerHTML 	= "<span class=\'pgStart pgEmpty\'>&laquo; start</span>";
            $("btnLast").innerHTML 	= "<span class=\'pgEnd pgEmpty\'>end &raquo;</span>";
            $("btnOne").innerHTML 	= "<span class=\'pgEmpty\'>"+(currentPageGroup*pageGroup+1)+"</span>";
            $("btnTwo").innerHTML 	= "<span class=\'pgEmpty\'>"+(currentPageGroup*pageGroup+2)+"</span>";
            $("btnThree").innerHTML 	= "<span class=\'pgEmpty\'>"+(currentPageGroup*pageGroup+3)+"</span>";
            $("btnFour").innerHTML 	= "<span class=\'pgEmpty\'>"+(currentPageGroup*pageGroup+4)+"</span>";
            $("btnFive").innerHTML 	= "<span class=\'pgEmpty\'>"+(currentPageGroup*pageGroup+5)+"</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 changePageEnd(p) {
    currentPage += p;
    getRecords();
}

function changeGroupPage(pg){
    currentPageGroup+=pg;
    changePage((currentPageGroup*pageGroup));
}

function initDynamicTable() {
    changeSort("created");
	changePage(1);
}