
(function($) {

  Drupal.Collapsiblock = Drupal.Collapsiblock || {};

  Drupal.behaviors.collapsiblock = {

    attach: function (context,settings) {
      var cookieData = Drupal.Collapsiblock.getCookieData();
      var slidetype = settings.collapsiblock.slide_type;
      var defaultState = settings.collapsiblock.default_state;
      var slidespeed = parseInt(settings.collapsiblock.slide_speed);
      var title = settings.collapsiblock.block_title;
      var block = settings.collapsiblock.block;
      var block_content = settings.collapsiblock.block_content;
      $(block + ':not(.collapsiblock-processed)', context).addClass('collapsiblock-processed').each(function () {
        var id = this.id.replace(/_/g, '-');
        var titleElt = $(title, this).not($('.content :header',this));
        if (titleElt.size()) {
          titleElt = titleElt[0];
          // Status values: 1 = not collapsible, 2 = collapsible and expanded, 3 = collapsible and collapsed, 4 = always collapsed
          var stat = settings.collapsiblock.blocks[id] ? settings.collapsiblock.blocks[id] : defaultState;
          if (stat == 1) {
            return;
          }

          titleElt.target = $(this).find(block_content);
          $(titleElt)
          .wrapInner('<a href="#" role="link" />')
          .addClass('collapsiblock')
          .click(function (e) {
            var st = Drupal.Collapsiblock.getCookieData();
            if ($(this).is('.collapsiblockCollapsed')) {
              $(this).removeClass('collapsiblockCollapsed');
              if (slidetype == 1) {
                $(this.target).slideDown(slidespeed).attr('aria-hidden', false); ;
              }
              else {
                $(this.target).animate({
                  height:'show',
                  opacity:'show'
                }, slidespeed);
              }

              // Don't save cookie data if the block is always collapsed.
              if (stat != 4) {
                st[id] = 1;
              }
            }
            else {
              $(this).addClass('collapsiblockCollapsed');
              if (slidetype == 1) {
                $(this.target).slideUp(slidespeed).attr('aria-hidden', true);
              }
              else {
                $(this.target).animate({
                  height:'hide',
                  opacity:'hide'
                }, slidespeed);
              }

              // Don't save cookie data if the block is always collapsed.
              if (stat != 4) {
                st[id] = 0;
              }
            }
            // Stringify the object in JSON format for saving in the cookie.
            var cookieString = '{ ';
            var cookieParts = [];
            $.each(st, function (id, setting) {
              cookieParts[cookieParts.length] = ' "' + id + '": ' + setting;
            });
            cookieString += cookieParts.join(', ') + ' }';
            $.cookie('collapsiblock', cookieString, {
              path: settings.basePath
            });
            e.preventDefault();
          });
          // Leave active blocks uncollapsed. If the block is expanded, do nothing.
          if (stat ==  4 || (cookieData[id] == 0 || (stat == 3 && cookieData[id] == undefined)) && !$(this).find('a.active').size()) {
            // Allow block content to assign class 'collapsiblock-force-open' to it's content to force
            // itself to stay open. E.g. useful if block contains a form that was just ajaxly updated and should be visible
            if (titleElt.target.hasClass('collapsiblock-force-open') || titleElt.target.find('.collapsiblock-force-open').size() > 0) {
              return;
            }
            $(titleElt).addClass('collapsiblockCollapsed');
            $(titleElt.target).hide();
          }
        }
      });
    }

  };

  Drupal.Collapsiblock.getCookieData = function () {
    if ($.cookie) {
      var cookieString = $.cookie('collapsiblock');
      return cookieString ? $.parseJSON(cookieString) : {};
    }
    else {
      return '';
    }
  };


})(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,
    'page_title':-1, 
    'meta_keywords':-1, 
    'meta_description':-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();
    data.nid = Drupal.settings.contentanalysis.nid
    data.node_type = Drupal.settings.contentanalysis.node_type
    data.body_input_filter = $("input[name='format']:checked").val(); 
    if($('#edit-page-title').val() != null) {
      data.page_title = $('#edit-page-title').val();
    }
    // check for deprecated nodewords format
    if($('#edit-nodewords-keywords').val() != null) {
      data.meta_keywords = $('#edit-nodewords-keywords').val();
    }
    if($('#edit-nodewords-description').val() != null) {
      data.meta_description = $('#edit-nodewords-description').val();
    }
    // newer nodewords format
    if($('#edit-nodewords-keywords-value').val() != null) {
      data.meta_keywords = $('#edit-nodewords-keywords-value').val();
    }
    if($('#edit-nodewords-description-value').val() != null) {
      data.meta_description = $('#edit-nodewords-description-value').val();
    }
    // newer, newer nodewords format
    if($('#edit-nodewords-metatags-keywords-value').val() != null) {
      data.meta_keywords = $('#edit-nodewords-metatags-keywords-value').val();
    }
    if($('#edit-nodewords-metatags-description-value').val() != null) {
      data.meta_description = $('#edit-nodewords-metatags-description-value').val();
    }
    if($('#edit-path').val() != null) {
      data.url = window.location.host + Drupal.settings.contentanalysis.base_path + $('#edit-path').val();
    }
    // Turn back on tinyMCE
    if(typeof mceToggle == 'function') {
      mceToggle('edit-body', 'wysiwyg4body');
    }	
    // Turn 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[0];
            $('#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 {
          if($('#edit-page-title-wrapper').length > 0) {
            $('#edit-page-title-wrapper > .contentanalysis_section_analysis').remove();
            $('#edit-page-title-wrapper').append(data.page_title['output']);
          } else {
            $('#edit-title-wrapper > .contentanalysis_section_analysis').remove();
            $('#edit-title-wrapper').append(data.page_title['output']);				
          }
    
          $('#edit-body-wrapper > .contentanalysis_section_analysis').remove();
          $('#edit-body-wrapper').append(data.body['output']);
          // check newer nodewords format
          if(($('#edit-nodewords-description-value-wrapper').length > 0) && data.meta_description != null) {
            $('#edit-nodewords-description-value-wrapper > .contentanalysis_section_analysis').remove();
            $('#edit-nodewords-description-value-wrapper').append(data.meta_description['output']);
          }
          
          if(($('#edit-nodewords-keywords-value-wrapper').length > 0) && data.meta_keywords != null) {
            $('#edit-nodewords-keywords-value-wrapper > .contentanalysis_section_analysis').remove();
            $('#edit-nodewords-keywords-value-wrapper').append(data.meta_keywords['output']);
          }
          // check newer, newer nodewords format
          if(($('#edit-nodewords-metatags-description-value-wrapper').length > 0) && data.meta_description != null) {
              $('#edit-nodewords-metatags-description-value-wrapper > .contentanalysis_section_analysis').remove();
              $('#edit-nodewords-metatags-description-value-wrapper').append(data.meta_description['output']);
            }
            
            if(($('#edit-nodewords-metatags-keywords-value-wrapper').length > 0) && data.meta_keywords != null) {
              $('#edit-nodewords-metatags-keywords-value-wrapper > .contentanalysis_section_analysis').remove();
              $('#edit-nodewords-metatags-keywords-value-wrapper').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(XMLHttpRequest, textStatus, errorThrown) {
      alert("error " + errorThrown.toString());
      $('.ahah-progress-throbber').remove();
      $('#contentanalysis-buttons').show();
    }
  });
  return false;	
}
})(jQuery);
;
/**
 * @file
 * Loads report blocks via ajax.  This is done because the API requests to Google
 * Analytics can add signifigant latency to page loads otherwise.
 */
(function ($) {

Drupal.behaviors.googleAnalyticsReports = {
  attach: function (context, settings) {
    $('#block-google-analytics-reports-path-mini,#block-google-analytics-reports-dashboard', context).show();

    if ($('.google-analytics-reports-path-mini', context).length) {
      $.ajax({
        url: Drupal.settings.basePath + 'google-analytics-reports/ajax/path-mini',
        dataType: 'json',
        data: ({ path: window.location.pathname + window.location.search }),
        success: function(data) {
          $('.google-analytics-reports-path-mini', context).html(data.content).hide().slideDown('fast');
        },
        error: function(data) {
          // @TODO
        }
      });
    }

    if ($('.google-analytics-reports-dashboard', context).length) {
      $.ajax({
        url: Drupal.settings.basePath + 'google-analytics-reports/ajax/dashboard',
        dataType: 'json',
        success: function(data) {
          $('.google-analytics-reports-dashboard', context).html(data.content).hide().slideDown('fast');
        },
        error: function(data) {
          // @TODO
        }
      });
    }
  }
}

})(jQuery);;
(function ($) {

$(function() {
  var googleCSEWatermark = function(id) {
    var f = $(id)[0];
    if (f && (f.query || f['edit-search-block-form--2'] || f['edit-keys'])) {
      var q = f.query ? f.query : (f['edit-search-block-form--2'] ? f['edit-search-block-form--2'] : f['edit-keys']);
      var n = navigator;
      var l = location;
      if (n.platform == 'Win32') {
        q.style.cssText = 'border: 1px solid #7e9db9; padding: 2px;';
      }
      var b = function() {
        if (q.value == '') {
          q.style.background = '#FFFFFF url(https://www.google.com/cse/intl/' + Drupal.settings.googleCSE.language + '/images/google_custom_search_watermark.gif) left no-repeat';
        }
      };
      var f = function() {
        q.style.background = '#ffffff';
      };
      q.onfocus = f;
      q.onblur = b;
//      if (!/[&?]query=[^&]/.test(l.search)) {
        b();
//      }
    }
  };
  googleCSEWatermark('#search-block-form.google-cse');
  googleCSEWatermark('#search-form.google-cse');
  googleCSEWatermark('#google-cse-results-searchbox-form');
});

})(jQuery);
;

