Sorter = {};
    
    Sorter.tableId    = 'ItemsTable';        // id til tabellen
    Sorter.sortCols   = new Array(1, 2, 3);  // kolonner som skal kunne sorteres på (starter på 0)
    Sorter.sortOrder  = new Array(0,0,0,0);  // Retning kolonnen blir sortert først. 0 = ascending, 1 = descending (kolonne 0 er egentlig ikke i bruk her)
    Sorter.backOrder  = new Array(0,0,0,0);  // Det samme en gang til for moro skyld
    Sorter.sortType   = new Array(1,1,1,0);  // Sortere numerisk eller på tekst? 1 = tekst, 0 = numerisk
    Sorter.forsteRad  = 1;                   // Hopper over th og starter på rad 1 (begynner på 0)
    Sorter.radPerRad  = 1;                   // Vi har ikke lenger tomme rader mellom hvert produkt
    
    Sorter.restoreColors = function(){
    	var table = document.getElementById(Sorter.tableId).rows;
    	
    	for(var x = 0; x < table.length; x++){
			table[x].style.backgroundColor = ['#f8f8f8', '#fefefe'][(x%2)];	
		}
    }
    
    Sorter.compareString = function(var1, var2){
        return (Sorter.findInner(var1) >= Sorter.findInner(var2));
    }
    
    Sorter.compareInt = function(var1, var2){
    	return parseInt(Sorter.findInner(var1)) > parseInt(Sorter.findInner(var2));
    }

    Sorter.findInner = function(element){
    	return element.innerHTML.replace(/(<([^>]+)>)/ig,"");
    }
    
    Sorter.resetOrder = function(){
        for(var x = 0; x < Sorter.sortOrder.length; x++)
            Sorter.sortOrder[x] = Sorter.backOrder[x];
    }
    
    Sorter.sortCol = function(col){
    	var table = document.getElementById(Sorter.tableId).rows;
    	var tbody = document.getElementById(Sorter.tableId).getElementsByTagName('tbody')[0];
        var orgSortFunc;   	
    	var sortFunc;
    	if(Sorter.sortType[col] == 1)
    		orgSortFunc = Sorter.compareString;
    	else
    		orgSortFunc = Sorter.compareInt;
    	
    	
        if(Sorter.sortOrder[col] == 0){
            Sorter.resetOrder();
            sortFunc = orgSortFunc;
            Sorter.sortOrder[col] = 1;
        }else{
            Sorter.resetOrder();
            sortFunc = function(var1, var2){return !orgSortFunc(var1, var2)};
            Sorter.sortOrder[col] = 0;
        }
    	
        for(var z = Sorter.forsteRad; z < table.length; z = z + Sorter.radPerRad){
            changed = false;			
            for(var y = Sorter.forsteRad; y < table.length - Sorter.radPerRad; y = y + Sorter.radPerRad){
                    var rad = table[y];
                    var nesteRad = table[y + Sorter.radPerRad];
                    var kolonne = table[y].getElementsByTagName('td');
                    var nesteKolonne = table[y + Sorter.radPerRad].getElementsByTagName('td');                                                   
                    if(sortFunc(kolonne[col], nesteKolonne[col])){
                        var copyRad = rad.cloneNode(true);
                        var copyNesteRad = nesteRad.cloneNode(true);
                        tbody.insertBefore(copyNesteRad, rad);
                        tbody.insertBefore(copyRad, nesteRad);
                        tbody.removeChild(rad);
                        tbody.removeChild(nesteRad);
                        changed = true;
                    }
            }
            if(!changed){Sorter.restoreColors();break;} //Ingenting ble endret siste iterasjon, avbryt
    	}
    }
