function TagPrompt(select_tag_callback, tag_prompt_connector) { // En plus je change une ligne ! /* @var tags_selected array of Tag */ var tags_selected = []; /* @var tags_proposed array of Tag */ var tags_proposed = []; var _select_tag_callback = select_tag_callback; var _tag_prompt_connector = tag_prompt_connector; this.getProposedTagsForString = function(search_string, callback_success, callback_error) { tags_proposed = []; JQueryJson(url_search_tag, {'string_search': search_string}, function(response){ if (response.status == 'error') { callback_error(response.error); } else if (response.status == 'success') { for (i in response.data) { var tag = new Tag( response.data[i].id, response.data[i].name ); tags_proposed.push(tag); } callback_success(tags_proposed, search_string, response.message, response.same_found); } }); } this.selectProposedTag = function (tag_id, tag_name) { if (!tag_id) { if (!visitor) { openTagSubmission(tag_name); } else { open_connection_or_subscription_window(); } } else { addTagToSelectedTags(findTagInProposedList(tag_id)); _select_tag_callback(tags_selected); } } var openTagSubmission = function (tag_name) { // TODO : Cette partie du code n'est pas encore refactorisé // Effet fade-in du fond opaque $('body').append($('
').attr('id', 'fade')); //Apparition du fond - .css({'filter' : 'alpha(opacity=80)'}) pour corriger les bogues de IE $('#fade').css({'filter' : 'alpha(opacity=80)'}).fadeIn(); // En premier lieux on fait apparaître la fenêtre de confirmation var popup = $('
') .attr('id', 'add_tag') .addClass('popin_block') .css('width', '400px') //.append($('

').append(string_tag_add_title)) .append($('
') .attr('action', url_add_tag) .attr('method', 'post') .attr('name', 'add_tag') .ajaxForm(function(response) { window.ResponseController.execute( response, function(){}, function(response){ $('form[name="add_tag"]').find('ul.error_list').remove(); var ul_errors = $('
    ').addClass('error_list'); for (i in response.errors) { ul_errors.append($('
  • ').append(response.errors[i])); } $('form[name="add_tag"]').prepend(ul_errors); } ); if (response.status === 'success') { var tag = new Tag(response.tag_id, response.tag_name); addTagToProposedTags(tag); addTagToSelectedTags(tag); _tag_prompt_connector.updateOutput(tags_selected); $('#fade').fadeOut(400, function(){$('#fade').remove();}); $('#add_tag').remove(); } return false; }) .append($('
    ').addClass('tag') .append($('
      ') .append($('
    • ').addClass('button') .append(tag_name)))) .append($('

      ').append(string_tag_add_text)) .append($('

      ').append(string_tag_add_argument)) .append($('