diff --git a/js/functions.js b/js/functions.js
index a3080180b..1ede62b93 100644
--- a/js/functions.js
+++ b/js/functions.js
@@ -1727,3 +1727,81 @@ $(document).ready(function(){
});
});
+/**
+ * Hides/shows the "Open in ENUM/SET editor" message, depending on the data type of the column currently selected
+ */
+function toggle_enum_notice(dropdown_id) {
+ // Find the selected value in the drop down list before this
+ $selected_value = $("select[id='" + dropdown_id + "'] option:selected").attr("value");
+ var enum_notice_id = dropdown_id.split("_")[1];
+ enum_notice_id += "_" + (parseInt(dropdown_id.split("_")[2]) + 1);
+ if($selected_value == "ENUM" || $selected_value == "SET") {
+ $("p[id='enum_notice_" + enum_notice_id + "']").show();
+ } else {
+ $("p[id='enum_notice_" + enum_notice_id + "']").hide();
+ }
+}
+
+/**
+ * Closes the ENUM/SET editor and removes the data in it
+ */
+function disable_popup() {
+ $("#popup_background").fadeOut("fast");
+ $("#enum_editor").fadeOut("fast");
+ // clear the data from the text boxes
+ $("#enum_editor #values input").remove();
+}
+
+/**
+ * Opens the ENUM/SET editor and controls its functions
+ */
+$(document).ready(function() {
+ $("a[class='open_enum_editor']").click(function() {
+ // Center the popup
+ var windowWidth = document.documentElement.clientWidth;
+ var windowHeight = document.documentElement.clientHeight;
+ var popupWidth = $("#enum_editor").width();g
+ var popupHeight = $("#enum_editor").height();
+ var top = windowHeight/2 - popupHeight/2;
+ var left = windowWidth/2 - popupWidth/2;
+ $("#enum_editor").css({"position":"absolute", "top": top, "left": left});
+ // Make it appear
+ $("#popup_background").css({"opacity":"0.7"});
+ $("#popup_background").fadeIn("fast");
+ $("#enum_editor").fadeIn("fast");
+ // Get the values
+ var values = $("p[class='enum_notice']").prev("input").attr("value").split(",");
+ $.each(values, function(index, val) {
+ $("#enum_editor #values").append("");
+ });
+ });
+
+ // If the "close" link is clicked, close the enum editor
+ $("a[class='close_enum_editor']").click(function() {
+ disable_popup();
+ });
+
+ // If the "cancel" link is clicked, close the enum editor
+ $("a[class='cancel_enum_editor']").click(function() {
+ disable_popup();
+ });
+
+ // If the "add value" link is clicked, insert another text box
+ $("a[class='add_value']").click(function() {
+ $("#enum_editor #values").append("");
+ });
+
+ // When the submit button is clicked, put the data back into the original form
+ $("#enum_editor input[type='submit']").click(function() {
+ var value_array = new Array();
+ $.each($("#enum_editor #values input"), function(index, input_element) {
+ val = jQuery.trim(input_element.value);
+ if(val != "") {
+ value_array.push("'" + val + "'");
+ }
+ });
+
+ $("p[class='enum_notice']").prev("input").attr("value", value_array.join(","));
+ disable_popup();
+ });
+});