diff --git a/lib/bootstrap/css/bootstrap.css b/lib/bootstrap/css/bootstrap.css
index bbdf7f4..728a879 100644
--- a/lib/bootstrap/css/bootstrap.css
+++ b/lib/bootstrap/css/bootstrap.css
@@ -3540,57 +3540,7 @@ input[type="button"].btn-block {
background-color: #222222;
*background-color: #151515;
}
-/*custom_button------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
-.btn-green {
- background-color: hsl(97, 69%, 25%) !important;
- background-repeat: repeat-x;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#68d326", endColorstr="#356b13");
- background-image: -khtml-gradient(linear, left top, left bottom, from(#68d326), to(#356b13));
- background-image: -moz-linear-gradient(top, #68d326, #356b13);
- background-image: -ms-linear-gradient(top, #68d326, #356b13);
- background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #68d326), color-stop(100%, #356b13));
- background-image: -webkit-linear-gradient(top, #68d326, #356b13);
- background-image: -o-linear-gradient(top, #68d326, #356b13);
- background-image: linear-gradient(#68d326, #356b13);
- border-color: #356b13 #356b13 hsl(97, 69%, 19%);
- color: #fff !important;
- text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.39);
- -webkit-font-smoothing: antialiased;
-}
-.btn-red {
- background-color: hsl(0, 100%, 35%) !important;
- background-repeat: repeat-x;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#fe2d2d", endColorstr="#b20000");
- background-image: -khtml-gradient(linear, left top, left bottom, from(#fe2d2d), to(#b20000));
- background-image: -moz-linear-gradient(top, #fe2d2d, #b20000);
- background-image: -ms-linear-gradient(top, #fe2d2d, #b20000);
- background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fe2d2d), color-stop(100%, #b20000));
- background-image: -webkit-linear-gradient(top, #fe2d2d, #b20000);
- background-image: -o-linear-gradient(top, #fe2d2d, #b20000);
- background-image: linear-gradient(#fe2d2d, #b20000);
- border-color: #b20000 #b20000 hsl(0, 100%, 29%);
- color: #fff !important;
- text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.39);
- -webkit-font-smoothing: antialiased;
-}
-
-.btn-grey {
- background-color: hsl(70, 0%, 32%) !important;
- background-repeat: repeat-x;
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#999999", endColorstr="#515151");
- background-image: -khtml-gradient(linear, left top, left bottom, from(#999999), to(#515151));
- background-image: -moz-linear-gradient(top, #999999, #515151);
- background-image: -ms-linear-gradient(top, #999999, #515151);
- background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #999999), color-stop(100%, #515151));
- background-image: -webkit-linear-gradient(top, #999999, #515151);
- background-image: -o-linear-gradient(top, #999999, #515151);
- background-image: linear-gradient(#999999, #515151);
- border-color: #515151 #515151 hsl(70, 0%, 25%);
- color: #fff !important;
- text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.46);
- -webkit-font-smoothing: antialiased;
-}
.btn-inverse:active,
diff --git a/lib/custom/custom_buttons.css b/lib/custom/custom_buttons.css
new file mode 100644
index 0000000..c736ce4
--- /dev/null
+++ b/lib/custom/custom_buttons.css
@@ -0,0 +1,51 @@
+/*custom_button------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
+.btn-green {
+ background-color: hsl(97, 69%, 25%) !important;
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#68d326", endColorstr="#356b13");
+ background-image: -khtml-gradient(linear, left top, left bottom, from(#68d326), to(#356b13));
+ background-image: -moz-linear-gradient(top, #68d326, #356b13);
+ background-image: -ms-linear-gradient(top, #68d326, #356b13);
+ background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #68d326), color-stop(100%, #356b13));
+ background-image: -webkit-linear-gradient(top, #68d326, #356b13);
+ background-image: -o-linear-gradient(top, #68d326, #356b13);
+ background-image: linear-gradient(#68d326, #356b13);
+ border-color: #356b13 #356b13 hsl(97, 69%, 19%);
+ color: #fff !important;
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.39);
+ -webkit-font-smoothing: antialiased;
+}
+
+.btn-red {
+ background-color: hsl(0, 100%, 35%) !important;
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#fe2d2d", endColorstr="#b20000");
+ background-image: -khtml-gradient(linear, left top, left bottom, from(#fe2d2d), to(#b20000));
+ background-image: -moz-linear-gradient(top, #fe2d2d, #b20000);
+ background-image: -ms-linear-gradient(top, #fe2d2d, #b20000);
+ background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fe2d2d), color-stop(100%, #b20000));
+ background-image: -webkit-linear-gradient(top, #fe2d2d, #b20000);
+ background-image: -o-linear-gradient(top, #fe2d2d, #b20000);
+ background-image: linear-gradient(#fe2d2d, #b20000);
+ border-color: #b20000 #b20000 hsl(0, 100%, 29%);
+ color: #fff !important;
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.39);
+ -webkit-font-smoothing: antialiased;
+}
+
+.btn-grey {
+ background-color: hsl(70, 0%, 32%) !important;
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#999999", endColorstr="#515151");
+ background-image: -khtml-gradient(linear, left top, left bottom, from(#999999), to(#515151));
+ background-image: -moz-linear-gradient(top, #999999, #515151);
+ background-image: -ms-linear-gradient(top, #999999, #515151);
+ background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #999999), color-stop(100%, #515151));
+ background-image: -webkit-linear-gradient(top, #999999, #515151);
+ background-image: -o-linear-gradient(top, #999999, #515151);
+ background-image: linear-gradient(#999999, #515151);
+ border-color: #515151 #515151 hsl(70, 0%, 25%);
+ color: #fff !important;
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.46);
+ -webkit-font-smoothing: antialiased;
+}
diff --git a/lib/jquery.countdown/Makefile b/lib/jquery.countdown/Makefile
new file mode 100644
index 0000000..2d98020
--- /dev/null
+++ b/lib/jquery.countdown/Makefile
@@ -0,0 +1,12 @@
+dist: all
+ @echo Done
+
+all:
+ @echo Compiling coffee script
+ coffee -c -o ./ coffee/*.coffee
+
+watch:
+ @echo Watch coffee script files
+ coffee -w -o ./ coffee/*.coffee
+
+.PHONY: dist all watch
\ No newline at end of file
diff --git a/lib/jquery.countdown/Readme.md b/lib/jquery.countdown/Readme.md
new file mode 100644
index 0000000..4624487
--- /dev/null
+++ b/lib/jquery.countdown/Readme.md
@@ -0,0 +1,95 @@
+# countdown
+
+countdown is a jQuery plugin to render countdowns. Instead of unicorns this plugin does not have any magic, but if you like countdowns to be rendered the way you want, this plugin might become your best friend.
+
+## Uber simple setup
+
+To use the countdown plugin you need to load the current version of jQuery (testet with 1.7.2) and the javascript file of the plugin.
+Just add the following lines to the `head` of your website:
+
+
+
+
+Then you have to initialize the plugin with your desired configuration:
+
+
+
+Yep, it's easy like that! Enjoy the time you saved!
+
+## Options
+
+You can pass a set of these options to set a custom behaviour and look for the plugin.
+
+
+
+
Property (Type)
+
Default
+
Description
+
+
+
date
+
new Date("June 7, 2087 15:03:25")
+
The end time of your fancy countdown. Pass either a date object or a string/integer that will be used to create a new Date object. Here you can find all accepted formats of this value.
+
+
+
refresh
+
1000
+
Refresh rate in milliseconds or false to avoid automatic updates.
+
+
+
render
+
With the render option you can set a function to change the output of the plugin. This function is called in the scope of the plugin, so you can access the leadingZeros method to format numbers as well as public variables and methods. A literal object will be passed to this function as an argument, containing the remaining time parts (years, days, hours, min, sec).
+
+
+
onEnd
+
Callback function that is called when the end date is reached
+
+
+
+
+## Public plugin methods
+
+
+
+
method(arguments)
+
Description
+
+
+
leadingZeros(number, [length = 2])
+
Add leading zeros to a number.
+
+
+
update(newDate)
+
Update the end time. The possible formats of the argument newDate are the same as described in the date-option above.
+
+
+
render()
+
Call the render method. This might be usefull if you set refresh to false.
+
+
+
stop()
+
Stops the refresh loop.
+
+
+
start([refreshRate])
+
Start the refresh loop. If you set a refresh rate in the options you can overwrite it with the argument refreshRate. If you don't pass an argument, the old value or the default value of 1 sec will be used.
+
+
+
+## Changelog
+
+### Version 1.0.1 - May 01, 2013
+* Added callback function when the end date is reached
+
+### Version 1.0.0 - Aug 05, 2012
+* Initial release
+
+## License
+
+`countdown` is dual licensed under the [MIT](http://www.opensource.org/licenses/mit-license.php) and [GPL-3.0](http://opensource.org/licenses/GPL-3.0) licenses.
diff --git a/lib/jquery.countdown/coffee/jquery.countdown.coffee b/lib/jquery.countdown/coffee/jquery.countdown.coffee
new file mode 100644
index 0000000..effae4d
--- /dev/null
+++ b/lib/jquery.countdown/coffee/jquery.countdown.coffee
@@ -0,0 +1,110 @@
+###
+countdown is a simple jquery plugin for countdowns
+
+Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
+and GPL-3.0 (http://opensource.org/licenses/GPL-3.0) licenses.
+
+@source: http://github.com/rendro/countdown/
+@autor: Robert Fleischmann
+@version: 1.0.1
+###
+
+(($) ->
+ $.countdown = (el, options) ->
+
+ @el = el
+ @$el = $ el
+ @$el.data "countdown", @
+
+ @init = =>
+ @options = $.extend {}, $.countdown.defaultOptions, options
+ if @options.refresh
+ @interval = setInterval =>
+ @render()
+ , @options.refresh
+ @render()
+ @
+
+ getDateData = (endDate) =>
+ endDate = Date.parse if $.isPlainObject @options.date then @options.date else new Date @options.date
+ diff = (endDate - Date.parse(new Date)) / 1000
+
+ if diff <= 0
+ diff = 0
+ @stop() if @interval
+ @options.onEnd.apply @
+
+ dateData = {
+ years: 0
+ days: 0
+ hours: 0
+ min: 0
+ sec: 0
+ millisec: 0
+ }
+
+ if diff >= (365.25 * 86400)
+ dateData.years = Math.floor diff / (365.25 * 86400)
+ diff -= dateData.years * 365.25 * 86400
+
+ if diff >= 86400
+ dateData.days = Math.floor diff / 86400
+ diff -= dateData.days * 86400
+
+ if diff >= 3600
+ dateData.hours = Math.floor diff / 3600
+ diff -= dateData.hours * 3600
+
+ if diff >= 60
+ dateData.min = Math.floor diff / 60
+ diff -= dateData.min * 60
+
+ dateData.sec = diff
+
+ dateData
+
+ @leadingZeros = (num, length = 2) =>
+ num = String num
+ num = "0#{num}" while num.length < length
+ num
+
+ @update = (newDate) =>
+ @options.date = newDate
+ @
+
+ @render = =>
+ @options.render.apply @, [getDateData @options.date]
+ @
+
+ @stop = =>
+ clearInterval @interval if @interval
+ @interval = null
+ @
+
+ @start = (refresh = @options.refresh or $.countdown.defaultOptions.refresh) =>
+ clearInterval @interval if @interval
+ @render()
+ @options.refresh = refresh
+ @interval = setInterval =>
+ @render()
+ , @options.refresh
+ @
+
+ @init()
+
+ $.countdown.defaultOptions =
+ date: "June 7, 2087 15:03:25"
+ refresh: 1000
+ onEnd: $.noop
+ render: (date) ->
+ $(@el).html "#{date.years} years, #{date.days} days, #{@leadingZeros date.hours} hours, #{@leadingZeros date.min} min and #{@leadingZeros date.sec} sec"
+
+ $.fn.countdown = (options) ->
+ $.each @, (i, el) ->
+ $el = ($ el)
+
+ unless $el.data 'countdown'
+ $el.data 'countdown', new $.countdown el, options
+
+ undefined
+)(jQuery)
diff --git a/lib/jquery.countdown/examples/index.html b/lib/jquery.countdown/examples/index.html
new file mode 100644
index 0000000..f940f00
--- /dev/null
+++ b/lib/jquery.countdown/examples/index.html
@@ -0,0 +1,54 @@
+
+
+
+
+ Countdown
+
+
+
+
+
+
+
+
+
+
COUNTDOWN
+
+
Simple text countdown
+
+
+
Styled output
+
+
+
Countdown with callback
+
Click on the green box to reset the counter to 10 sec.
\ No newline at end of file
diff --git a/uVote/path/PLIB.php b/uVote/path/PLIB.php
new file mode 100644
index 0000000..f0bb5dd
--- /dev/null
+++ b/uVote/path/PLIB.php
@@ -0,0 +1,5 @@
+