6dd148b7754f22a98ef36a19a5b632fc584c0a9a
[project/google_analytics.git] / googleanalytics.admin.js
1 // $Id$
2 (function ($) {
3
4 /**
5  * Provide the summary information for the tracking settings vertical tabs.
6  */
7 Drupal.behaviors.trackingSettingsSummary = {
8   attach: function (context) {
9     // Make sure this behavior is processed only if drupalSetSummary is defined.
10     if (typeof jQuery.fn.drupalSetSummary == 'undefined') {
11       return;
12     }
13
14     $('fieldset#edit-page-vis-settings', context).drupalSetSummary(function (context) {
15       if (!$('textarea[name="googleanalytics_pages"]', context).val()) {
16         return Drupal.t('Not restricted');
17       }
18       else {
19         return Drupal.t('Restricted to certain pages');
20       }
21     });
22
23     $('fieldset#edit-role-vis-settings', context).drupalSetSummary(function (context) {
24       var vals = [];
25       $('input[type="checkbox"]:checked', context).each(function () {
26         vals.push($.trim($(this).next('label').text()));
27       });
28       if (!vals.length) {
29         vals.push(Drupal.t('Not restricted'));
30       }
31       return vals.join(', ');
32     });
33
34     $('fieldset#edit-user-vis-settings', context).drupalSetSummary(function (context) {
35       var $radio = $('input[name="googleanalytics_custom"]:checked', context);
36       if ($radio.val() == 0) {
37         return Drupal.t('Not customizable');
38       }
39       else if ($radio.val() == 1) {
40         return Drupal.t('On by default with opt out');
41       }
42       else {
43         return Drupal.t('Off by default with opt in');
44       }
45     });
46
47     $('fieldset#edit-linktracking', context).drupalSetSummary(function (context) {
48       var vals = [];
49       if ($('input#edit-googleanalytics-trackoutgoing', context).is(':checked')) {
50         vals.push('Outgoing links');
51       }
52       if ($('input#edit-googleanalytics-trackmailto', context).is(':checked')) {
53         vals.push('Mailto links');
54       }
55       if ($('input#edit-googleanalytics-trackfiles', context).is(':checked')) {
56         vals.push('Downloads');
57       }
58       if (!vals.length) {
59         return Drupal.t('Not tracked');
60       }
61       return Drupal.t('@items tracked', {'@items' : vals.join(', ')});
62     });
63
64     $('fieldset#edit-search-and-adsense', context).drupalSetSummary(function (context) {
65       var vals = [];
66       if ($('input#edit-googleanalytics-site-search', context).is(':checked')) {
67         vals.push('Site search');
68       }
69       if ($('input#edit-googleanalytics-trackadsense', context).is(':checked')) {
70         vals.push('AdSense ads');
71       }
72       if (!vals.length) {
73         return Drupal.t('Not tracked');
74       }
75       return Drupal.t('@items tracked', {'@items' : vals.join(', ')});
76     });
77   }
78 };
79
80 })(jQuery);