//fcmFormazioniFunzioniSK versione 1.0 
//visualizzazione dei titolari su campo da gioco in stile Gazzetta
//Funziona su Mozilla Firefox, Opera, Safari... ma non su Internet Explorer dato che non rispetta gli standard
//editato da SuperKaze

// Oggetto Formazione (abbreviato Z)
function Z(IDIncontro,IDSquadra,IDLega,Nome,SquadraDiA,Ruolo,Pos,Rig) {
	this.IDIncontro = IDIncontro
	this.IDSquadra = IDSquadra
	this.IDLega = IDLega
	this.Nome = Nome
	this.SquadraDiA = SquadraDiA
	this.Ruolo = Ruolo
	this.Pos = Pos
	this.Rig = Rig
}

function HM(IDIncontro,IDSquadra,OrarioInvio) {
	this.IDIncontro = IDIncontro
	this.IDSquadra = IDSquadra
	this.OrarioInvio = OrarioInvio
}

function IT(IDIncontro,IDSquadra,IDLega,Nome,Pos) {
	this.IDIncontro = IDIncontro
	this.IDSquadra = IDSquadra
	this.IDLega = IDLega
	this.Nome = Nome
	this.Pos = Pos
}

function GetFormazione(IDIncontro,IDSquadra,IDLega) {
	// scorre la lista delle formazioni e ritorna tutte quelle che
	// hanno i tre valori corrispondenti. Quindi le ordina per pos
	// mettendo pero' quelli con -1 alla fine e non all'inizio
	var arr = new Array()
	var i,cnt=1
	var tipo,pPrimo,pUltimo
	for (i=1;i<arrFormazioni.length;i++) {
		if ((arrFormazioni[i].IDIncontro==IDIncontro) && (arrFormazioni[i].IDSquadra==IDSquadra) && (arrFormazioni[i].IDLega==IDLega)) {
			arr[cnt]=new Z
			arr[cnt]=arrFormazioni[i]
			cnt++
		} else {
			if (cnt>1) i=arrFormazioni.length
		}
	}
	//ordina
	for (i=1;i<arr.length;i++) {
		if (arr[i].Pos==-1) arr[i].Pos=999
	}
	if (arr.length>1) {
		QuickSortFormazioniPos(arr,1,arr.length-1)
		for (i=1;i<arr.length;i++) {
			if (arr[i].Pos==999) arr[i].Pos=-1
		}
		//ora ordina per ruolo all'interno delle tipologie
		// titolari
		pPrimo=arr.length-1
		pUltimo=1
		for (i=1;i<arr.length;i++) {
			if (arr[i].Pos==0) {
				if (i<pPrimo) pPrimo=i
				pUltimo=i
			}
		}
		if (pPrimo<pUltimo)	QuickSortFormazioniRuolo(arr,pPrimo,pUltimo)
		//riserve
		pPrimo=arr.length-1
		pUltimo=1
		for (i=1;i>arr.length;i++) {
			if (arr[i].Pos>0) {
				if (i<pPrimo) pPrimo=i
				pUltimo=i
			}
		}
		if (pPrimo<pUltimo)	QuickSortFormazioniRuolo(arr,pPrimo,pUltimo)
		//tribuna
		pPrimo=arr.length-1
		pUltimo=1
		for (i=1;i<arr.length;i++) {
			if (arr[i].Pos==-1) {
				if (i<pPrimo) pPrimo=i
				pUltimo=i
			}
		}
		if (pPrimo<pUltimo)	QuickSortFormazioniRuolo(arr,pPrimo,pUltimo)
	}
	return arr
}
function QuickSortFormazioniPos(arr,s,d) {
	var i,j,X,m
	var z1
	i = s
	j = d
	X = arr[Math.floor((s+d)/2)].Pos
	do {
		while (arr[i].Pos < X) {
			i++
		}
		while (X < arr[j].Pos) {
			j--
		}
		if (i<=j) {
			z1=arr[i]
			arr[i]=arr[j]
			arr[j]=z1
			i++
			j--
		}
	} while (i<=j)
	if (s<j) QuickSortFormazioniPos(arr,s,j)
	if (i<d) QuickSortFormazioniPos(arr,i,d)
}
function QuickSortFormazioniRuolo(arr,s,d) {
	var i,j,X,m
	var z1
	i = s
	j = d
	X = arr[Math.floor((s+d)/2)].Ruolo
	do {
		while (arr[i].Ruolo < X) {
			i++
		}
		while (X < arr[j].Ruolo) {
			j--
		}
		if (i<=j) {
			z1=arr[i]
			arr[i]=arr[j]
			arr[j]=z1
			i++
			j--
		}
	} while (i<=j)
	if (s<j) QuickSortFormazioniRuolo(arr,s,j)
	if (i<d) QuickSortFormazioniRuolo(arr,i,d)
}
function GeneraFormazioni(cGio,cComp) {
	var arrI = new Array()
	var f = new Array()
	var tabe = new Object()
	var str="",i,j
	var ruolo,pd,colore
	var mostra
	if (SezioniChiuse=="no") {
		mostra=""
	} else {
		mostra="display: none; "
	}
	// includi nel documento il file js corrispondente alla giornata
	//document.write("<script src='js/fcmFormazioniDati"+cGio+".js' type='text/javascript'></scr" + "ipt>")
	// carica la lista degli incontri di questa giornata e competizione
	arrI = RiempiListaIncontri(cGio,cComp)
	// per ogni incontro
	// 1- apri un layer
	// 2- crea la tabella
document.write ("<div id='tabcont1' class='tabpanelform'>")
document.write ("<ul id='tabcont1-nav' class='tabnav'>")
for (i=1;i<arrI.length;i++) {

document.write ("<li><a style='text-align:left;' href='#tab"+i+"'><span>"+ arrI[i].Nomi.Casa +"<br>"+ arrI[i].Nomi.Fuori +"</span></a></li>")

}
document.write ("</ul>")
for (i=1;i<arrI.length;i++) {
		
f=GetFormazione(arrI[i].ID,arrI[i].IDSquadre.Casa,arrI[i].IDLegaSquadre.Casa)
		// tabella casa

		

		
		//Vengono cercate le immagini del Logo della Fantasquadra e la maglia della fantasquadra.
		//Nel mio si trovano tutte nella cartella "img/fsq"
		//ogni maglia si chiama come il nome della squadra.gif
		//ogni logo si chiama come il nome della squadra.png
		
		//VARIABILI da poter Personalizzare in modo semplice, all'interno del file fcmFormFieldSKDati.js
		var cartella = getCartella()
		var estMaglia = getEstMaglia() 
		var estLogo = getEstLogo()
		var estPresidente = getEstPresidente()
		var skin = getSkin()
		var altezza = getAltezza()
		var larghezza = getLarghezza()
		var bgcolor = getBgColor()
		
		var numPanchinari = getNumPanchinari() // restituisce il numero dei panchinari, 0 se non c'è una lunghezza fissa per la panchina
		var tipoPanchina = getTipoPanchina() // 1 per la panchina ordinata per ruolo, 0 per l'ordine di apparizione
		var tipoTrib = getTribuna() // 1 per visualizzare la tribuna, 0 per nasconderla
		
		var casa = filterSpecial(arrI[i].Nomi.Casa);
		var fuori = filterSpecial(arrI[i].Nomi.Fuori);
		var IDcasa = arrI[i].IDSquadre.Casa;
		var incontro;
		if (arrI[i].IDTipo!=INC_GRANPREMIO){
			incontro = casa + " - " + fuori
		}
		else incontro = ""

		document.write ("<div id='#tab"+i+"' class='tab'>")


		//INIZIO Oggetto Flash Casa
		// Squadra di Casa	
			
			document.write ("<div style='float:left;width:400px;height:358px'>")
		if (f.length>11){
			
			document.write("<object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' codebase='http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0' name='fantatest' width="+larghezza+" height="+altezza+" align='middle' id='fantatest' http:='' macromedia.com='' cabs='' swflash.cab#version='6,0,0,0&quot;&quot;'><param name='movie' value='" + skin + "'><param name='quality' value='high'><param name='bgcolor' value="+bgcolor+"><param name='allowScriptAccess' value='sameDomain'><PARAM NAME='wmode' VALUE='transparent'>")
			
			//INIZIO parte per Browser standard come Firefox
			document.write("<embed wmode='transparent' src='" + skin + "' allowScriptAccess='sameDomain' quality='high' bgcolor="+bgcolor+" name='fantatest' type='application/x-shockwave-flash' pluginspage='http://www.macromedia.com/go/getflashplayer' align='middle'  width="+larghezza+" height="+altezza+" flashvars='nomeSquadra=" + casa.toUpperCase() + "&match=" + incontro + "&imgFsq=" + cartella + IDcasa +"maglia"+ estMaglia + "&imgLogo=" + cartella + IDcasa + estLogo + "&imgPresidente=" + cartella + casa + estPresidente + "&tipoPanchina=" + tipoPanchina + "&panchinari=" + numPanchinari + "&tipoTrib=" + tipoTrib)
			
			
			DisponiSuCampo(f, casa)

			document.write("'>")
			
			//FINE parte per Firefox
			
			//INIZIO parte per Internet Explorer
			document.write("<param name='FlashVars' value='nomeSquadra=" + casa.toUpperCase() + "&match=" + incontro + "&imgFsq=" + cartella + IDcasa +"maglia"+ estMaglia + "&imgLogo=" + cartella + IDcasa + estLogo + "&imgPresidente=" + cartella + casa + estPresidente + "&tipoPanchina=" + tipoPanchina + "&panchinari=" + numPanchinari + "&tipoTrib=" + tipoTrib)
			if (f.length>11){
				DisponiSuCampo(f, casa)
			}
			else {
				document.write("&giocatori=" + f.length)
			}
			document.write("'>")
			
			document.write("</embed></object><br>")
			for (y=1;y<OrariInvio.length;y++) {
			if (arrI[i].ID==OrariInvio[y].IDIncontro && arrI[i].IDSquadre.Casa==OrariInvio[y].IDSquadra) {
			document.write("<span style='float:left;width:100%; letter-spacing: 1.3px;line-width:100%; text-align:center;color:#336699'>Formazione Inviata "+OrariInvio[y].OrarioInvio+"</span>")
			break;
			}
			}
			
		}
		else {
			document.write("<h2>"+ arrI[i].Nomi.Casa +"<br>Formazione non ancora inviata</h2>")
		}
document.write("</div>")
		//FINE Oggetto Casa
		

		
			
			// tabella fuori

			f=GetFormazione(arrI[i].ID,arrI[i].IDSquadre.Fuori,arrI[i].IDLegaSquadre.Fuori)
			
			var IDfuori = arrI[i].IDSquadre.Fuori;

			//INIZIO Oggetto Flash Fuori Casa
			// Squadra Fuori Casa
			document.write ("<div style='float:right;width:400px;height:358px'>")
			if (f.length>11){
				document.write("<object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' codebase='' name='fantatest' width="+larghezza+" height="+altezza+" align='middle' id='fantatest' http:='' macromedia.com='' cabs='' swflash.cab#version='6,0,0,0&quot;&quot;'><param name='movie' value=" + skin + "><param name='quality' value='high'><param name='bgcolor' value="+bgcolor+"><PARAM NAME='wmode' VALUE='transparent'>")
				
				//INIZIO parte per Browser standard come Firefox
				document.write("<embed wmode='transparent' src=" + skin + " quality='high' bgcolor="+bgcolor+" name='fantatest' type='application/x-shockwave-flash' pluginspage='http://www.macromedia.com/go/getflashplayer' align=''  width="+larghezza+" height="+altezza+" flashvars='nomeSquadra=" + fuori.toUpperCase() + "&match=" + incontro + "&imgFsq=" + cartella + IDfuori +"maglia"+ estMaglia + "&imgLogo=" + cartella + IDfuori + estLogo + "&imgPresidente=" + cartella + fuori + estPresidente + "&tipoPanchina=" + tipoPanchina + "&panchinari=" + numPanchinari + "&tipoTrib=" + tipoTrib)
				if (f.length>11){
					DisponiSuCampo(f, fuori)
				}
				else {
					document.write("&giocatori=" + f.length)
				}	
				document.write("'>")
				//FINE parte per Firefox
				
				//INIZIO parte per Internet Explorer
				document.write("<param name='FlashVars' value='nomeSquadra=" + fuori.toUpperCase() + "&match=" + incontro + "&imgFsq=" + cartella + IDfuori +"maglia"+ estMaglia + "&imgLogo=" + cartella + IDfuori + estLogo + "&imgPresidente=" + cartella + fuori + estPresidente + "&tipoPanchina=" + tipoPanchina + "&panchinari=" + numPanchinari + "&tipoTrib=" + tipoTrib)
				if (f.length>11){
					DisponiSuCampo(f, fuori)
				}
				else {
					document.write("&giocatori=" + f.length)
				}	
				document.write("'>")
				
				document.write("</embed></object><br>")

				for (y=1;y<OrariInvio.length;y++) {
				if (arrI[i].ID==OrariInvio[y].IDIncontro && arrI[i].IDSquadre.Fuori==OrariInvio[y].IDSquadra) {
			document.write("<span style='float:right;float:left;width:100%; letter-spacing: 1.3px;line-width:100%;text-align:center;color:#336699'>Formazione Inviata "+OrariInvio[y].OrarioInvio+"</span>")
				break;
				}
				}
				
			}
			else {
				document.write("<h2>"+ arrI[i].Nomi.Fuori +"<br>Formazione non ancora inviata</h2>")
			}
			//FINE Oggetto Fuori Casa
			document.write("</div>")
			

document.write("</div>")
		
	}

		document.write("</div>")
var tabber=new Yetii('tabcont1');
tabber.init();
}

function DisponiSuCampo(f,nome) {
	var y,j, dif=0, cen=0, att=0, ruolo=""
	// titolari
	for (j=1;j<=11;j++) {
		//conteggio del numero di giocatori titolari per ciascun ruolo per calcolare lo schema usato
		if (f[j].Ruolo==1){ruolo="P";}
		if (f[j].Ruolo==2){ruolo="D";dif++}			
		if (f[j].Ruolo==3){ruolo="C";cen++}					
		if (f[j].Ruolo==4){ruolo="A";att++}

		for (w=1;w<=arrInserimento.length;w++){
		if (f[j].Nome==arrInserimento[w].Nome && f[j].IDIncontro==arrInserimento[w].IDIncontro){
			 y=arrInserimento[w].Pos
			break;}
		}
		
		//vengono recuperati i nomi dei giocatori, la loro squadra e l'id del ruolo
		if (f[j].Pos==0){
		document.write("&player" + y + "=" + toProperCase(filterSpecial(filter(f[j].Nome))))
		document.write("&squad" + y + "=(" + trelettere(f[j].SquadraDiA) + ")")
		document.write("&r" + y + "=" + f[j].Ruolo)
		document.write("&ruolo" + y + "=" + ruolo)
		}else{
		document.write("&player" + j + "= ")
		document.write("&squad" + j + "= ")
		document.write("&r" + j + "= ")
		document.write("&ruolo" + j + "= ")
		}
	}
	//panchina, e tribuna
	for (j=(11+1);j<f.length;j++) {	
		if (f[j].Ruolo==1){ruolo="P";}
		if (f[j].Ruolo==2){ruolo="D";}			
		if (f[j].Ruolo==3){ruolo="C";}					
		if (f[j].Ruolo==4){ruolo="A";}
		if (f[j].Pos>0){
		document.write("&player" + j + "=" + toProperCase(filterSpecial(filter(f[j].Nome))))
		document.write("&squad" + j + "=(" + trelettere(f[j].SquadraDiA) + ")")
		document.write("&r" + j + "=" + f[j].Ruolo)
		document.write("&ruolo" + j + "=" + ruolo)
		}else{
		document.write("&player" + j + "= ")
		document.write("&squad" + j + "= ")
		document.write("&r" + j + "= ")
		document.write("&ruolo" + j + "= ")
		}
	}
	document.write("&schema=" + dif + "-" + cen + "-" + att)
}

