2 function show_dialog (html, extra_class, pos, dim, yes, no_text) {
3 $dialog = $('<div class="dialog ' + extra_class + '" style="width: 1px; height: 1px;">'
4 + '<div class="dialog-content">' + html + '</div><div class="dialog-buttons">'
5 + '<button class="dialog-no">' + no_text + '</button>'
6 + '<button class="dialog-yes">' + yes.text + '</button>'
9 $('body').append($dialog);
17 top: "-=" + (dim.h / 2),
18 left: "-=" + (dim.w / 2),
22 $dialog.find('.dialog-no').click(function() {
23 $dialog.fadeOut('fast');
25 $dialog.find('.dialog-yes').click(function() {
26 yes.callback($dialog);
33 $().ready(function() {
34 var $dropdown = $('#user-menu-dropdown');
36 $('#user-menu').click(function(){
37 $('.dialog').fadeOut('fast');
38 $dropdown.slideToggle('fast');
41 $('.confirm').each(function() {
44 $link.click(function(e) {
45 $dropdown.slideUp('fast');
46 var html = messages.confirm;
48 show_dialog(html, 'confirm', {x: e.pageX, y: e.pageY}, {w: 200, h: 100}, {
50 callback: function() {
51 window.location = $link.attr('href');
59 $('#award-rep-points').click(function(e) {
60 $dropdown.slideUp('fast');
62 var html = '<table><tr><th>' + messages.points + '</th><td><input type="text" id="points-to-award" value="1" /></td></tr>'
63 + '<tr><th>' + messages.message + '</th><td><textarea id="award-message"></textarea></td></tr></table>';
65 show_dialog(html, 'award-rep-points', {x: e.pageX, y: e.pageY}, {w: 300, h: 125}, {
67 callback: function($dialog) {
68 var $points_input = $('#points-to-award');
69 var _points = parseInt($points_input.val());
72 $dialog.fadeOut('fast');
73 var _message = $('#award-message').val();
74 $.post($('#award-rep-points').attr('href'), {points: _points, message: _message}, function(data) {
76 $('#user-reputation').css('background', 'yellow');
77 $('#user-reputation').html(data.reputation);
79 $('#user-reputation').animate({ backgroundColor: "transparent" }, 1000);