// TableSort V6.1.2
// Dr. Jürgen Berkemeier, 11. 4. 2005
// www.uni-muenster.de/Physik/AP/Purwins/Gruppe/Berkemeier/
// www.j-berkemeier.de
function JB_Table(TabId,vorsort,sortlinks,varName) {
 if (!document.getElementById(TabId)) return;
 var first=1;
 var ssort=vorsort-1;
 var linknr=sortlinks.split(",");
 var tab=document.getElementById(TabId);
 var tbdy=tab.getElementsByTagName("tbody")[0];
 var tz=tbdy.getElementsByTagName("tr");
 var nzeilen=tz.length;
 var nspalten=tz[0].getElementsByTagName("td").length;
 var titel=tab.getElementsByTagName("thead")[0].getElementsByTagName("tr")[0].getElementsByTagName("th");
 var Arr=new Array(nzeilen);
 for(var l=0;l<linknr.length;l++) {
  var lnr=parseInt(linknr[l]);
  var Ziel="javascript:"+varName+".sort("+lnr+")";
  if (lnr>0 && lnr<=nspalten) Text2Link(titel[lnr-1],Ziel);
 }
 this.VglFkt=function(a,b) {
  var ta=a[ssort].toUpperCase();
  var tb=b[ssort].toUpperCase();
  if(!isNaN(ta)&&!isNaN(tb)) {
   ta=parseFloat(ta);
   tb=parseFloat(tb);
  }
  if (ta>tb) return 1;
  else if (ta<tb) return -1;
  else {
   ta=a[0].toUpperCase();
   tb=b[0].toUpperCase();
   if(!isNaN(ta)&&!isNaN(tb)) {
    ta=parseFloat(ta);
    tb=parseFloat(tb);
   }
   if (ta>tb) return 1;
   else if (ta<tb) return -1;
   else return 0;
  }
 }
 this.sort=function(sp) {
  sp--;
  if (first==1) {
   for(var z=0;z<nzeilen;z++) {
    var zeile=tz[z].getElementsByTagName("td");
    Arr[z]=new Array(nspalten);
    for(var s=0;s<nspalten;s++)
//     Arr[z][s]=zeile[s].firstChild.nodeValue;
     Arr[z][s]=zeile[s].innerHTML;
   }
   first=0;
  }
  if(sp==ssort) Arr.reverse() ;
  else {
   ssort=sp;
   Arr.sort(this.VglFkt);
  }
  for(var z=0;z<nzeilen;z++) {
   var zeile=tz[z].getElementsByTagName("td");
   for(var s=0;s<nspalten;s++)
//    zeile[s].firstChild.nodeValue=Arr[z][s];
    zeile[s].innerHTML=Arr[z][s]; // macht Probleme im MAC-IE
  }
 }
}
function Text2Link(fld,Ziel) {
 var feld=fld.firstChild ;
 var text=document.createTextNode(feld.nodeValue) ;
 var link=document.createElement("a") ;
  link.href=Ziel ;
  link.title="Nach "+feld.nodeValue+" sortieren" ;
  link.appendChild(text) ;
  fld.replaceChild(link,feld) ;
}
function BrowserTest() {
 var kannDOM=document.getElementsByTagName;
 if (kannDOM) kannDOM=kannDOM && document.getElementsByTagName('body')[0].appendChild;
 if (!kannDOM) return false;
 var IH=document.getElementsByTagName('body')[0].innerHTML;
 if (!IH) return false;
 var BS=navigator.userAgent.toLowerCase();
 var IE = BS.indexOf("msie");
 var MAC= BS.indexOf("mac");
 if ((IE>-1)&&MAC>-1) return false;
 return true;
}