
var cg;

function iniciar(){
	initialize();
	cg = new ControladorClasificaciones();
	getMarkers();
	cct = new ControladorClasificacionesTenis();
}

function switchDivMapa(){
	var nuevoDisplayElems = ($('mapaLocalizador').style.display == 'none')?'none':'block';
	$('panelClasificacion').setStyle({'display' : nuevoDisplayElems});
	$('panelPartidos').setStyle({'display' : nuevoDisplayElems});
	$('logoTorneo').setStyle({'display' : nuevoDisplayElems});
	$('rastroMiga').setStyle({'display' : nuevoDisplayElems});
	
	switchDiv('mapaLocalizador','switchMapa',
		'<div class="botonMapa">MOSTRAR MAPA</div>',
		'<div class="botonMapa2">OCULTAR MAPA</div>');
}

var ControladorClasificaciones = Class.create({
	mostrarMapaAlInicio: null,
	iniciando: null,
	deporteSeleccionado: null,
	continenteSeleccionado: null,
	paisSeleccionado: null,
	
	continentes: [],
	competiciones: [],
	torneos: [],

	resultado: null,
	clasificacion: [],
	phases: [],

	idPhaseGroupStage: null,

	partidos: [],
	ronda: null,
	
	initialize: function(){
		cg = this;
		this.iniciando = true;
		this.mostrarMapaAlInicio = ($('torneoHid').value == '');
		this.cargarContinentes();
		this.seleccionarContinente();
		this.seleccionarDeporte(1);
		if($('torneoHid').value != ''){
			this.cargarResultadoTorneo($('torneoHid').value);
			$('mapaLocalizador').style.display = 'none';
			$('switchMapa').update('<div class="botonMapa2">MOSTRAR MAPA</div>');
		}
	},
	
	// generales
	rastroMiga: function(competicion,torneo){
		var rastroMiga = '';
		var logoTorneo = '';
		var i;
		var urlLogoTorneo;

		if(competicion != null && this.competiciones != null){
			for(i = 0; i < this.competiciones.length;i++){
				
				if(this.competiciones[i].id == competicion){
					if (this.competiciones[i].continente == null) {
						this.competiciones[i].continente = '';
					}
					//if(this.competiciones[i].continente != ''){
						var nombreContinente = this.competiciones[i].continente;
						for(var j = 0; j < this.continentes.length; j++){
							if(this.competiciones[i].continente == this.continentes[j].sigla){
								nombreContinente = this.continentes[j].nombre;
							}
						}
						rastroMiga += nombreContinente + ' ' + 
							((this.competiciones[i].nombre_pais != null)?
								this.competiciones[i].nombre_pais:
								this.competiciones[i].nombre
							);
					//}
					/*else{
						rastroMiga += this.competiciones[i].nombre;
					}*/
					switch(this.deporteSeleccionado){
						case 1: urlLogoTorneo = this.competiciones[i].logotipo_grande; break;
						case 3: urlLogoTorneo = this.competiciones[i].logotipo_baloncesto; break;
					}
				}
			}
		}
		else{
			switch(this.deporteSeleccionado){
				case 1: urlLogoTorneo = '/img/logosLigas/soccer.gif'; break;
				case 3: urlLogoTorneo = '/img/logosLigas/basket.gif'; break;
			}
		}
		logoTorneo = '<img src="' + urlLogoTorneo + '" alt="" width="89" height="89" />';
		if(torneo != null && this.torneos != null){
			for(i = 0; i < this.torneos.length; i++) {
				if(this.torneos[i].id == torneo){
					rastroMiga += ' ' + this.torneos[i].name;
				}
			}
		}
		
		$('rastroMiga').update(rastroMiga);
		$('logoTorneo').update(logoTorneo);
		$('rastroMiga').style.display = (rastroMiga == '')?'none':'';
		$('logoTorneo').style.display = (rastroMiga == '')?'none':'';
	},

	limpiarDivsResultados: function(){
		$('panelClasificacion').update('');
		$('panelPartidos').update('');
		$('logoTorneo').update('');
		$('rastroMiga').update('');
	},
	
	// primer paso --> deporte
	seleccionarDeporte: function(deporte){
		$('selecFutbol').className = '';
		$('selecBaloncesto').className = '';
		$('selecTenis').className = '';
		//$('selecHockey').className = '';
		//$('selecBeisbol').className = '';
		//$('selecFutbolAmericano').className = '';
		
		$('selecFutbol').update('<a href="javascript:cg.seleccionarDeporte(1);" class="menuIzqSub" >Futbol</a>');
		$('selecBaloncesto').update('<a href="javascript:cg.seleccionarDeporte(3);" class="menuIzqSub">Baloncesto</a>');
		$('selecTenis').update('<a href="javascript:cg.seleccionarDeporte(2);" class="menuIzqSub">Tenis</a>');
		//$('selecHockey').update('<a href="javascript:cg.seleccionarDeporte(4);" class="menuIzqSub">Hockey</a>');
		//$('selecBeisbol').update('<a href="javascript:cg.seleccionarDeporte(5);" class="menuIzqSub">Beisbol</a>');
		//$('selecFutbolAmericano').update('<a href="javascript:cg.seleccionarDeporte(6);" class="menuIzqSub">Futbol americano</a>');
		
		switch(deporte){
			case 1: 
				//$('selecFutbol').className = 'activoIzq';
				$('selecFutbol').update('<span class="activoIzq">Futbol</span>');
				break;	
			case 3: 
				//$('selecBaloncesto').className = 'activoIzq';
				$('selecBaloncesto').update('<span class="activoIzq">Baloncesto</span>');
				break;	
			case 2: 
				//$('selecTenis').className = 'activoIzq';
				$('selecTenis').update('<span class="activoIzq">Tenis</span>');
				//this.continenteSeleccionado = '';
				cct.cargarClasificacionTenis();
				break;	
			case 4: 
				//$('selecHockey').className = 'activoIzq';
				$('selecHockey').update('<span class="activoIzq">Hockey</span>');
				break;	
			case 5: 
				//$('selecBeisbol').className = 'activoIzq';
				$('selecBeisbol').update('<span class="activoIzq">Beisbol</span>');
				break;	
			case 6: 
				//$('selecFutbolAmericano').className = 'activoIzq';
				$('selecFutbolAmericano').update('<span class="activoIzq">Futbol americano</span>');
				break;	
		}
		
		this.deporteSeleccionado = deporte;
		$('combosSeleccionGenerales').setStyle({'display': (this.deporteSeleccionado == 2)?'none':'block'}); 
		$('comboSeleccionTenis').setStyle({'display': (this.deporteSeleccionado == 2)?'block':'none'}); 
		$('switchMapa').setStyle({'display': (this.deporteSeleccionado == 2)?'none':'block'});
		//$('sustitutoSwitchMapa').setStyle({'display': (this.deporteSeleccionado == 10)?'block':'none'});
		$('mapaLocalizador').setStyle({'display': (this.deporteSeleccionado == 2)?'none':'block'});
		$('rastroMiga').setStyle({'display':'none'});
		$('rastroMigaTenis').setStyle({'display':'none'});
		$('logoTorneo').setStyle({'display': (this.deporteSeleccionado == 2)?'block':'none'});
		this.limpiarDivsResultados();
		
		$('liga').update('');
		this.cargarCompeticionesDeporte();
		this.cargarCompeticionesSinContinente();
		getMarkers();
	},
	
	// 2º paso --> continente
	cargarContinentes: function(){
		var url = '/clasificacion/includes/obtenerContinentes.php';
		
		var myAjaxLanzador = new Ajax.Request(url, {
			method: 'get',
			parameters: '',
			onComplete: function(transport){
				cg.mostrarContinentes(transport);
			}
		});
	},
	
	mostrarContinentes: function(transport){
		this.continentes = transport.responseText.evalJSON();
		this.generarHTMLContinentes();
	},
	
	generarHTMLContinentes: function(){
		var opciones = '';
		
		for(var i = 0; i < this.continentes.length; i++){
			var cont = this.continentes[i];
			opciones += '<option value="'+i+'">' + cont.nombre + '</option>';
		}
		$('zona').update(opciones);
		this.seleccionarContinente();
	},
	
	seleccionarContinenteyPaisPorSigla: function(sigla,idPais){
		for(var i = 0; i < this.continentes.length; i++){
			if( this.continentes[i].sigla == sigla){
				$('zona').value = i;
			}
		}
		this.paisSeleccionado = idPais;
		this.seleccionarContinente();
	},
	
	seleccionarContinente: function(){
		var cont = this.continentes[$('zona').value];
		if( cont == null){
			window.setTimeout('cg.seleccionarContinente();',1000); // hala, a esperarse
			return;
		}
		this.continenteSeleccionado = cont;
		if( map != null){
			map.setCenter(new GLatLng(cont.latitud, cont.longitud), cont.zoom);
		}
		if($('mapaLocalizador').style.display == 'none'){
			if(this.iniciando == false || this.mostrarMapaAlInicio == true){
				switchDivMapa();
			}
		}

		$('liga').update('');
		this.cargarCompeticionesDeporte();
	},
	
	// tercer paso --> competicion (pais)
	cargarCompeticionesSinContinente: function(){
		var url = '/clasificacion/includes/obtenerCompeticiones.php';
		
		var pars = {
			'deporte' : this.deporteSeleccionado,
			'continente': ''
		};
		
		var myAjaxLanzador = new Ajax.Request(url, {
			method: 'get',
			parameters: pars,
			onComplete: function(transport){
				mostrarCompeticionesSinContinente(transport);
			}
		});

	},
	
	cargarCompeticionesDeporte: function(){
		if(this.deporteSeleccionado == null || this.continenteSeleccionado == null){
			return;
		}
		
		var url = '/clasificacion/includes/obtenerCompeticiones.php';
		
		var pars = {
			'deporte' : this.deporteSeleccionado,
			'continente': this.continenteSeleccionado.sigla
		};
		
		var myAjaxLanzador = new Ajax.Request(url, {
			method: 'get',
			parameters: pars,
			onComplete: function(transport){
				cg.mostrarCompeticionesDeporte(transport);
			}
		});
	},
	
	mostrarCompeticionesDeporte: function(transport){
		this.competiciones = transport.responseText.evalJSON();
		this.generarHTMLCompeticiones();
	},
	
	generarHTMLCompeticiones: function(){
		var opciones = '';
		
		opciones += '<option value="">Selecciona pa&iacute;s</option>';
		for(var i = 0; i < this.competiciones.length; i++){
			var comp = this.competiciones[i];
			opciones += '<option value="'+comp.id+'">' + ((comp.nombre_pais != null)?comp.nombre_pais:comp.nombre) + '</option>';
		}
		$('pais2').update(opciones);
		if(this.paisSeleccionado != null){
			$('pais2').value = this.paisSeleccionado;
		}
		else{
			$('pais2').value = '';
		}
	},
	
	// 4º paso --> torneo (division)
	seleccionarPaisCompeticion: function(){
		if($('pais2').value == ""){
			return;
		}
		this.cargarTorneosCompeticion($('pais2').value);
	},
	
	cargarTorneosCompeticion: function(competicion){
		this.paisSeleccionado = competicion;
		$('panelClasificacion').update('');
		$('panelPartidos').update('');
		$('logoTorneo').update('');
		$('rastroMiga').update('');

		if($('mapaLocalizador').style.display != 'none'){
			switchDivMapa();
		}
		var url = '/clasificacion/includes/obtenerTorneos.php';
		var pars = {
			'competicion' : competicion
		};
		
		var myAjaxLanzador = new Ajax.Request(url, {
			method: 'get',
			parameters: pars,
			onComplete: function(transport){
				cg.mostrarTorneosCompeticion(transport);
			}
		});
	},
	
	mostrarTorneosCompeticion: function(transport){
		this.torneos = transport.responseText.evalJSON();
		this.generarHTMLTorneos();
	},
	
	generarHTMLTorneos: function(){
		var opciones = '';
		
		for(var i = 0; i < this.torneos.length; i++){
			var t = this.torneos[i];
			opciones += '<option value="'+t.id+'">' + t.name + '</option>';
		}
		$('liga').update(opciones);
		this.cargarResultadoTorneo($('liga').value);

		if(this.torneos.length == 0){
			$('panelClasificacion').update('<p class="txtNoPartidos">Actualmente no hay torneos en juego.</p>')
		}

	},
	
	// 5º paso --> clasificacion: depende muy mucho de los otros 4 pasos
	cargarResultadoTorneo: function(torneo){
		this.rastroMiga(this.paisSeleccionado,torneo);

		var url = '/clasificacion/includes/obtenerClasificacion.php';
		var pars = {
			'torneo' : torneo
		};

		var myAjaxLanzador = new Ajax.Request(url, {
			method: 'get',
			parameters: pars,
			onLoading: function(){
				//$('panelClasificacion').update('<img src="/img/loading.gif" class="cargando" />');
			},
			onComplete: function(transport){
				$('panelPartidos').update('');
				cg.parsearResultadoTorneo(transport);
			}
		});
	},
	
	parsearResultadoTorneo: function(transport){
		this.resultado = transport.responseText.evalJSON();
		this.clasificacion = this.resultado[0].listaClasificacion;
		this.phases = this.resultado[0].listaPhases;
		
		if(this.clasificacion != null){
			this.generarHTMLClasificacion();
			this.cargarPartidosPorTorneoyRonda();		
		}
		if(this.phases != null){
			this.generarHTMLPhases();
			if(this.deporteSeleccionado == 3){
				this.cargarPartidosPorTorneoyRonda();
			}
		}
		if(this.clasificacion == null && this.phases == null){
			$('panelClasificacion').update('<p class="txtNoPartidos">No hay datos para el torneo seleccionado</p>');
			$('panelPartidos').update('');
		}
	},
	
	generarHTMLClasificacionFutbol: function(){
		var max_pl = this.clasificacion[0].pl;
		var i;
		for (i = 1; i < this.clasificacion.length; i++){
			if(  this.clasificacion[i].pl > max_pl) 
				max_pl = this.clasificacion[i].pl;
		}
		this.ronda = max_pl;
		
		var htmlClas = '';
		htmlClas += 
			'<table  id="tablaClasif">' +
		  		'<colgroup span="1" width="60">' +
		        '</colgroup>' +
		        '<colgroup span="1" width="150">' +
		        '</colgroup>' +
		        '<colgroup span="17" width="20">' +
		        '</colgroup>' +
				'<colgroup span="1" width="45">' +
		        '</colgroup>' +
		        
		        '<tr>' +
		            '<td colspan="3" class="titulos" scope="col">&nbsp;</td>' +
		            '<td colspan="15" class="titJornada" scope="col">JORNADA '+max_pl+'</td>' +
		            '<td colspan="2" rowspan="2" class="titulos" scope="col">&nbsp;</td>' +
		        '</tr>' +
		          
		    '<tr>' +
		      '<td colspan="3" class="titulos" scope="col">&nbsp;</td>' +
		      '<td colspan="5" class="titTablaFut titulos bordeGris">EN CASA</td>' +
		      '<td colspan="5" class="titTablaFut titulos">FUERA</td>' +
		      '<td colspan="5" class="titTablaFut bordeGris2 titulos">TOTAL</td>' +
		    '</tr>' +
		    '<tr class="titTablaFut2celda">' +
		      '<td>POS</td>' +
		      '<td>EQUIPO</td>' +
		      '<td>PJ</td>' +
		      '<td>GA</td>' +
		      '<td>EM</td>' +
		      '<td>PE</td>' +
		      '<td>FA</td>' +
		      '<td>CO</td>' +
		      '<td >GA</td>' +
		      '<td>EM</td>' +
		      '<td>PE</td>' +
		      '<td>FA</td>' +
		      '<td>CO</td>' +
		      '<td >GA</td>' +
		      '<td>EM</td>' +
		      '<td>PE</td>' +
		      '<td>FA</td>' +
		      '<td>CO</td>' +
		      '<td>GD</td>' +
		      '<td  class="titTotal">TOTAL</td>' +
		    '</tr>';

		/*
		'<table  id="tablaLigaClasifAjax">' + 
		    '<colgroup span="1" width="50">' +
		    '</colgroup>' +
		    '<colgroup span="1" width="160">' +
		    '</colgroup>' +
		    '<colgroup span="8" width="49">' +
		    '</colgroup>' +
		
		    '<tr class="titTablaFutCmpAjax">' +
		      '<td>POS</td>' +
		      '<td>EQUIPO</td>' +
		      '<td>PJ</td>' +
		      '<td >GA</td>' +
		      '<td>EM</td>' +
		      '<td>PE</td>' +
		      '<td>FA</td>' +
		      '<td>CO</td>' +
		      '<td>GD</td>' +
		      '<td width="45" class="titTotalAjax">TOTAL</td>' +
		    '</tr>';*/
		
		var cantidad = this.clasificacion.length;
		var m=1;
		var fila="";
		for(i = 0 ; i < cantidad ; i++){
			var equipo = this.clasificacion[i];
			var codigo=(m % 2) + 1;
			m++;
			if (equipo.posicion==equipo.posicion_ant){
				var imagen='<img src="/img/igual.gif" alt="igual" />';
			}
			
			imagen = parseInt(equipo.posicion) > parseInt(equipo.posicion_ant)?'<img src="/img/baja.gif" alt="2" />':'<img src="/img/sube.gif" alt="3" />';
			imagen = equipo.posicion==equipo.posicion_ant?'<img src="/img/igual.gif" alt="1" />':imagen;
			imagen = equipo.posicion_ant==0?'':imagen;
			
			var fila;
			if( i > 0 ){
				var equipoAnt = this.clasificacion[i-1];
				if (equipoAnt.note != equipo.note && equipo.note!="0" && fila == "Cham"){
					fila = "Uefa";
				}
				if (equipoAnt.note=="0" && equipo.note!="0"){
					fila = "Des";
				}
			}
			if (equipo.note=="0"){
				fila = "";
			}
			if (i==0 && equipo.note!="0"){
				fila = "Cham";
			}
			codigo = fila + codigo;
				htmlClas += 
			    '<tr class="fila' + codigo + 'Ajax">' +
			      '<td  class="celda' + codigo+'Ajax">' + equipo.posicion + imagen + '</td>' +
			      '<td class="alignEscudoAjax bold">'+ equipo.name + '</td>' + 
			      '<td  class="celda' + codigo+'Ajax">' + equipo.pl + '</td>' + 

				  // casa
				  '<td>' + equipo.Hw + '</td>' +
				  '<td>' + equipo.Hl + '</td>' +
				  '<td>' + equipo.Hf + '</td>' +
				  '<td>' + equipo.Hd + '</td>' +
				  '<td>' + equipo.Ha + '</td>' +
				  
				  //fuera
				  '<td class="celda' + codigo+'Ajax">' + equipo.Aw + '</td>' +
				  '<td  class="celda' + codigo+'Ajax">' + equipo.Ad + '</td>' +
				  '<td  class="celda' + codigo+'Ajax">' + equipo.Al + '</td>' +
				  '<td  class="celda' + codigo+'Ajax">' + equipo.Af + '</td>' +
				  '<td  class="celda' + codigo+'Ajax">' + equipo.Aa + '</td>' +
				  
				  //total
			      '<td >' + equipo.Tw + '</td>' +
			      '<td >' + equipo.Td + '</td>' +
			      '<td >' + equipo.Tl + '</td>' + 
			      '<td >' + equipo.Tf + '</td>' +
			      '<td >' + equipo.Ta + '</td>' +
			      '<td>' + equipo.GD + '</td>' +
			      '<td class="celda' + codigo + 'Ajax textoTotalAjax" >'+ equipo.puntos + '</td>' +
			    '</tr>';

	    }
		htmlClas += 
		    '<tr>' +
		      '<td colspan="20" class="bordeGrisArriba">&nbsp;</td>' +
		    '</tr>' +
		    '<tr>' +
		      '<td colspan="20"><span class="titulos">POS</span>:Posición - <span class="titulos"> PJ</span>: Partidos Jugados- <span class="titulos"> GA</span>:Ganados -  <span class="titulos">EM</span>: Empatados <span class="titulos"><br />' +
		        'PE</span>:Perdidos - <span class="titulos"> FA</span>: A Favor <span class="titulos">CO</span>: En contra -  <span class="titulos">GD</span>: Gol Average</td>' +
			'</tr>' +
		  '</table>';

		    /*'<tr>' +
		      '<td colspan="10"><span class="titulosAjax">POS</span>:Posici&oacute;n - <span class="titulosAjax"> PJ</span>: Partidos - <span class="titulosAjax"> GA</span>:Ganados - <span class="titulosAjax">EM</span>: Empatados - <span class="titulosAjax">PE</span>:Perdidos - <span class="titulosAjax"> FA</span>: A Favor - <span class="titulosAjax"> CO</span>: En contra - <span class="titulosAjax">GD</span>: Gol Average</td>' +
		    '</tr>' +
		  '</table>';*/

		$('panelClasificacion').update('');
		$('panelClasificacion').insert(htmlClas);
	},
	
	generarHTMLClasificacionBaloncesto: function(){
		var max_pl = this.clasificacion[0].pl;
		var i;
		for (i = 1; i < this.clasificacion.length; i++){
			if(  this.clasificacion[i].pl > max_pl) 
				max_pl = this.clasificacion[i].pl;
		}
		this.ronda = max_pl;
		var pintarPuntos = (this.clasificacion[0].puntos != 0);
		
		var htmlClas = '';
		htmlClas += 
			'<table  id="tablaClasif">' +
		  		'<colgroup span="1" width="60">' +
		        '</colgroup>' +
		        '<colgroup span="1" width="220">' +
		        '</colgroup>' +
				   '<colgroup span="3" width="25">' +
		        '</colgroup>' +
		        '<colgroup span="'+(pintarPuntos?4:3)+'" width="50">' +
		        '</colgroup>' +
		        
		        '<tr>' +
		            '<td colspan="3" class="titulos" scope="col">&nbsp;</td>' +
		            '<td colspan="4" class="titJornada" scope="col">JORNADA '+max_pl+'</td>' +
		            '<td colspan="'+(pintarPuntos?2:1)+'" rowspan="1" class="titulos" scope="col">&nbsp;</td>' +
		        '</tr>' +
		          
		    //'<tr>' +
		    //  '<td colspan="3" class="titulos" scope="col">&nbsp;</td>' +
		    //  '<td colspan="'+(pintarPuntos?4:3)+'" class="titTablaFut bordeGris2 titulos">TOTAL</td>' +
		    //'</tr>' +
		    '<tr class="titTablaBsk2celda">' +
		      '<td>POS</td>' +
		      '<td>EQUIPO</td>' +
		      '<td>PJ</td>' +
		      '<td >GA</td>' +
		      '<td>PE</td>' +
		      '<td>FA</td>' +
		      '<td>CO</td>' +
		      '<td>GD</td>' +
		      (pintarPuntos?'<td width="45" class="titTotal">TOTAL</td>':'') +
		    '</tr>';

		var cantidad = this.clasificacion.length;
		var m=0;
		var fila="";
		for(i = 0 ; i < cantidad ; i++){
			var equipo = this.clasificacion[i];
			var codigo=(m % 2) + 1;
			m++;
			if (equipo.posicion==equipo.posicion_ant){
				var imagen='<img src="/img/igual.gif" alt="igual" />';
			}
			
			imagen = parseInt(equipo.posicion) > parseInt(equipo.posicion_ant)?'<img src="/img/baja.gif" alt="2" />':'<img src="/img/sube.gif" alt="3" />';
			imagen = equipo.posicion==equipo.posicion_ant?'<img src="/img/igual.gif" alt="1" />':imagen;
			imagen = equipo.posicion_ant==0?'':imagen;
			
			var fila;
			if( i > 0 ){
				var equipoAnt = this.clasificacion[i-1];
				if (equipoAnt.note != equipo.note && equipo.note!="0" && fila == "Cham"){
					fila = "Uefa";
				}
				if (equipoAnt.note=="0" && equipo.note!="0"){
					fila = "Des";
				}
			}
			if (equipo.note=="0"){
				fila = "";
			}
			if (i==0 && equipo.note!="0"){
				fila = "Cham";
			}
			codigo = fila + codigo;
				htmlClas += 
			    '<tr class="fila' + codigo + 'Ajax">' +
			      '<td class="celda' + codigo + 'Ajax">' + equipo.posicion + imagen + '</td>' +
			      '<td class="alignEscudoAjax bold">'+ equipo.name + '</td>' + 
			      '<td class="celda' + codigo + 'Ajax">' + equipo.pl + '</td>' + 

				  //total
			      '<td class="celda' + codigo + 'Ajax">' + equipo.Tw + '</td>' +
			      '<td class="celda' + codigo + 'Ajax">' + equipo.Tl + '</td>' + 
			      '<td >' + equipo.Tf + '</td>' +
			      '<td >' + equipo.Ta + '</td>' +
			      '<td>' + equipo.GD + '</td>' +
			      (pintarPuntos?'<td class="celda' + codigo + 'Ajax textoTotalAjax" >'+ equipo.puntos + '</td>':'') +
			    '</tr>';

	    }
		htmlClas += 
		    '<tr>' +
		      '<td colspan="20" class="bordeGrisArriba">&nbsp;</td>' +
		    '</tr>' +
		    '<tr>' +
		      '<td colspan="20"><span class="titulos">POS</span>:Posición - <span class="titulos"> PJ</span>: Partidos Jugados- <span class="titulos"> GA</span>:Ganados -  <span class="titulos">EM</span>: Empatados <span class="titulos"><br />' +
		        'PE</span>:Perdidos - <span class="titulos"> FA</span>: A Favor <span class="titulos">CO</span>: En contra -  <span class="titulos">GD</span>: Gol Average</td>' +
			'</tr>' +
		  '</table>';

		$('panelClasificacion').update(htmlClas);
	},

	generarHTMLClasificacion: function(){
		switch (this.deporteSeleccionado) {
			case 1:
				this.generarHTMLClasificacionFutbol();
				break;
			case 3:
				this.generarHTMLClasificacionBaloncesto();
				break;
		}
	},
	
	generarHTMLGroupStageFutbol: function(phase){
		this.idPhaseGroupStage = phase.id;
		if(phase.clasificacion[0].grupo == '0'){
			this.clasificacion = phase.clasificacion;
			this.generarHTMLClasificacion();
			return false;
		}
		var html = '';
		var vector = phase.clasificacion;
		var cantidad=vector.length;
		var m=0;
		var div=0;
		html += '<table>';
		for (var i=0; i < cantidad; i++){
			if (i == 0 || vector[i].grupo != vector[i - 1].grupo) {
				m = 0;
				if (div == 0) {
					html += '<tr>';
				}
				
				var htmlGrupo = vector[i].grupo;
				if(htmlGrupo.substr(0,5) == 'GROUP'){
					htmlGrupo = 'GRUPO' + htmlGrupo.substr(5);
				}
				html +=
				 '<td>' +
				 '<table  class="tablaGruposAjax" style="vertical-align: top;">' +
					'<colgroup span="1" width="45">' +
					'</colgroup>' +
					'<colgroup span="1" width="200">' +
					'</colgroup>' +
					'<colgroup span="6" width="25">' +
					'</colgroup>' +
						'<colgroup span="1" width="40">' +
					'</colgroup>' +
					'<tr>' +
					'<td colspan="9" class="tituloPartidoAjax">' + htmlGrupo + '</td>' +
					'</tr>' +
					'<tr class="titTablaFutCmpAjax">' +
					'<th scope="col">POSICION</th>' +
					'<th scope="col">EQUIPO</th>' +
				      '<td>GA</td>' +
				      '<td>EM</td>' +
				      '<td>PE</td>' +
				      '<td>FA</td>' +
				      '<td>CO</td>' +
				      '<td>GD</td>' +

					'<th scope="col">PUNTOS</th>' +
					'</tr>';
			}
			codigo = (m % 2) + 1;
			m++;
			var imagen;
			if (vector[i].posicion == vector[i].posicion_ant){
				imagen = '<img src="/img/igual.gif" alt="igual" />';
			}
		
			imagen = (parseInt(vector[i].posicion) > parseInt(vector[i].posicion_ant))?'<img src="/img/baja.gif" alt="2" />':'<img src="/img/sube.gif" alt="3" />';
			imagen = (vector[i].posicion == vector[i].posicion_ant)?'<img src="/img/igual.gif" alt="1" />':imagen;
			imagen = (vector[i].posicion_ant==0)?'':imagen;
		
			if( i == 0){
				
			}
			else if (vector[(i-1)].note != vector[i].note && vector[i].note != "0" && fila == "Cham"){
				fila="Uefa";
			}
			if (vector[i].note=="0"){
				fila="";
			}
			if( i == 0){
				
			}
			else if (vector[(i-1)].note == "0" && vector[i].note!="0"){
				fila = "Des";
			}
			if (m == 1 && vector[i].note!="0"){
				fila = "Cham";
			}
			codigo = fila + codigo;
			
			html += 
		      '<tr class="fila' + codigo + 'Ajax">' +
			    '<td>' +  vector[i].posicion + imagen + '</td>' +
      			'<td class="celda ' + codigo  + 'Ajax"><span class="textoRojoNegritaAjax">' + vector[i].name + '</span></td>' +
			      '<td >' + vector[i].Tw + '</td>' +
			      '<td >' + vector[i].Td + '</td>' +
			      '<td >' + vector[i].Tl + '</td>' + 
			      '<td >' + vector[i].Tf + '</td>' +
			      '<td >' + vector[i].Ta + '</td>' +
			      '<td >' + vector[i].GD + '</td>' +
      			'<td class="celdaTotal' + codigo + 'Ajax"><span class="textoTotalAjax">' + vector[i].puntos + '</span></td>' +
    		  '</tr>';
    
			if ( i == cantidad - 1 || vector[i].grupo != vector[i+1].grupo){
				html += '</table>';
				div++;
				html += '</td>';

		 		if ((div % 2)==0){
					html += '</tr>';
				}
			}	
 		}		
		html += '</table>';

		$('panelClasificacion').update('');
		$('panelClasificacion').insert(html);
	},
	
	generarHTMLGroupStageBaloncesto: function(phase){
		this.idPhaseGroupStage = phase.id;
		if(phase.clasificacion[0].grupo == '0'){
			this.clasificacion = phase.clasificacion;
			this.generarHTMLClasificacion();
			return false;
		}
		var html = '';
		var vector = phase.clasificacion;
		var cantidad=vector.length;
		var pintarPuntos = (phase.clasificacion[0].puntos != 0);
		var m=0;
		var div=0;
		html += '<table>';
		for (var i=0; i < cantidad; i++){
			if (i == 0 || vector[i].grupo != vector[i - 1].grupo) {
				m = 0;
				if (div == 0) {
					html += '<tr>';
				}
				
				var htmlGrupo = vector[i].grupo;
				if(htmlGrupo.substr(0,5) == 'GROUP'){
					htmlGrupo = 'GRUPO' + htmlGrupo.substr(5);
				}
				html +=
				 '<td>' +
				 '<table  class="tablaGruposAjax" style="vertical-align: top;">' +
					'<colgroup span="1" width="45">' +
					'</colgroup>' +
					'<colgroup span="1" width="200">' +
					'</colgroup>' +
					'<colgroup span="5" width="25">' +
					'</colgroup>' +
					(pintarPuntos?'<colgroup span="1" width="40"></colgroup>':'') +
					'<tr>' +
					'<td colspan="' + (pintarPuntos?9:8) + '" class="tituloPartidoAjax">' + htmlGrupo + '</td>' +
					'</tr>' +
					'<tr class="titTablaBsk2celda">' +
					'<th scope="col">POSICION</th>' +
					'<th scope="col">EQUIPO</th>' +
				      '<td>GA</td>' +
				      '<td>PE</td>' +
				      '<td>FA</td>' +
				      '<td>CO</td>' +
				      '<td>GD</td>' +

					(pintarPuntos?'<th scope="col">PUNTOS</th>':'') +
					'</tr>';
			}
			codigo = (m % 2) + 1;
			m++;
			var imagen;
			if (vector[i].posicion == vector[i].posicion_ant){
				imagen = '<img src="/img/igual.gif" alt="igual" />';
			}
		
			imagen = (parseInt(vector[i].posicion) > parseInt(vector[i].posicion_ant))?'<img src="/img/baja.gif" alt="2" />':'<img src="/img/sube.gif" alt="3" />';
			imagen = (vector[i].posicion == vector[i].posicion_ant)?'<img src="/img/igual.gif" alt="1" />':imagen;
			imagen = (vector[i].posicion_ant==0)?'':imagen;
		
			if( i == 0){
				
			}
			else if (vector[(i-1)].note != vector[i].note && vector[i].note != "0" && fila == "Cham"){
				fila="Uefa";
			}
			if (vector[i].note=="0"){
				fila="";
			}
			if( i == 0){
				
			}
			else if (vector[(i-1)].note == "0" && vector[i].note!="0"){
				fila = "Des";
			}
			if (m == 1 && vector[i].note!="0"){
				fila = "Cham";
			}
			codigo = fila + codigo;
			
			html += 
		      '<tr class="fila' + codigo + 'Ajax">' +
			    '<td>' +  vector[i].posicion + imagen + '</td>' +
      			'<td class="celda ' + codigo  + 'Ajax"><span class="textoRojoNegritaAjax">' + vector[i].name + '</span></td>' +
			      '<td >' + vector[i].Tw + '</td>' +
			      '<td >' + vector[i].Tl + '</td>' + 
			      '<td >' + vector[i].Tf + '</td>' +
			      '<td >' + vector[i].Ta + '</td>' +
			      '<td >' + vector[i].GD + '</td>' +
      			(pintarPuntos?
					'<td class="celdaTotal' + codigo + 'Ajax"><span class="textoTotalAjax">' + vector[i].puntos + '</span></td>':
					''
				) +
    		  '</tr>';
    
			if ( i == cantidad - 1 || vector[i].grupo != vector[i+1].grupo){
				html += '</table>';
				div++;
				html += '</td>';

		 		if ((div % 2)==0){
					html += '</tr>';
				}
			}	
 		}		
		html += '</table>';

		$('panelClasificacion').update('');
		$('panelClasificacion').insert(html);
	},
	
	generarHTMLGroupStage: function(phase){
		switch(this.deporteSeleccionado){
			case 1: 
				this.generarHTMLGroupStageFutbol(phase);
				break;
			case 3:
				this.generarHTMLGroupStageBaloncesto(phase);
				break;
		}
		
	},
	
	generarHTMLPhases: function(){
		var htmlClas = '';
		var htmlPhases = '';
		var panelClasificacionUpdated = false;

		var i;
		for(i = 0; i < this.phases.length ; i++){
			var ph = this.phases[i];
			if(ph.tabla == 0){
				this.generarHTMLGroupStage(ph);
				panelClasificacionUpdated = true;
			}
			else if(ph.partidos.length > 0){
				var j;
				htmlPhases += 
					'<table width="100%" class="tablaClasifJornada">' +
				    '<colgroup span="1" width="50">' + 
				    '</colgroup>' + 
				    '<colgroup span="1" width="50">' + 
				    '</colgroup>' + 
				    '<colgroup span="1" width="250">' +
				    '</colgroup>' +
				    '<colgroup span="1" width="30">' +
				    '</colgroup>' +
				    '<tr>' +
				    '<th colspan="4" class="titJornada" scope="col">ENCUENTROS DE '+ph.name+ '</th>' +
		      		'</tr>' + 

					  '<tr class="titTablaFut2celda">' +
				        '<th scope="col">FECHA</th>' +
				        '<th scope="col">HORA</th>' +
				        '<th scope="col">ENCUENTRO</th>' +
				        '<th scope="col">RST</th>' +
					  '</tr>';
					
				for(j = 0; j < ph.partidos.length; j++){
					var pt = ph.partidos[j];
					var claseFila = (j % 2 == 0)?'fila1':'fila2';
					var claseResult = (j % 2 == 0)?'celdaTotal1':'celdaTotal2';
					var goles = pt.current.split('-');
					var golesLocal = parseInt(goles[0]);
					var golesVisitante = parseInt(goles[1]);
					var match;
					if(golesLocal > golesVisitante){
						match = '<b>'+pt.n_eHome+'</b> vs '+pt.n_eAway;
					}
					else if(golesLocal < golesVisitante){
						match = pt.n_eHome+' vs <b>'+pt.n_eAway+'</b>';
					}
					else{
						match = pt.n_eHome+' vs '+pt.n_eAway;
					}

					htmlPhases += 
					    '<tr class="'+claseFila+'">' +
					      '<td>'+pt.fecha.substr(8,2)+'-' + pt.fecha.substr(5,2) + '-' + pt.fecha.substr(0,4)+'</td>' + 
					      '<td>'+pt.starTime.substr(11,5)+'</td>' + 
					      '<td>'+match+'</td>' + 
					      '<td class="textoTotalAjax '+claseResult+'">'+
						  	((pt.current==null)?'-':pt.current)+
						  '</td>' + 
						'</tr>';

				}

				htmlPhases += '</table>';
			}
		}
		if(! panelClasificacionUpdated ){
			$('panelClasificacion').update("");
		}
		$('panelPartidos').update('');
		$('panelPartidos').insert(htmlPhases);
	},
	
	// 6º paso: partidos
	cargarPartidosRondaAnterior: function(){
		if(this.ronda > 1){
			this.ronda--;
			this.cargarPartidosPorTorneoyRonda();
		}
	},
	
	cargarPartidosRondaSiguiente: function(){
		this.ronda++;
		this.cargarPartidosPorTorneoyRonda();
	},
	
	cargarPartidosPorTorneoyRonda: function(){
		var torneo;
		if($('liga').value == ''){
			torneo = $('torneoHid').value;
		}
		else{
			switch(this.deporteSeleccionado){
				case 1:
					torneo = $('liga').value;
					break;
				case 3:
					torneo = this.idPhaseGroupStage;
					break;
			}
		}
		
		var url = '/clasificacion/includes/obtenerPartidos.php';
		var pars = {
			'torneo': torneo,
			'ronda': this.ronda
		};	
		var myAjaxLanzador = new Ajax.Request(url, {
			method: 'get',
			parameters: pars,
			onComplete: function(transport){
				cg.mostrarPartidos(transport);
			}
		});
	},
	
	mostrarPartidos: function(transport){
		this.partidos = transport.responseText.evalJSON();
		this.generarHTMLPartidos();
	},

	generarHTMLPartidos: function(){
		var htmlPartidos = '';
		
		if(this.partidos.length == 0){
			htmlPartidos = '<p class="noPartidosClasif">No hay partidos para el torneo y la jornada seleccionados</p>';
		}
		else{
			var claseCabecera;
			switch(this.deporteSeleccionado){
				case 1: claseCabecera = 'titTablaFut2celda'; break;
				case 3: claseCabecera = 'titTablaBsk2celda'; break;
			}
	
			htmlPartidos += 
			  '<table width="100%" class="tablaClasifJornada">' +
			    '<colgroup span="1" width="50">' + 
			    '</colgroup>' + 
			    '<colgroup span="1" width="50">' + 
			    '</colgroup>' + 
			    '<colgroup span="1" width="150">' +
			    '</colgroup>' +
			    '<colgroup span="1" width="30">' +
			    '</colgroup>' +
			    '<tr>' +
			      '<th colspan="4" class="titJornada" scope="col">ENCUENTROS JORNADA '+this.ronda+ '</th>' +
			      '</tr>' + 
			    '<tr class="' + claseCabecera + '">' +
			      '<th scope="col">FECHA</th>' +
			      '<th scope="col">HORA</th>' +
			      '<th scope="col">ENCUENTRO</th>' +
			      '<th scope="col">RST</th>' +
			    '</tr>';
			
			for(var i = 0; i < this.partidos.length; i++){
				var partido = this.partidos[i];
				var claseFila = (i % 2 == 0)?'fila1':'fila2';
				var claseResult = (i % 2 == 0)?'celdaTotal1':'celdaTotal2';
				var socCurrent;
				switch(this.deporteSeleccionado){
					case 1: socCurrent = partido.socCurrent; break;
					case 3: socCurrent = partido.bskCurrent; break;
				}
				var golesLocal;
				var golesVisitante;
				var resultadoEspaciado;
				if(socCurrent == null){
					socCurrent = '-';
					golesLocal = 0;
					golesVisitante = 0;
					resultadoEspaciado = '-';
				}
				else{
					var goles = socCurrent.split('-');
					golesLocal = parseInt(goles[0]);
					golesVisitante = parseInt(goles[1]);
					if(goles.length == 2){
						resultadoEspaciado = golesLocal + ' - ' + golesVisitante;
					}
					else{
						resultadoEspaciado = '-';
					}
				}
	
				var match;
	
				if(golesLocal > golesVisitante){
					match = '<b>'+partido.n_eHome+'</b> vs '+partido.n_eAway;
				}
				else if(golesLocal < golesVisitante){
					match = partido.n_eHome+' vs <b>'+partido.n_eAway+'</b>';
				}
				else{
					match = partido.n_eHome+' vs '+partido.n_eAway;
				}
	
				htmlPartidos += 
				    '<tr class="'+claseFila+'">' +
				      '<td>'+partido.fecha.substr(8,2)+'-' + partido.fecha.substr(5,2) + '-' + partido.fecha.substr(0,4)+'</td>' + 
				      '<td>'+partido.starTime.substr(11,5)+'</td>' + 
				      '<td>'+match+'</td>' + 
				      '<td class="textoTotalAjax '+claseResult+'">'+
					  	((socCurrent == null)?'-':resultadoEspaciado)+
					  '</td>' + 
				    '</tr>';
			}
			htmlPartidos += '</table>';
			
		}
		htmlPartidos += 
		  '<div id="cf_botonesTorneos">' +
			'<a class="botonTorneos" href="javascript:void(0);" onclick="javascript:cg.cargarPartidosRondaSiguiente();">Siguiente</a>'+
			'<a class="botonTorneos" href="javascript:void(0);" onclick="javascript:cg.cargarPartidosRondaAnterior();">Anterior</a>'+
		  '</div>';
		
		$('panelPartidos').update('');
		$('panelPartidos').insert(htmlPartidos);
	},
	
	yUltima: function(){
		
	}
});
