var bCommentNameValid = true;
var bEmailValid = true;
var bCommentValid = true;

var CommentNameInvalid = "Vous devez fournir un nom pour votre commentaire";
var EmailInvalid = "Vous devez fournir une adresse courriel pour votre commentaire";
var CommentEmpty = "Vous devez fournir un contenu pour votre commentaire";

jQuery(document).ready(function () {
    if (document.add_news_comments) {
        form = document.add_news_comments;

        form.name_field.onchange = function () {
            bCommentNameValid = validateCommentNameField(this);
        }

        form.email.onchange = function () {
            bEmailValid = validateCommentEmailField(this);
        }

        form.comment.onchange = function () {
            bCommentValid = validateCommentField(this);
        }
    }
});

function validateCommentNameField(oField) {
    var bFieldValid = true;

    if (oField.value.replace(' ', '') == '') {
        bFieldValid = false;
        jQuery("#name_error_message").html(CommentNameInvalid);
        jQuery("#name_error_message").css('backgroundColor', 'yellow');
        jQuery("#name_error_message").css('color', 'red');
        jQuery("#name_error_message").css('fontWeight', 'bold');
        jQuery("#name_error_container").slideDown(1000);
    }
    else {
        bFieldValid = true;
        jQuery("#name_error_container").slideUp(1000);
    }

    return bFieldValid;
}

function validateCommentEmailField(oField) {
    var bFieldValid = true;

    if (oField.value == '') {
        bFieldValid = false;
        jQuery("#email_error_message").html(EmailInvalid);
        jQuery("#email_error_container").css('backgroundColor', 'yellow');
        jQuery("#email_error_container").css('color', 'red');
        jQuery("#email_error_container").css('fontWeight', 'bold');
        jQuery("#email_error_container").slideDown(1000);
    }
    else {
        sEmailCheck = emailCheck(oField.value);

        if (sEmailCheck != 'OK') {
            bFieldValid = false;
            jQuery("#email_error_message").html(sEmailCheck);
            jQuery("#email_error_container").css('backgroundColor', 'yellow');
            jQuery("#email_error_container").css('color', 'red');
            jQuery("#email_error_container").css('fontWeight', 'bold');
            jQuery("#email_error_container").slideDown(1000);
        }
        else {
            bFieldValid = true;
            jQuery("#email_error_container").slideUp(1000);
        }
    }

    return bFieldValid;
}

function validateCommentField(oField) {
    var bFieldValid = true;

    if (oField.value.replace(' ', '') == '') {
        bFieldValid = false;
        jQuery("#comment_error_message").html(CommentEmpty);
        jQuery("#comment_error_container").css('backgroundColor', 'yellow');
        jQuery("#comment_error_container").css('color', 'red');
        jQuery("#comment_error_container").css('fontWeight', 'bold');
        jQuery("#comment_error_container").slideDown(1000);
    }
    else {
        bFieldValid = true;
        jQuery("#comment_error_container").slideUp(1000);
    }

    return bFieldValid;
}

function addNewsComment() {
    var bErrorFound = false;

    bCommentNameValid = validateCommentNameField(form.name_field);

    if (!bCommentNameValid) {
        bErrorFound = true;
    }

    bEmailValid = validateCommentEmailField(form.email);

    if (!bEmailValid) {
        bErrorFound = true;
    }

    bCaptchaValid = validateCaptchaField(form.captcha);

    if (!bCaptchaValid) {
        bErrorFound = true;
    }

    bCommentValid = validateCommentField(form.comment);

    if (!bCommentValid) {
        bErrorFound = true;
    }

    if (!bErrorFound) {
        var sData = 'fk_news=' + form.pk_news.value;
        sData += '&anonymous=' + form.anonymous.value;

        if (form.anonymous.value == 'yes') {
            sData += '&fk_users=0';
        }
        else {
            sData += '&fk_users=' + form.fk_users.value;
        }

        sData += '&content=' + escape(form.comment.value);
        sData += '&name=' + escape(form.name_field.value);
        sData += '&email=' + escape(form.email.value);

        jQuery.ajax({
            type: 'POST',
            url: '/ajax_commands/add_news_comment.php',
            data: sData + '&random_number=' + (new Date()).getDate(),
            success: function (msg) {
                if (msg == 'OK') {
                    if (form.score.value != '') {
                        jQuery.ajax({
                            type: 'POST',
                            url: '/ajax_commands/vote_news.php',
                            data: 'fk_news=' + form.pk_news.value + '&fk_users=' + form.fk_users.value + '&score=' + form.score.value + '&random_number=' + (new Date()).getDate(),
                            success: function (msg) {
                            }
                        });
                    }

                    jQuery.ajax({
                        type: 'GET',
                        url: '/ajax_commands/refresh_news_comments.php',
                        data: 'pk_news=' + form.pk_news.value + '&random_number=' + (new Date()).getDate(),
                        success: function (msg) {
                            jQuery("#comments_container").html(msg);
                            jQuery("#postcommentaire").html('<p>Votre commentaire a été envoyé sur le système');
                        }
                    });
                }
            }
        });
    }
}

function setCommentVote(iNewsComment, sVote) {
    var cookieSet = getCookie('vote_news_comment_' + iNewsComment);

    if (cookieSet == null) {
        jQuery.ajax({
            type: 'POST',
            url: '/ajax_commands/set_vote_news_comment.php',
            data: 'fk_news_comments=' + iNewsComment + '&vote=' + sVote + '&random_number=' + (new Date()).getDate(),
            success: function (msg) {
                json = eval("(" + msg + ")");
                jQuery('#votes_' + iNewsComment + '_positive').css('width', json.positive_width + '%');
                jQuery('#votes_' + iNewsComment + '_negative').css('width', json.negative_width + '%');

                if (sVote == 'up') {
                    iPositiveCount = Math.abs(jQuery('#positive_' + iNewsComment).html());
                    iPositiveCount++;
                    jQuery('#positive_' + iNewsComment).html(iPositiveCount);
                }
                else if (sVote == 'down') {
                    iNegativeCount = Math.abs(jQuery('#negative_' + iNewsComment).html());
                    iNegativeCount++;
                    jQuery('#negative_' + iNewsComment).html(iNegativeCount);
                }
                setCookie('vote_news_comment_' + iNewsComment, 'true', 365);
            }
        });
    }
}

function reportNewsAbuse(iNewsId, iCommentId) {
    if (confirm('Voulez-vous vraiment indiquer ce commentaire comme étant abusif?')) {
        jQuery.ajax({
            type: 'POST',
            url: '/ajax_commands/abuse_news_comment.php',
            data: 'pk_news=' + iNewsId + '&pk_news_comments=' + iCommentId + '&random_number=' + (new Date()).getDate(),
            success: function (msg) {
                jQuery('#comment_' + iCommentId + '_container').hide();
                jQuery('#spam_' + iCommentId).show();
            }
        });
    }
}

function highlightNewsVote(iScore) {
    for (a = 1; a <= 5; a++) {
        if (a <= iScore) {
            jQuery("#rate_article_" + a).attr('src', '/media/img/etoile_positif.gif');
        }
        else {
            jQuery("#rate_article_" + a).attr('src', '/media/img/etoile_negatif.gif');
        }
    }

    document.add_news_comments.score.value = iScore;
}
