//   ************************************************************************//
//   * Module Name		: InitStats2.js										*//
//   * Release			: 2.0												*//
//   * Date				: 04/02/2009										*//
//   * Project			: AGSE_TT											*//
//   * Author			: aCOSwt											*//
//   * Description		: Scripts associated with MesStats.html				*//
//   * History			: 1.0 : First Site Version							*//
//	 *					: 2.0 : Following 2008-2009 Update					*//
//   * Language			: JavaScript										*//
//   * Compatibility	: FireFox 2 - IE 7 - Opera 9 - Konqueror 3			*//
//   ************************************************************************//

//******************************* Global References *************************//

	var	UserId, Span, GraphBase, CardStat, Averages, Ndm, DiffBase;
	
//**************************** onload init **********************************//

function initStats(){

	var	i;

	if(navigator.appName=="Microsoft Internet Explorer")
		document.getElementById("RETICULE").style.marginTop="-315px";
	document.getElementById("XGRAD1").style.display="block";
	CardStat=_SB[_RtoID[1]].length;
	GB=new Array();
	Ndm=new Array();
	Ndm[1]="SONDJFMAMJ";
	Ndm[2]="S O N D J F M A M J ";
	Ndm[3]=" S  O  N  D  J  F  M  A  M  J ";
	UserId=initPage(1,0,8);
	make_namedselectors();
	grph_prebuild();
	if(UserId){
		document.getElementById("DFLTENT").style.display="none";
		document.getElementById("PLAYER").style.display="block";
		for(i=0;i<CardStat;i++)
			GB[i]=_SB[UserId][i];
		make_all(1);}
	make_averages();}

//******************************** Make progressions Base *******************//

function make_diffs(){

	var i, j;

	DiffBase=new Array();
	for(i=1;i<StatBase.length;i++){
		DiffBase[i]=new Array();
		DiffBase[0]=0;
		for(j=1;j<CardStat;j++)
			DiffBase[i][j]=StatBase[i][j]-StatBase[i][j-1];}}

//******************************* StatBase Averages Computations ************//

function make_averages(){

	var i, j, nbnnl;

	Averages=new Array();
	for(i=0;i<CardStat;i++){
		for(j=1,nbnnl=0,Averages[i]=0;j<_AtoID.length;j++)
			if(_SB[_AtoID[j]][i]){
				Averages[i]=Averages[i]+((_MB[_AtoID[j]][6]=='F')?_SB[_AtoID[j]][i]+350:_SB[_AtoID[j]][i]);
				nbnnl+=1;}
		Averages[i]=parseInt(Averages[i]/nbnnl);}}

//**************************** Graphs Prebuild ******************************//

function grph_prebuild(){

	var i, j, ndm, ghistid, newbar;

	for(j=1;j<4;j++){
		ndm=Ndm[j];
		ghistid=document.getElementById("GHIST"+j);
		for(i=0;i<60;i++){
			newbar=document.createElement("div");
			newbar.className='barhist';
			newbar.setAttribute("id","GB"+j+"_"+i);
			newbar.innerHTML=ndm.substr(i%(j*10),1);
			ghistid.appendChild(newbar);
			if((!((i+1)%(j*10)))&&(i!=59)){
				newbar=document.createElement("div");
				newbar.className='hzwhiteline';
				ghistid.appendChild(newbar);}}}}

//***************************** Draw all UserId Graphs **********************//

function make_all(gtyp){

	document.getElementById("PLAYER").innerHTML=_MB[UserId][1]+" "+_MB[UserId][2];
	make_ippr();
	make_ippa();
	make_rkclub();
	make_proga();
	make_ghist(gtyp);}

//************************** Fill selector's options ************************//

function make_namedselectors(){

	var i, j, formul;

	for(j=1;j<4;j++){
		formul=document.forms["FRMNAM_"+j].elements["SLCT_"+j];
		for(i=1;i<_AtoID.length;i++){
			formul.options[formul.options.length] = new Option(_MB[_AtoID[i]][1]+" "+_MB[_AtoID[i]][2],'');
				if(_AtoID[i]==UserId)
					formul.options[formul.options.length-1].selected=true;}}}

//*************** Make Indice de Performance Personnelle Relative ***********//

function make_ippr(){

	var span;

	span=minmax2(_SB[UserId]);
	document.getElementById("BARGRAPH_1").style.width=326*(_MB[UserId][4]-span[0])/(span[1]-span[0])+"px";
	document.getElementById("MINIV_1").innerHTML=span[0];
	document.getElementById("ACTV_1").innerHTML=_MB[UserId][4];
	document.getElementById("MAXIV_1").innerHTML=span[1];}

//*************** Make Indice de Performance Personnelle Absolue ************//

function make_ippa(){

	var vbest, vme;

	vbest=_MB[_RtoID[1]][4];
	vme=(_MB[UserId][6]=='F')?_MB[UserId][4]+350:_MB[UserId][4];
	document.getElementById("BARGRAPH_2").style.width=326*(vme/vbest)+"px";
	document.getElementById("ACTV_2").innerHTML=vme;
	document.getElementById("MAXIV_2").innerHTML=vbest;}

//***************************** Make Classement Cub *************************//

function make_rkclub(){

	var vlow;

	vlow=_RtoID.length-1;
	document.getElementById("BARGRAPH_3").style.width=326*(vlow-_MB[UserId][5]+1)/vlow+"px";
	document.getElementById("MINIV_3").innerHTML=vlow;
	document.getElementById("ACTV_3").innerHTML=_MB[UserId][5];
	document.getElementById("MAXIV_3").innerHTML="1";}

//************************** Make Progression Annuelle **********************//

function make_proga(){

	var vlow, vbest;

	vlow=_ST2[_PtoID[_PtoID.length-1]];
	vbest=_ST2[_PtoID[1]];
	document.getElementById("BARGRAPH_4").style.width=326*(_ST2[UserId]-vlow)/(vbest-vlow)+"px";
	document.getElementById("MINIV_4").innerHTML=vlow;
	document.getElementById("ACTV_4").innerHTML=_ST2[UserId];
	document.getElementById("MAXIV_4").innerHTML=vbest;}

//******************************* Make Global Histo *************************//

function make_ghist(grphtyp){

	var i, span, coef, barid, adjwdth;

	for(i=1;i<4;i++){
		if(grphtyp==i){
			document.getElementById("XGRAD"+i).style.display="block";
			document.getElementById("GHIST"+i).style.display="block";}
		else{
			document.getElementById("XGRAD"+i).style.display="none";
			document.getElementById("GHIST"+i).style.display="none";}}
	adjwdth=136-2*(6/grphtyp-1)+"px";
	document.getElementById("CNTRLPNLTTL").style.width=adjwdth;
	document.getElementById("CONTROLPAN").style.width=adjwdth;
	span=minmax(GB,grphtyp*CardStat);
	span=make_grad(span[1],span[0]);
	coef=270/(span[1]-span[0]);
	for(i=0;i<60;i++){
		barid=document.getElementById("GB"+grphtyp+"_"+i)
		if(i<(grphtyp*CardStat))
			barid.style.height=15+Math.round(coef*(span[1]-GB[i]))+"px";
		else
			barid.style.height="300px";}}

//******************************* Make graduation ***************************//

function make_grad(max,min){

	var i, real, newext;

	newext=new Array();
	real=Math.ceil((max-min)/10);
	switch(real){
		case 0: real=1;
				break;
		case 3:
		case 4: real=5;
				break;
		case 6:
		case 7:
		case 8:
		case 9: real=10;}
	if(real>10)
		real=10*Math.ceil(real/10);
	newext[0]=real*Math.floor(min/real);
	newext[1]=newext[0]+10*real;
	for(i=0;i<=10;i++){
		document.getElementById("YGRAD_"+i).innerHTML=newext[0]+i*real;
		if(!((newext[0]+i*real)%100))
			document.getElementById("YGRAD_"+i).style.backgroundColor="#CDB646";
		else
			document.getElementById("YGRAD_"+i).style.backgroundColor="transparent";}
	return(newext);}

//******************************* Min / Max *********************************//

function minmax(tab,imax){

	var i, minmax;

	mm=new Array();
	mm[0]=5000;
	mm[1]=0;
	for(i=0;i<imax;i++){
		if(tab[i]){
			if(tab[i]<mm[0])
				mm[0]=tab[i];
			if(tab[i]>mm[1])
				mm[1]=tab[i];}}
	return(mm);}

//******************************* Min / Max v2 *******************************//

function minmax2(tab){

	var i;

	mm=new Array();
	mm[0]=5000;
	mm[1]=0;
	for(i=0;i<tab.length;i++){
		if(tab[i]){
			if(tab[i]<mm[0])
				mm[0]=tab[i];
			if(tab[i]>mm[1])
				mm[1]=tab[i];}}
	return(mm);}

//******************************* Change reference user *********************//

function interpret(){

	var i, graphid, rk2, rk3;

	document.getElementById("REFRESH").src="../Images/ActiveWidgets/RefrGrphClick.png";
	graphid=document.forms["FRMNAM_1"].elements["SLCT_1"].selectedIndex;
	UserId=_AtoID[graphid];
	switch(document.forms["FRMNAM_5"].elements["SLCT_5"].selectedIndex){
		case 0 :	for(i=0;i<CardStat;i++)
						GB[i]=_SB[UserId][i];
					make_all(1);
					break;
		case 1 :	u2=_RtoID[1];
					for(i=0;i<CardStat;i++){
						GB[2*i]=((_MB[UserId][6]=='F')&&(_SB[UserId][i]!=0))?_SB[UserId][i]+350:_SB[UserId][i];
						GB[2*i+1]=_SB[u2][i];}
					make_all(2);
					break;
		case 2 :	for(i=0;i<CardStat;i++){
						GB[2*i]=((_MB[UserId][6]=='F')&&(_SB[UserId][i]!=0))?_SB[UserId][i]+350:_SB[UserId][i];
						GB[2*i+1]=Averages[i];}
					make_all(2);
					break;
		case 3 :	rk3=(_MB[UserId][5]==1)?_RroID[_MB[UserId][5]]:_RtoID[_MB[UserId][5]-1];
					document.forms["FRMNAM_3"].elements["SLCT_3"].selectedIndex=_MB[rk3][7];
					rk2=(_MB[UserId][5]==_AtoID.length-1)?_RtoID[_MB[UserId][5]]:_RtoID[_MB[UserId][5]+1];
					document.forms["FRMNAM_2"].elements["SLCT_2"].selectedIndex=_MB[rk2][7];
					for(i=0;i<CardStat;i++){
						GB[3*i]=((_MB[rk2][6]=='F')&&(_SB[rk2][i]!=0))?_SB[rk2][i]+350:_SB[rk2][i];
						GB[3*i+1]=((_MB[UserId][6]=='F')&&(_SB[UserId][i]!=0))?_SB[UserId][i]+350:_SB[UserId][i];
						GB[3*i+2]=((_MB[rk3][6]=='F')&&(_SB[rk3][i]!=0))?_SB[rk3][i]+350:_SB[rk3][i];}
					make_all(3);
					break;
		case 4 :	u3=document.forms["FRMNAM_3"].elements["SLCT_3"].selectedIndex;
					u2=document.forms["FRMNAM_2"].elements["SLCT_2"].selectedIndex;
					for(i=0;i<CardStat;i++){
						GB[3*i]=((_MB[_AtoID[u2]][6]=='F')&&(_SB[_AtoID[u2]][i]!=0))?_SB[_AtoID[u2]][i]+350:_SB[_AtoID[u2]][i];
						GB[3*i+1]=((_MB[UserId][6]=='F')&&(_SB[UserId][i]!=0))?_SB[UserId][i]+350:_SB[UserId][i];
						GB[3*i+2]=((_MB[_AtoID[u3]][6]=='F')&&(_SB[_AtoID[u3]][i]!=0))?_SB[_AtoID[u3]][i]+350:_SB[_AtoID[u3]][i];}
					make_all(3);}}