/* $Id: admin_devel.js,v 1.2 2010/03/12 22:54:41 sun Exp $ */
(function($) {

/**
 * jQuery debugging helper.
 *
 * Invented for Dreditor.
 *
 * @usage
 *   $.debug(var [, name]);
 *   $variable.debug( [name] );
 */
jQuery.extend({
  debug: function () {
    // Setup debug storage in global window. We want to look into it.
    window.debug = window.debug || [];

    args = jQuery.makeArray(arguments);
    // Determine data source; this is an object for $variable.debug().
    // Also determine the identifier to store data with.
    if (typeof this == 'object') {
      var name = (args.length ? args[0] : window.debug.length);
      var data = this;
    }
    else {
      var name = (args.length > 1 ? args.pop() : window.debug.length);
      var data = args[0];
    }
    // Store data.
    window.debug[name] = data;
    // Dump data into Firebug console.
    if (typeof console != 'undefined') {
      console.log(name, data);
    }
    return this;
  }
});
// @todo Is this the right way?
jQuery.fn.debug = jQuery.debug;

})(jQuery);
;
// $Id: contentanalysis.js,v 1.1.2.7 2010/11/09 21:50:14 tomdude48 Exp $
(function ($) {

Drupal.behaviors.contentanalysisui = {
  attach: function (context, settings) {
	contentanalysis_contentanalysisui();
  }
};

contentanalysis_contentanalysisui = function() {
    if($('#modalContent div.analyzers h3.analyzer').size() > 0) {
        contentanalysis_show_analyzer_tab($('div.analyzers h3.analyzer').get(0));
        $('div.analyzers h3.analyzer').mousedown(function () {
          contentanalysis_show_analyzer_tab(this);
        }) 
        $('h3.contentanalysis-report-tab').mousedown(function () { 
          contentanalysis_show_report_tab(this);
        })
      }	
}

var contentanalysisPrevAnalyzerTab;
var contentanalysisPrevReportTab;
var contentanalysisCurrentAnalyzerTab;
var contentanalysisCurrentReportTab;
var contentanalysisReportActiveTab = new Array();

var contentanalysis_back = function() {
  contentanalysis_show_analyzer_tab(contentanalysisPrevAnalyzerTab);
  //contentanalysis_show_report_tab(contentanalysisPrevReportTab);
}

var contentanalysis_show_analyzer_tab = function (theTab){
  $('div.analysis-results div.analyzer-analysis:eq(' + $('.analyzers h3.analyzer').index(theTab) + ')').children('.content-analysis-tab:first').addClass('active');
  $('div.analysis-results div.analyzer-analysis').hide();
  $('.analyzers h3.analyzer').removeClass('active');
  $(theTab).addClass('active');
  $('div.analysis-results div.analyzer-analysis:eq(' + $('.analyzers h3.analyzer').index(theTab) + ')').show();
  $('.content-analysis-results').hide();

  var id = $(theTab).attr('id');
  var e = id.split('-');
  var analyzer = e[3];
  
  if(contentanalysisReportActiveTab[analyzer]) {
    contentanalysis_show_report_tab($('#contentanalysis-report-tab-' + analyzer + '-' + contentanalysisReportActiveTab[analyzer]));
  }
  else {
    contentanalysis_show_report_tab($('#contentanalysis-report-tab-' + analyzer + '-0'));
  }
  contentanalysisPrevAnalyzerTab = contentanalysisCurrentAnalyzerTab;
  contentanalysisCurrentAnalyzerTab = theTab;  
}

var contentanalysis_show_report_tab = function (theTab){
  var id = $(theTab).attr('id');
  var e = id.split('-');
  contentanalysisReportActiveTab[e[3]] = e[4];
  $('h3.contentanalysis-report-tab').removeClass('active');  
  $(theTab).addClass('active');
  $('.contentanalysis-results-section').hide();

  var tabs = $("#contentanalysis-report-tabs-" + e[3]);
  //tabs.css('border','2px solid red');
  var pos = $("#contentanalysis-report-tabs-" + e[3]).position(); 
  var offset = $("#contentanalysis-report-tabs-" + e[3]).offset(); 
  var height = tabs.height();
  var top = (pos.top+height)+"px";
  var left = (pos.left)+"px";
  
  var sec_id = id.replace('tab', 'results');
  var result_id = sec_id.replace('-'+e[4],'')
  //$('#' + result_id).css({'top': top, 'left': left}); 
  $('#' + result_id).css('top', top); 
  //$('#' + result_id).css('border', '2px solid green'); 
  $('#' + sec_id).show();
//alert("pos.left="+pos.left+",pos.top="+pos.top+",offset.left="+offset.left+",offset.top="+offset.top);
  contentanalysisPrevReportTab = contentanalysisCurrentReportTab;
  contentanalysisCurrentReportTab = theTab; 
}

// called from inline Analyze content button
contentanalysis_inline_analysis = function() {
  Drupal.settings.contentanalysis.display_dialog = 0;
  Drupal.settings.contentanalysis.display_inline = 1;
  //$('#contentanalysis-ininline-analysis-button').after('<span class="throbber">Loading...</span>');
  //$('#contentanalysis-ininline-analysis-button').after(Drupal.settings.contentanalysis.throbber);
  $('#contentanalysis-buttons').after('<div class="ahah-progress ahah-progress-throbber"><div class="throbber">&nbsp;</div><div class="message">' + Drupal.t('Analyzing...') + '</div></div>');
  contentanalysis_analyze();
}

// called from inline Analyze content button
contentanalysis_dialog_analysis = function() {
  Drupal.settings.contentanalysis.display_dialog = 1;
  Drupal.settings.contentanalysis.display_inline = 0;
  contentanalysis_analyze();
}

// called from inline Analyze content button
contentanalysis_full_analysis = function() {
  Drupal.settings.contentanalysis.display_dialog = 1;
  Drupal.settings.contentanalysis.display_inline = 1;
  
  contentanalysis_analyze();
}

// called from inline Analyze content button
contentanalysis_refresh_analysis = function(analyzer) {
  Drupal.settings.contentanalysis.display_dialog = 0;
  Drupal.settings.contentanalysis.display_inline = 1;
  //$('.contentanalysis-refresh-link-' + analyzer).replaceWith('<span class="throbber">Loading...</span>');
  $('.contentanalysis-refresh-link-' + analyzer).replaceWith('<div class="ahah-progress ahah-progress-throbber"><div class="throbber">&nbsp;</div></div>');
  contentanalysis_analyze(analyzer);
}

contentanalysis_analyze = function(analyzer_override) {
  // if TinyMCE is used, turn off and on to save body text to textarea
  var data = { 
    'nid': -1,
    'node_type': -1,
    'source': -1,
    'analyzers':-1,
    'title': -1, 
    'body': -1,
    'body_summary': -1,
    'page_title':-1, 
    'meta_title':-1,
    'meta_keywords':-1, 
    'meta_description':-1,
    'path_alias': -1,
    'path_pathauto': -1,
    'url': -1,
    'page': -1,
    'body_input_filter': -1,
    'hidden': -1,    
    'code': Drupal.settings.contentanalysis.code,
    'action': -1
  };
  if(analyzer_override) {
    data.action = 'refresh';
  }
  if ($('#contentanalysis-page-analyzer-form').html()) {
    data.source = 'admin-form';
    data.body = $('[name=input]').val()
    data.nid = $('[name=input_nid]').val()
    data.url = $('[name=input_url]').val()
    if(data.body == '') {
      data.body = -1;
    }
    if(data.nid == '') {
      data.nid = -1;
    }
    if(data.url == '') {
      data.url = -1;
    }    
  } else if ($('.node-form').html()) {
    data.source = 'node-edit-form';
    // Turn off TinyMCE if enabled
    if(typeof mceToggle == 'function') {
      mceToggle('edit-body', 'wysiwyg4body');
    }
    // Turn off CKEditor if any.
    var ckeditor = false;
    if ($('#cke_edit-body').html()) {
      $('#wysiwyg-toggle-edit-body').click();
      ckeditor = true;
    }

    data.title = $('#edit-title').val();
    data.body = $('#edit-body-und-0-value').val();
    if ($('#edit-body-und-0-summary').val() != null) {
      data.body_summary = $('#edit-body-und-0-summary').val();
    } 
    data.nid = Drupal.settings.contentanalysis.nid
    data.node_type = Drupal.settings.contentanalysis.node_type
    data.body_input_filter = $("select[name='body[und][0][format]'] option:selected").val();
    
    if ($('#edit-page-title').val() != null) {
      data.page_title = $('#edit-page-title').val();
    }    
    // check if metatag module fields exist
    if ($('#edit-metatags-title-value').val() != null) {
      data.meta_title = $('#edit-metatags-title-value').val();
    }
    if ($('#edit-metatags-keywords-value').val() != null) {
      data.meta_keywords = $('#edit-metatags-keywords-value').val();
    }
    if ($('#edit-metatags-description-value').val() != null) {
      data.meta_description = $('#edit-metatags-description-value').val();
    }
    if ($('#edit-path-alias').val() != null) {
      data.url = window.location.host + Drupal.settings.contentanalysis.base_path + $('#edit-path-alias').val();
      data.path_alias = $('#edit-path-alias').val();
    }
    if ($("input[name='path[pathauto]']:checked").val() != null) {
    	data.path_pathauto = 1;
    }
    // Turn back on tinyMCE
    if(typeof mceToggle == 'function') {
      mceToggle('edit-body', 'wysiwyg4body');
    }	
    // Turn back on CKEditor if needed.
    if (ckeditor) {
      $('#wysiwyg-toggle-edit-body').click();
    }

  } else {
    data.source = 'page-link';
    data.page = $('html').html()  
    data.url = window.location.href
  }
  if(Drupal.settings.contentanalysis.hidden != null) {
    data.hidden = Drupal.settings.contentanalysis.hidden;
  }
  
  //alert('data.nid ' + data.nid)
  var analyzers_arr = new Array();
  if(analyzer_override) {
    data.analyzers = analyzer_override;
    analyzers_arr[0] = data.analyzers; 
  }
  else if($('#contentanalysis_analyzers_override input').val() != null) {    
    data.analyzers = $('#contentanalysis_analyzers_override input').val();
    analyzers_arr[0] = data.analyzers;
  } 
  else {
    var i = 0;
    $('#contentanalysis_analyzers .form-checkbox:checked').each ( function () {  
      var expr = new RegExp(/\[[^\]]+\]/);
      analyzers_arr[i] = expr.exec($(this).attr('name'))[0].replace(']', '').replace('[','');    
      i++;
    })
    data.analyzers = analyzers_arr.join(',');
  }
  // call contentanalysis_data for enabed analyzers
  for(var i in analyzers_arr) {
    var aid = analyzers_arr[i];
    var module = Drupal.settings.contentanalysis.analyzer_modules[aid].module;
    if (eval('typeof ' + module + '_contentanalysis_data == "function"')) {
      d = eval(module + '_contentanalysis_data')(aid, data);
      for(var k in d) {
        eval('data.ao_'+aid+'_'+k+' = "'+d[k]+'";');
      }
    }
  }  
  $('#contentanalysis-buttons').hide(); 
  $.ajax({
    type: 'POST',
    url: Drupal.settings.contentanalysis.analyze_callback,
    data: data,
    dataType: 'json',
    success: function(data, textStatus) {
      analyzers_arr = data.inputs['analyzers'].split(",");
      if(Drupal.settings.contentanalysis.display_dialog == 1) {
        $('#analysis-modal').append(data.main['output']);
        $('#analysis-modal .progress').remove();
        //Drupal.behaviors.contentanalysisui();
        contentanalysis_contentanalysisui()
      }
      // display inline if enabled
      if(Drupal.settings.contentanalysis.display_inline == 1) {
        if(data.inputs['action'] == 'refresh') {
          //if($('.contentanalysis_section_analysis').length > 0)
          for(i in analyzers_arr) {
            aid = analyzers_arr[i];
            $('.contentanalysis-report-'+aid+'-page_title').replaceWith(data.page_title['output']);
            $('.contentanalysis-report-'+aid+'-body').replaceWith(data.body['output']);
            $('.contentanalysis-report-'+aid+'-meta_description').replaceWith(data.meta_description['output']);
            $('.contentanalysis-report-'+aid+'-meta_keywords').replaceWith(data.meta_keywords['output']);
          }
        }
        else {
          var show_title = true;
          if($('.form-item-metatags-title-value').length > 0) {
            $('.form-item-metatags-title-value > .contentanalysis_section_analysis').remove();
            $('.form-item-metatags-title-value').append(data.page_title['output']);
            // check if metatag-title contains [node:title] token
            if ($('#edit-metatags-title-value').val() != null) {
              var meta_title = $('#edit-metatags-title-value').val();
              if(meta_title.indexOf("[node:title]") == -1) {
            	//show_title = false;
              }
            }
          } 
          if (show_title) {
            $('.form-item-title > .contentanalysis_section_analysis').remove();
            $('.form-item-title').append(data.page_title['output']);				
          }
    
          $('#edit-body > .contentanalysis_section_analysis').remove();
          $('#edit-body').append(data.body['output']);
          // check newer nodewords format
          if(($('.form-item-metatags-description-value').length > 0) && data.meta_description != null) {
            $('.form-item-metatags-description-value > .contentanalysis_section_analysis').remove();
            $('.form-item-metatags-description-value').append(data.meta_description['output']);
          }
          
          if(($('.form-item-metatags-keywords-value').length > 0) && data.meta_keywords != null) {
            $('.form-item-metatags-keywords-value > .contentanalysis_section_analysis').remove();
            $('.form-item-metatags-keywords-value').append(data.meta_keywords['output']);
          }
        }
        for(var i in analyzers_arr) {
          var aid = analyzers_arr[i];
          h = '<a href="#" class="contentanalysis-refresh-link-' + aid + '" onclick="contentanalysis_refresh_analysis(\'' + aid + '\'); return false;">';
          h += '<img src="' + Drupal.settings.contentanalysis.path_to_module + '/icons/refresh.png" alt="refresh" />';
          h += '</a>';
          $('.contentanalysis-report-' + aid + ' label').append(h);
        } 
			}      
      // call any modules post analysis hooks      
      for(var i in analyzers_arr) {
        var aid = analyzers_arr[i];        
        var module = Drupal.settings.contentanalysis.analyzer_modules[aid].module;     
        
        if (eval('typeof ' + module + '_contentanalysis_analysis_success == "function"')) {
          eval(module + '_contentanalysis_analysis_success')(aid, data);
        }
      } 
      if(typeof Drupal.behaviors.collapse == 'function') {
    	  Drupal.behaviors.collapse();  
      }
      $('.ahah-progress-throbber').remove();
      $('#contentanalysis-buttons').show();
    },
    error: function(xhr, status) {
      alert(xhr.responseText.toString());
      $('.ahah-progress-throbber').remove();
      $('#contentanalysis-buttons').show();
    }
  });
  return false;	
}
})(jQuery);
;
// $Id: contentanalysisexample.js,v 1.5 2010/05/08 16:12:13 tomdude48 Exp $
(function ($) {
/*
 * Implementation of hook_contentanalysis_data()
 * Gets the data from the custom fields to attach to the AJAX post data.
 */ 
var contentanalysisexample_contentanalysis_data = function() {		
  data = new Array();	
  data['name'] = document.getElementById('edit-contentanalysisexample-name').value;	
  return data;
}
})(jQuery);
;
var contentoptimizer_contentanalysis_data = function(aid) {		
  data = new Array();	
  data['keyword'] = document.getElementById('edit-seo-keyword').value;	
  return data;
};
(function ($) {

/**
 * Open Mollom privacy policy link in a new window.
 *
 * Required for valid XHTML Strict markup.
 */
Drupal.behaviors.mollomPrivacy = {
  attach: function (context) {
    $('.mollom-privacy a', context).click(function () {
      this.target = '_blank';
    });
  }
};

/**
 * Attach click event handlers for CAPTCHA links.
 */
Drupal.behaviors.mollomCaptcha = {
  attach: function (context, settings) {
    // @todo Pass the local settings we get from Drupal.attachBehaviors(), or
    //   inline the click event handlers, or turn them into methods of this
    //   behavior object.
    $('a.mollom-switch-captcha', context).click(getMollomCaptcha);
  }
};

/**
 * Fetch a Mollom CAPTCHA and output the image or audio into the form.
 */
function getMollomCaptcha() {
  // Get the current requested CAPTCHA type from the clicked link.
  var newCaptchaType = $(this).hasClass('mollom-audio-captcha') ? 'audio' : 'image';

  var context = $(this).parents('form');

  // Extract the Mollom session id and form build id from the form.
  var mollomSessionId = $('input.mollom-session-id', context).val();
  var formBuildId = $('input[name="form_build_id"]', context).val();

  // Retrieve a CAPTCHA:
  $.getJSON(Drupal.settings.basePath + 'mollom/captcha/' + newCaptchaType + '/' + formBuildId + '/' + mollomSessionId,
    function (data) {
      if (!(data && data.content)) {
        return;
      }
      // Inject new CAPTCHA.
      $('.mollom-captcha-content', context).parent().html(data.content);
      // Update session id.
      $('input.mollom-session-id', context).val(data.session_id);
      // Add an onclick-event handler for the new link.
      Drupal.attachBehaviors(context);
      // Focus on the CATPCHA input.
      $('input[name="mollom[captcha]"]', context).focus();
    }
  );
  return false;
}

})(jQuery);
;

