﻿var lastId = -1;

function getComments(id) {
    if ($("#comment_" + id + " div").length > 0) {
        $("#comment_" + id).slideToggle('fast');
    } else {
        lastId = id;
        $("#cImg_" + id).attr('src', 'Images/loadSmall.gif');

        Services.CommentSvc.GetComments(id, onGetCommentSuccess);
    }
}

function onGetCommentSuccess(results) {
    $("#cImg_" + lastId).attr('src', 'Images/Comment.png');
    $("#comment_" + lastId).html(results);
    $("#comment_" + lastId).slideToggle('fast');
}

function SubmitComment(nameInput, commentInput, currId) {
    var valid = true;
    lastId = currId;

    if (jQuery.trim($(nameInput).val()) == "") {
        valid = false;
        $("#errNm_" + currId).html('<img src="Images/errorIcon.png"/> Please enter your name')
    } else {
        $("#errNm_" + currId).empty();
    }

    if (jQuery.trim($(commentInput).val()) == "") {
        valid = false;
        $("#errCmt_" + currId).html('<img src="Images/errorIcon.png"/> Please enter a comment')
    } else {
        $("#errCmt_" + currId).empty();
    }

    if (valid) {
        Services.CommentSvc.SubmitComment(currId, jQuery.trim($(commentInput).val()), jQuery.trim($(nameInput).val()), onCommentSuccess, onCommentFail);
    }
}

function getArticle(id) {
    Services.CommentSvc.GetArticle(id, onGetArticleSuccess, onGetArticleFail);
    lastId = id;
    return false;
}

function onGetArticleSuccess(results) {
    var entry = $("#entry_" + lastId);    
    $(entry).html(results);    
}

function onGetArticleFail(xhr, textStatus, errorThrown) {
    alert('Could not retrieve the article! Please try again later.');
}

function onCommentSuccess(results) {
    $("#cNum_" + lastId).html(parseInt($("#cNum_" + lastId).html()) + 1);
    Services.CommentSvc.GetComments(lastId, onUpdateComments);
}

function onUpdateComments(results) {
    $("#comment_" + lastId).html(results);
}

function onCommentFail(xhr, textStatus, errorThrown) {
    alert('Comment failed to submit! Please try again later.');
}
