var COMENTARIOS = {};

COMENTARIOS.getComentarios = function(id, by, pagina) {

    $.get('/backend/COMENTARIOS.getComentarios.php',
    {
        id: id,
        by: by,
        r: Math.random()
    },
    function(xml) {

        var i = 0;
        var html = '';
        var variables_plantilla = Array();
        var fecha_load = new Date();

        var limite = $(xml).find('comment').length;

        $(xml).find('comment').each(function() {

            var $comment = $(this);

            var campos = $comment.find('date').text().split(' ');

            variables_plantilla[i] = {

                fecha: campos[2] + '/' + campos[1] + '/' + campos[5],
                hora: campos[3],
                author: $comment.find('author').find('name').text(),
                content: $comment.find('content').text(),
                id: $comment.find('id').text(),
                positive_votes: $comment.find('positive_votes').text(),
                negative_votes: $comment.find('negative_votes').text(),
                load_time: fecha_load.getTime()

            };

            i++;
        }
        );

        $.ajax({
            type: 'GET',
            url: '/plantillas/comentarios.html',
            async: false,
            success: function(data) {
                html = data;
            }
        });

        COMENTARIOS.muestraComentarios(variables_plantilla, html, pagina, limite);

        if (by == 'date') {
            $('#lomasreciente').addClass('activo');
            $('#lomasvalorado').removeClass('activo');
        }
        else {
            $('#lomasvalorado').addClass('activo');
            $('#lomasreciente').removeClass('activo');
        }

    }
    );
};

COMENTARIOS.muestraComentarios = function(variables_plantilla, html, pagina, limite) {

    var max_comentarios = 5;

    var limite_b = ((((pagina - 1) * max_comentarios) + max_comentarios) > limite) ? limite: (((pagina - 1) * max_comentarios) + max_comentarios);
    var inicio = (pagina - 1) * max_comentarios;
    var paginas = Math.ceil(limite / max_comentarios);

    var $contenido = $('<div></div>');

    for (i = inicio; i < limite_b; i++) {

        var t = $.template(html);

        if (i == inicio) {
            $contenido.html(t, {
                fecha: variables_plantilla[i].fecha,
                hora: variables_plantilla[i].hora,
                author: variables_plantilla[i].author,
                content: variables_plantilla[i].content,
                id: variables_plantilla[i].id,
                positive_votes: variables_plantilla[i].positive_votes,
                negative_votes: variables_plantilla[i].negative_votes,
                load_time: variables_plantilla[i].load_time
            }
            );
        }
        else {
            $contenido.append(t, {
                fecha: variables_plantilla[i].fecha,
                hora: variables_plantilla[i].hora,
                author: variables_plantilla[i].author,
                content: variables_plantilla[i].content,
                id: variables_plantilla[i].id,
                positive_votes: variables_plantilla[i].positive_votes,
                negative_votes: variables_plantilla[i].negative_votes,
                load_time: variables_plantilla[i].load_time
            }
            );
        }

        if ($.cookie('admin') == 1) {
            $contenido.find('#moderacion-' + variables_plantilla[i].id).show();
        }

    }

    if (window.document.getElementById('bloque-opiniones')) {
		window.document.getElementById('bloque-opiniones').innerHTML = $contenido.html();
	}
	
    var opiniones = $('.num_opiniones').text().split(' ');
    $('.num_opiniones').text(limite + ' ' + opiniones[1]);

    var $listado_seguimiento = $('.listado_seguimiento');

    $listado_seguimiento.find('strong').text((pagina < 10) ? '0' + pagina: pagina);
    $listado_seguimiento.html($listado_seguimiento.find('strong'));
    $listado_seguimiento.append('/' + ((paginas < 10) ? '0' + paginas: paginas));

    var $anterior = $('#anterior');
    var $siguiente = $('#siguiente');

    $anterior.attr('href', 'javascript:void(0)');
    $siguiente.attr('href', 'javascript:void(0)');

    if (pagina > 1) {
        $anterior.unbind('click');
        $anterior.bind('click',
        function() {
            COMENTARIOS.muestraComentarios(variables_plantilla, html, (pagina - 1), limite);
        }
        );
    }

    if (pagina != paginas) {
        $siguiente.unbind('click');
        $siguiente.bind('click',
        function() {
            COMENTARIOS.muestraComentarios(variables_plantilla, html, (pagina + 1), limite);
        }
        );
    }
};

COMENTARIOS.mostrarDenunciar = function(id) {
    $('#formdenunciar-' + id).slideDown("slow");
};

COMENTARIOS.votarComentario = function(id, tipo) {

    $.post('/backend/COMENTARIOS.votarComentario.php',
    {
        id: id,
        tipo: tipo
    },
    function(data) {

        if (data == 'ok') {
            $('#favorcontra-' + id).parent().html('Gracias por votar');
        }
        else {
            alert(data);
        }
    }
    );
};

COMENTARIOS.denunciarComentario = function(id) {

    var fecha_submit = new Date();
    var filter = /^[A-Za-z][A-Za-z0-9_.]*@[A-Za-z0-9_]+\.[A-Za-z0-9_.]+[A-za-z]$/;

    eval("var formu = document.getElementById('formdenunciar-" + id + "')");

    if (formu.nombre.value == '') {
        alert('Por favor, introduzca su nombre');
        formu.nombre.focus();
        return;
    }

    if (formu.email.value == '') {
        alert('Por favor, introduzca su email');
        formu.email.focus();
        return;
    }

    if (!filter.test(formu.email.value)) {
        alert('El email introducido no es válido');
        formu.email.value.focus();
        return;
    }

    if (formu.denuncia.value == '') {
        alert('Por favor, introduzca su denuncia');
        formu.denuncia.focus();
        return;
    }

    formu.submit_time.value = fecha_submit.getTime();
    formu.submit();

    alert('Gracias por denunciar el comentario');

};

COMENTARIOS.enviarComentario = function() {
    var fecha_submit = new Date();
    var filter = /^[A-Za-z][A-Za-z0-9_.]*@[A-Za-z0-9_]+\.[A-Za-z0-9_.]+[A-za-z]$/;

    if (window.document.formulario.author_name.value == '') {
        alert('Por favor, introduce tu nombre');
        window.document.formulario.author_name.focus();
        return;
    }

    if (window.document.formulario.author_email.value == '') {
        alert('Por favor, introduce tu email');
        window.document.formulario.author_email.focus();
        return;
    }

    if (!filter.test(window.document.formulario.author_email.value)) {
        alert('El email introducido no es válido');
        window.document.formulario.author_email.focus();
        return;

    }

    if (window.document.formulario.message.value == '') {
        alert('Por favor, introduce tu opinión');
        window.document.formulario.message.focus();
        return;
    }

    var registrado = '';

    window.document.formulario.message.value = window.document.formulario.message.value;
    window.document.formulario.author_name.value = window.document.formulario.author_name.value + registrado;

    window.document.formulario.submit_time.value = fecha_submit.getTime();
    window.document.formulario.submit();

};

COMENTARIOS.setNumComentariosPortada = function() {

COMENTARIOS_DISQUS.obtenerNumeroComentariosPortada();
/*
    var id = '';

    $('.numcomentarios').each(function() {
        var campos = $(this).attr('id').split('-');
        id = id ? id + '|' + campos[2] : campos[2];
    }
    );
	
	id = COMENTARIOS.str_replace('solidario', 'rc', id);

    if (id != '') {
        $.get("/backend/COMENTARIOS.getComentariosPortada.php",
        {
            id: id,
            by: 'date'
        },
        function(data) {
			var campos = data.split('|');
            var limite = campos.length;
            var i = limite - 1;
            do {
				
                campos2 = campos[i].split('@');
                var num = campos2[1];
				
                var texto = '';

                switch (true) {
                case(num == 0 || num == '') :
                    texto = document.getElementById('num-comentarios-' + campos2[0]).innerHTML;
                    break;
                case (num == 1) :
                    texto = '1 Comentario';
                    break;
                default:
                    texto = num + '  Comentarios';
                    break;
                }
				
		if (document.getElementById('num-comentarios-' + campos2[0])) {
			if(document.getElementById('comentarios_sin_texto')) {
				texto = texto.replace(' Comentario', '');
				texto = texto.replace(' Comentarios', '');
				$('.numcomentarios').each(function() {
					$(this).html(texto);
				});
			} else {
				document.getElementById('num-comentarios-' + campos2[0]).innerHTML = texto;
			}
		}
                
            }
            while (i--);
        }
        );
    }
    */
};

COMENTARIOS.desaprobar = function(id) {

    if (confirm('Quiere desaprobar este comenario?')) {

        $.post('/backend/COMENTARIOS.desaprobar.php',
        {
            id: id
        },
        function(xml) {

            var estado = $(xml).find('estado').text();

            if (estado == 'OK') {

                $('#opinion-' + id).remove();

                var opiniones = $('.num_opiniones').text().split(' ');
                $('.num_opiniones').text((parseInt(opiniones[0]) - 1) + ' ' + opiniones[1]);
            }
            else {
                alert($(xml).find('desc').text());
            }
        }
        );
    }
};

COMENTARIOS.eliminar = function(id) {

    if (confirm('Quiere eliminar este comenario?')) {

        $.post('/backend/COMENTARIOS.eliminar.php',
        {
            id: id
        },
        function(xml) {

            var estado = $(xml).find('estado').text();

            if (estado == 'OK') {

                $('#opinion-' + id).remove();

                var opiniones = $('.num_opiniones').text().split(' ');
                $('.num_opiniones').text((parseInt(opiniones[0]) - 1) + ' ' + opiniones[1]);
            }
            else {
                alert($(xml).find('desc').text());
            }
        }
        );
    }
};

COMENTARIOS.str_replace = function(search, replace, subject) {

    var f = search,
    r = replace,
    s = subject;
    var ra = r instanceof Array,
    sa = s instanceof Array,
    f = [].concat(f),
    r = [].concat(r),
    i = (s = [].concat(s)).length;

    while (j = 0, i--) {
        if (s[i]) {
            while (s[i] = (s[i] + '').split(f[j]).join(ra ? r[j] || "": r[0]), ++j in f) {};
        }
    };

    return sa ? s: s[0];
};
/*
$(document).ready(function() {

    COMENTARIOS.getComentarios($('[name=id_item]').val(), 'date', 1);

	COMENTARIOS.setNumComentariosPortada();
}
);

*/

