var cmp_p2;
var casasApuestas;

function iniciar(){
	cmp_p2 = new ComparadorApuestasPg2();
	cmp_p2.cargarApuestasCookie();
}

var ComparadorApuestasPg2 = Class.create({

	apuestasCookie: [],
	listaPartidos: [],
	tablaApuestasCookie: [],
	mejorCuota: [],
	indexMejorCuota: null,
	textoConcurso: null,

	initialize: function(){
		
	},
	
	// mostrar apuestas cookie
	cargarApuestasCookie: function(){
		var cAp = readCookie('comp_apuestas');
		//$('cAp').update(cAp);
		
		var url = '/apuestas/obtenerApuestasSeleccionadas.php';
		var pars = {
			'time': Math.random()
		};
		
		var myAjaxLanzador = new Ajax.Request(url, {
			method: 'get',
			parameters: pars,
			onLoading: $('htmlApuestas').update('<p class="cargandoApuestas"><img src="/img/ajax-loader.gif" />Cargando apuestas seleccionadas por el usuario </p>'),
			onComplete: function(transport){
				//alert(transport.responseText)
				cmp_p2.mostrarApuestasCookie(transport);
			}
		});
	},
	
	/*generarTablaApuestasCookie: function(){
		var i; var j; var k;
		var nuevoPartido = false;
		this.tablaApuestasCookie.clear();
		//this.indexMejorApuesta.clear();
		for(i = 0; i < this.apuestasCookie.length; i++){
			var ap = this.apuestasCookie[i];
			if(i == 0){
				nuevoPartido = true;
			}
			else{
				nuevoPartido = (this.apuestasCookie[i].xsid != this.apuestasCookie[i-1].xsid);
			}
			if(nuevoPartido){
				var nArray = new Array();
				for(j = 0; j < casasApuestas.length; j++){
					nArray.push(new Array(-1,-1,-1,-1,-1,-1));
				}	
				this.tablaApuestasCookie.push(nArray);
			}
			var indexCasa = indexOfCasa(ap.bid);
			if(indexCasa != -1){
				this.tablaApuestasCookie[this.tablaApuestasCookie.length-1][indexCasa][parseInt(ap.ot)] = i;
			}
		}
		
		this.mejorCuota.clear();
		for(j = 0; j < casasApuestas.length; j++){
			this.mejorCuota.push(-1);
		}
	},*/

	calcularCuotasCombinadas: function(){
		
	},
	
	mostrarApuestasCookie: function(transport){
		var resultado = transport.responseText.evalJSON();
		//this.apuestasCookie = transport.responseText.evalJSON();
		this.listaPartidos = resultado.partidos;
		casasApuestas = resultado.casas;
		//this.generarTablaApuestasCookie();
		this.generarHTMLApuestasCookie();
	},
	
	generarHTMLApuestasCookie: function(){
		var i; var j; var k;
		var html = '';

		this.mejorCuota.clear();
		for(j = 0; j < casasApuestas.length; j++){
			this.mejorCuota.push(1);
		}

		for(i = 0; i < this.listaPartidos.length; i++){
			var pt = this.listaPartidos[i];
			var claseEvento;
			switch(pt.codeSport){
				case 'SOC': claseEvento = 'eventoFutbol'; break;
				case 'BSK': claseEvento = 'eventoBaloncesto'; break;
				case 'TEN': claseEvento = 'eventoTenis'; break;
			}
			html += '<p class="'+claseEvento+'">' + cortaCadena(pt.n_eHome,12) + ' - ' + 
				cortaCadena(pt.n_eAway,12) + '</p>';
		}
        html +=
		            '<p class="mejorCuota">LA MEJOR CUOTA</p>' +
                '</div>' +
                '<div class="combinaciones">' +
                	'<table class="comparaciones">' +
                    	'<tbody>' +
                        	'<tr>' +
                            	'<th class="vacio borde"></th>';
		for( j = 0; j < casasApuestas.length; j++){
			html += '<th class="bandera"><a href="'+linkapuesta(casasApuestas[j].name)+'"'+
				' onclick="javascript:clic(\'comparador_comb\',\''+casasApuestas[j].name+'\');" ' +
				' target=\"_blank\" ><img class="casaApuesta" src="img/'+casasApuestas[j].bid+'p.jpg"/></a></th>';
		}
		html += 
                                
                            '</tr>';
		
		for(i = 0 ; i < this.listaPartidos.length; i++){
			//alert(' i = ' + i)
			var pt = this.listaPartidos[i];
			var claseCelda1;
			switch(pt.codeSport){
				case 'SOC': claseCelda1 = 'vacio2'; break;
				case 'BSK': claseCelda1 = 'vacio2_basket'; break;
				case 'TEN': claseCelda1 = 'vacio2_tenis'; break;
			}
			var set;
			var k;
			if(pt.apuestasUO.length > 0){
				set = pt.apuestasUO[0];
				k = 4;
			}
			else if(pt.apuestasHA.length > 0){
				set = pt.apuestasHA[0];
				k = 5;
			}
			else{
				set = pt.apuestas1X2[0];
				k = 1;
			}
			var valorApostado = this.obtenerValorApostado(pt.id);
			if( k == 4){
				infoApostado = ((valorApostado=='1')?'+':'-')  + ' ' + set.valorUO_HA;
			}
			else if(k == 5){
				infoApostado = ((valorApostado=='X')?'2':valorApostado)+ ' HA ' + set.textoUO_HA;
			}
			else{
				infoApostado = valorApostado;
			}
			html += '<tr>' +	'<td class="'+claseCelda1+'">'+infoApostado+'</td>';
			for( j = 0; j < set.apuestas.length ; j++){
				var ap = set.apuestas[j];
				if( ap == null){
					html += '<td class="resultado">-</td>';
					this.mejorCuota[j] = -1;
				}
				else{
					var cad; var esMejor;
					switch(valorApostado){
						case '1': cad = ap.o1; esMejor = (parseFloat(cad) == parseFloat(set.mejorApuesta1)); break;
						case 'X': cad = ap.o2; esMejor = (parseFloat(cad) == parseFloat(set.mejorApuestaX));break;
						case '2': cad = ap.o3; esMejor = (parseFloat(cad) == parseFloat(set.mejorApuesta2));break;
					}
					if(cad == null)		cad = '';
					html += "<td class=\""+((esMejor)?"resultadoRojo":"resultado")+"\"><a "+
						" onclick=\"javascript:clic('comparador_comb','"+casasApuestas[j].name+"');\" " +
						" href=\""+linkapuesta(casasApuestas[j].name)+"\" target=\"_blank\" >"+cad.substring(0,4)+"</a></td>";
					
					//if(this.mejorCuota[j] == -1){
					//	this.mejorCuota[j] = parseFloat(cad);
					//}
					if(this.mejorCuota[j] > 0){
						this.mejorCuota[j] *= parseFloat(cad);
					}
				}
			}
			html += '<td class="opciones"><a class="borrar" href="javascript:cmp_p2.borrarApuesta('+pt.id+','+k+');"></a></td>' +
		        '</tr>';
		}
		html += 
                            '<tr>' +
                            	'<td class="vacio2"></td>';
		this.indexMejorCuota = -1;
		var mejorCuota = -1;
		for(j = 0; j < this.mejorCuota.length; j++){
			//var cad = ((this.mejorCuota[j]==-1) || (this.listaPartidos.length == 0))?'-':(this.mejorCuota[j]+'').substring(0,4);
			//html += '<td class="resultado">'+cad+'</td>';
			if(this.listaPartidos.length > 0 && this.mejorCuota[j] > mejorCuota){
				this.indexMejorCuota = j;
				mejorCuota = this.mejorCuota[j];
			}
		}
		for(j = 0; j < this.mejorCuota.length; j++){
			var cad = (this.mejorCuota[j]==-1 || this.listaPartidos.length == 0)?'-':(this.mejorCuota[j]+'');
			html += '<td class="'+((mejorCuota == parseFloat(cad))?'resultadoRojo':'resultado')+'">'+
				'<a onclick="javascript:clic(\'comparador_comb\',\''+casasApuestas[j].name+'\');" ' +
				' href="'+linkapuesta(casasApuestas[j].name)+'" target=\"_blank\" >'+cad.substring(0,4)+'</a></td>';
		}
		html += 
                              //  '<td class="opciones"><a class="borrar" href="#"></a></td>' +
                            '</tr>' +
                        '</tbody>' +
                    '</table>' +
                '</div>' +
				'<div style="clear:both">' +
                '<a class="btnBorrarTodos" href="javascript:cmp_p2.borrarTodasApuestas();">borrar todos</a>' +
                '<a class="btnPlantillaConcurso" href="javascript:cmp_p2.generarTextoPlantillaConcurso();">plantilla concurso</a>' +
				'</div>' +
				'<div id="contenedorConcurso" class="concurso" style="display:none;">' +
                	'<label>Plantilla concurso de pronosticadores Miapuesta, Bet365 y Unibet</label>' +
                    '<textarea id="txtConcurso"> </textarea>' +
					'<a class="btnCopiar" href="javascript:cmp_p2.copiarTextoConcurso();">copiar</a><br/> ' +
					'<p>Accede al <a href="http://www.apuestasdeportivas.com/foro/concurso-de-pronosticadores-miapuesta-bet365-y-unibet-premios-2100mes/" target="_blank">concurso de pronosticadores del foro de apuestasdeportivas.com patrocinado por Bet365, Miapuesta y Unibet</a> y pega en &eacute;l tu pron&oacute;stico</p>' +
                '</div>'+
            '</div>' +
            '<!-- fin.EVENTO-->';

		html = 
		    '<!-- inicio.EVENTO-->' +
            '<div class="evento">' +
                '<div class="cntMejorCuotaCombinada">' +
                	'<div class="mejorCuotaCombinada">' +
                    	'<p class="mejorCuota">MEJOR CUOTA COMBINADA</p>' +
						((mejorCuota != -1)?(
	                        '<a onclick="javascript:clic(\'comparador_comb\',\''+casasApuestas[this.indexMejorCuota].name+'\');" ' +
							' href="'+linkapuesta(casasApuestas[this.indexMejorCuota].name)+'" target=\"_blank\" ><img class="" src="img/'+casasApuestas[this.indexMejorCuota].bid+'p.jpg"/></a>' +
	                        '<p class="cuota">'+(mejorCuota+'').substring(0,4)+'</p>'
						):'') +
                    '</div>' + html;

			
		$('htmlApuestas').update('');
		$('htmlApuestas').insert(html);
		this.textoConcurso = texto;
	},
	
	// gestion de apuestas
	obtenerValorApostado: function(xsid){
		var cAp = readCookie('comp_apuestas');
		if(cAp == null){
			return -1;
		}

		var trozos = cAp.split(',');
		for(var i = 0; i < trozos.length; i++){
			//alert(trozos[i])
			var trozosApuesta = trozos[i].split('_');
			if(parseInt(trozosApuesta[0]) == parseInt(xsid) /*&& parseInt(trozosApuesta[1]) == parseInt(ot)*/){
				return trozosApuesta[3];
			}
		}
		return -1;
	},
	
	borrarApuesta: function(xsid,ot){
		var cAp = readCookie('comp_apuestas');
		var trozos = cAp.split(',');
		var nueva_cAp = '';
		for(var i = 0; i < trozos.length; i++){
			var trozosApuesta = trozos[i].split('_');
			if(parseInt(trozosApuesta[0]) != xsid ){
				if(nueva_cAp != ''){
					nueva_cAp += ',';
				}
				nueva_cAp += trozos[i];
			}
		}
		
		createCookie('comp_apuestas',nueva_cAp,2);
		this.cargarApuestasCookie();
	},
	
	borrarTodasApuestas: function(){
		createCookie('comp_apuestas','');
		this.cargarApuestasCookie();
	},
	
	generarTextoPlantillaConcurso: function(){
		if(this.listaPartidos.length == 0){
			return;
		}
		
		var i; var j; var k;
		var texto = 'Apuesta nº X ; Apostados XX euros Virtuales \n\n';

		for(i = 0; i < this.listaPartidos.length; i++){
			var pt = this.listaPartidos[i];
			switch(pt.codeSport){
				case 'SOC': texto += 'Fútbol '; break;
				case 'BSK': texto += 'Baloncesto '; break;
				case 'TEN': texto += 'Tenis '; break;
			}
			texto += pt.country + ' ; ';
			texto += 'Partido: ' + pt.n_eHome + ' - ' + pt.n_eAway + ' ; Horario: ' + pt.starTime + ' ;'
			if(pt.apuestasUO.length > 0){
				set = pt.apuestasUO[0];
				k = 4;
			}
			else if(pt.apuestasHA.length > 0){
				set = pt.apuestasHA[0];
				k = 5;
			}
			else{
				set = pt.apuestas1X2[0];
				k = 1;
			}
			var valorApostado = this.obtenerValorApostado(pt.id);
			
			switch(k){
				case 1: texto += 'Pronóstico: ' + valorApostado + '; '; break;
				case 4: texto += 'Pronóstico: ' + ((valorApostado == '1')?'Over ':'Under ') + set.valorUO_HA+ '; '; break;
				case 5: texto += 'Pronóstico: ' + ((valorApostado == '1')?'1':'2') + ' Hand. As.' + set.valorUO_HA + '; ';
			}
			//texto += ((k >= 4 && valorApostado == 'X')?'2':valorApostado) + 
			//	((k == 4)?(' UnderOver '+set.valorUO_HA):(k==5)?(' Hand. As.' + set.valorUO_HA):'') + '; ';
			
			var cuota;
			if(set.apuestas[this.indexMejorCuota]){
				switch(valorApostado){
					case '1': cuota = set.apuestas[this.indexMejorCuota].o1; break;
					case 'X': cuota = set.apuestas[this.indexMejorCuota].o2; break;
					case '2': cuota = set.apuestas[this.indexMejorCuota].o3; break;
				}
			}
			else{
				cuota = '-';
			}
			texto += 'Cuota: ' + cuota + '\n';
			
		}
		var textoMejorCuota = this.mejorCuota[this.indexMejorCuota] + "";
		texto += '\nCasa de apuestas: '+casasApuestas[this.indexMejorCuota].name + ' ; Total cuota: ' +
			textoMejorCuota.substring(0,6) + '\n';

		$('txtConcurso').value = Utf8.decode(texto);
		$('contenedorConcurso').setStyle({'display':''});
	},
	
	copiarTextoConcurso: function(){
		var texto = $('txtConcurso').value;
		
		if (window.clipboardData){
			window.clipboardData.setData("Text", texto);
		} 
		else{
			alert("Esta opcion esta deshabilitada en navegadores diferentes a Internet Explorer. Por favor, copia manualmente el codigo desde el cuadro de texto");
		}
	},

	yUltima: function(){
		// la ultima, la del final
	}
});

