/*--------------------------------------------------------------- ::: - ::: - ::: ---*/
var horainiciocliente = getSegundosFecha(new Date());
var timer;
var intevalBool = true;

function getSegundos(dato){
    hh = Math.floor(dato / 10000);
    mm = Math.floor((dato / 100) - hh * 100);
    ss = Math.floor(dato % 100);
    return 3600 * hh + 60 * mm + ss;
}

function getSegundosFecha(fecha){
    return 3600 * fecha.getHours() + 60 * fecha.getMinutes() + fecha.getSeconds();
}

function setMinutos(tiempo){
    return Math.floor(tiempo / 60);
}

function setSegundos(tiempo){
    return tiempo % 60;
}

function actualizarTiempo(ahoraserver, horacomienzo){
    var ahoracliente = getSegundosFecha(new Date());
    var deltacliente = ahoracliente - horainiciocliente;
    if (deltacliente < 0) 
        deltacliente += 86400; //24 * 60 * 60;
    var segsahoraserver = getSegundos(ahoraserver);
    var segshoracomienzo = getSegundos(horacomienzo);
    deltaget = segsahoraserver - segshoracomienzo;
    if (deltaget < 0 &&
    segsahoraserver < 3600 &&
    segshoracomienzo > 82800) //son menos de la 1 y empezo despues de las 23
        //Cambio de dia
        deltaget += 86400;
    //else
    //Todavia no empezo
    
    var tiempojuego = deltaget + deltacliente;
    
    return tiempojuego;
}

function writeTime(horaServidorUnix, horaUnix){
    var transcurrido = actualizarTiempo(horaServidorUnix, horaUnix);
    if (transcurrido >= 0) {
        minutos = setMinutos(transcurrido);
        segundos = setSegundos(transcurrido) <= 9 ? "0" + setSegundos(transcurrido) : setSegundos(transcurrido);

        $('div#reloj-minutero').text(minutos + ':' + segundos);
    }
}


function mam(){
    var hora = new Date();
    $.get($('div#minuto_a_minuto').attr('path') + '?time=' + hora.getHours() + hora.getMinutes() + hora.getSeconds() + hora.getMilliseconds(), {}, function(data){
        if (data != null) {
        
            switch (data.Status.idStatus) {
                case '1':
                case '18':
//                    clearInterval(timer);
					if(intevalBool){
	                    timer = setInterval('writeTime(' + data.Status.HoraServidorUnix + ',' + data.Status.HoraUnix + ')', 1000);
					}
					intevalBool = false;
                    break;
                case '2':
                case '17':
                    clearInterval(timer);
                    $('div#reloj-minutero').text('');
					intevalBool = true;
                    break;
                case '54':
                    clearInterval(timer);
                    $('div#reloj-minutero').text('');
					intevalBool = true;
                    break;
            }
            
            $('div#proximo_partido').addClass('hidden');
            $('div#minuto_a_minuto').removeClass('hidden');
            
            $('div#minuto-equipo-local p.minuto-equipo').html(data.Equipos.Local.NombreCorto);
            $('div#minuto-equipo-local p#minuto-marcador-local').html(data.Resultado.Local);
            
            $('div#minuto-equipo-visitante p.minuto-equipo').html(data.Equipos.Visitante.NombreCorto);
            $('div#minuto-equipo-visitante p#minuto-marcador-visitante').html(data.Resultado.Visitante);
            
            $('div#minuto-escudo-local img').attr({
                title: data.Equipos.Local.NombreAsociacion,
                src: '/img/escudos/' + data.Equipos.Local.keyNombre + '_03.png'
            });
            
            $('div#minuto-escudo-visitante img').attr({
                title: data.Equipos.Visitante.NombreAsociacion,
                src: '/img/escudos/' + data.Equipos.Visitante.keyNombre + '_03.png'
            });
            $('span#minuto-status').text(data.Status.Nombre);
            /* 
             $('div.minuto-opciones h3.minuto-boton-goleadores').click(function(){
             if ($('div.lista-goleadores.activo').length == 0) {
             $('div.lista-goleadores').addClass('activo').slideDown();
             $('div.lista-tarjetas').removeClass('activo').slideUp();
             }
             else {
             $('div.lista-goleadores').removeClass('activo').slideUp();
             }
             });
             
             $('a#minuto-boton-tarjetas').click(function(){
             if ($('div.lista-tarjetas.activo').length == 0) {
             $('div.lista-tarjetas').addClass('activo').slideDown();
             $('div.lista-goleadores').removeClass('activo').slideUp();
             }
             else {
             $('div.lista-tarjetas').removeClass('activo').slideUp();
             }
             });*/
            ////
            
            /* INCIDENCIAS */
            if (data.Incidencias) {
                var l = data.Incidencias.length;
                var incidencias = '';
                
                for (var i = 0; i < l; i++) {
                    incidencias += '<li title="' + data.Incidencias[i].Jugador + '"><span class="minuto">' + data.Incidencias[i].Minuto + '´ </span> <span class="equipo">' + data.Incidencias[i].Equipo + '</span> - <span class="incidencia">' + data.Incidencias[i].Nombre + '</span></li>';
                }
                $('div#minuto_a_minuto div#incidencias ul').html(incidencias);
            }
            
            /* GOLEADORES */
            if (data.Goleadores) {
                var goleadores = '';
				if(data.Goleadores.Local){
	                var l = data.Goleadores.Local.length;
	                for (var i = 0; i < l; i++) {
	                    goleadores += '<li title="' + data.Goleadores.Local[i].Nombre + '"><span class="minuto">' + data.Goleadores.Local[i].Minuto + '´ </span> <span class="equipo">' + data.Goleadores.Local[i].Equipo + '</span> - <span class="jugador">' + data.Goleadores.Local[i].Jugador + '</span></li>';
	                }
				}
				if (data.Goleadores.Visitante) {
					var l = data.Goleadores.Visitante.length;
					for (var i = 0; i < l; i++) {
						goleadores += '<li title="' + data.Goleadores.Visitante[i].Nombre + '"><span class="minuto">' + data.Goleadores.Visitante[i].Minuto + '´ </span> <span class="equipo">' + data.Goleadores.Visitante[i].Equipo + '</span> - <span class="jugador">' + data.Goleadores.Visitante[i].Jugador + '</span></li>';
					}
				}
                $('div#minuto_a_minuto div#goleadores ul').html(goleadores);
            }
            /* TARJETAS*/
            if (data.Tarjetas) {
            var tarjetas = '';

			if(data.Tarjetas.Amarillas){
                var l = data.Tarjetas.Amarillas.length;
                for (var i = 0; i < l; i++) {
                    tarjetas+= '<li title="Tarjeta amarilla" class="amarilla"><span class="minuto">' + data.Tarjetas.Amarillas[i].Minuto + '´ </span> <span class="equipo">' + data.Tarjetas.Amarillas[i].Equipo + '</span> - <span class="jugador">' + data.Tarjetas.Amarillas[i].Jugador + '</span></li>';
                }
			}
			if(data.Tarjetas.Rojas){
                var l = data.Tarjetas.Rojas.length;
                for (var i = 0; i < l; i++) {
                    tarjetas+= '<li title="Tarjeta roja" class="roja"><span class="minuto">' + data.Tarjetas.Rojas[i].Minuto + '´ </span> <span class="equipo">' + data.Tarjetas.Rojas[i].Equipo + '</span> - <span class="jugador">' + data.Tarjetas.Rojas[i].Jugador + '</span></li>';
                }
			}

                $('div#minuto_a_minuto div#lista-tarjetas ul').html(tarjetas);
            }
        }
        else {
            $('div#proximo_partido').removeClass('hidden');
            $('div#minuto_a_minuto').addClass('hidden');
        }
    }, 'json');
    
}

$(document).ready(function(){

    mam();
    
    $('a#minuto-boton-tarjetas').click(function(){
        if ($('div#lista-tarjetas.activo').length == 0) {
            $('div#goleadores').removeClass('activo').slideUp();
            $('div#lista-tarjetas').addClass('activo').slideDown();
        }
        else {
            $('div#lista-tarjetas').removeClass('activo').slideUp();
        }
        return false;
    });
    
    $('a#minuto-boton-goleadores').click(function(){
        if ($('div#goleadores.activo').length == 0) {
            $('div#lista-tarjetas').removeClass('activo').slideUp();
            $('div#goleadores').addClass('activo').slideDown();
        }
        else {
            $('div#goleadores').removeClass('activo').slideUp();
        }
        return false;
    });
    minutoAminuto = setInterval(mam, 40000);
});

