// global menu state

var jsData = new Array();

function gfill_table() {
jsData[27] = {band:"<a href=\"http://www.bkm-music.com\">BKM</a>", datum:"10.01.09", uhrzeit:"19:00", lokal: "Christus Kirche", 
              ort: "Neubeckum", adresse: "", eintritt: "", besonderes: "Bitte f&uuml;r Kirchenerhalt spenden"};
jsData[26] = {band:"BKM", datum:"16.01.09", uhrzeit:"19:00", lokal: "Cafe Sol", 
              ort: "Solingen", adresse: "Bergstr. 30", eintritt: "", besonderes: "Ausstellung Nikolaus Maa&szlig;"};
jsData[25] = {band:"BKM", datum:"04.04.09", uhrzeit:"19:00", lokal: "das werkhaus", 
              ort: "Krefeld", adresse: "Bl&uuml;cherstr. 11-13", eintritt: "&euro;&nbsp;7,-", besonderes:""};
jsData[24] = {band:"BKM", datum:"17.05.09", uhrzeit:"19:00", lokal: "Jakobuskirche", 
              ort: "Pelkum", adresse: "Pelkumer Kirchplatz", eintritt: "", besonderes: ""};
jsData[23] = {band:"BKM", datum:"18.05.09", uhrzeit:"20:30", lokal: "kulturrampe", 
              ort: "Krefeld", adresse: "Oppumer Str. 175", eintritt: "&euro;&nbsp;7,-", besonderes:""};
jsData[22] = {band:"Jochen Gr&auml;ssel 4tett", datum:"28.05.09", uhrzeit:"", lokal: "Jazzkeller", 
              ort: "Krefeld", adresse: "Lohstr. 92", eintritt: "", besonderes: ""};
jsData[21] = {band:"BKM", datum:"30.05.09", uhrzeit:"19:00", lokal: "Christus Kirche", 
              ort: "Warendorf", adresse: "", eintritt: "", besonderes: ""};
jsData[20] = {band:"Jochen Gr&auml;ssel 4tett", datum:"05.06.09", uhrzeit:"", lokal: "Jazzkeller", 
              ort: "Krefeld", adresse: "Lohstr. 92", eintritt: "", besonderes: ""};
jsData[19] = {band:"Jazz-4-tett", datum:"17.06.09", uhrzeit:"20:30", lokal: "Galerie",
              ort: "M&uuml;nster", adresse: "HBF", eintritt: "", besonderes: "Ausstellung"};
jsData[18] = {band:"BKM", datum:"20.06.09", uhrzeit:"19:00", lokal: "Kirche im Garten", 
              ort: "Recklinghausen", adresse: "Limperstr. 34", eintritt: "", besonderes: ""};
jsData[17] = {band:"Jochen Gr&auml;ssel 4tett", datum:"20.08.09", uhrzeit:"20:30", lokal: "Altstadtschmiede", 
              ort: "Recklinghausen", adresse: "Kellerstr.", eintritt: "", besonderes: "anschl. Session"};
jsData[16] = {band:"BKM", datum:"21.08.09", uhrzeit:"19:00", lokal: "Buch Hentschel", 
              ort: "Burscheid", adresse: "Hauptstr. 26", eintritt: "", besonderes: "Ausstellung Nikolaus Maa&szlig;"};
jsData[15] = {band:"Jam Session", datum:"06.09.09", uhrzeit:"13:00", lokal: "Jazz at Lakeside",
              ort: "Essen", adresse: "Lanfermannf&auml;hre", eintritt: "", besonderes: "Musikertreffen 10"};
jsData[14] = {band:"BKM", datum:"12.09.09", uhrzeit:"19:00", lokal: "St. Petrus Kirche", 
              ort: "Springe", adresse: "Kurzer Ging", eintritt: "", besonderes: ""};
jsData[13] = {band:"Jochen Gr&auml;ssel Quartett", datum:"09.11.09", uhrzeit:"20:30", lokal: "kulturrampe", 
              ort: "Krefeld", adresse: "Oppumer Str. 175", eintritt: "&euro;&nbsp;7,-", besonderes:"feat. Lilliana Schmidt vocals"};
jsData[12] = {band:"BKM", datum:"13.11.09", uhrzeit:"19:00", lokal: "Business-Cafe", 
              ort: "Sankt Augustin", adresse: "FH Rhein-Sieg", eintritt: "", besonderes: "Ausstellung Nikolaus Maa&szlig;"};
jsData[11] = {band:"BKM", datum:"14.11.09", uhrzeit:"19:00", lokal: "Johannes Kirche", 
              ort: "Herne-Eickel", adresse: "Richard-Wagner-Str. 5", eintritt: "", besonderes: ""};
jsData[10] = {band:"<center>Jochen Gr&auml;ssel 4tett</center>", datum:"11.12.09", uhrzeit:"", lokal: "B&ouml;rsen Cafe", 
              ort: "Neuss", adresse: "", eintritt: "?", besonderes: ""};
jsData[9] = {band:"<a href=\"../cgi-bin/JGQ.pl\"><center>Jochen Gr&auml;ssel 4tett</center></a>", datum:"26.11.10", uhrzeit:"20:00", lokal: "Jazzkeller", 
              ort: "47798 Krefeld", adresse: "Lohstr. 92 ", eintritt: "?", besonderes: "Wayne Shorter Kompositionen"};
jsData[8] = {band:"<center>Jazz at Lakeside</center>", datum:"12.09.10", uhrzeit:"13:00", lokal: "Clubhaus YCRE",
              ort: "45259 Essen", adresse: "Lanfermannf&auml;hre 118a", eintritt: "-", besonderes: "Musikertreffen 11"};
jsData[7] = {band:"<a href=\"http://www.bkm-music.com\"><center>BKM</center></a>", datum:"08.09.10", uhrzeit:"20:00", lokal: "Citykirche St. Nikolaus",
              ort: "52062 Aachen", adresse: "An der Nikolauskirche", eintritt: "", besonderes: "<center>Besondere Musik</center><center> an<br /></center><center> besonderen</center><center> Orten</center>"};
jsData[6] = {band:"<a href=\"http://www.bkm-music.com\"><center>BKM</center></a>", datum:"12.06.10", uhrzeit:"19:00", lokal: "Kulturhafen", 
              ort: "47829 Krefeld", adresse: "Budberger Str. 26", eintritt: "", besonderes: "<center>Ausstellung Nikolaus Maa&szlig;</center>"};
jsData[5] = {band:"<a href=\"http://www.bkm-music.com\"><center>BKM</center></a>", datum:"06.06.10", uhrzeit:"20:00", lokal: "Jakobuskirche", 
              ort: "59077 Pelkum", adresse: "Pelkumer Kirchplatz", eintritt: "", besonderes: "<center>Besondere Musik</center><center> an<br /></center><center> besonderen</center><center> Orten</center>"};
jsData[4] = {band:"<a href=\"../cgi-bin/JGQ.pl\"><center>Jochen Gr&auml;ssel 4tett</center></a>", datum:"29.05.10", uhrzeit:"", lokal: "Jazzkeller", 
              ort: "Krefeld", adresse: "Lohstr. 92", eintritt: "", besonderes: "Feier der 200ten Jazz Session"};
jsData[3] = {band:"<center>Berlau-Friedmann Jazz-Duo</center>", datum:"20.05.10", uhrzeit:"", lokal: "Landhotel Jammertal", 
              ort: " 45711 Datteln", adresse: "Redder Stra&szlig;e 421", eintritt: "?", besonderes: ""};
jsData[2] = {band:"<a href= \"http://www.bkm-music.com\"><center>BKM</center></a>", datum:"30.04.10", uhrzeit:"19:00", lokal: "St. Petrus Kirche", 
              ort: "31832 Springe", adresse: "Kurzer Ging 140", eintritt: "", besonderes: "<center>Besondere Musik</center><center> an<br /></center><center> besonderen</center><center> Orten</center>"};
jsData[1] = {band:"<center>Arts &amp; Music</center><center>Session</center> <a href=\"../cgi-bin/rc.pl\"><center>Raven's Cry</center></a>", datum:"27.03.10", uhrzeit:"20:00", lokal: "Parkbad S&uuml;d", 
              ort: "44575 Castrop-Rauxel", adresse: "Am Stadtgarten 20", eintritt: "?", besonderes: "<br /><center>The New York</center><center>Party</center><a href=\"../cgi-bin/rc.pl\"><center><h3>Info</h3></center></a>"};
jsData[0] = {band:"<center>Jochen Gr&auml;ssel 4tett</center>", datum:"09.01.10", uhrzeit:"", lokal: "werkb&uuml;hne", 
              ort: "Krefeld", adresse: "Bl&uuml;cherstr. 11-13", eintritt: "?", besonderes: ""};
}

// Draw table from 'jsData' array of objects
function drawTable(tbody) {
    var tr, td;
    tbody = document.getElementById(tbody);
    // remove existing rows, if any
    clearTable(tbody);
    // loop through data source
    for (var i = 0; i < jsData.length; i++) {
        tr = tbody.insertRow(tbody.rows.length);
        
        td = tr.insertCell(tr.cells.length);
        td.setAttribute("align", "center");
        td.innerHTML = jsData[i].band;
        
        td = tr.insertCell(tr.cells.length);
        td.setAttribute("align", "center");
        td.innerHTML = jsData[i].datum;
        
        td = tr.insertCell(tr.cells.length);
        td.setAttribute("align", "center");
        td.innerHTML = jsData[i].uhrzeit;
        
        td = tr.insertCell(tr.cells.length);
        td.setAttribute("align", "center");
        td.innerHTML = jsData[i].lokal;
        
        td = tr.insertCell(tr.cells.length);
        td.setAttribute("align", "center");
        td.innerHTML = jsData[i].adresse;

        td = tr.insertCell(tr.cells.length);
        td.setAttribute("align", "center");
        td.innerHTML = jsData[i].ort;
                
        td = tr.insertCell(tr.cells.length);
        td.setAttribute("align", "center");
        td.innerHTML = jsData[i].eintritt;

        td = tr.insertCell(tr.cells.length);
        td.setAttribute("align", "center");
        td.innerHTML = jsData[i].besonderes;
    }
}

// Remove existing table rows
function clearTable(tbody) {
    while (tbody.rows.length > 0) {
        tbody.deleteRow(0);
    }
}

// Sorting function dispatcher (invoked by table column links)
function sortTable(link) {
    switch (link.firstChild.nodeValue) {
        case "Band" :
            jsData.sort(sortByBand);
            break;
        case "Auf" :
            jsData.sort(sortByDatum);
            break;
        case "Ab" :
            jsData.sort(sortByDatumAb);
            break;
        case "Datum" :
            jsData.sort(sortByDatum);
            break;
        case "Ort" :
            jsData.sort(sortByOrt);
            break;
        case "Lokal" :
            jsData.sort(sortByOrt);
            break;
    }
    drawTable("matchData")
    return false
}

// Sorting functions (invoked by sortTable())
function sortByDatum(a, b) {
  var tag1=a.datum.substring(0,2);
  var tag2=b.datum.substring(0,2);
  var mon1=a.datum.substring(3,5);
  var mon2=b.datum.substring(3,5);
  var ja1=a.datum.substring(6,8);
  var ja2=b.datum.substring(6,8);
  var datum1=ja1;
  var datum2=ja2;
  datum1 +=mon1;
  datum1 +=tag1;
  datum2 +=mon2;
  datum2 +=tag2;
    a = a.datum.toLowerCase();
    b = b.datum.toLowerCase();
  return ((datum1 < datum2) ? -1 : ((datum1 > datum2) ? 1 : 0));
//    return ((a < b) ? -1 : ((a > b) ? 1 : 0));
}

function sortByDatumAb(b, a) {
  var tag1=a.datum.substring(0,2);
  var tag2=b.datum.substring(0,2);
  var mon1=a.datum.substring(3,5);
  var mon2=b.datum.substring(3,5);
  var ja1=a.datum.substring(6,8);
  var ja2=b.datum.substring(6,8);
  var datum1=ja1;
  var datum2=ja2;
  datum1 +=mon1;
  datum1 +=tag1;
  datum2 +=mon2;
  datum2 +=tag2;
    a = a.datum.toLowerCase();
    b = b.datum.toLowerCase();
  return ((datum1 < datum2) ? -1 : ((datum1 > datum2) ? 1 : 0));
//    return ((a < b) ? -1 : ((a > b) ? 1 : 0));
}

function sortByOrt(a, b) {
    a = a.ort.toLowerCase();
    b = b.ort.toLowerCase();
    return ((a < b) ? -1 : ((a > b) ? 1 : 0));
}
function sortByLokal(a, b) {
    a = a.lokal.toLowerCase();
    b = b.lokal.toLowerCase();
    return ((a < b) ? -1 : ((a > b) ? 1 : 0));
}
function sortByBand(a, b) {
    a = a.band.toLowerCase();
    b = b.band.toLowerCase();
    return ((a < b) ? -1 : ((a > b) ? 1 : 0));
}


