ymdp 0.0.7 → 0.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. data/VERSION +1 -1
  2. data/bin/ymdp +51 -0
  3. data/lib/new_application/.base +11 -0
  4. data/lib/new_application/Gemfile +12 -0
  5. data/lib/new_application/Rakefile +3 -0
  6. data/lib/new_application/app/.gitignore +1 -0
  7. data/lib/new_application/app/assets/images/lightbox/lightbox_bg.png +0 -0
  8. data/lib/new_application/app/assets/javascripts/OpenMailIntl.js +291 -0
  9. data/lib/new_application/app/assets/javascripts/controls.js +965 -0
  10. data/lib/new_application/app/assets/javascripts/date.js +104 -0
  11. data/lib/new_application/app/assets/javascripts/dragdrop.js +974 -0
  12. data/lib/new_application/app/assets/javascripts/effects.js +1123 -0
  13. data/lib/new_application/app/assets/javascripts/lowpro.js +320 -0
  14. data/lib/new_application/app/assets/javascripts/prototype.js +4874 -0
  15. data/lib/new_application/app/assets/javascripts/scriptaculous.js +68 -0
  16. data/lib/new_application/app/assets/yrb/en-US/application_en-US.pres +7 -0
  17. data/lib/new_application/app/helpers/application_helper.rb +3 -0
  18. data/lib/new_application/app/javascripts/application.js +580 -0
  19. data/lib/new_application/app/javascripts/debug.js +138 -0
  20. data/lib/new_application/app/javascripts/flash.js +96 -0
  21. data/lib/new_application/app/javascripts/header.js +13 -0
  22. data/lib/new_application/app/javascripts/help.js +76 -0
  23. data/lib/new_application/app/javascripts/i18n.js +235 -0
  24. data/lib/new_application/app/javascripts/launcher.js +159 -0
  25. data/lib/new_application/app/javascripts/logger.js +61 -0
  26. data/lib/new_application/app/javascripts/tag_helper.js +178 -0
  27. data/lib/new_application/app/stylesheets/application.css +0 -0
  28. data/lib/new_application/app/stylesheets/ie.css +0 -0
  29. data/lib/new_application/app/stylesheets/ie6.css +0 -0
  30. data/lib/new_application/app/stylesheets/ie7.css +0 -0
  31. data/lib/new_application/app/stylesheets/ie8.css +0 -0
  32. data/lib/new_application/app/stylesheets/lightbox.css +30 -0
  33. data/lib/new_application/app/stylesheets/non_ie.css +0 -0
  34. data/lib/new_application/app/views/layouts/application.html.haml +35 -0
  35. data/lib/new_application/app/views/shared/_error.html.haml +8 -0
  36. data/lib/new_application/app/views/shared/_flash.html.haml +2 -0
  37. data/lib/new_application/app/views/shared/_javascripts.html.haml +22 -0
  38. data/lib/new_application/app/views/shared/_loading.html.haml +13 -0
  39. data/lib/new_application/app/views/shared/_stylesheets.html.haml +23 -0
  40. data/lib/new_application/config/categories.yml +6 -0
  41. data/lib/new_application/config/config.yml.example +30 -0
  42. data/lib/new_application/config/constants.rb +54 -0
  43. data/lib/new_application/config/servers.yml.example +9 -0
  44. data/lib/new_application/lib/init.rb +13 -0
  45. data/lib/new_application/lib/tasks/environment.rake +4 -0
  46. data/lib/new_application/lib/tasks/keys.rake +235 -0
  47. data/lib/new_application/lib/tasks/setup.rake +13 -0
  48. data/lib/new_application/lib/tasks/ymdp.rake +718 -0
  49. data/lib/new_application/script/build +9 -0
  50. data/lib/new_application/script/config +13 -0
  51. data/lib/new_application/script/destroy +18 -0
  52. data/lib/new_application/script/generate +4 -0
  53. data/lib/new_application/script/gitrm +17 -0
  54. data/lib/new_application/script/growl +6 -0
  55. data/lib/new_application/script/images +48 -0
  56. data/lib/new_application/script/jslint.js +5072 -0
  57. data/lib/new_application/script/langs +31 -0
  58. data/lib/new_application/script/translate +5 -0
  59. data/lib/new_application/script/ymdt +1895 -0
  60. data/lib/new_application/script/ymdt.old +1890 -0
  61. data/lib/new_application/script/yuicompressor-2.4.2.jar +0 -0
  62. data/lib/new_application/ymdp +8 -0
  63. data/ymdp.gemspec +64 -1
  64. metadata +65 -4
@@ -0,0 +1,138 @@
1
+ var Debug;
2
+
3
+ Debug = {
4
+ on: false,
5
+ console: false,
6
+ alerts: false,
7
+ logs: false,
8
+ ajaxErrors: false,
9
+
10
+ consoleOn: function() {
11
+ return (typeof window['console'] !== 'undefined' && this.console);
12
+ },
13
+
14
+ alertsOn: function() {
15
+ return (Debug.on || Debug.logs);
16
+ },
17
+
18
+ logsOn: function() {
19
+ return (Debug.on || Debug.logs);
20
+ },
21
+
22
+ ajaxErrorsOn: function() {
23
+ return (Debug.on || Debug.ajaxErrors);
24
+ },
25
+
26
+ profile: function(name) {
27
+ if (this.consoleOn()) {
28
+ console.profile(name);
29
+ }
30
+ },
31
+
32
+ profileEnd: function(name) {
33
+ if (this.consoleOn()) {
34
+ console.profileEnd(name);
35
+ }
36
+ },
37
+
38
+ call: function(level, message, obj) {
39
+ try {
40
+ message = this.message(message, obj);
41
+
42
+ if (Debug.consoleOn()) {
43
+ console[level](message);
44
+ }
45
+ if (Debug.logsOn()) {
46
+ alert(message);
47
+ }
48
+ } catch(e) {
49
+ if (Debug.consoleOn()) {
50
+ console[level](e);
51
+ } else {
52
+ alert(e);
53
+ }
54
+ }
55
+ },
56
+
57
+ log: function(message, obj) {
58
+ this.call("log", message, obj);
59
+ },
60
+
61
+ error: function(message, obj) {
62
+ this.call("error", message, obj);
63
+ },
64
+
65
+ info: function(message, obj) {
66
+ this.call("info", message, obj);
67
+ },
68
+
69
+ warn: function(message, obj) {
70
+ this.call("warn", message, obj);
71
+ },
72
+
73
+ alert: this.log,
74
+
75
+ ajaxError: function(message, path, params, response) {
76
+ var m;
77
+ m = message + " path: " + path + "?" + Object.toQueryString(params);
78
+ m = m + ", response: " + Object.toJSON(response);
79
+
80
+ try {
81
+ $('error_details').update(m);
82
+ } catch(err) {
83
+ YAHOO.logger.error(err);
84
+ }
85
+
86
+ this.error(m);
87
+
88
+ if (Debug.ajaxErrorsOn()) {
89
+ alert(m);
90
+ }
91
+ if (Debug.logsOn()) {
92
+ YAHOO.logger.error(m);
93
+ }
94
+ },
95
+
96
+ message: function(message, obj) {
97
+ try {
98
+ message = this.timestamp() + " " + this.generalInfo() + " " + message;
99
+ if (obj) {
100
+ message = message + ", " + Object.toJSON(obj);
101
+ }
102
+ } catch(e) {
103
+ // alert(e);
104
+ }
105
+ return message;
106
+ },
107
+
108
+ timestamp: function() {
109
+ var time, year, month, date, hour, minute, second, timestamp, checktime;
110
+
111
+ checktime = function checkTime(i) {
112
+ if (i<10) {
113
+ i="0" + i;
114
+ }
115
+ return i;
116
+ };
117
+
118
+ time = new Date();
119
+ // year = time.getFullYear();
120
+ // month = time.getMonth() + 1;
121
+ // date = time.getDate();
122
+ hour = checktime(time.getHours());
123
+ minute = checktime(time.getMinutes());
124
+ second = checktime(time.getSeconds());
125
+
126
+ // timestamp = month + "/" + date + "/" + year + " " +
127
+
128
+ timestamp = hour + ":" + minute + ":" + second;
129
+
130
+ return timestamp;
131
+ },
132
+
133
+ generalInfo: function() {
134
+ return "[<%= @domain %>/<%= @server %>] [<%= @version %> <%= @sprint_name %>]";
135
+ }
136
+ };
137
+
138
+ Debug.console = true;
@@ -0,0 +1,96 @@
1
+ var FLASH, Flash;
2
+
3
+ /* set asset version */
4
+
5
+ FLASH = {
6
+ VERSION: "<%= @hash %>",
7
+ MESSAGE: "<%= @message %>",
8
+ DEPLOYED: <%= Time.now.to_i %>,
9
+ DEPLOYED_STRING: "<%= Time.now.to_s %>"
10
+ };
11
+
12
+
13
+ /* FLASH MESSAGE HANDLERS */
14
+
15
+ YAHOO.namespace("flash");
16
+
17
+ Flash = {};
18
+
19
+ Flash.timeout = 8;
20
+ Flash.duration = 0.25;
21
+
22
+ Flash.write = function(type, message) {
23
+ type = type || "notice";
24
+ if (message) {
25
+ $('flash_message').update(message);
26
+ Flash.setFlashClass('flash', type);
27
+
28
+ // blindDown if the flash is currently hidden
29
+ if ($('flash').getStyle("display") === "none") {
30
+ $('flash').blindDown({queue: "end", duration: Flash.duration});
31
+ }
32
+ YAHOO.oib.setTimeoutInSeconds(Flash.close, Flash.timeout);
33
+ }
34
+ };
35
+
36
+ Flash.close = function() {
37
+ Try.these(function() {
38
+ $('flash').blindUp({queue: "end", duration: Flash.duration});
39
+ });
40
+ };
41
+
42
+ Flash.setFlashClass = function(flash_id, type) {
43
+ if (type === "error") {
44
+ Try.these(function() {
45
+ $(flash_id).removeClassName('notice');
46
+ });
47
+ }
48
+ if (type === "notice") {
49
+ Try.these(function() {
50
+ $(flash_id).removeClassName('error');
51
+ });
52
+ }
53
+ Try.these(function() {
54
+ $(flash_id).addClassName(type);
55
+ });
56
+ };
57
+
58
+
59
+ Flash.error = function(message) {
60
+ YAHOO.logger.error(message);
61
+ Flash.write("error", message, true);
62
+ };
63
+
64
+ Flash.notice = function(message) {
65
+ Flash.write("notice", message, true);
66
+ };
67
+
68
+ Flash.success = Flash.notice;
69
+
70
+ Flash.t = {};
71
+ Flash.t.notice = function(key, args) {
72
+ var m;
73
+
74
+ m = I18n.t(key, args);
75
+ Flash.notice(m);
76
+ };
77
+ Flash.t.success = Flash.t.notice;
78
+
79
+ Flash.t.error = function(key, args) {
80
+ var m;
81
+
82
+ m = I18n.t(key, args);
83
+ Flash.error(m);
84
+ };
85
+
86
+
87
+ Flash.settingsChanged = function() {
88
+ Flash.t.success("SETTINGS_CHANGED");
89
+ };
90
+ Flash.problemSubmitting = function() {
91
+ Flash.t.error("PROBLEM_SUBMITTING");
92
+ };
93
+
94
+ YAHOO.flash = Flash;
95
+
96
+ /* ----------------------- */
@@ -0,0 +1,13 @@
1
+
2
+ /*
3
+ LOCAL NAMESPACES/CONSTANTS
4
+ */
5
+
6
+ YAHOO.constants.base_url = "http://<%= @server %>.otherinbox.com/";
7
+ YAHOO.constants.controller_url = "http://<%= @server %>.otherinbox.com/ymdp";
8
+
9
+ YAHOO.oib.page_loaded = false;
10
+
11
+ YAHOO.namespace("<%= @view %>");
12
+
13
+ document.observe("dom:loaded", YAHOO.oib.init);
@@ -0,0 +1,76 @@
1
+ // popup help text
2
+ //
3
+ var Help = function(content) {
4
+ try {
5
+ this.content = content;
6
+
7
+ // instance method
8
+ this.show = function(event) {
9
+ var x = event.clientX + 20;
10
+ var y = event.clientY - 10;
11
+ this.create(x,y);
12
+ };
13
+
14
+ this.create = function(x, y) {
15
+ try {
16
+ if (!$(this.css_id)) {
17
+ var popup = new Element('div', {
18
+ "id": this.css_id,
19
+ "class": "popup"
20
+ });
21
+ popup.update(this.content);
22
+ popup.setStyle({
23
+ "display": "none",
24
+ "left": x + "px",
25
+ "top": y + "px"
26
+ });
27
+ $$('body').first().insert(popup);
28
+ setTimeout("$(\"" + this.css_id + "\").show();", 500);
29
+ }
30
+ } catch(e) {
31
+ // alert(e);
32
+ }
33
+ };
34
+
35
+ this.destroy = function() {
36
+ setTimeout("$('" + this.css_id + "').remove();", 4000);
37
+ };
38
+
39
+ this.link = function(text) {
40
+ text = text || "?";
41
+ return Tags.linkToFunction(text, "", {
42
+ "onmouseover": "Help.show(event, " + this.id + ");",
43
+ "onmouseout": "Help.destroy(" + this.id + ")"
44
+ });
45
+ };
46
+
47
+ Help.popups = Help.popups || [];
48
+ Help.popups.push(this);
49
+
50
+ this.id = Help.popups.size() - 1;
51
+ this.css_id = "popup_" + this.id;
52
+ } catch(e) {
53
+ // alert(e);
54
+ }
55
+ };
56
+
57
+ Help.show = function(event, id) {
58
+ var help = Help.popups[id];
59
+ help.show(event);
60
+ };
61
+
62
+ Help.destroy = function(id) {
63
+ var help = Help.popups[id];
64
+ help.destroy();
65
+ };
66
+
67
+ Help.closeAll = function() {
68
+ $$('.popup').each(function(p) {
69
+ p.remove();
70
+ });
71
+ };
72
+
73
+ Help.init = function() {
74
+ // initialize any help popups. Overwrite this locally.
75
+ };
76
+
@@ -0,0 +1,235 @@
1
+ /*
2
+ I18N
3
+
4
+ global to every view.
5
+
6
+ Methods and constants dealing with internationalization.
7
+ */
8
+
9
+ var I18N, I18n;
10
+
11
+ /* set asset version */
12
+
13
+ I18N = {
14
+ VERSION: "<%= @hash %>",
15
+ MESSAGE: "<%= @message %>",
16
+ DEPLOYED: <%= Time.now.to_i %>,
17
+ DEPLOYED_STRING: "<%= Time.now.to_s %>"
18
+ };
19
+
20
+
21
+ I18n = {};
22
+
23
+ I18n.setResources = function() {
24
+ var scope, asset_path;
25
+
26
+ scope = "keys";
27
+
28
+ Debug.log("begin I18n.setResources for language " + I18n.currentLanguage);
29
+ try {
30
+ asset_path = "<%= @assets_directory %>/yrb/";
31
+ I18n[scope] = I18n[scope] || OpenMailIntl.getResources(asset_path, scope, I18n.currentLanguage);
32
+ if (I18n.currentLanguage !== "en-US") {
33
+ I18n.default_keys = OpenMailIntl.getResources(asset_path, scope, "en-US");
34
+ } else {
35
+ I18n.default_keys = I18n[scope];
36
+ }
37
+ } catch(err) {
38
+ Debug.error("error in I18n.setResources: " + err);
39
+ }
40
+ I18n.scope = scope;
41
+ Debug.log("end I18n.setResources");
42
+ };
43
+
44
+
45
+ // I18n.translate(key, [args])
46
+ // I18n.t(key, [args])
47
+ //
48
+ // Using .translate with a single key argument will return the simple translated string for that key
49
+ //
50
+ // Using a key argument with values after it will insert the values into the placeholders in
51
+ // the returned translated string
52
+ //
53
+ I18n.translate = function(key, args) {
54
+ key = key.toUpperCase();
55
+ key = key.replace(" ", "_");
56
+ if (args) {
57
+ var m;
58
+ m = I18n.translate_sentence(key, args);
59
+ } else
60
+ {
61
+ m = I18n.translate_phrase(key);
62
+ if (!m) {
63
+ m = I18n.default_keys[key];
64
+ }
65
+ }
66
+ return m;
67
+ };
68
+ I18n.t = I18n.translate;
69
+
70
+ I18n.translate_phrase = function(key) {
71
+ return I18n["keys"][key];
72
+ };
73
+
74
+ I18n.translate_sentence = function(key, args) {
75
+ return OpenMailIntl.formatMessage(I18n["keys"][key], args, I18n.currentLanguage);
76
+ };
77
+
78
+ // I18n.update(id, scope, key, args)
79
+ //
80
+ // updates an element with the given _id_ with the
81
+ // translation from scope, key and optional args
82
+ //
83
+ // only updates the element if the translation is not blank
84
+ //
85
+ I18n.update = function(id, key, args) {
86
+ Try.these(function() {
87
+ var message;
88
+ message = I18n.t(key, args);
89
+ if (message) {
90
+ $(id).update(message);
91
+ }
92
+ }, function() {
93
+ Debug.error("Error in i18n.update: " + Object.toJSON({
94
+ id: id,
95
+ key: key,
96
+ args: args
97
+ }));
98
+ });
99
+ };
100
+
101
+ // I18n.u(id, args)
102
+ //
103
+ // updates an element with a local YRB key of the same name
104
+ //
105
+ // given an id of "messages" it will look for a YRB key named "MESSAGES"
106
+ // within the local scope of the current view, and update the element with
107
+ // that translation
108
+ //
109
+ I18n.u = function(id, args) {
110
+ Try.these(
111
+ function() {
112
+ id.each(I18n.u);
113
+ },
114
+ function() {
115
+ var key;
116
+ key = id.toUpperCase();
117
+ I18n.update(id, key, args);
118
+ },
119
+ function() {
120
+ Debug.error("Error in i18n.u: " + Object.toJSON({
121
+ id: id,
122
+ args: args
123
+ }));
124
+ });
125
+ };
126
+
127
+
128
+ // I18n.updateValue(id, key, args)
129
+ //
130
+ // updates an element with the given _id_ with the
131
+ // translation from scope, key and optional args
132
+ //
133
+ // only updates the element if the translation is not blank
134
+ //
135
+ I18n.updateValue = function(id, key, args) {
136
+ Try.these(function() {
137
+ var message;
138
+ message = I18n.t(key, args);
139
+ if (message) {
140
+ $(id).value = message;
141
+ }
142
+ }, function() {
143
+ Debug.error("Error in i18n.updateValue: " + Object.toJSON({
144
+ id: id,
145
+ key: key,
146
+ args: args
147
+ }));
148
+ });
149
+ };
150
+
151
+
152
+ // I18n.v(id, args)
153
+ //
154
+ // updates the value of an element with a local YRB key of the same name
155
+ //
156
+ // given an id of "messages" it will look for a YRB key named "MESSAGES"
157
+ // within the local scope of the current view, and update the element's value with
158
+ // that translation
159
+ //
160
+ I18n.v = function(id, args) {
161
+ Try.these(
162
+ function() {
163
+ id.each(I18n.v);
164
+ },
165
+ function() {
166
+ var key;
167
+ key = id.toUpperCase();
168
+ I18n.updateValue(id, key, args);
169
+ },
170
+ function() {
171
+ Debug.error("Error in i18n.v: " + Object.toJSON({
172
+ id: id,
173
+ args: args
174
+ }));
175
+ });
176
+ };
177
+
178
+ I18n.translateError = function() {
179
+ I18n.update('error_1', 'ERROR_1');
180
+ I18n.update('error_2', 'ERROR_2');
181
+ I18n.update('retry', 'RETRY');
182
+ };
183
+
184
+ I18n.translateLoading = function() {
185
+ I18n.update('loading_heading', 'LOADING_HEADING');
186
+ I18n.update('loading_subhead', 'LOADING_SUBHEAD');
187
+ I18n.update('loading_paragraph_1', 'LOADING_PARAGRAPH_1');
188
+ };
189
+
190
+ I18n.addLanguageToBody = function() {
191
+ Try.these(function() {
192
+ $$('body').first().addClassName(I18n.currentLanguage);
193
+ });
194
+ };
195
+
196
+ I18n.findAndTranslateAll = function() {
197
+ Element.addMethods({
198
+ translate: function(element) {
199
+ element = $(element);
200
+
201
+ var e;
202
+ e = element.inspect();
203
+ if (e.match(/<input/)) {
204
+ I18n.v(element.identify());
205
+ } else {
206
+ if (e.match(/<img/)) {
207
+ I18n.src(element.identify());
208
+ } else {
209
+ I18n.u(element.identify());
210
+ }
211
+ }
212
+ }
213
+ });
214
+
215
+ $$('.t').each(function(element) {
216
+ try {
217
+ element.translate();
218
+ } catch(e) {
219
+ Debug.error("Translation error for element: " + e);
220
+ }
221
+ });
222
+ };
223
+
224
+ I18n.translateSidebar = function() {
225
+ I18n.u('faq_q1');
226
+ var link;
227
+ link = Tags.a(I18n.t('faq_link1'), {"href": 'http://go.otherinbox.com/q-stop-sender', "target": "_blank"});
228
+ I18n.u('faq_a1', [link]);
229
+
230
+ I18n.u('faq_q2');
231
+ link = Tags.a(I18n.t('faq_link2'), {"href": 'http://go.otherinbox.com/q-custom-sender', "target": "_blank"});
232
+ I18n.u('faq_a2', [link]);
233
+ };
234
+
235
+
@@ -0,0 +1,159 @@
1
+ /*
2
+ LAUNCHING
3
+
4
+ global to every view. launches new views and closes the current one.
5
+ */
6
+
7
+ /* set asset version */
8
+
9
+ var LAUNCHER, Launcher;
10
+
11
+ LAUNCHER = {
12
+ VERSION: "<%= @hash %>",
13
+ MESSAGE: "<%= @message %>",
14
+ DEPLOYED: <%= Time.now.to_i %>,
15
+ DEPLOYED_STRING: "<%= Time.now.to_s %>"
16
+ };
17
+
18
+ YAHOO.namespace("launcher");
19
+
20
+
21
+ YAHOO.launcher.launch = function(view, title, type) {
22
+ openmail.Application.getParameters(function(response) {
23
+ title = I18n.t("ORGANIZER");
24
+ // don't try to relaunch current tab
25
+ if (response.data === null || response.data.view !== view) {
26
+ openmail.Application.openView(
27
+ {
28
+ id: view,
29
+ view: view,
30
+ target: type,
31
+ title: title,
32
+ parameters: {
33
+ view: view
34
+ }
35
+ });
36
+ openmail.Application.closeView(null);
37
+ }
38
+ });
39
+ };
40
+
41
+
42
+ YAHOO.launcher.launchTab = function(view, title) {
43
+ Try.these(function () {
44
+ var translated_title;
45
+ translated_title = I18n.t(title);
46
+
47
+ if (translated_title) {
48
+ title = translated_title;
49
+ title[0] = title[0].capitalize();
50
+ }
51
+
52
+ });
53
+ YAHOO.launcher.launch(view, title, "tab");
54
+ };
55
+
56
+ // User must be signed in for this page, we'll
57
+ // sign them in if they don't have an OIB cookie
58
+ //
59
+ YAHOO.launcher.launchActiveTab = function(view, title) {
60
+ YAHOO.launcher.launchView(function() {
61
+ YAHOO.launcher.launchTab(view, title);
62
+ });
63
+ };
64
+
65
+
66
+ YAHOO.launcher.launchView = function(launch_view) {
67
+ // get Yahoo! user's guid and ymail_wssid
68
+ YAHOO.oib.getGuidAndYmailWssid(function(guid, ymail_wssid) {
69
+
70
+ // call /ymdp/verify and return data about the user
71
+ YAHOO.oib.verifyUser(function(user) {
72
+
73
+ // YAHOO.logger.info("Called switcher in state '" + YAHOO.constants.states[user.state] + "'");
74
+
75
+ YAHOO.oib.login = user.login;
76
+ var state;
77
+ state = parseInt(user.state, 10);
78
+
79
+ switch(YAHOO.constants.states[user.state]) {
80
+ case "inspect":
81
+ // inspect
82
+
83
+ // launch_view();
84
+ YAHOO.launcher.launchInspect();
85
+ break;
86
+ case "authorized":
87
+ // authorized but not yet 'signed in'
88
+ YAHOO.oib.signInUser();
89
+ break;
90
+ case "new_active":
91
+ // no messages processed yet
92
+ case "processing":
93
+ // activated but we have synced fewer than 80% of their messages
94
+ case "active":
95
+ // active, launch the view this method was intended for
96
+ launch_view();
97
+ break;
98
+ // case "inactive":
99
+ // inactive
100
+ default:
101
+ // other
102
+ YAHOO.launcher.launchAuthorize();
103
+ }
104
+ });
105
+ });
106
+ };
107
+
108
+
109
+
110
+ YAHOO.launcher.launchIdentity = function() {
111
+ YAHOO.launcher.launchActiveTab("identity", "My Account");
112
+ };
113
+
114
+ YAHOO.launcher.launchSettings = function() {
115
+ YAHOO.launcher.launchActiveTab("settings", "Settings");
116
+ // YAHOO.launcher.launchActiveTab("goodbye", "Settings");
117
+ };
118
+
119
+ YAHOO.launcher.launchInspect = function() {
120
+ YAHOO.launcher.launchTab("inspect", "Inspect");
121
+ };
122
+
123
+ YAHOO.launcher.launchAuthorize = function() {
124
+ YAHOO.launcher.launchTab("authorize", "Authorize");
125
+ };
126
+
127
+ YAHOO.launcher.launchDeactivate = function() {
128
+ YAHOO.launcher.launchHidden("deactivate", "Deactivate");
129
+ };
130
+
131
+ YAHOO.launcher.launchHidden = function(view, title) {
132
+ YAHOO.launcher.launch(view, title, "hidden");
133
+ };
134
+
135
+ YAHOO.launcher.l = function(view) {
136
+ view = "launch" + view.capitalize();
137
+ YAHOO.launcher[view]();
138
+ };
139
+
140
+ YAHOO.launcher.launchStatistics = function() {
141
+ YAHOO.launcher.launchTab("statistics", "Statistics");
142
+ };
143
+
144
+ YAHOO.launcher.launchGoodbye = function() {
145
+ YAHOO.launcher.launchTab("goodbye", "Goodbye");
146
+ };
147
+
148
+ YAHOO.launcher.relaunchAuthorize = YAHOO.launcher.launchAuthorize;
149
+
150
+ YAHOO.launcher.launchMaintenance = function() {
151
+ YAHOO.launcher.launchTab("maintenance", "Maintenance");
152
+ };
153
+
154
+ YAHOO.launcher.launchReauthorize = function() {
155
+ YAHOO.launcher.launchTab("reauthorize", "Reauthorize");
156
+ };
157
+
158
+ Launcher = YAHOO.launcher;
159
+