/*********************************
Elyoukey francebloodbowl ort
this script allow user to sort your team rosters on francebloodbowl.com
v 2.0
**********************************/
var luk_t = Array();
var col;
var tableau_total;
var nmb=new RegExp('[0-9]','g');
var sens_luk_tri=1;
var i,j,k;


/*find the good table*/
var TableFound=false;
var searchCount = 0;
function getRosterTable(){
	luk_t =document.getElementsByTagName('table');
	for(i=0;i<luk_t.length;i++){
		if(luk_t[i].rows.length >= 2 ){
			if(luk_t[i].rows[1].cells.length >= 2 ){
				j=luk_t[i].rows[0].cells[0].innerHTML;
				if( (j == 'Ligue')  ){
					luk_t[i].id='luk_table_tri';
					TableFound=true;
				}
			}
		}
	}
	
	if(TableFound == true){
	
		document.getElementById('luk_table_tri').rows[0].cells[0].innerHTML += "<br/><img src='http://www.clemusa.net/bloodbowl/updown_arrows.jpg' onclick='javascript:elyoukeysTri(0,sens_luk_tri)'/>";
		document.getElementById('luk_table_tri').rows[0].cells[1].innerHTML += "<br/><img src='http://www.clemusa.net/bloodbowl/no_arrows.jpg' />";
		document.getElementById('luk_table_tri').rows[0].cells[2].innerHTML += "<br/><img src='http://www.clemusa.net/bloodbowl/updown_arrows.jpg' onclick='javascript:elyoukeysTri(2,sens_luk_tri)'/>";
		document.getElementById('luk_table_tri').rows[0].cells[3].innerHTML += "<br/><img src='http://www.clemusa.net/bloodbowl/updown_arrows.jpg' onclick='javascript:elyoukeysTri(3,sens_luk_tri)'/>";
		document.getElementById('luk_table_tri').rows[1].cells[0].innerHTML += "<br/><img src='http://www.clemusa.net/bloodbowl/updown_arrows.jpg' onclick='javascript:elyoukeysTri(4,sens_luk_tri)'/>";
		document.getElementById('luk_table_tri').rows[1].cells[1].innerHTML += "<br/><img src='http://www.clemusa.net/bloodbowl/updown_arrows.jpg' onclick='javascript:elyoukeysTri(5,sens_luk_tri)'/>";
		document.getElementById('luk_table_tri').rows[1].cells[2].innerHTML += "<br/><img src='http://www.clemusa.net/bloodbowl/updown_arrows.jpg' onclick='javascript:elyoukeysTri(6,sens_luk_tri)'/>";
		document.getElementById('luk_table_tri').rows[1].cells[3].innerHTML += "<br/><img src='http://www.clemusa.net/bloodbowl/updown_arrows.jpg' onclick='javascript:elyoukeysTri(7,sens_luk_tri)'/>";

	}
	else{
		if(searchCount < 2 ){
			setTimeout("getRosterTable()",3);
			searchCount++;
		}
		
	}
}
setTimeout("getRosterTable()",3000);
/**/


function elyoukeysTri(col,sens){				
	
	var tab=document.getElementById('luk_table_tri');
	var t2=tab.rows.length-1;
	var liste=new Array(t2);
	Tay=1;
	for(i=0;i<=t2;i++){
		if(document.getElementById('luk_table_tri').rows[i].getAttribute('bgcolor')=='#ffffff'){				
			liste[i]=document.getElementById('luk_table_tri').rows[i].cells;
			Tay++;
		}
	}
	Tay++;
	var tableau_total = new Array();
	for (i=2;
i<Tay;
i++){			tableau_total[i] = new Array();
			for(j=0;
j<8;
j++){			tableau_total[i][j]=liste[i][j].innerHTML;
			tableau_total[i]['indice']=i;
		}	}			Quicksort(tableau_total,2,Tay-1,col);
	for (i=2;
i<Tay;
i++){		if(sens_luk_tri==1){i2=Tay+1-i;
}else{i2=i;
}					for(j=0;
j<8;
					j++){												liste[i2][j].innerHTML=tableau_total[i][j];
					}	}sens_luk_tri=-1*sens_luk_tri;
}																				function Quicksort(vec, loBound, hiBound,col){	var  loSwap, hiSwap, temp;
	var pivot = new Array();
		if (hiBound - loBound == 1)		{			if (compare_sup(vec[loBound][col] , vec[hiBound][col]))			{				for(j=0;
j<8;
j++){					temp = vec[loBound][j];
					vec[loBound][j] = vec[hiBound][j];
					vec[hiBound][j] = temp;
				}			}			return;
		}		for(j=0;
j<8;
j++){				pivot[j] = vec[parseInt((loBound + hiBound) / 2)][j];
				vec[parseInt((loBound + hiBound) / 2)][j] = vec[loBound][j];
				vec[loBound][j] = pivot[j];
		}		loSwap = loBound + 1;
		hiSwap = hiBound;
		do {			while (loSwap <= hiSwap && compare_inf_egal(vec[loSwap][col] , pivot[col]))				loSwap++;
			while (compare_sup(vec[hiSwap][col] , pivot[col]))				hiSwap--;
			if (loSwap < hiSwap)			{				for(j=0;
j<8;
j++){					temp = vec[loSwap][j];
					vec[loSwap][j] = vec[hiSwap][j];
					vec[hiSwap][j] = temp;
				}			}		} while (loSwap < hiSwap);
		for(j=0;
j<8;
j++){			vec[loBound][j] = vec[hiSwap][j];
			vec[hiSwap][j] = pivot[j];
		}			if (loBound < hiSwap - 1)			Quicksort(vec, loBound, hiSwap - 1, col);
		if (hiSwap + 1 < hiBound)			Quicksort(vec, hiSwap + 1, hiBound, col);
	}function compare_sup(a,b){	if(a.match(nmb) && b.match(nmb) ){					a=1*a;
		b=1*b;
	}	return (a>b);
}function compare_inf_egal(a,b){	if(a.match(nmb) && b.match(nmb) ){					a=1*a;
		b=1*b;
	}	return (a<=b);
}


