itemsPerPage = 5;
curPos = 0;
var needle = 0;
var direction = 1;
$(document).ready(function() {
$.ajax({
type: "GET",
url: "/personen-overzicht.xml",
dataType: "xml",
success: function(xmlData) {
xmlDataSet = xmlData;
curPos = 0;
handleXML();
}
});
var options = {
url: "/personen-overzicht.xml",
type: "post",
dataType: "xml",
beforeSubmit:  showRequest,
success:       showResponse
};
$('#searchForm').ajaxForm(options);
});
function showResponse(responseText, statusText)  {
xmlDataSet = responseText;
curPos = 0;
handleXML();
}
function showRequest(formData, jqForm, options) {
}
function MultiDimensionalArray(iRows,iCols) {
var i;
var j;
var a = new Array(iRows);
for (i=0; i < iRows; i++) {
a[i] = new Array(iCols);
for (j=0; j < iCols; j++) {
a[i][j] = "";
}
}
return(a);
}
function changeSorting(sNeedle){
if (sNeedle != needle) {
needle = sNeedle;
} else {
direction = 1 - direction;
}
}
function handleXML()
{
resultSetLength = $("persoon",xmlDataSet).length;
if (resultSetLength == 0) {
$("#personen").html('<p><strong>Geen personen gevonden.</strong></p>');
return;
}
strToAppend = "<p>";
if (curPos + itemsPerPage > resultSetLength) {
showingThrough = resultSetLength;
} else {
showingThrough = parseInt(curPos + itemsPerPage);
}
strToAppend += "U ziet nu: resultaat <strong>" + parseInt(curPos + 1) + "</strong> t/m <strong>" + showingThrough + "</strong> van de <strong>" + resultSetLength + "</strong> resultaten.</p>";
strToAppend += "Sorteren op: ";
strToAppend += "<a href='#' onclick='changeSorting(0);handleXML();return false;'>naam <img src=\"/template/piu/img/dir" + parseInt(direction) + ".gif\"/></a> &nbsp;|&nbsp; ";
strToAppend += "<a href='#' onclick='changeSorting(1);handleXML();return false;'>gebied <img src=\"/template/piu/img/dir" + parseInt(direction) + ".gif\"/></a> &nbsp;|&nbsp; ";
strToAppend += "<a href='#' onclick='changeSorting(2);handleXML();return false;'>functie <img src=\"/template/piu/img/dir" + parseInt(direction) + ".gif\"/></a>";
strToAppend += "<p>";
if (itemsPerPage != resultSetLength) {
if (curPos == 0 && parseInt(curPos+itemsPerPage) < resultSetLength) {
strToAppend += "<a href='#' onclick='curPos += " + itemsPerPage + ";handleXML();return false;'>Volgende &raquo;</a>";
}
if (curPos > 0 && parseInt(curPos + itemsPerPage) < resultSetLength) {
strToAppend += "<a href='#' onclick='curPos -= " + itemsPerPage + ";handleXML();return false;'>&laquo; Vorige</a>";
strToAppend += " &nbsp;|&nbsp; ";
strToAppend += "<a href='#' onclick='curPos += " + itemsPerPage + ";handleXML();return false;'>Volgende &raquo;</a>";
}
if (parseInt(curPos + itemsPerPage) >= resultSetLength && parseInt(curPos-itemsPerPage) >= 0) {
strToAppend += "<a href='#' onclick='curPos -= " + itemsPerPage + ";handleXML();return false;'>&laquo; vorige</a>";
}
}
strToAppend += "</p>";
var sDataArray=MultiDimensionalArray(resultSetLength, 8);
var counter=0;
$("persoon" ,xmlDataSet).each(function() {
var id = $("id",this).text();
var anaam = $("anaam",this).text();
var gebied = $("gebied",this).text();
var functie = $("functie",this).text();
var overzicht = $("overzicht",this).text();
var detail = $("detail",this).text();
sDataArray[counter][0]=anaam;
sDataArray[counter][1]=gebied;
sDataArray[counter][2]=functie;
sDataArray[counter][3]=id;
sDataArray[counter][4]=overzicht;
sDataArray[counter][5]=detail;
counter = counter + 1;
});
sDataArray.sort(sortArr);
for (var i=curPos; i<parseInt(curPos+itemsPerPage); i++) {
if (i<resultSetLength) {
strToAppend += "<div class=\"list ";
if ((i % 2) != 0) strToAppend += 'list-2';
strToAppend += "\" name=\"" + i + "\">";
strToAppend += sDataArray[i][4];	strToAppend += "<div id=\"persoon-detail" + i + "\" class=\"persoon-detail\">";
strToAppend += sDataArray[i][5];
strToAppend += "</div>";
strToAppend += "</div><br/>";
}
}
strToAppend += "Resultaten per pagina: ";
strToAppend += "<a href='#' onclick='itemsPerPage = 5;curPos = 0;handleXML();return false;'>5</a> &nbsp;|&nbsp; ";
strToAppend += "<a href='#' onclick='itemsPerPage = 10;curPos = 0;handleXML();return false;'>10</a> &nbsp;|&nbsp; ";
strToAppend += "<a href='#' onclick='itemsPerPage = 25;curPos = 0;handleXML();return false;'>25</a> &nbsp;|&nbsp; ";
strToAppend += "<a href='#' onclick='itemsPerPage = " + resultSetLength + ";curPos = 0;handleXML();return false;'>Alles</a></p>";
strToAppend += "<p>";
$("#personen").html(strToAppend);
$("div").filter(".list").click(function() {
$("#persoon-detail" + $(this).attr("name") + ":visible").slideUp("fast");
$("#persoon-detail" + $(this).attr("name") + ":hidden").slideDown("slow");
});
}
function sortArr(a,b) {
if (direction == 1) {
if (a[needle].toLowerCase()<b[needle].toLowerCase()) return -1;
if (a[needle].toLowerCase()>b[needle].toLowerCase()) return 1;
} else {
if (a[needle].toLowerCase()<b[needle].toLowerCase()) return 1;
if (a[needle].toLowerCase()>b[needle].toLowerCase()) return -1;
}
return 0;
}