diff --git a/public/scripts/3rdparty/jquery.chained.js b/public/scripts/3rdparty/jquery.chained.js
new file mode 100644
index 0000000..23cd701
--- /dev/null
+++ b/public/scripts/3rdparty/jquery.chained.js
@@ -0,0 +1,73 @@
+/*
+ * Chained - jQuery non AJAX(J) chained selects plugin
+ *
+ * Copyright (c) 2010-2011 Mika Tuupola
+ *
+ * Licensed under the MIT license:
+ * http://www.opensource.org/licenses/mit-license.php
+ *
+ */
+
+(function($) {
+
+ $.fn.chained = function(parent_selector, options) {
+
+ return this.each(function() {
+
+ /* Save this to self because this changes when scope changes. */
+ var self = this;
+ var backup = $(self).clone();
+
+ /* Handles maximum two parents now. */
+ $(parent_selector).each(function() {
+
+ $(this).bind("change", function() {
+ $(self).html(backup.html());
+
+ /* If multiple parents build classname like foo\bar. */
+ var selected = "";
+ $(parent_selector).each(function() {
+ selected += "\\" + $(":selected", this).val();
+ });
+ selected = selected.substr(1);
+
+ /* Also check for first parent without subclassing. */
+ /* TODO: This should be dynamic and check for each parent */
+ /* without subclassing. */
+ var first = $(parent_selector).first();
+ var selected_first = $(":selected", first).val();
+
+ $("option", self).each(function() {
+ /* Remove unneeded items but save the default value. */
+ if (!$(this).hasClass(selected) &&
+ !$(this).hasClass(selected_first) && $(this).val() !== "") {
+ $(this).remove();
+ }
+ });
+
+ /* If we have only the default value disable select. */
+ if (1 == $("option", self).size() && $(self).val() === "") {
+ $(self).attr("disabled", "disabled");
+ } else {
+ $(self).removeAttr("disabled");
+ }
+ $(self).trigger("change");
+ });
+
+ /* Force IE to see something selected on first page load, */
+ /* unless something is already selected */
+ if ( !$("option:selected", this).length ) {
+ $("option", this).first().attr("selected", "selected");
+ }
+
+ /* Force updating the children. */
+ $(this).trigger("change");
+
+ });
+ });
+ };
+
+ /* Alias for those who like to use more English like syntax. */
+ $.fn.chainedTo = $.fn.chained;
+
+})(jQuery);
\ No newline at end of file
diff --git a/source/webui/templates/index.tpl b/source/webui/templates/index.tpl
index 0264031..c8c0616 100644
--- a/source/webui/templates/index.tpl
+++ b/source/webui/templates/index.tpl
@@ -15,6 +15,7 @@
+