var currentPageGroup	= 0;
var pageGroup			= 5;
var maxPageGroup		= 0;
var currentPage 		= 0;
var currentSort 		= "x.created";
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 	=(currentPageGroup == maxPageGroup ) || 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>";
  */
	
	$("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>";
	
   
/*	$("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>";
*/    
	/*$("btnFirst").innerHTML = page == 0 ? "<span class=\'pgStart pgEmpty\'>&laquo; start</span>" : "<span class=\'pgStart\'><a class=\'item\' href=\'javascript://\' onclick=javascript:changePage(-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:changePage(maxPage-currentPage-1) title=\'End\'>end &raquo;</a></span>";
	$("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=\'items_grid\'><a href=\'javascript:;\' onclick=\'xhr_detail_rka('+ record[i].childNodes[4].childNodes[0].nodeValue +','+ record[i].childNodes[0].childNodes[0].nodeValue +')\'>'+ record[i].childNodes[1].childNodes[0].nodeValue +'</a></div><div class=\'items_grid_attr\'><span class=\'date\'>Category : <a href=\'javascript:;\'>'+ record[i].childNodes[2].childNodes[0].nodeValue +'</a>, Published on '+ record[i].childNodes[3].childNodes[0].nodeValue +'</span></div>';
	
			td.innerHTML = first;
            tr.appendChild(td);

		d.appendChild(tr);
		z ++;
		
    }
    return result;
}

function getRecords() {
		
	advAJAX.get({
        url : "assets/libs/grid_rka.php?mod="+currentQuery+"&cat="+currentCat+"&p="+currentPage+"&s="+currentSort+"%20"+currentSortOrder, onInitialization : function() {
        //url : "assets/libs/grid_rka.php?mod="+currentQuery+"&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=\'pgNext pgEmpty\'>next &rsaquo;</span>";
            $("btnFirst").innerHTML 	= "<span class=\'pgStart pgEmpty\'>&laquo; start</span>";
            $("btnLast").innerHTML 		= "<span class=\'pgEnd pgEmpty\'>end &raquo;</span>";*/
            
            $("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 changeQuery(s,t) {
    currentQuery = s;
	currentCat = t;
    changePage(0);
}
function changePage(p) {
    currentPage = p;
    getRecords();
}
function changePageEnd(p) {
    currentPage += p;
    getRecords();
}
function changeGroupPage(pg){
    currentPageGroup+=pg;
    changePage((currentPageGroup*pageGroup));
}

function initDynamicTable(query,cat) {
	changeQuery(query,cat);
}
