var symantec = symantec || {};

symantec.blogs = {
  endpoint_management_tid: 1403,
  filter_showmore_text: 'Show More',
  filter_showless_text: 'Show Fewer',
  symantec_blogs_vid: null,
  security_response_tid: null,
  node_add_altered: false,
  node_add_alter_text: 'Note: You have chosen to post to the Security Response Blog. Comments have been disabled and the post set to "draft" mode (unpublished) by default. You may override these settings below.'
};

/**
 * Sets up the show/hide links for filter lists in Symantec Blogs
 */
symantec.blogs.setup_filters = function() {
  $('.filter-link-hidden').hide();
  
  $('.block-symantec_blogs:has(.filter-link-hidden)').append(
    '<a href="#" class="symantec-blogs-filter-showhide">' + Drupal.t(symantec.blogs.filter_showmore_text) + '</a>'
  );
  $('.symantec-blogs-filter-showhide').click(function() {
    if ($('.filter-link-hidden:visible', $(this).parent()).length == 0) {
      $('.filter-link-hidden', $(this).parent()).show();
      $(this).addClass('filter-link-showless');
      $(this).text(Drupal.t(symantec.blogs.filter_showless_text));      
    } else {
      $('.filter-link-hidden', $(this).parent()).hide();
      $(this).removeClass('filter-link-showless');        
      $(this).text(Drupal.t(symantec.blogs.filter_showmore_text));      
    }
    
    return false;
  });
}

/**
 * Setup for the blog node add form
 */
symantec.blogs.setup_node_add = function() {
  if (Drupal.settings.symantec_blogs) {
    symantec.blogs.symantec_blogs_vid = Drupal.settings.symantec_blogs.symantec_blogs_vid;
    symantec.blogs.security_response_tid = Drupal.settings.symantec_blogs.security_response_tid;
  }
  
  var selector ='#edit-taxonomy-' + symantec.blogs.symantec_blogs_vid;
  $(selector).change(function() {
    if (!symantec.blogs.node_add_altered && $(this).val()) {
      var security_response_selected = false;
      var selected_blogs = $(this).val()
      for (index in selected_blogs) {
        if (selected_blogs[index] == symantec.blogs.security_response_tid) {
          security_response_selected = true;
          symantec.blogs.modify_security_response_node_add($(this));
        }
      }
    }
  });
}

/**
 * Modifies the node add form when a symantec blogger posts to the security response blog
 */
symantec.blogs.modify_security_response_node_add = function(context) {
  // auto-select the Endpoint Management product
  var $product_element = $('#symantec-products-' + symantec.blogs.endpoint_management_tid);
  $product_element.attr('checked', true).triggerHandler('click');
  $product_element.parents('.symantec-checkbox-custom').triggerHandler('click');
  
  // set to draft
  $('#edit-status').attr('checked', false).parents('fieldset').removeClass('collapsed');
  // comments off by default
  $('#edit-comment-0').attr('checked', true).parents('fieldset').removeClass('collapsed');
  // show the information message
  $(context).after('<div class="blogger-info"><div class="messages">' + Drupal.t(symantec.blogs.node_add_alter_text) + '</div></div>');
  
  symantec.blogs.node_add_altered = true;
  
}

/**
 * Setup at page load
 */
Drupal.behaviors.setup_symantec_blogs = symantec.blogs.setup_filters;
Drupal.behaviors.setup_symantec_blog_add = symantec.blogs.setup_node_add;