﻿$(document).ready(function() {
    //Hämta alla blogginlägg och förvälj om du redan har röstat
    $('.blog-list-vote').each(function() {

        var blogID = this.id.substring(15);
        toggleVotes(blogID);
    });

    
    $('.blog-comment-toggle').hide();

    $('a.blog-comment-link').click(function() {
        var id = $(this).attr('id');
        $('#comment-box-' + id).slideToggle('fast', function() { });
        return false;
    });
});

var cookieName = 'blogVote';

function toggleVotes(pid) {
    var votedCookie = $.cookie(cookieName + pid);
    var target = $('#blog-list-vote-' + pid);
    if (votedCookie == 'liked') {
        $(target).addClass('liked');
        //Byter bakgrund
        //Ta bort länken
        $(target).children('a').addClass("disabled").attr('href', 'javascript:void(0);');
    }
    if (votedCookie == 'disliked') {
        //Byter bakgrund
        $(target).addClass('disliked');

        //Ta bort länken
        $(target).children('a').addClass("disabled").attr('href','javascript:void(0);');
        
    }
}

function alterVote(pid, liked, disliked) {
    var target = '#blog-list-vote-' + pid;

    var antGillar = $(target + ' .like').attr('title');
    var antOgillar = $(target + ' .dislike').attr('title');

    var gillar = parseInt(antGillar.substring(7), 10);
    var ogillar = parseInt(antOgillar.substring(8), 10);

    //Byter ut text för Gilla
    $(target + ' .like').attr('title', 'Gilla (' + (gillar + liked) + ')');
    $(target + ' .like i').text('Gilla (' + (gillar + liked) + ')');
    $(target + ' .blog-list-vote-leftcolumn .blog-list-vote-number').text(gillar + liked);

    //Byter ut text för Ogilla
    $(target + ' .dislike').attr('title', 'Ogilla (' + (ogillar + disliked) + ')');
    $(target + ' .dislike i').text('Ogilla (' + (ogillar + disliked) + ')');
    $(target + ' .blog-list-vote-rightcolumn .blog-list-vote-number').text(ogillar + disliked);

    //Sätta variabler
    gillar = gillar + liked;
    ogillar = ogillar + disliked;
    var totalt = gillar + ogillar;

    if (totalt < 10) totalt = 10;

    //Räkna om höjd på staplar
    var gillaHeight = Math.round(70 / (totalt / gillar)) + 3;
    var ogillaHeight = Math.round(70 / (totalt / ogillar)) + 3;

    //Rita/animera om höjd
    $(target + " .blog-list-vote-leftcolumn .green").animate({ height: gillaHeight }, 'slow');
    $(target + " .blog-list-vote-rightcolumn .red").animate({ height: ogillaHeight }, 'slow');
}

function Like(pid) {
    var settings = "";
    $.ajax({
        type: "POST",
        url: "/Hem/Services/VotingService.asmx/Like",
        data: "{pageId:" + pid + "}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function(msg) {
            $.cookie(cookieName + pid, 'liked', { expires: 365 });
            toggleVotes(pid);
            alterVote(pid, 1, 0);
        },
        error: function(request, textStatus, errorThrown) {
//            alert("r=" + request.responseText + ",\n t=" + textStatus + ",\n e=" + errorThrown);
        }
    });
}

function Dislike(pid) {
    var settings = "";
    $.ajax({
        type: "POST",
        url: "/Hem/Services/VotingService.asmx/Dislike",
        data: "{pageId:" + pid + "}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function(msg) {
            $.cookie(cookieName + pid, 'disliked', { expires: 365 });
            toggleVotes(pid);
            alterVote(pid, 0, 1);
        },
        error: function(request, textStatus, errorThrown) {
//            alert("r=" + request.responseText + ",\n t=" + textStatus + ",\n e=" + errorThrown);
        }
    });
}
