--- /dev/null
+#annoy-on {
+    font-size: 13px;
+    line-height: 1.15em;
+
+    padding: .1em 1em;
+    background: orange;
+    z-index: 200;
+    font-family: Arial, sans-serif;
+    display: block;
+    padding: 0 1em;
+    width: 1em;
+    text-align:center;
+    border-radius: 0 0 0 1em;
+    position: absolute;
+    top: 0;
+    right: 0;
+    color: black;
+    box-shadow: .5em 0 1em black;
+}
+
+#annoy {
+    font-size: 13px;
+    line-height: 1.15em;
+    padding: 1em 5em 1em 0;
+    display: none;
+    background: orange;
+    font-family: Arial, sans-serif;
+    position: relative;
+    z-index: 200;
+    box-shadow: 0 0 1em black;
+}
+#annoy p {
+    margin: 0 0 0 10em;;
+}
+#annoy a {
+    color: #4E56C8;
+}
+#annoy img {
+    float: left;
+    margin: 0 2em;
+}
+
+#annoy a#annoy-off {
+    padding: .5em 1em .5em;
+    width: 1em;
+    text-align:center;
+    font-family: Arial, sans-serif;
+    display: block;
+
+    border-radius: 0 0 0 1em;
+    position: absolute;
+    top: 0;
+    right: 0;
+    color: black;
+}
+#annoy a#annoy-off:hover {
+    cursor: pointer;
+}
 
--- /dev/null
+(function($) {
+$(function() {
+
+$("#annoy").each(function(i, annoy) {
+
+    var edition = "annoyed" + new Date().getFullYear();
+
+    var have_localstorage;
+    try {
+        localStorage.setItem("test", "test");
+        localStorage.removeItem("test");
+        have_localstorage = true;
+    } catch(e) {
+        have_localstorage = false;
+    }
+
+    $("#annoy-on").click(function(e) {
+        e.preventDefault();
+        $(annoy).slideDown('fast');
+        $(this).hide();
+        if (have_localstorage) localStorage.removeItem(edition);
+    });
+
+    $("#annoy-off").click(function() {
+        $(annoy).slideUp('fast');
+        $("#annoy-on").show();
+        if (have_localstorage) localStorage[edition] = true;
+    });
+
+    if (have_localstorage) {
+        if (!localStorage[edition]) {
+            $("#annoy-on").hide();
+            $(annoy).show();
+        }
+    }
+    });
+
+
+});
+})(jQuery);
 
--- /dev/null
+{% load static from staticfiles %}
+<a id='annoy-on' href="http://nowoczesnapolska.org.pl/pomoz-nam/wesprzyj-nas/">1%</a>
+<div id='annoy'>
+    <a href="http://nowoczesnapolska.org.pl/pomoz-nam/wesprzyj-nas/">
+        <img src="{% static 'fnpdjango/annoy/procent.png' %}" alt="Logo akcji 1%" /></a>
+    <p>Droga użytkowniczko, drogi użytkowniku!</p>
+    <p>Fundacja Nowoczesna Polska to
+    organizacja pożytku publicznego działająca na rzecz wolności korzystania
+    z dóbr kultury. Wesprzyj nasze działania, przeznaczając na nie 1% swojego podatku.
+    Możesz to zrobić, wpisując w zeznaniu podatkowym numer
+    <strong>KRS 0000070056</strong>.</p>
+
+    <p><a href="http://nowoczesnapolska.org.pl/pomoz-nam/wesprzyj-nas/">Dowiedz się więcej</a></p>
+    
+    <a id='annoy-off'>x</a>
+    <div style="clear:both;"></div>
+</div>
 
--- /dev/null
+from django.conf import settings
+from django import template
+register = template.Library()
+
+
+@register.simple_tag
+def annoy():
+    """Annoy people with 1-percent tax plead.
+
+    To use, set FNP_ANNOY to True
+    and add fnpdjango/annoy/annoy.{css,js} to your template.
+    """
+    if getattr(settings, 'FNP_ANNOY', False):
+        return template.loader.render_to_string('fnpdjango/annoy.html')
+    else:
+        return u""
 
 
 setup(
     name='fnpdjango',
-    version='0.1.17',
+    version='0.1.18',
     author='Radek Czajka',
     author_email='radekczajka@nowoczesnapolska.org.pl',
     url = '',
     packages=find_packages(),
     package_data={
-        'fnpdjango': whole_trees('fnpdjango', ['templates', 'locale']),
+        'fnpdjango': whole_trees('fnpdjango', ['templates', 'locale', 'static']),
         'fnpdjango.deploy': ['templates/*.template'],
         'fnpdjango.management.commands': ['babel.cfg'],
     },