
function show_poke_dialog(to_uid, pokeback_obj, failed_captcha) {
  
  var dialog = new pop_dialog();
  dialog.show_dialog('<div class="dialog_loading">Loading...</div>');
  
  // Can we poke this person?
  ajax = new Ajax();
  ajax.onDone = function(ajax_obj, response_text) {
    eval(response_text);
    if (typeof poke_init == 'undefined') {
      return false;
    }
    if (poke_init.status) {
      dialog.show_choice(poke_init.dialog_title, poke_init.dialog_contents, 'Poke', 
      function() {
        // Submit poke form via post!
        ajax_post = new Ajax();
        ajax_post.onDone = function(ajax_post_obj, post_response_text) {
          eval(post_response_text);
          if (typeof got_an_f != 'undefined') {
            show_poke_dialog(to_uid, null, true);
            return false;
          }  
          if (typeof poke_return == 'undefined') {
            return false;
          }
          if (pokeback_obj) {
            // Hide poke on home page
            hide_poke_obj(pokeback_obj, 'ind_poke', 'sidebar_item pokes');
          }
          dialog.show_message(poke_init.dialog_title, poke_return.dialog_contents);
          if (poke_return.status) {
            dialog.fade_out(500, 1100);
          }
        };
        ajax_post.onFail = function(){}
        // Include captcha stuff if necessary
        var post_vars = {'uid' : to_uid, 'pokeback' : (pokeback_obj ? '1' : '0')};
        var captcha_form = ge('captcha_form');
        if (captcha_form) {
          var captcha_elements = captcha_form.getElementsByTagName('input');
          for(var i=0; i < captcha_elements.length; i++) {
            post_vars[captcha_elements[i].name] = captcha_elements[i].value;
          }
        }
        ajax_post.post('ajax/poke.php', post_vars);
      }, 'Cancel', function(){generic_dialog.get_dialog(this).fade_out(100)});
    } else {
      dialog.show_message(poke_init.dialog_title, poke_init.dialog_contents);
    }
  }
  ajax.onFail = function(){}
  ajax.post('ajax/poke.php', { 'can_poke' : to_uid, 'pokeback' : ((typeof pokeback_obj != 'undefined') ? 1 : 0), 'failed_captcha' : (failed_captcha ? '1' : '0') });
  return false;
}



