﻿/// <reference path="../Scripts/jquery-1.2.6-vsdoc.js" />
/// <reference path="../Scripts/jquery.tinysort-vsdoc.js" />

//function AddAnswer() {
//    var text = $("#preview").html();
//    var questionid = $("#QuestionId").attr("value");

//    $.ajax(
//    {
//        type: "POST",
//        url: "/Questions/AddAnswer",
//        data: "text=" + text + "&questionId=" + questionid,
//        dataType: "html",
//        success: function(result) {
//            if (result.toString().indexOf("<!DOCTYPE html PUBLIC", 0) > -1) {
//                document.location.href = "/Account/Login";
//            }
//            else {
//                var domElement = $(result); // create element from html
//                $("#answers").append(domElement).fadeIn('slow'); // append to end of list
//                $("#AnswerText").attr("value", "");
//            }
//            $("#answers .answer").tsort("div.vote-number", { order: "desc" });
//        },
//        error: function(error) {
//            alert(error);
//        }
//    });
//}

function ToggleComments(answerId) {
    $("#comments-form-" + answerId).toggle();
}

function AddAnswerComment(answerId) {

    var text = $("#comment-" + answerId).val();
    $("#comment-" + answerId).val('');

    $.ajax(
    {
        type: "POST",
        url: "/Questions/AddAnswerComment",
        data: "answerId=" + answerId + "&commentText=" + text,
        dataType: "html",
        success: function(result) {
            if (result.indexOf("Fel:") != 0) {
                var domElement = $(result); // create element from html
                $("#comments-" + answerId + " ul").append(domElement);
            } else {
                alert("Du måste skriva något.");
            }
        },
        error: function(error) {
            alert("Där blev något fel");
        }
    });
}

function AddQuestionComment(questionId) {

    var text = $("#question-comment").val();
    $("#question-comment").val('');

    $.ajax(
    {
        type: "POST",
        url: "/Questions/AddQuestionComment",
        data: "questionId=" + questionId + "&commentText=" + text,
        dataType: "html",
        success: function(result) {
            if (result.indexOf("Fel:") != 0) {
                var domElement = $(result); // create element from html
                $("#question-comments ul").append(domElement);
            } else {
                alert("Du måste skriva något.");
            }
        },
        error: function(error) {
            alert("Där blev något fel");
        }
    });
}

function UpdatePreferedAnswer(answerId, prefered) {
    $.ajax(
    {
        type: "POST",
        url: "/Questions/UpdatePreferedAnswer",
        data: "answerId=" + answerId + "&prefered=" + prefered,
        dataType: "html",
        success: function(result) {
            var domElement = $(result); // create element from html
            var prevPrefered = $("#prefered-answer>div").clone();
            if (result.toString().indexOf('Du måste', 0) != 0) {
                $("#prefered-answer div").remove();
                $("#answer-" + answerId).remove();
                if (prefered == "true") {
                    $("#prefered-answer").append(domElement);
                    $("#answers").append(prevPrefered);
                } else {
                    $("#answers").append(domElement);
                }
                $("#answers .answer").tsort("div.vote-number", { order: "desc" });
            } else {
                alert(result);
            }
            //$("#answers").tsort("div.vote-number");
        },
        error: function(error) {
            alert(error);
        }
    });
}

function CastAnswerVote(answerId, direction) {
    $.ajax(
    {
        type: "POST",
        url: "/Questions/CastAnswerVote",
        data: "answerId=" + answerId + "&direction=" + direction,
        dataType: "html",
        success: function(result) {
            if (isInteger(result)) {
                $("#answer-" + answerId + " .vote-number li:first").html(result); // append to end of list
                $("#answers .answer").tsort("div.vote-number", { order: "desc" });
            } else {
                alert(result);
            }
        },
        error: function(error) {
            alert(error);
        }
    });
}

function CastQuestionVote(questionId, direction) {
    $.ajax(
    {
        type: "POST",
        url: "/Questions/CastQuestionVote",
        data: "questionId=" + questionId + "&direction=" + direction,
        dataType: "html",
        success: function(result) {
            if (isInteger(result)) {
                $("#question-answerpage .vote-number  li:first").html(result); // append to end of list
            } else {
                alert(result);
            }
        },
        error: function(error) {
            alert(error);
        }
    });
}


function isInteger(s) {
    return (s.toString().search(/^-?[0-9]+$/) == 0);
}

