$(document).ready(function(){
    $.tablesorter.addParser({
        // set a unique id 
        id: 'extractNumber', 
        is: function(s) { 
            // return false so this parser is not auto detected 
            return false; 
        }, 
        format: function(s) { 
            // default, sort non-numbers last
            num = Number.MAX_VALUE;
        
            // tusen-separert tall
            // sjekker for tall som ikke er direkte etterfulgt av annet tall (fanger feilformattering)
            tusentall = s.match(/\d{1,3}(?:[\s,\.]\d{3})+(?!\s\d)/);
            // heltall
            heltall = s.match(/\d+/);
            
            if (s != "") {
                if ((tusentall != null) && (s.indexOf(tusentall) <= s.indexOf(heltall))){
                    // fjern separatoren, parseInt ignorerer evt. overflytende (andre separatorer f.eks.)
                    sep = tusentall[0].match(/\D/)[0];
                    sep = (sep == ".") ? "\\." : sep;
                    sepExp = new RegExp(sep, "g");
                    num = parseInt(tusentall[0].replace(sepExp, ""));
                } else  if (heltall != null) {
                    num = parseInt(heltall[0]);
                }
            }
            return num;
        }, 
        // set type, either numeric or text 
        type: 'numeric'
    });
    //Use a tablesorter plugin to sort insurance tables. Need to sort by multiple xpath expressions
    $(".tablesorter").tablesorter( {sortList: [[1,0]], debug: false});
    $(".tablesorterReise").tablesorter( {
		sortList: [[2,0]], 
		debug: false,
		headers: {
			3: { sorter: false },
			4: { sorter: false },
			5: { sorter: false },
			6: { sorter: false },
			7: { sorter: false },
			8: { sorter: false },
			9: { sorter: false },
			10: { sorter: false },
			11: { sorter: false },
			12: { sorter: false },
			13: { sorter: false },
			14: { sorter: false },
			15: { sorter: false },
			16: { sorter: false }
		}
	});
	
	$(".tablesorterBil").tablesorter( {
		sortList: [[1,0]], 
		debug: false,
		headers: {
			2: { sorter: false },
			3: { sorter: false },
			4: { sorter: false },
			5: { sorter: false },
			6: { sorter: false },
			7: { sorter: false },
			8: { sorter: false },
			9: { sorter: false },
			10: { sorter: false },
			11: { sorter: false }
		}
	});
	
	$(".tablesorterInnbo").tablesorter( {
		sortList: [[1,0]], 
		debug: false,
		headers: {
			2: { sorter: false },
			3: { sorter: false },
			4: { sorter: false },
			5: { sorter: false },
			6: { sorter: false },
			7: { sorter: false },
			8: { sorter: false },
			9: { sorter: false },
			10: { sorter: false },
			11: { sorter: false },
			12: { sorter: false },
			13: { sorter: false },
			14: { sorter: false }
		}
	});
	
	$(".tablesorterVilla").tablesorter( {
		sortList: [[1,0]], 
		debug: false,
		headers: {
			2: { sorter: false },
			3: { sorter: false },
			4: { sorter: false },
			5: { sorter: false },
			6: { sorter: false },
			7: { sorter: false },
			8: { sorter: false },
			9: { sorter: false },
			10: { sorter: false },
			11: { sorter: false },
			12: { sorter: false },
			13: { sorter: false },
			14: { sorter: false },
			15: { sorter: false }
		}
	});

});