
var pointPiloter = new Array(link.length);
var pointTeams = new Array(teams.length);

var globalLoebValgt=-1

function compareXY(x,y) {
	return y[1]-x[1]
}
function sort(arr) {
    arr.sort(compareXY)
}
//Funktionen kan kaldes med løbNr. Funktionen finder alle kørereres og teams'nes point til og med løb nr 'loebNr'. 
//Resultatet gemmes I 'pointPiloter' og 'pointTeams'
//Pointene sorteres med højeste først
//Funktionen tager højde for antal 1. pladser (men ikke evt. 2. pladser mm)!
function findStillingen2011(loebNr) {
	//Dan array med alle køreres point og nulstil:
	point = new Array(link.length);
	for (j=0; j<link.length; j++) {
		point[j] = 0;
	}

	//Dan array med alle teams' point og nulstil:
	_pointTeams = new Array(teams.length);
	for (j=0; j<teams.length; j++) {
		_pointTeams[j] = 0;
	}

	//Gennemgå for alle løb hver enkelt kørers placering og omregn til point (vha. 'pointPlaceringer') i løbet og tæl sammen
	for (i=0; i<loebNr; i++) {
		//alert("løbnr:" + i)
		for (j=0; j<link.length; j++) {
			_p = 0;
			placering = link[j][i+2];
			//alert(placering)
			if (placering > 0 && placering <= pointPlaceringer2011[0].length ) {
				if (placering == 1) {
					_p = pointPlaceringer2011[i][placering-1] + 0.01 //Ekstra for første plads - skal fjernes senere
					point[j] += _p
				} else {
					_p = pointPlaceringer2011[i][placering-1]
					point[j] += _p
				}
			}
			//Point til teamet:
			_pointTeams[link[j][0]] += _p
			//alert(_pointTeams[link[j][0]])
		}
	}
	
	//Fratræk evt. strafpoint mm.:
	for (i=0; i<subtractTeams.length; i++) {
		_pointTeams[i] = _pointTeams[i] - subtractTeams[i];
	}

	//Fratræk evt. strafpoint mm.:
	//alert(1)
	for (i=0; i<subtractDrivers.length; i++) {
		point[i] = point[i] - subtractDrivers[i];
		//if (i==18)
			//alert(point[i])
	}

	/**** Håndter sortering af køreres point ****/
	//Konverter til nyt array så navn og point for kører kan sorteres sammen:
	navnPoint = new Array(link.length);
	for (j=0; j<link.length; j++) {
		navnPoint[j] = new Array(link[j][1], point[j]);
	}
	sort(navnPoint)

	//Fjern decimaler brugt til at tage højde for 1. pladser:
	navnPoint2 = new Array(link.length);
	for (j=0; j<link.length; j++) {
		navnPoint2[j] = new Array(navnPoint[j][0], (Math.floor(10*navnPoint[j][1]))/10);
	}
	pointPiloter = navnPoint2;

	/**** Håndter sortering af teams point ****/
	//Konverter til nyt array så navn og point for team kan sorteres sammen:
	navnPointTeam = new Array(_pointTeams.length);
	for (j=0; j<_pointTeams.length; j++) {
		navnPointTeam[j] = new Array(teams[j], _pointTeams[j]);
	}
	sort(navnPointTeam)

	//Fjern decimaler brugt til at tage højde for 1. pladser:
	navnPointTeam2 = new Array(_pointTeams.length);
	for (j=0; j<_pointTeams.length; j++) {
		navnPointTeam2[j] = new Array(navnPointTeam[j][0], (Math.floor(10*navnPointTeam[j][1]))/10);
	}
	pointTeams = navnPointTeam2;

}
function loebValgt(loebNr) {
	globalLoebValgt=loebNr
	findStillingen2011(loebNr)

	populatePilotTable()
	if (!inklPointIndex) {
		populateTeamTable()
	}
}
//Danner en tom tabel med en celle per kører. Alle celler får et id der senere kan populeres med innerHTML.
function writeEmptyTablePilots() {
	if (inklPointIndex) {
		document.write("<tr>");
		document.write("<td>Nr+Navn</td>");
		document.write("<td></td>");
		document.write("<td>Point</td>");
		document.write("<td>Diff</td>");
		document.write("<td>Index</td>");
		document.write("<td>Point/resterende løb</td>");
		document.write("</tr>");
	}
	for (i=0; i< link.length; i++) {
		document.write("<tr>");
		document.write("<td id='" + ('pilotNr' + i) + "'>" + "</td>");
		document.write("<td width=1px></td>");
		document.write("<td id='" + ('point' + i) + "'>" + "</td>");
		document.write("<td id='" + ('pointDiff' + i) + "'>" + "</td>");
		document.write("<td id='" + ('pointIndex' + i) + "'>" + "</td>");
		document.write("<td id='" + ('pointPerLoeb' + i) + "'>" + "</td>");
		document.write("</tr>");
	}
}
// Funktionen skal kaldes med et dbl-array hvor navn står på første plads [0] og point på anden plads [1]
function populatePilotTable() {
	for (j=0; j<pointPiloter.length; j++) { //Gennemløb alle piloter
		id="pilotNr"+j;
		if (j<9)
			preTekst = "&nbsp;&nbsp;"+(j+1)+ ". &nbsp;&nbsp;&nbsp;"
		else
			preTekst = ""+(j+1)+ ". &nbsp;&nbsp;&nbsp;"
		document.getElementById(id).innerHTML=preTekst+pointPiloter[j][0]
		id="point"+j;
		var v = pointPiloter[j][1];
		/*if (j==8) {
			alert(document.getElementById(id).innerHTML)
			alert(pointPiloter[j][1])
		}*/
		document.getElementById(id).innerHTML=v

		if (inklPointIndex && j>0) {
			//alert("inkl")

			//Find index-værdi:
			poi = findPointIndex(j)
			v = "" + poi + "";
			id="pointIndex"+j;
			document.getElementById(id).innerHTML=v;

			//Find point-forskel til føreren:
			pod = findPointDiff(j)
			v = "" + pod + "";
			id="pointDiff"+j;
			document.getElementById(id).innerHTML=v;
			
			//
			var loebTilbage = antalLoebKalender - globalLoebValgt;
			popl = pod/loebTilbage
			v = "" + afrund(popl, 1) + "";
			id="pointPerLoeb"+j;
			document.getElementById(id).innerHTML=v;
			
		}
	}
}
//Afrund 'n' til et tal med 'nd' decimaler
function afrund(n, nd) {
	a1=n*Math.pow(10,nd)
	a2=Math.round(a1)
	a3=a2/Math.pow(10,nd)
	return a3
}
function findPointIndex(knr) {
	var res = 0;
	for (var a=0; a < knr; a++) {
		res += pointPiloter[a][1] - pointPiloter[knr][1]
	}
	return res;
}
function findPointDiff(knr) {
	var res = 0;
	//for (var a=0; a < knr; a++) {
		res += pointPiloter[0][1] - pointPiloter[knr][1]
	//}
	return res;
}
//Danner en tom tabel med en celle per team. Alle celler får et id der senere kan populeres med innerHTML.
function writeEmptyTableTeams() {
//	document.write("<table>");
	for (i=0; i< teams.length; i++) {
		document.write("<tr>");
		document.write("<td  nowrap='nowrap' id='" + ('teamNr' + i) + "'>" + i + "</td>");
		document.write("<td width=30px></td>");
		document.write("<td id='" + ('teamPoint' + i) + "'>" + i + "</td>");
		document.write("</tr>");
	}
//	document.write("</table>");
}
// Funktionen skal kaldes med et dbl-array hvor navn står på første plads [0] og point på anden plads [1]
function populateTeamTable() {
	for (j=0; j<pointTeams.length; j++) {
		id="teamNr"+j;
		if (j<9)
			preTekst = "&nbsp;&nbsp;"+(j+1)+ ". &nbsp;&nbsp;&nbsp;"
		else
			preTekst = ""+(j+1)+ ". &nbsp;&nbsp;&nbsp;"
		document.getElementById(id).innerHTML=preTekst+pointTeams[j][0]
		id="teamPoint"+j;
		p=pointTeams[j][1]
		if (p<0) 
			p=0
		document.getElementById(id).innerHTML=p
	}
}

