1// Oggetti JavaScript per Calendario 2// riferisce fcmGenerale.js 3 4/********************************** 5*********** COSTRUTTORI *********** 6***********************************/ 7// Costruttore dell'oggetto Incontro (abbreviato in I) 8function I(ID,IncAcc,IDTipo,Giocato,IDFantagiornata,Fantagiornata,IDCompetizione,Competizione,IDGirone,Girone,GiornataDiA,IDCasa,IDFuori,IDLegaCasa,IDLegaFuori,NomeCasa,NomeFuori,GolCasa,GolFuori,ParzialeCasa,ParzialeFuori,TotaleCasa,TotaleFuori,M1Casa,M1Fuori,M2Casa,M2Fuori,M3Casa,M3Fuori) { 9 this.ID = ID 10 this.IncAcc = IncAcc 11 this.IDTipo = IDTipo 12 this.IDFantagiornata = IDFantagiornata 13 this.Fantagiornata = Fantagiornata 14 this.IDCompetizione = IDCompetizione 15 this.IDGirone = IDGirone 16 this.Competizione = Competizione 17 this.Girone = Girone 18 this.IDSquadre = new Coppia(IDCasa,IDFuori) 19 this.IDLegaSquadre = new Coppia(IDLegaCasa,IDLegaFuori) 20 this.Nomi = new Coppia(NomeCasa,NomeFuori) 21 this.Gol = new Coppia(GolCasa,GolFuori) 22 this.Parziali = new Coppia(ParzialeCasa,ParzialeFuori) 23 this.Totali = new Coppia(TotaleCasa,TotaleFuori) 24 this.M1 = new Coppia(M1Casa,M1Fuori) 25 this.M2 = new Coppia(M2Casa,M2Fuori) 26 this.M3 = new Coppia(M3Casa,M3Fuori) 27 this.Giocato = Giocato 28 this.GiornataDiA = GiornataDiA 29} 30 31/*********************************** 32************** METODI ************** 33************************************/ 34function RiempiListaIncontri(giornata,competizione) { 35 // Trova tutti gli incontri di una giornata di A 36 // e di una certa competizione se diverso da 0 37var arr = new Array() 38var i,cnt=1 39 for (i=1;i<arrIncontri.length;i++) { 40 if ((parseInt(arrIncontri[i].GiornataDiA) == giornata) && ((competizione!=0 && (parseInt(arrIncontri[i].IDCompetizione)==competizione)) || competizione==0)) { 41 // se non e' un riposo... 42 if (arrIncontri[i].IDTipo!=INC_RIPOSO) { 43 //aggiungilo 44 arr[cnt] = new I() 45 arr[cnt] = arrIncontri[i] 46 cnt++ 47 } 48 } 49 } 50 return arr 51} 52 53function FiltraCompetizione(arr,idComp) { 54// Modifica l'array principale rimuovendo gli incontri 55// che non fanno parte della competizione passata 56var iComp = parseInt(idComp) 57var i, cnt = 1 58var newArr = new Array() 59var d10 60 Stato("Filtro Competizione...") 61 d10 = Math.ceil(arr.length / 10) 62 for (i=1;i<arr.length;i++) { 63 if (parseInt(arr[i].IDCompetizione) == iComp) { 64 newArr[cnt] = new I() 65 newArr[cnt] = arr[i] 66 cnt++ 67 } 68 if ((i % d10) == 0) Stato("Filtro Competizione..." + (Math.floor((i*100)/arr.length)) + "%") 69 } 70 return newArr 71} 72 73function FiltraDivisione(arr,arrFsq,idDiv) { 74// Modifica l'array principale rimuovendo gli incontri 75// che non hanno squadre della divisione 76var iDiv = parseInt(idDiv) 77var iDiv2, iID 78var i, j, cnt = 1, bAggiungi 79var newArr = new Array() 80var arrF = new Array() 81var d10 82 Stato("Filtro Divisione...") 83 cnt = 1 84 for (i=1;i<arrFsq.length;i++) { 85 if (parseInt(arrFsq[i].IDDivisione) == iDiv) { 86 arrF[cnt] = arrFsq[i].ID 87 cnt++ 88 } 89 } 90 cnt = 1 91 d10 = Math.ceil(arr.length / 10) 92 // determina le squadre della Divisione 93 for (i=1;i<arr.length;i++) { 94 bAggiungi = false 95 // solo per le squadre della lega, non extra 96 if ((parseInt(arr[i].IDLegaSquadre.Casa) != 0) || (parseInt(arr[i].IDLegaSquadre.Fuori) != 0)) { 97 bAggiungi = true 98 } else { 99 for (j=1;j<arrF.length;j++) { 100 if (arr[i].IDSquadre.Casa == arrF[j]) bAggiungi = true 101 } 102 if (!bAggiungi) { 103 // controlla quella fuori casa 104 if ((parseInt(arr[i].IDTipo) != INC_GRANPREMIO) && (parseInt(arr[i].IDTipo) != INC_RIPOSO)) { 105 for (j=1;j<arrF.length;j++) { 106 if (arr[i].IDSquadre.Fuori == arrF[j]) bAggiungi = true 107 } 108 } 109 } 110 } 111 if (bAggiungi) { 112 newArr[cnt] = new I() 113 newArr[cnt] = arr[i] 114 cnt++ 115 } 116 if ((i % d10) == 0) Stato("Filtro Divisione..." + (Math.floor((i*100)/arr.length)) + "%") 117 } 118 return newArr 119} 120 121function GeneraCalendario(idComp,idDiv) { 122var arr = new Object() 123var arrFSq = new Object() 124var cale = new Tabella(2,5) 125var bGiocato, i, j, iIncAcc 126var iCorrGiornataDiA = 0, iUltimaGiornataDiA = 0, iPrecGiornataDiA=-1 127var sPrecCompetizione = "", sCorrCompetizione = "" 128var sPrecFantagiornata = "", sCorrFantagiornata = "" 129var sPrecGirone = "", sCorrGirone = "" 130var sSqCasa, sSqFuori, sIncTemp, sRisTemp 131var iMaxRiga = 0, iCorrCol = 4, iCorrRiga = 1, iLastPosRiga = 1 132var bCompetizioneCambiata = false, iUltimaRiga = 0, iTemp, sTemp 133var iUltimoFormato = 0 // pari = 0, dispari = 1 134var d10 135 // Genera la tabella del calendario (SOLO la tabella) 136 // Apri tabella 137 //arr = RiempiCalendario(arr) 138 arr = arrIncontri 139 d10 = Math.ceil(arr.length / 10) 140 if (idComp != 0 && idComp != "") arr = FiltraCompetizione(arr,idComp) 141 if (idDiv != 0 && idDiv != "") { 142 //arrFsq = RiempiFantasquadre() 143 arrFsq = arrFantasquadre 144 arr = FiltraDivisione(arr,arrFsq,idDiv) 145 } 146 Stato("Generazione Calendario...") 147 // Contenuti 148 for (i=1;i<arr.length;i++) { 149 iCorrGiornataDiA = arr[i].GiornataDiA 150 if (iCorrGiornataDiA != iPrecGiornataDiA) { 151 // Se la giornata di A è diversa, stampala 152 iCorrRiga++ 153 if (iCorrCol==1) { 154 iCorrCol=4 155 iCorrRiga=iLastPosRiga 156 } else { 157 iCorrCol=1 158 iCorrRiga = iUltimaRiga +1 159 iLastPosRiga = iCorrRiga 160 } 161 iPrecGiornataDiA = iCorrGiornataDiA 162 cale.SetStile(iCorrRiga,iCorrCol,"cale-gio") 163 cale.SetValore(iCorrRiga,iCorrCol,"Giornata di A: " + iCorrGiornataDiA + " <a class='white' href='form.php?cGio=" + iCorrGiornataDiA + "'>Formazioni</a> " + "| <a class='white' href='ris.php?cGio=" + iCorrGiornataDiA + "'>Tabellini</a>") 164 cale.SetSpan(iCorrRiga,iCorrCol,2) 165 cale.SetSpanned(iCorrRiga,iCorrCol+1,true) 166 iCorrRiga++ 167 sPrecCompetizione = "" 168 iUltimoFormato = 0 169 } 170 sCorrCompetizione = arr[i].Competizione 171 bCompetizioneCambiata = false 172 if (sPrecCompetizione != sCorrCompetizione) { 173 // Stampa il nome competizione se diverso 174 sPrecCompetizione = sCorrCompetizione 175 bCompetizioneCambiata = true 176 sPrecFantagiornata = "xxxxxxxxxxxxxxxxxxx" 177 iUltimoFormato = 0 178 } 179 sCorrFantagiornata = arr[i].Fantagiornata 180 if (((sPrecFantagiornata != sCorrFantagiornata) && sCorrFantagiornata != "") || ((sPrecFantagiornata != sCorrFantagiornata) && bCompetizioneCambiata)) { 181 // Se cambia la fantagiornata o la competizione e la fantagiorata è definita, stampale entrambe 182 sPrecFantagiornata = sCorrFantagiornata 183 cale.SetStile(iCorrRiga,iCorrCol,"cale-comp") 184 if (sCorrFantagiornata == "") { 185 cale.SetValore(iCorrRiga,iCorrCol,sCorrCompetizione) 186 } else { 187 cale.SetValore(iCorrRiga,iCorrCol,sCorrCompetizione + ": " + sCorrFantagiornata) 188 } 189 cale.SetSpan(iCorrRiga,iCorrCol,2) 190 cale.SetSpanned(iCorrRiga,iCorrCol+1,true) 191 iCorrRiga++ 192 sPrecGirone = "" 193 iUltimoFormato = 0 194 } 195 sCorrGirone = arr[i].Girone 196 if ((sPrecGirone != sCorrGirone) && sCorrGirone != "") { 197 // Stampa il girone se presente e definito 198 sPrecGirone = sCorrGirone 199 cale.SetStile(iCorrRiga,iCorrCol,"cale-comp") 200 cale.SetValore(iCorrRiga,iCorrCol,sCorrGirone) 201 cale.SetSpan(iCorrRiga,iCorrCol,2) 202 cale.SetSpanned(iCorrRiga,iCorrCol+1,true) 203 iCorrRiga++ 204 iUltimoFormato = 0 205 } 206 //iIncAcc = arr[i].IncAcc 207 //if (iIncAcc == 1) { 208 // I 209 iTemp = arr[i].IDTipo 210 if (iTemp == INC_RIPOSO) { 211 sIncTemp = arr[i].Nomi.Casa + " Riposa" 212 sRisTemp = "" 213 } else if (iTemp == INC_GRANPREMIO) { 214 sIncTemp = arr[i].Nomi.Casa 215 sRisTemp = arr[i].Totali.Casa 216 } else { 217 sIncTemp = arr[i].Nomi.Casa + " - " + arr[i].Nomi.Fuori 218 sRisTemp = arr[i].Gol.Casa + " - " + arr[i].Gol.Fuori 219 } 220 //} else { 221 // Accoppiamento 222 // Rimuovere i commenti all'if precedente e compilare questa sezione 223 // per gestire in maniera diversa incontri da accoppiamenti 224 //} // if iIncAcc == 1 225 if (iUltimoFormato == 0) { 226 cale.SetStile(iCorrRiga,iCorrCol,"cale-inc-dispari") 227 cale.SetStile(iCorrRiga,iCorrCol+1,"cale-ris-dispari") 228 iUltimoFormato = 1 229 } else { 230 cale.SetStile(iCorrRiga,iCorrCol,"cale-inc-pari") 231 cale.SetStile(iCorrRiga,iCorrCol+1,"cale-ris-pari") 232 iUltimoFormato = 0 233 } 234 cale.SetValore(iCorrRiga,iCorrCol,sIncTemp) 235 bGiocato = arr[i].Giocato 236 if (bGiocato) { 237 cale.SetValore(iCorrRiga,iCorrCol+1,sRisTemp) 238 } else { 239 cale.SetValore(iCorrRiga,iCorrCol+1,"") 240 } 241 iCorrRiga++ 242 if (iCorrRiga >= iUltimaRiga) iUltimaRiga = iCorrRiga 243 if ((i % d10) == 0) Stato("Generazione Calendario..." + (Math.floor((i*100)/arr.length)) + "%") 244 } // for 245 //larghezza colonne 246 cale.nome="Calendario" 247 cale.larghezza=100 248 cale.border=0 249 cale.cellpadding=3 250 cale.cellspacing=0 251 cale.SetLarghezzaColonna(1,39) 252 cale.SetLarghezzaColonna(2,10) 253 cale.SetLarghezzaColonna(3,0) 254 cale.SetLarghezzaColonna(4,39) 255 cale.SetLarghezzaColonna(5,10) 256 cale.stile="tab-8" 257 cale.Stampa() 258} 259 260function GetUltimaGiornataGiocata() { 261// ritorna l'ultima giornata giocata. Se non e' stata giocata 262// nessuna allora ritorna comunque 1 263var i,trovata=false,gio=0 264if (arrIncontri[1].Giocato == false) return 1 265i=arrIncontri.length-1 266 do { 267 if (arrIncontri[i].Giocato && arrIncontri[i].IDTipo!=INC_RIPOSO) { 268 gio=arrIncontri[i].GiornataDiA 269 } 270 i-- 271 } while (gio==0 && i>=1) 272 return (gio==0?1:gio) 273} 274 275function GetProssimaGiornataDaGiocare() { 276// ritorna la prossima giornata di A da giocare. Se sono state 277// giocate tutte ritorna comunque maxa 278var i,trovata=false,gio=0 279if (arrIncontri[1].Giocato == false) return arrIncontri[1].GiornataDiA; 280i=arrIncontri.length-1 281 do { 282 if (arrIncontri[i].Giocato && arrIncontri[i].IDTipo!=INC_RIPOSO) { 283 gio=arrIncontri[i].GiornataDiA 284 } 285 i-- 286 } while (gio==0 && i>=1) 287 return (gio==MaxA?MaxA:gio+1) 288}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.