      var firstCall = 1;
      var sortOrder = "up";
      function hinweisAnzeigen() {
		  if (document.appendChild) {
			 document.getElementById("sortierHinweis").style.visibility = "visible";
			 document.getElementById("cookieHinweis").style.visibility = "visible";
			 } 
			 
			 else return;
		  }
	  
	  function convert(sValue, sDataType) {
	            //console.log(sValue);
                switch(sDataType) {
                    case "int":
                        return parseInt(sValue);
                    case "float":
                        return parseFloat(sValue);
                    case "date":
                        return new Date(Date.parse(sValue));
                    default:
                        return sValue.toString();
                
                }
            }
        
            function generateCompareTRs(iCol, sDataType) {
        
                return  function compareTRs(oTR1, oTR2) {
                            vValue1 = oTR1.cells[iCol].firstChild.nodeType == 3 
                                    ? oTR1.cells[iCol].firstChild.nodeValue
                                    : oTR1.cells[iCol].firstChild.firstChild.nodeValue;
                            vValue2 = oTR2.cells[iCol].firstChild.nodeType == 3 
                                    ? oTR2.cells[iCol].firstChild.nodeValue
                                    : oTR2.cells[iCol].firstChild.firstChild.nodeValue;
                           
                            var vValue1 = convert(vValue1, sDataType);
                            var vValue2 = convert(vValue2, sDataType);
        
                            if (vValue1 < vValue2) {
                                return -1;
                            } else if (vValue1 > vValue2) {
                                return 1;
                            } else {
                                return 0;
                            }
                        };
            }
           
            function sortTable(sTableID, iCol, sDataType) {
				
				
				if (document.appendChild) {
                var oTable = document.getElementById(sTableID);
                var oTBody = oTable.tBodies[0];
                var colDataRows = oTBody.rows;
                var aTRs = new Array;
                removeSortArrows(path);
        
                for (var i=0; i < colDataRows.length; i++) {
                    aTRs[i] = colDataRows[i];
                }
        
                if (oTable.sortCol == iCol || (firstCall == 1 && iCol == 0)) {
                    aTRs.reverse();
                    sortOrder = sortOrder == 'up' ? 'down' : 'up';
                    document.getElementById('a' + iCol).src = path + '/images/sort_' + sortOrder + '.gif';
                } else {
                    aTRs.sort(generateCompareTRs(iCol, sDataType));
                    document.getElementById('a' + iCol).src = path + '/images/sort_up.gif';
                    sortOrder = 'up';
                }
        
                var oFragment = document.createDocumentFragment();
                for (i=0; i < aTRs.length; i++) {
                    oFragment.appendChild(aTRs[i]);
                }
                
                firstCall = 0;
                oTBody.appendChild(oFragment);
                oTable.sortCol = iCol;
				}
				else return;
            }
            
            function removeSortArrows(path) {
                for( i=0; i < document.getElementsByTagName('th').length; i++) {                
                document.getElementById('a' + i).src = path + '/images/blind.gif';
                }
                
            }