//
// Copyright (c) 2011 Linkeos.
//
// This file is part of Elveos.org.
// Elveos.org is free software: you can redistribute it and/or modify it
// under the terms of the GNU General Public License as published by the
// Free Software Foundation, either version 3 of the License, or (at your
// option) any later version.
//
// Elveos.org is distributed in the hope that it will be useful, but WITHOUT
// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
// more details.
// You should have received a copy of the GNU General Public License along
// with Elveos.org. If not, see http://www.gnu.org/licenses/.
//
package com.bloatit.web.components;

import static com.bloatit.framework.webprocessor.context.Context.tr;

import com.bloatit.framework.webprocessor.components.HtmlLink;
import com.bloatit.framework.webprocessor.components.HtmlSpan;
import com.bloatit.framework.webprocessor.components.meta.HtmlText;
import com.bloatit.framework.webprocessor.context.Context;
import com.bloatit.model.KudosableInterface;
import com.bloatit.web.HtmlTools;
import com.bloatit.web.url.PopularityVoteActionUrl;

public class KudosableAuthorBlock extends UserContentAuthorBlock {

    public KudosableAuthorBlock(final KudosableInterface kudosable) {
        super(kudosable);

        add(new HtmlText(" – "));

        // ////////////////////
        // Popularity
        final HtmlSpan commentPopularity = new HtmlSpan("kudosable_popularity");
        {

            commentPopularity.addText(tr("Popularity: {0}", HtmlTools.compressKarma(kudosable.getPopularity())));

            if (!kudosable.getRights().isOwner()) {
                final int vote = kudosable.getUserVoteValue();
                if (vote == 0) {
                    commentPopularity.addText(" (");

                    if (!kudosable.canVoteUp().isEmpty()) {
                        final PopularityVoteActionUrl usefullUrl = new PopularityVoteActionUrl(Context.getSession().getShortKey(), kudosable, true);
                        final HtmlLink usefullLink = usefullUrl.getHtmlLink(tr("Useful"));
                        usefullLink.setCssClass("useful");
                        commentPopularity.add(usefullLink);
                        commentPopularity.addText(" – ");
                    }

                    if (!kudosable.canVoteDown().isEmpty()) {
                        final PopularityVoteActionUrl uselessUrl = new PopularityVoteActionUrl(Context.getSession().getShortKey(), kudosable, false);
                        final HtmlLink uselessLink = uselessUrl.getHtmlLink(tr("Useless"));
                        uselessLink.setCssClass("useless");
                        commentPopularity.add(uselessLink);
                    }

                    commentPopularity.addText(")");
                } else {
                    // Already voted
                    final HtmlSpan voted = new HtmlSpan("comment_voted");
                    {
                        if (vote > 0) {
                            voted.addText("+" + vote);
                            voted.setCssClass("comment_voted Useful");
                        } else {
                            voted.addText("−" + Math.abs(vote));
                            voted.setCssClass("comment_voted useless");
                        }
                    }
                    commentPopularity.add(voted);
                }
            }
        }
        add(commentPopularity);
    }

}

@@ -1861,72 +1861,8 @@
 );%0A%0A
-                    if (!kudosable.canVoteUp().isEmpty()) %7B%0A    
     
@@ -2014,36 +2014,32 @@
                 
-    
 final HtmlLink u
@@ -2109,20 +2109,16 @@
         
-    
 usefullL
@@ -2136,36 +2136,32 @@
 lass(%22useful%22);%0A
-    
                 
@@ -2212,36 +2212,32 @@
                 
-    
 commentPopularit
@@ -2258,97 +2258,9 @@
 %22);%0A
-                    %7D%0A%0A                    if (!kudosable.canVoteDown().isEmpty()) %7B%0A    
+%0A
     
@@ -2413,36 +2413,32 @@
                 
-    
 final HtmlLink u
@@ -2509,20 +2509,16 @@
         
-    
 uselessL
@@ -2557,36 +2557,32 @@
                 
- 
-   
 commentPopularit
@@ -2600,38 +2600,16 @@
 ssLink);
-%0A                    %7D
 %0A%0A      

fix vote buttons on comments