]> git.openstreetmap.org Git - osqa.git/blobdiff - forum/skins/default/media/js/osqa.main.js
fixes OSQA-439. IE should work again. Sorry about that. Thanks for the patches...
[osqa.git] / forum / skins / default / media / js / osqa.main.js
index 270a6b4ab985a213e6bd9cca28816419d7dc6c6b..79cda45e948d52adfeb4620fb8a2424cc9e782cd 100644 (file)
@@ -49,10 +49,7 @@ var response_commands = {
         }\r
     },\r
 \r
-    mark_accepted: function(id) {\r
-        $('.accepted-answer').removeClass('accepted-answer');\r
-        $('.accept-answer.on').removeClass('on');\r
-        \r
+    mark_accepted: function(id) {        \r
         var $answer = $('#answer-container-' + id);\r
         $answer.addClass('accepted-answer');\r
         $answer.find('.accept-answer').addClass('on');\r
@@ -299,6 +296,8 @@ $(function() {
     $('a.ajax-command').live('click', function(evt) {\r
         if (running) return false;\r
 \r
+        $('.context-menu-dropdown').slideUp('fast');\r
+\r
         var el = $(this);\r
 \r
         if (el.is('.withprompt')) {\r
@@ -344,7 +343,8 @@ $(function() {
             $dropdown.slideToggle('fast', function() {\r
                 if ($dropdown.is(':visible')) {\r
                    $dropdown.one('clickoutside', function() {\r
-                        $dropdown.slideUp('fast')\r
+                       if ($dropdown.is(':visible'))\r
+                            $dropdown.slideUp('fast');\r
                     });\r
                 }\r
             });    \r
@@ -510,11 +510,14 @@ $(function() {
                 return false;\r
             });\r
 \r
-            $cancel.click(function() {\r
-                if (comment_in_form) {\r
-                    $comment = $('#comment-' + comment_in_form).slideDown('slow');\r
+            $cancel.click(function(event) {\r
+                if (confirm("You will lose all of your changes in this comment.  Do you still wish to proceed?")){\r
+                    if (comment_in_form) {\r
+                        $comment = $('#comment-' + comment_in_form).slideDown('slow');\r
+                    }\r
+                    hide_comment_form();\r
+                    cleanup_form();\r
                 }\r
-                hide_comment_form();\r
                 return false;\r
             });\r
         }\r
@@ -549,7 +552,8 @@ function pickedTags(){
 \r
         var call_settings = {\r
             type:'POST',\r
-            url:url\r
+            url:url,\r
+            data: ''\r
         };\r
         if (callback !== false){\r
             call_settings.success = callback;\r
@@ -676,7 +680,7 @@ function pickedTags(){
         init: function(){\r
             collectPickedTags();\r
             setupHideIgnoredQuestionsControl();\r
-            $("#interestingTagInput, #ignoredTagInput").autocomplete("/matching_tags/", {\r
+            $("#interestingTagInput, #ignoredTagInput").autocomplete(messages.matching_tags_url, {\r
                 minChars: 1,\r
                 matchContains: true,\r
                 max: 20,\r
@@ -684,11 +688,11 @@ function pickedTags(){
                 multipleSeparator: " "*/\r
 \r
                 formatItem: function(row, i, max, value) {\r
-                    return row[1].split(".")[0] + " (" + row[1].split(".")[1] + ")";\r
+                    return row[1] + " (" + row[2] + ")";\r
                 },\r
 \r
                 formatResult: function(row, i, max, value){\r
-                    return row[0];\r
+                    return row[1];\r
                 }\r
 \r
             });\r
@@ -1052,3 +1056,43 @@ $(document).ready( function(){
     });\r
 });\r
 \r
+function yourWorkWillBeLost(e) {\r
+    if(browserTester('chrome')) {\r
+        return "Are you sure you want to leave?  Your work will be lost.";\r
+    } else if(browserTester('safari')) {\r
+        return "Are you sure you want to leave?  Your work will be lost.";\r
+    } else {\r
+        if(!e) e = window.event;\r
+        e.cancelBubble = true;\r
+        e.returnValue = 'If you leave, your work will be lost.';\r
+\r
+        if (e.stopPropagation) {\r
+            e.stopPropagation();\r
+            e.preventDefault();\r
+        }\r
+        return e;\r
+    }\r
+}\r
+\r
+function browserTester(browserString) {\r
+    return navigator.userAgent.toLowerCase().indexOf(browserString) > -1;\r
+}\r
+\r
+// Add missing IE functionality\r
+if (!window.addEventListener) {\r
+    if (window.attachEvent) {\r
+        window.addEventListener = function (type, listener, useCapture) {\r
+            window.attachEvent('on' + type, listener);\r
+        };\r
+        window.removeEventListener = function (type, listener, useCapture) {\r
+            window.detachEvent('on' + type, listener);\r
+        };\r
+    } else {\r
+        window.addEventListener = function (type, listener, useCapture) {\r
+            window['on' + type] = listener;\r
+        };\r
+        window.removeEventListener = function (type, listener, useCapture) {\r
+            window['on' + type] = null;\r
+        };\r
+    }\r
+}
\ No newline at end of file