I was using tinymce editör with its own module. But when I have installed WYSIWYG API module and then tinymce the editör does not appear. There is no difference between browsers in all of them it does not appear. What should I do?

Versions are: WYSIWYG 6-x 2.x dev Tinymce 3_3_2

Comments

twod’s picture

Status: Active » Postponed (maintainer needs more info)

Have you looked through the FAQ?
Did you double-check that you followed the Installation instructions?
Is the editor listed as installed on admin/settings/wysiwyg?
Is the listed editor version number correct or does it say that the version could not be detected?
Are you seeing any errors when trying to use the editor?
Are you using a custom theme? It must print the $closure variable near the end of the page.
Have you tried with the Garland theme?

DrewMathers’s picture

I have an identical issue. I have checked all the items in #1. Interestingly I have two site, one where TinyMCE works perfectly, and one where it doesn't show up.

Both are:
Drupal 6.16
TinyMCE 3.2.5
Wysiwyg API 6.x-2.1

I have tested with identical sets of contrib modules enabled and used the Garland theme. All testing done with the Page content type.

Curiously, where the editor does not show, there is still a link to "Disable rich-text".

I am open to suggestions as to what else to compare between the working and non-working sites.

DrewMathers’s picture

As an additional test, I copied the TinyMCE directory from the working site to the non-working site. Still no change.

twod’s picture

Can you check (using Firebug for FF or a similar tool) that the script files are loaded properly?
There should be at least wysiwyg.js, wysiwyg-init.js, tinymce-3.js from Wysiwyg module, and then the TinyMCE files themselves.
The "Disable rich-text" link showing does indicate that Wysiwyg has tried to load an editor.
If there are no errors in the JavaScript console (FF: Ctrl+Shift+J), this may actually be a styling problem (editor loaded but invisible). If this only happened in IE, I'd suggest checking that you haven't hit its "max 31 stylesheets" limit by enabling "Optimize CSS" on the Performance page but this appears to happen in multiple browsers.
Could you also make sure all the CSS files are loaded as well? Any missing or otherwise un-loadable file should be listed with red text in Firebug's Net tab (clear cache first to see all files).

3cwebdev’s picture

Exact same issues here. After spending hours troubleshooting I finally installed TinyMCE 3.3.1 and it is working. Must be an issue with 3.3.2?

mikebann’s picture

I had this issue as well and I think the latest version of tiny mc does not work with the wysiwig api. I jsut used an older version and Bob's your uncle.

twod’s picture

I'm using 3.3.2 without any problems. 3.3.2 is just a bugfix version without any changes that should affect how Wysiwyg module's implementation is able to handle it.

Version 3.3.2 (2010-03-25)
Fixed bug where it was possible to scale the editor iframe smaller than the editor UI.
Fixed bug where some of the resizing option didn't work with the new live resize.
Fixed bug where the format listbox didn't show nestled formats correctly.
Fixed bug where the native listboxes didn't work correctly.
Fixed bug where font size selection in using the legacyoutput plugin would produce errors.
Fixed so block and blockquote formats remove their matching element regardless of it's attributes.

From the official TinyMCE changelog.txt.
As I'm not able to reproduce this I'm unable to debug it. If any of you are willing to give me access to a site where this happens I'd be happy to look into it when I have time.
Use the contact form on my profile (and please mention this issue) if the site does not have public content creation access (just access to anywhere the editor is supposed to appear is enough).

DrewMathers’s picture

Status: Postponed (maintainer needs more info) » Fixed

TwoD,

Checking the FireBug Net tab solved it. I had the WYSIWYG Spellcheck module enabled, but had not installed that plugin code to the designated location. When WYSIWYG Spellcheck couldn't find its executable, it prevented the editor from loading. This behaviour only affected FireFox, it always worked OK in IE.

As soon as I disabled WYSIWYG Spellcheck, TinyMCE started loading properly in FireFox. I also tested compatibility with TinyMCE 3.3.2. It seems to be OK.

Even though this is caused by WYSIWYG Spellcheck, I think this issue should remain in the WYSIWYG support queue because that is people will search for the problem symptoms. I have opened a feature request in WYSIWYG Spellcheck asking them to check for the presence of their plugin files. #755592: Test for presence of plugin before loading JS

twod’s picture

Status: Fixed » Active

Thanks for the report Drew!
As we've not yet heard back from preper, I'll leave this issue open for a while longer.

preper’s picture

Sorry for late.. I check every thing and all the things are normal.. In the settings page i can see tinymce 3_3_2 is installed. I have also tried 3_3_1 version but there is no change...

I am using newswire and page.tpl has closure tag. Moreover I tried garland theme there is no change again. Every time I cleared cache.. I have controlled with firebug script is not loading..

There is stiil problem. I can not see tinymce...

sun’s picture

Priority: Critical » Normal
Status: Active » Postponed (maintainer needs more info)

1) Which JavaScript files are specified/loaded in the HTML of the page? (don't forget to look into the footer)

2) Did you try to remove your profile for TinyMCE and re-add a new one?

preper’s picture

Loaded scripts are google analytics, user relationships popup and google adsense. I tried remove profile and add new one. This time i can see a different form, it is tinymce but buttons are not displaying. Only a white space instead of editor.

sun’s picture

Please post the actual scripts you find in your HTML output.

preper’s picture

(removed by sun)

With these scripts on the page I can see the editor with firefox but can not with IE.

twod’s picture

I think sun meant just the names (and locations) of the scripts. Either way, could you please wrap the above code in a <code></code> block to stop filters from interfering with it?

preper’s picture

Why sun didn't take the codes into ''

</code>'' block  and all code have been deleted?

when i  write codes in the <code>

block nothing is shown. But you know the contents of these scripts: Google adwords, analytics, user relationship popups and alexa pulu.. These are general for everyone.

twod’s picture

If you don't mind, I could take a look at your site and try debugging it. I'd just need an account with permissions to create nodes or comments with the relevant input format. You can use the contact form on my profile to send account info, please mention this issue.

preper’s picture

 /23mart/sites/all/modules/adsense/contrib/adsense_click/adsense_click.js   text/javascript
/* $Id */ 
2 
3/** 
4 * adsense_click.js - fires counter to log adsense clicks 
5 */ 
6var lastStatus = ''; 
7 
8function adsense_click(e) { 
9 window.focus(); 
10 if (window.status && (window.status != lastStatus)) { 
11 lastStatus = window.status; 
12 var img = new Image(); 
13 img.src = window.location.protocol + '//' + window.location.host + '/adsense_click' + 
14 '?u=' + escape(document.location) + 
15 '&t=' + escape(document.title) + 
16 '&r=' + escape(document.referrer); 
17 } 
18} 
19 
20var iframeObj; 
21var elements; 
22elements = document.getElementsByTagName("iframe"); 
23for (var i = 0; i < elements.length; i++) { 
24 if(elements[i].src.indexOf('googlesyndication.com') > -1) { 
25 if (document.layers) { 
26 elements[i].captureEvents(Events.ONFOCUS); 
27 } 
28 elements[i].onfocus = adsense_click; 
29 iframeObj = elements[i]; 
30 } 
31} 

/23mart/sites/all/modules/google_analytics/googleanalytics.js?E  text/javascript
// $Id: googleanalytics.js,v 1.3.2.6 2008/11/25 22:43:30 hass Exp $ 
2 
3Drupal.behaviors.gaTrackerAttach = function(context) { 
4 
5 // Attach onclick event to all links. 
6 $('a', context).click( function() { 
7 var ga = Drupal.settings.googleanalytics; 
8 // Expression to check for absolute internal links. 
9 var isInternal = new RegExp("^(https?):\/\/" + window.location.host, "i"); 
10 // Expression to check for special links like gotwo.module /go/* links. 
11 var isInternalSpecial = new RegExp("(\/go\/.*)$", "i"); 
12 // Expression to check for download links. 
13 var isDownload = new RegExp("\\.(" + ga.trackDownloadExtensions + ")$", "i"); 
14 
15 // Is the clicked URL internal? 
16 if (isInternal.test(this.href)) { 
17 // Is download tracking activated and the file extension configured for download tracking? 
18 if (ga.trackDownload && isDownload.test(this.href)) { 
19 // Download link clicked. 
20 var extension = isDownload.exec(this.href); 
21 pageTracker._trackEvent("Downloads", extension[1].toUpperCase(), this.href.replace(isInternal, '')); 
22 } 
23 else if (isInternalSpecial.test(this.href)) { 
24 // Keep the internal URL for Google Analytics website overlay intact. 
25 pageTracker._trackPageview(this.href.replace(isInternal, '')); 
26 } 
27 } 
28 else { 
29 if (ga.trackMailto && $(this).is("a[href^=mailto:]")) { 
30 // Mailto link clicked. 
31 pageTracker._trackEvent("Mails", "Click", this.href.substring(7)); 
32 } 
33 else if (ga.trackOutgoing) { 
34 // External link clicked. 
35 pageTracker._trackEvent("Outgoing links", "Click", this.href); 
36 } 
37 } 
38 }); 
39} 
// $Id: wysiwyg.js,v 1.15.2.2 2010/02/13 23:58:41 sun Exp $ 
2(function($) { 
3 
4/** 
5 * Initialize editor libraries. 
6 * 
7 * Some editors need to be initialized before the DOM is fully loaded. The 
8 * init hook gives them a chance to do so. 
9 */ 
10Drupal.wysiwygInit = function() { 
11 // This breaks in Konqueror. Prevent it from running. 
12 if (/KDE/.test(navigator.vendor)) { 
13 return; 
14 } 
15 
16 jQuery.each(Drupal.wysiwyg.editor.init, function(editor) { 
17 // Clone, so original settings are not overwritten. 
18 this(jQuery.extend(true, {}, Drupal.settings.wysiwyg.configs[editor])); 
19 }); 
20}; 
21 
22/** 
23 * Attach editors to input formats and target elements (f.e. textareas). 
24 * 
25 * This behavior searches for input format selectors and formatting guidelines 
26 * that have been preprocessed by Wysiwyg API. All CSS classes of those elements 
27 * with the prefix 'wysiwyg-' are parsed into input format parameters, defining 
28 * the input format, configured editor, target element id, and variable other 
29 * properties, which are passed to the attach/detach hooks of the corresponding 
30 * editor. 
31 * 
32 * Furthermore, an "enable/disable rich-text" toggle link is added after the 
33 * target element to allow users to alter its contents in plain text. 
34 * 
35 * This is executed once, while editor attach/detach hooks can be invoked 
36 * multiple times. 
37 * 
38 * @param context 
39 * A DOM element, supplied by Drupal.attachBehaviors(). 
40 */ 
41Drupal.behaviors.attachWysiwyg = function(context) { 
42 // This breaks in Konqueror. Prevent it from running. 
43 if (/KDE/.test(navigator.vendor)) { 
44 return; 
45 } 
46 
47 $('.wysiwyg:not(.wysiwyg-processed)', context).each(function() { 
48 var params = Drupal.wysiwyg.getParams(this); 
49 var $this = $(this).addClass('wysiwyg-processed'); 
50 // Directly attach this editor, if the input format is enabled or there is 
51 // only one input format at all. 
52 if (($this.is(':input') && $this.is(':checked')) || $this.is('div')) { 
53 Drupal.wysiwygAttach(context, params); 
54 } 
55 // Attach onChange handlers to input format selector elements. 
56 if ($this.is(':input')) { 
57 $this.change(function() { 
58 // If not disabled, detach the current and attach a new editor. 
59 Drupal.wysiwygDetach(context, params); 
60 Drupal.wysiwygAttach(context, params); 
61 }); 
62 // IE triggers onChange after blur only. 
63 if ($.browser.msie) { 
64 $this.click(function () { 
65 this.blur(); 
66 }); 
67 } 
68 } 
69 // Detach any editor when the containing form is submitted. 
70 $('#' + params.field).parents('form').submit(function () { 
71 Drupal.wysiwygDetach(context, params); 
72 }); 
73 }); 
74}; 
75 
76/** 
77 * Attach an editor to a target element. 
78 * 
79 * This tests whether the passed in editor implements the attach hook and 
80 * invokes it if available. Editor profile settings are cloned first, so they 
81 * cannot be overridden. After attaching the editor, the toggle link is shown 
82 * again, except in case we are attaching no editor. 
83 * 
84 * @param context 
85 * A DOM element, supplied by Drupal.attachBehaviors(). 
86 * @param params 
87 * An object containing input format parameters. 
88 */ 
89Drupal.wysiwygAttach = function(context, params) { 
90 if (typeof Drupal.wysiwyg.editor.attach[params.editor] == 'function') { 
91 // (Re-)initialize field instance. 
92 Drupal.wysiwyg.instances[params.field] = {}; 
93 // Provide all input format parameters to editor instance. 
94 jQuery.extend(Drupal.wysiwyg.instances[params.field], params); 
95 // Provide editor callbacks for plugins, if available. 
96 if (typeof Drupal.wysiwyg.editor.instance[params.editor] == 'object') { 
97 jQuery.extend(Drupal.wysiwyg.instances[params.field], Drupal.wysiwyg.editor.instance[params.editor]); 
98 } 
99 // Store this field id, so (external) plugins can use it. 
100 // @todo Wrong point in time. Probably can only supported by editors which 
101 // support an onFocus() or similar event. 
102 Drupal.wysiwyg.activeId = params.field; 
103 // Attach or update toggle link, if enabled. 
104 if (params.toggle) { 
105 Drupal.wysiwygAttachToggleLink(context, params); 
106 } 
107 // Otherwise, ensure that toggle link is hidden. 
108 else { 
109 $('#wysiwyg-toggle-' + params.field).hide(); 
110 } 
111 // Attach editor, if enabled by default or last state was enabled. 
112 if (params.status) { 
113 Drupal.wysiwyg.editor.attach[params.editor](context, params, (Drupal.settings.wysiwyg.configs[params.editor] ? jQuery.extend(true, {}, Drupal.settings.wysiwyg.configs[params.editor][params.format]) : {})); 
114 } 
115 // Otherwise, attach default behaviors. 
116 else { 
117 Drupal.wysiwyg.editor.attach.none(context, params); 
118 Drupal.wysiwyg.instances[params.field].editor = 'none'; 
119 } 
120 } 
121}; 
122 
123/** 
124 * Detach all editors from a target element. 
125 * 
126 * @param context 
127 * A DOM element, supplied by Drupal.attachBehaviors(). 
128 * @param params 
129 * An object containing input format parameters. 
130 */ 
131Drupal.wysiwygDetach = function(context, params) { 
132 var editor = Drupal.wysiwyg.instances[params.field].editor; 
133 if (jQuery.isFunction(Drupal.wysiwyg.editor.detach[editor])) { 
134 Drupal.wysiwyg.editor.detach[editor](context, params); 
135 } 
136}; 
137 
138/** 
139 * Append or update an editor toggle link to a target element. 
140 * 
141 * @param context 
142 * A DOM element, supplied by Drupal.attachBehaviors(). 
143 * @param params 
144 * An object containing input format parameters. 
145 */ 
146Drupal.wysiwygAttachToggleLink = function(context, params) { 
147 if (!$('#wysiwyg-toggle-' + params.field).length) { 
148 var text = document.createTextNode(params.status ? Drupal.settings.wysiwyg.disable : Drupal.settings.wysiwyg.enable); 
149 var a = document.createElement('a'); 
150 $(a).attr({ id: 'wysiwyg-toggle-' + params.field, href: 'javascript:void(0);' }).append(text); 
151 var div = document.createElement('div'); 
152 $(div).addClass('wysiwyg-toggle-wrapper').append(a); 
153 $('#' + params.field).after(div); 
154 } 
155 $('#wysiwyg-toggle-' + params.field) 
156 .html(params.status ? Drupal.settings.wysiwyg.disable : Drupal.settings.wysiwyg.enable).show() 
157 .unbind('click').click(function() { 
158 if (params.status) { 
159 // Detach current editor. 
160 params.status = false; 
161 Drupal.wysiwygDetach(context, params); 
162 // After disabling the editor, re-attach default behaviors. 
163 // @todo We HAVE TO invoke Drupal.wysiwygAttach() here. 
164 Drupal.wysiwyg.editor.attach.none(context, params); 
165 Drupal.wysiwyg.instances[params.field] = Drupal.wysiwyg.editor.instance.none; 
166 Drupal.wysiwyg.instances[params.field].editor = 'none'; 
167 $(this).html(Drupal.settings.wysiwyg.enable).blur(); 
168 } 
169 else { 
170 // Before enabling the editor, detach default behaviors. 
171 Drupal.wysiwyg.editor.detach.none(context, params); 
172 // Attach new editor using parameters of the currently selected input format. 
173 Drupal.wysiwyg.getParams($('.wysiwyg-field-' + params.field + ':checked, div.wysiwyg-field-' + params.field, context).get(0), params); 
174 params.status = true; 
175 Drupal.wysiwygAttach(context, params); 
176 $(this).html(Drupal.settings.wysiwyg.disable).blur(); 
177 } 
178 }); 
179 // Hide toggle link in case no editor is attached. 
180 if (params.editor == 'none') { 
181 $('#wysiwyg-toggle-' + params.field).hide(); 
182 } 
183}; 
184 
185/** 
186 * Parse the CSS classes of an input format DOM element into parameters. 
187 * 
188 * Syntax for CSS classes is "wysiwyg-name-value". 
189 * 
190 * @param element 
191 * An input format DOM element containing CSS classes to parse. 
192 * @param params 
193 * (optional) An object containing input format parameters to update. 
194 */ 
195Drupal.wysiwyg.getParams = function(element, params) { 
196 var classes = element.className.split(' '); 
197 var params = params || {}; 
198 for (var i in classes) { 
199 if (classes[i].substr(0, 8) == 'wysiwyg-') { 
200 var parts = classes[i].split('-'); 
201 var value = parts.slice(2).join('-'); 
202 params[parts[1]] = value; 
203 } 
204 } 
205 // Convert format id into string. 
206 params.format = 'format' + params.format; 
207 // Convert numeric values. 
208 params.status = parseInt(params.status, 10); 
209 params.toggle = parseInt(params.toggle, 10); 
210 params.resizable = parseInt(params.resizable, 10); 
211 return params; 
212}; 
213 
214/** 
215 * Allow certain editor libraries to initialize before the DOM is loaded. 
216 */ 
217Drupal.wysiwygInit(); 
218 
219})(jQuery); 
<!--//--><![CDATA[//><!-- 
3var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); 
4//--><!]]> 

Src=http://www.google-analytics.com/ga.js
(function(){var aa="_gat",ba="_gaq",r=true,v=false,w=undefined,ca="4.6.5",x="length",y="cookie",A="location",B="&",C="=",D="__utma=",E="__utmb=",G="__utmc=",da="__utmk=",H="__utmv=",J="__utmz=",K="__utmx=",L="GASO=";var N=function(i){return w==i||"-"==i||""==i},ea=function(i){return i[x]>0&&" \n\r\t".indexOf(i)>-1},P=function(i,l,g){var t="-",k;if(!N(i)&&!N(l)&&!N(g)){k=i.indexOf(l);if(k>-1){g=i.indexOf(g,k);if(g<0)g=i[x];t=O(i,k+l.indexOf(C)+1,g)}}return t},Q=function(i){var l=v,g=0,t,k;if(!N(i)){l=r;for(t=0;t<i[x];t++){k=i.charAt(t);g+="."==k?1:0;l=l&&g<=1&&(0==t&&"-"==k||".0123456789".indexOf(k)>-1)}}return l},S=function(i,l){var g=encodeURIComponent;return g instanceof Function?l?encodeURI(i):g(i):escape(i)}, 
2T=function(i,l){var g=decodeURIComponent,t;i=i.split("+").join(" ");if(g instanceof Function)try{t=l?decodeURI(i):g(i)}catch(k){t=unescape(i)}else t=unescape(i);return t},U=function(i,l){return i.indexOf(l)>-1},V=function(i,l){i[i[x]]=l},W=function(i){return i.toLowerCase()},X=function(i,l){return i.split(l)},fa=function(i,l){return i.indexOf(l)},O=function(i,l,g){g=w==g?i[x]:g;return i.substring(l,g)},ga=function(i,l){return i.join(l)},ia=function(i){var l=1,g=0,t;if(!N(i)){l=0;for(t=i[x]-1;t>=0;t--){g= 
3i.charCodeAt(t);l=(l<<6&268435455)+g+(g<<14);g=l&266338304;l=g!=0?l^g>>21:l}}return l},ja=function(){var i=window,l=w;if(i&&i.gaGlobal&&i.gaGlobal.hid)l=i.gaGlobal.hid;else{l=Y();i.gaGlobal=i.gaGlobal?i.gaGlobal:{};i.gaGlobal.hid=l}return l},Y=function(){return Math.round(Math.random()*2147483647)},Z={Ha:function(i,l){this.bb=i;this.nb=l},ib:v,_gasoDomain:w,_gasoCPath:w};Z.Gb=function(){function i(k){return new t(k[0],k[1])}function l(k){var p=[];k=k.split(",");var f;for(f=0;f<k.length;++f)p.push(i(k[f].split(":")));return p}var g=this,t=Z.Ha;g.Ia="utm_campaign";g.Ja="utm_content";g.Ka="utm_id";g.La="utm_medium";g.Ma="utm_nooverride";g.Na="utm_source";g.Oa="utm_term";g.Pa="gclid";g.ba=0;g.z=0;g.Ta=15768E6;g.sb=18E5;g.v=63072E6;g.ta=[];g.va=[];g.nc="cse";g.oc="q";g.ob=5;g.T=l("daum:q,eniro:search_word,naver:query,images.google:q,google:q,yahoo:p,msn:q,bing:q,aol:query,aol:encquery,lycos:query,ask:q,altavista:q,netscape:query,cnn:query,about:terms,mamma:query,alltheweb:q,voila:rdata,virgilio:qs,live:q,baidu:wd,alice:qs,yandex:text,najdi:q,aol:q,mama:query,seznam:q,search:q,wp:szukaj,onet:qt,szukacz:q,yam:k,pchome:q,kvasir:q,sesam:q,ozu:q,terra:query,mynet:q,ekolay:q,rambler:words"); 
4g.t=w;g.lb=v;g.h="/";g.U=100;g.oa="/__utm.gif";g.ga=1;g.ha=1;g.u="|";g.fa=1;g.da=1;g.Ra=1;g.b="auto";g.I=1;g.ra=1E3;g.Jc=10;g.Pb=10;g.Kc=0.2;g.o=w;g.a=document;g.e=window};Z.Hb=function(i){function l(d,a,j,c){var n="",s=0;n=P(d,"2"+a,";");if(!N(n)){d=n.indexOf("^"+j+".");if(d<0)return["",0];n=O(n,d+j[x]+2);if(n.indexOf("^")>0)n=n.split("^")[0];j=n.split(":");n=j[1];s=parseInt(j[0],10);if(!c&&s<p.r)n=""}if(N(n))n="";return[n,s]}function g(d,a){return"^"+ga([[a,d[1]].join("."),d[0]],":")}function t(d,a){f.a[y]=d+"; path="+f.h+"; "+a+p.fb()}function k(d){var a=new Date;d=new Date(a.getTime()+d);return"expires="+d.toGMTString()+"; "}var p=this,f=i;p.r=(new Date).getTime(); 
5var h=[D,E,G,J,H,K,L];p.k=function(){var d=f.a[y];return f.o?p.Wb(d,f.o):d};p.Wb=function(d,a){var j=[],c,n;for(c=0;c<h[x];c++){n=l(d,h[c],a)[0];N(n)||(j[j[x]]=h[c]+n+";")}return j.join("")};p.l=function(d,a,j){var c=j>0?k(j):"";if(f.o){a=p.kc(f.a[y],d,f.o,a,j);d="2"+d;c=j>0?k(f.v):""}t(d+a,c)};p.kc=function(d,a,j,c,n){var s="";n=n||f.v;c=g([c,p.r+n*1],j);s=P(d,"2"+a,";");if(!N(s)){d=g(l(d,a,j,r),j);s=ga(s.split(d),"");return s=c+s}return c};p.fb=function(){return N(f.b)?"":"domain="+f.b+";"}};Z.$=function(i){function l(b){b=b instanceof Array?b.join("."):"";return N(b)?"-":b}function g(b,e){var o=[];if(!N(b)){o=b.split(".");if(e)for(b=0;b<o[x];b++)Q(o[b])||(o[b]="-")}return o}function t(b,e,o){var m=c.M,q,u;for(q=0;q<m[x];q++){u=m[q][0];u+=N(e)?e:e+m[q][4];m[q][2](P(b,u,o))}}var k,p,f,h,d,a,j,c=this,n,s=i;c.j=new Z.Hb(i);c.kb=function(){return w==n||n==c.P()};c.k=function(){return c.j.k()};c.ma=function(){return d?d:"-"};c.vb=function(b){d=b};c.za=function(b){n=Q(b)?b*1:"-"};c.la=function(){return l(a)}; 
6c.Aa=function(b){a=g(b)};c.Vb=function(){c.j.l(H,"",-1)};c.lc=function(){return n?n:"-"};c.fb=function(){return N(s.b)?"":"domain="+s.b+";"};c.ja=function(){return l(k)};c.tb=function(b){k=g(b,1)};c.C=function(){return l(p)};c.ya=function(b){p=g(b,1)};c.ka=function(){return l(f)};c.ub=function(b){f=g(b,1)};c.na=function(){return l(h)};c.wb=function(b){h=g(b);for(b=0;b<h[x];b++)if(b<4&&!Q(h[b]))h[b]="-"};c.fc=function(){return j};c.Dc=function(b){j=b};c.Sb=function(){k=[];p=[];f=[];h=[];d=w;a=[];n= 
7w};c.P=function(){var b="",e;for(e=0;e<c.M[x];e++)b+=c.M[e][1]();return ia(b)};c.ua=function(b){var e=c.k(),o=v;if(e){t(e,b,";");c.za(c.P());o=r}return o};c.zc=function(b){t(b,"",B);c.za(P(b,da,B))};c.Hc=function(){var b=c.M,e=[],o;for(o=0;o<b[x];o++)V(e,b[o][0]+b[o][1]());V(e,da+c.P());return e.join(B)};c.Nc=function(b,e){var o=c.M,m=s.h;c.ua(b);s.h=e;for(b=0;b<o[x];b++)N(o[b][1]())||o[b][3]();s.h=m};c.Cb=function(){c.j.l(D,c.ja(),s.v)};c.Ea=function(){c.j.l(E,c.C(),s.sb)};c.Db=function(){c.j.l(G, 
8c.ka(),0)};c.Ga=function(){c.j.l(J,c.na(),s.Ta)};c.Eb=function(){c.j.l(K,c.ma(),s.v)};c.Fa=function(){c.j.l(H,c.la(),s.v)};c.Oc=function(){c.j.l(L,c.fc(),0)};c.M=[[D,c.ja,c.tb,c.Cb,"."],[E,c.C,c.ya,c.Ea,""],[G,c.ka,c.ub,c.Db,""],[K,c.ma,c.vb,c.Eb,""],[J,c.na,c.wb,c.Ga,"."],[H,c.la,c.Aa,c.Fa,"."]]};Z.Kb=function(i){var l=this,g=i,t=new Z.$(g),k=function(){},p=function(f){var h=(new Date).getTime(),d;d=(h-f[3])*(g.Kc/1E3);if(d>=1){f[2]=Math.min(Math.floor(f[2]*1+d),g.Pb);f[3]=h}return f};l.H=function(f,h,d,a,j,c){var n,s=g.I,b=g.a[A];t.ua(d);n=X(t.C(),".");if(n[1]<500||a){if(j)n=p(n);if(a||!j||n[2]>=1){if(!a&&j)n[2]=n[2]*1-1;n[1]=n[1]*1+1;f="?utmwv="+ca+"&utmn="+Y()+(N(b.hostname)?"":"&utmhn="+S(b.hostname))+(g.U==100?"":"&utmsp="+S(g.U))+f;if(0==s||2==s){a=2==s?k:c||k;l.$a(g.oa+f,a)}if(1==s|| 
92==s){f=("https:"==b.protocol?"https://ssl.google-analytics.com/__utm.gif":"http://www.google-analytics.com/__utm.gif")+f+"&utmac="+h+"&utmcc="+l.ac(d);if(ka)f+="&gaq=1";l.$a(f,c)}}}t.ya(n.join("."));t.Ea()};l.$a=function(f,h){var d=new Image(1,1);d.src=f;d.onload=function(){d.onload=null;(h||k)()}};l.ac=function(f){var h=[],d=[D,J,H,K],a,j=t.k(),c;for(a=0;a<d[x];a++){c=P(j,d[a]+f,";");if(!N(c)){if(d[a]==H){c=X(c.split(f+".")[1],"|")[0];if(N(c))continue;c=f+"."+c}V(h,d[a]+c+";")}}return S(h.join("+"))}};Z.n=function(){var i=this;i.Y=[];i.hb=function(l){var g,t=i.Y,k;for(k=0;k<t.length;k++)g=l==t[k].q?t[k]:g;return g};i.Ob=function(l,g,t,k,p,f,h,d){var a=i.hb(l);if(w==a){a=new Z.n.Mb(l,g,t,k,p,f,h,d);V(i.Y,a)}else{a.Qa=g;a.Ab=t;a.zb=k;a.xb=p;a.Xa=f;a.yb=h;a.Za=d}return a}};Z.n.Lb=function(i,l,g,t,k,p){var f=this;f.Bb=i;f.Ba=l;f.D=g;f.Va=t;f.pb=k;f.qb=p;f.Ca=function(){return"&"+["utmt=item","tid="+S(f.Bb),"ipc="+S(f.Ba),"ipn="+S(f.D),"iva="+S(f.Va),"ipr="+S(f.pb),"iqt="+S(f.qb)].join("&utm")}}; 
10Z.n.Mb=function(i,l,g,t,k,p,f,h){var d=this;d.q=i;d.Qa=l;d.Ab=g;d.zb=t;d.xb=k;d.Xa=p;d.yb=f;d.Za=h;d.R=[];d.Nb=function(a,j,c,n,s){var b=d.gc(a),e=d.q;if(w==b)V(d.R,new Z.n.Lb(e,a,j,c,n,s));else{b.Bb=e;b.Ba=a;b.D=j;b.Va=c;b.pb=n;b.qb=s}};d.gc=function(a){var j,c=d.R,n;for(n=0;n<c.length;n++)j=a==c[n].Ba?c[n]:j;return j};d.Ca=function(){return"&"+["utmt=tran","id="+S(d.q),"st="+S(d.Qa),"to="+S(d.Ab),"tx="+S(d.zb),"sp="+S(d.xb),"ci="+S(d.Xa),"rg="+S(d.yb),"co="+S(d.Za)].join("&utmt")}};Z.Fb=function(i){function l(){var f,h,d;h="ShockwaveFlash";var a="$version",j=k.d?k.d.plugins:w;if(j&&j[x]>0)for(f=0;f<j[x]&&!d;f++){h=j[f];if(U(h.name,"Shockwave Flash"))d=h.description.split("Shockwave Flash ")[1]}else{h=h+"."+h;try{f=new ActiveXObject(h+".7");d=f.GetVariable(a)}catch(c){}if(!d)try{f=new ActiveXObject(h+".6");d="WIN 6,0,21,0";f.AllowScriptAccess="always";d=f.GetVariable(a)}catch(n){}if(!d)try{f=new ActiveXObject(h);d=f.GetVariable(a)}catch(s){}if(d){d=X(d.split(" ")[1],",");d=d[0]+ 
11"."+d[1]+" r"+d[2]}}return d?d:p}var g=i,t=g.e,k=this,p="-";k.V=t.screen;k.Sa=!k.V&&t.java?java.awt.Toolkit.getDefaultToolkit():w;k.d=t.navigator;k.W=p;k.xa=p;k.Wa=p;k.qa=p;k.pa=1;k.eb=p;k.bc=function(){var f;if(t.screen){k.W=k.V.width+"x"+k.V.height;k.xa=k.V.colorDepth+"-bit"}else if(k.Sa)try{f=k.Sa.getScreenSize();k.W=f.width+"x"+f.height}catch(h){}k.qa=W(k.d&&k.d.language?k.d.language:k.d&&k.d.browserLanguage?k.d.browserLanguage:p);k.pa=k.d&&k.d.javaEnabled()?1:0;k.eb=g.ha?l():p;k.Wa=S(g.a.characterSet? 
12g.a.characterSet:g.a.charset?g.a.charset:p)};k.Ic=function(){return B+"utm"+["cs="+S(k.Wa),"sr="+k.W,"sc="+k.xa,"ul="+k.qa,"je="+k.pa,"fl="+S(k.eb)].join("&utm")};k.$b=function(){var f=g.a,h=t.history[x];f=k.d.appName+k.d.version+k.qa+k.d.platform+k.d.userAgent+k.pa+k.W+k.xa+(f[y]?f[y]:"")+(f.referrer?f.referrer:"");for(var d=f[x];h>0;)f+=h--^d++;return ia(f)}};Z.m=function(i,l,g,t){function k(d){var a="";d=W(d.split("://")[1]);if(U(d,"/")){d=d.split("/")[1];if(U(d,"?"))a=d.split("?")[0]}return a}function p(d){var a="";a=W(d.split("://")[1]);if(U(a,"/"))a=a.split("/")[0];return a}var f=t,h=this;h.c=i;h.rb=l;h.r=g;h.ic=function(d){var a=h.gb();return new Z.m.w(P(d,f.Ka+C,B),P(d,f.Na+C,B),P(d,f.Pa+C,B),h.Q(d,f.Ia,"(not set)"),h.Q(d,f.La,"(not set)"),h.Q(d,f.Oa,a&&!N(a.K)?T(a.K):w),h.Q(d,f.Ja,w))};h.jb=function(d){var a=p(d),j=k(d);if(U(a,"google")){d=d.split("?").join(B); 
13if(U(d,B+f.oc+C))if(j==f.nc)return r}return v};h.gb=function(){var d,a=h.rb,j,c,n=f.T;if(!(N(a)||"0"==a||!U(a,"://")||h.jb(a))){d=p(a);for(j=0;j<n[x];j++){c=n[j];if(U(d,W(c.bb))){a=a.split("?").join(B);if(U(a,B+c.nb+C)){d=a.split(B+c.nb+C)[1];if(U(d,B))d=d.split(B)[0];return new Z.m.w(w,c.bb,w,"(organic)","organic",d,w)}}}}};h.Q=function(d,a,j){d=P(d,a+C,B);return j=!N(d)?T(d):!N(j)?j:"-"};h.uc=function(d){var a=f.ta,j=v,c;if(d&&"organic"==d.S){d=W(T(d.K));for(c=0;c<a[x];c++)j=j||W(a[c])==d}return j}; 
14h.hc=function(){var d="",a="";d=h.rb;if(!(N(d)||"0"==d||!U(d,"://")||h.jb(d))){d=d.split("://")[1];if(U(d,"/")){a=O(d,d.indexOf("/"));a=a.split("?")[0];d=W(d.split("/")[0])}if(0==d.indexOf("www."))d=O(d,4);return new Z.m.w(w,d,w,"(referral)","referral",w,a)}};h.Xb=function(d){var a="";if(f.ba){a=d&&d.hash?d.href.substring(d.href.indexOf("#")):"";a=""!=a?a+B:a}a+=d.search;return a};h.dc=function(){return new Z.m.w(w,"(direct)",w,"(direct)","(none)",w,w)};h.vc=function(d){var a=v,j,c=f.va;if(d&&"referral"== 
15d.S){d=W(S(d.X));for(j=0;j<c[x];j++)a=a||U(d,W(c[j]))}return a};h.L=function(d){return w!=d&&d.mb()};h.cc=function(d,a){var j="",c="-",n,s=0,b,e,o=h.c;if(!d)return"";e=d.k();j=h.Xb(f.a[A]);if(f.z&&d.kb()){c=d.na();if(!N(c)&&!U(c,";")){d.Ga();return""}}c=P(e,J+o+".",";");n=h.ic(j);if(h.L(n)){j=P(j,f.Ma+C,B);if("1"==j&&!N(c))return""}if(!h.L(n)){n=h.gb();if(!N(c)&&h.uc(n))return""}if(!h.L(n)&&a){n=h.hc();if(!N(c)&&h.vc(n))return""}if(!h.L(n))if(N(c)&&a)n=h.dc();if(!h.L(n))return"";if(!N(c)){s=c.split("."); 
16b=new Z.m.w;b.Zb(s.slice(4).join("."));b=W(b.Da())==W(n.Da());s=s[3]*1}if(!b||a){a=P(e,D+o+".",";");e=a.lastIndexOf(".");a=e>9?O(a,e+1)*1:0;s++;a=0==a?1:a;d.wb([o,h.r,a,s,n.Da()].join("."));d.Ga();return B+"utmcn=1"}else return B+"utmcr=1"}}; 
17Z.m.w=function(i,l,g,t,k,p,f){var h=this;h.q=i;h.X=l;h.ea=g;h.D=t;h.S=k;h.K=p;h.Ya=f;h.Da=function(){var d=[],a=[["cid",h.q],["csr",h.X],["gclid",h.ea],["ccn",h.D],["cmd",h.S],["ctr",h.K],["cct",h.Ya]],j,c;if(h.mb())for(j=0;j<a[x];j++)if(!N(a[j][1])){c=a[j][1].split("+").join("%20");c=c.split(" ").join("%20");V(d,"utm"+a[j][0]+C+c)}return d.join("|")};h.mb=function(){return!(N(h.q)&&N(h.X)&&N(h.ea))};h.Zb=function(d){var a=function(j){return T(P(d,"utm"+j+C,"|"))};h.q=a("cid");h.X=a("csr");h.ea=a("gclid"); 
18h.D=a("ccn");h.S=a("cmd");h.K=a("ctr");h.Ya=a("cct")}};Z.Ib=function(i,l,g,t){function k(j,c,n){var s;if(!N(n)){n=n.split(",");for(var b=0;b<n[x];b++){s=n[b];if(!N(s)){s=s.split(h);if(s[x]==4)c[s[0]]=[s[1],s[2],j]}}}}var p=this,f=l,h=C,d=i,a=t;p.O=g;p.sa="";p.p={};p.tc=function(){var j;j=X(P(p.O.k(),H+f+".",";"),f+".")[1];if(!N(j)){j=j.split("|");k(1,p.p,j[1]);p.sa=j[0];p.Z()}};p.Z=function(){p.Qb();var j=p.sa,c,n,s="";for(c in p.p)if((n=p.p[c])&&1===n[2])s+=c+h+n[0]+h+n[1]+h+1+",";N(s)||(j+="|"+s);if(N(j))p.O.Vb();else{p.O.Aa(f+"."+j);p.O.Fa()}};p.Ec= 
19function(j){p.sa=j;p.Z()};p.Cc=function(j,c,n,s){if(1!=s&&2!=s&&3!=s)s=3;var b=v;if(c&&n&&j>0&&j<=d.ob){c=S(c);n=S(n);if(c[x]+n[x]<=64){p.p[j]=[c,n,s];p.Z();b=r}}return b};p.mc=function(j){if((j=p.p[j])&&1===j[2])return j[1]};p.Ub=function(j){var c=p.p;if(c[j]){delete c[j];p.Z()}};p.Qb=function(){a._clearKey(8);a._clearKey(9);a._clearKey(11);var j=p.p,c,n;for(n in j)if(c=j[n]){a._setKey(8,n,c[0]);a._setKey(9,n,c[1]);(c=c[2])&&3!=c&&a._setKey(11,n,""+c)}}};Z.N=function(){function i(m,q,u,z){if(w==f[m])f[m]={};if(w==f[m][q])f[m][q]=[];f[m][q][u]=z}function l(m,q){if(w!=f[m]&&w!=f[m][q]){f[m][q]=w;q=r;var u;for(u=0;u<a[x];u++)if(w!=f[m][a[u]]){q=v;break}if(q)f[m]=w}}function g(m){var q="",u=v,z,M;for(z=0;z<a[x];z++){M=m[a[z]];if(w!=M){if(u)q+=a[z];q+=t(M);u=v}else u=r}return q}function t(m){var q=[],u,z;for(z=0;z<m[x];z++)if(w!=m[z]){u="";if(z!=o&&w==m[z-1])u+=z.toString()+s;u+=k(m[z]);V(q,u)}return j+q.join(n)+c}function k(m){var q="",u,z,M;for(u=0;u< 
20m[x];u++){z=m.charAt(u);M=e[z];q+=w!=M?M:z}return q}var p=this,f={},h="k",d="v",a=[h,d],j="(",c=")",n="*",s="!",b="'",e={};e[b]="'0";e[c]="'1";e[n]="'2";e[s]="'3";var o=1;p.qc=function(m){return w!=f[m]};p.G=function(){var m="",q;for(q in f)if(w!=f[q])m+=q.toString()+g(f[q]);return m};p.Ac=function(m){if(m==w)return p.G();var q=m.G(),u;for(u in f)if(w!=f[u]&&!m.qc(u))q+=u.toString()+g(f[u]);return q};p._setKey=function(m,q,u){if(typeof u!="string")return v;i(m,h,q,u);return r};p._setValue=function(m, 
21q,u){if(typeof u!="number"&&(w==Number||!(u instanceof Number))||Math.round(u)!=u||u==NaN||u==Infinity)return v;i(m,d,q,u.toString());return r};p._getKey=function(m,q){return w!=f[m]&&w!=f[m][h]?f[m][h][q]:w};p._getValue=function(m,q){return w!=f[m]&&w!=f[m][d]?f[m][d][q]:w};p._clearKey=function(m){l(m,h)};p._clearValue=function(m){l(m,d)}};Z.Jb=function(i,l){var g=this;g.Qc=l;g.xc=i;g._trackEvent=function(t,k,p){return l._trackEvent(g.xc,t,k,p)}};Z.aa=function(i,l){function g(){if("auto"==c.b){var b=c.a.domain;if("www."==O(b,0,4))b=O(b,4);c.b=b}c.b=W(c.b)}function t(){var b=c.b,e=b.indexOf("www.google.")*b.indexOf(".google.")*b.indexOf("google.");return e||"/"!=c.h||b.indexOf("google.org")>-1}function k(b,e,o){if(N(b)||N(e)||N(o))return"-";b=P(b,D+a.c+".",e);if(!N(b)){b=b.split(".");b[5]=b[5]?b[5]*1+1:1;b[3]=b[4];b[4]=o;b=b.join(".")}return b}function p(){return"file:"!=c.a[A].protocol&&t()}function f(b){if(!b||""==b)return"";for(;ea(b.charAt(0));)b= 
22O(b,1);for(;ea(b.charAt(b[x]-1));)b=O(b,0,b[x]-1);return b}function h(b,e,o,m){if(!N(b())){e(m?T(b()):b());U(b(),";")||o()}}function d(b){var e,o=""!=b&&c.a[A].host!=b;if(o)for(e=0;e<c.t[x];e++)o=o&&fa(W(b),W(c.t[e]))==-1;return o}var a=this,j=w,c=new Z.Gb,n=v,s=w;a.e=window;a.r=Math.round((new Date).getTime()/1E3);a.s=i||"UA-XXXXX-X";a.ab=c.a.referrer;a.ia=w;a.f=w;a.B=w;a.F=v;a.A=w;a.Ua="";a.g=w;a.cb=w;a.c=w;a.i=w;c.o=l?S(l):w;a.wc=function(){var b=v;if(a.B)b=a.B.match(/^[0-9a-z-_.]{10,1200}$/i); 
23return b};a.jc=function(){return Y()^a.A.$b()&2147483647};a.ec=function(){if(!c.b||""==c.b||"none"==c.b){c.b="";return 1}g();return c.Ra?ia(c.b):1};a.Yb=function(b,e){if(N(b))b="-";else{e+=c.h&&"/"!=c.h?c.h:"";e=b.indexOf(e);b=e>=0&&e<=8?"0":"["==b.charAt(0)&&"]"==b.charAt(b[x]-1)?"-":b}return b};a.wa=function(b){var e="",o=c.a;e+=c.fa?a.A.Ic():"";e+=c.da?a.Ua:"";e+=c.ga&&!N(o.title)?"&utmdt="+S(o.title):"";e+="&utmhid="+ja()+"&utmr="+S(a.ia)+"&utmp="+S(a.Bc(b));return e};a.Bc=function(b){var e=c.a[A]; 
24return b=w!=b&&""!=b?S(b,r):S(e.pathname+e.search,r)};a.Lc=function(b){if(a.J()){var e="";if(a.g!=w&&a.g.G()[x]>0)e+="&utme="+S(a.g.G());e+=a.wa(b);j.H(e,a.s,a.c)}};a.Tb=function(){var b=new Z.$(c);return b.ua(a.c)?b.Hc():w};a._getLinkerUrl=function(b,e){var o=b.split("#"),m=b,q=a.Tb();if(q)if(e&&1>=o[x])m+="#"+q;else if(!e||1>=o[x])if(1>=o[x])m+=(U(b,"?")?B:"?")+q;else m=o[0]+(U(b,"?")?B:"?")+q+"#"+o[1];return m};a.Fc=function(){var b;if(a.wc()){a.i.Dc(a.B);a.i.Oc();Z._gasoDomain=c.b;Z._gasoCPath= 
25c.h;b=c.a.createElement("script");b.type="text/javascript";b.id="_gasojs";b.src="https://www.google.com/analytics/reporting/overlay_js?gaso="+a.B+B+Y();c.a.getElementsByTagName("head")[0].appendChild(b)}};a.pc=function(){var b=a.r,e=a.i,o=e.k(),m=a.c+"",q=c.e,u=q?q.gaGlobal:w,z,M=U(o,D+m+"."),la=U(o,E+m),ma=U(o,G+m),F,I=[],R="",ha=v;o=N(o)?"":o;if(c.z){z=c.a[A]&&c.a[A].hash?c.a[A].href.substring(c.a[A].href.indexOf("#")):"";if(c.ba&&!N(z))R=z+B;R+=c.a[A].search;if(!N(R)&&U(R,D)){e.zc(R);e.kb()||e.Sb(); 
26F=e.ja()}h(e.ma,e.vb,e.Eb,true);h(e.la,e.Aa,e.Fa)}if(N(F))if(M)if(!la||!ma){F=k(o,";",b);a.F=r}else{F=P(o,D+m+".",";");I=X(P(o,E+m,";"),".")}else{F=ga([m,a.jc(),b,b,b,1],".");ha=a.F=r}else if(N(e.C())||N(e.ka())){F=k(R,B,b);a.F=r}else{I=X(e.C(),".");m=I[0]}F=F.split(".");if(q&&u&&u.dh==m&&!c.o){F[4]=u.sid?u.sid:F[4];if(ha){F[3]=u.sid?u.sid:F[4];if(u.vid){b=u.vid.split(".");F[1]=b[0];F[2]=b[1]}}}e.tb(F.join("."));I[0]=m;I[1]=I[1]?I[1]:0;I[2]=w!=I[2]?I[2]:c.Jc;I[3]=I[3]?I[3]:F[4];e.ya(I.join(".")); 
27e.ub(m);N(e.lc())||e.za(e.P());e.Cb();e.Ea();e.Db()};a.rc=function(){j=new Z.Kb(c)};a._initData=function(){var b;if(!n){if(!a.A){a.A=new Z.Fb(c);a.A.bc()}a.c=a.ec();a.i=new Z.$(c);a.g=new Z.N;s=new Z.Ib(c,a.c,a.i,a.g);a.rc()}if(p()){a.pc();s.tc()}if(!n){if(p()){a.ia=a.Yb(a.ab,c.a.domain);if(c.da){b=new Z.m(a.c,a.ia,a.r,c);a.Ua=b.cc(a.i,a.F)}}a.cb=new Z.N;n=r}Z.ib||a.sc()};a._visitCode=function(){a._initData();var b=P(a.i.k(),D+a.c+".",";");b=b.split(".");return b[x]<4?"":b[1]};a._cookiePathCopy=function(b){a._initData(); 
28a.i&&a.i.Nc(a.c,b)};a.sc=function(){var b=c.a[A].hash;if(b&&1==b.indexOf("gaso="))b=P(b,"gaso=",B);else b=(b=c.e.name)&&0<=b.indexOf("gaso=")?P(b,"gaso=",B):P(a.i.k(),L,";");if(b[x]>=10){a.B=b;a.Fc()}Z.ib=r};a.J=function(){return a._visitCode()%1E4<c.U*100};a.Gc=function(){var b,e,o=c.a.links;if(!c.lb){b=c.a.domain;if("www."==O(b,0,4))b=O(b,4);c.t.push("."+b)}for(b=0;b<o[x]&&(c.ra==-1||b<c.ra);b++){e=o[b];if(d(e.host))if(!e.gatcOnclick){e.gatcOnclick=e.onclick?e.onclick:a.yc;e.onclick=function(m){var q= 
29!this.target||this.target=="_self"||this.target=="_top"||this.target=="_parent";q=q&&!a.Rb(m);a.Mc(m,this,q);return q?v:this.gatcOnclick?this.gatcOnclick(m):r}}}};a.yc=function(){};a._trackPageview=function(b){if(p()){a._initData();c.t&&a.Gc();a.Lc(b);a.F=v}};a._trackTrans=function(){var b=a.c,e=[],o,m,q;a._initData();if(a.f&&a.J()){for(o=0;o<a.f.Y[x];o++){m=a.f.Y[o];V(e,m.Ca());for(q=0;q<m.R[x];q++)V(e,m.R[q].Ca())}for(o=0;o<e[x];o++)j.H(e[o],a.s,b,r)}};a._setTrans=function(){var b=c.a,e,o,m;b=b.getElementById? 
30b.getElementById("utmtrans"):b.utmform&&b.utmform.utmtrans?b.utmform.utmtrans:w;a._initData();if(b&&b.value){a.f=new Z.n;m=b.value.split("UTM:");c.u=!c.u||""==c.u?"|":c.u;for(b=0;b<m[x];b++){m[b]=f(m[b]);e=m[b].split(c.u);for(o=0;o<e[x];o++)e[o]=f(e[o]);if("T"==e[0])a._addTrans(e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8]);else"I"==e[0]&&a._addItem(e[1],e[2],e[3],e[4],e[5],e[6])}}};a._addTrans=function(b,e,o,m,q,u,z,M){a.f=a.f?a.f:new Z.n;return a.f.Ob(b,e,o,m,q,u,z,M)};a._addItem=function(b,e,o,m,q,u){var z; 
31a.f=a.f?a.f:new Z.n;(z=a.f.hb(b))||(z=a._addTrans(b,"","","","","","",""));z.Nb(e,o,m,q,u)};a._setVar=function(b){if(b&&""!=b&&t()){a._initData();s.Ec(S(b));a.J()&&j.H("&utmt=var",a.s,a.c)}};a._setCustomVar=function(b,e,o,m){a._initData();return s.Cc(b,e,o,m)};a._deleteCustomVar=function(b){a._initData();s.Ub(b)};a._getVisitorCustomVar=function(b){a._initData();return s.mc(b)};a._setMaxCustomVariables=function(b){c.ob=b};a._link=function(b,e){if(c.z&&b){a._initData();c.a[A].href=a._getLinkerUrl(b, 
32e)}};a._linkByPost=function(b,e){if(c.z&&b&&b.action){a._initData();b.action=a._getLinkerUrl(b.action,e)}};a._setXKey=function(b,e,o){a.g._setKey(b,e,o)};a._setXValue=function(b,e,o){a.g._setValue(b,e,o)};a._getXKey=function(b,e){return a.g._getKey(b,e)};a._getXValue=function(b,e){return a.g.getValue(b,e)};a._clearXKey=function(b){a.g._clearKey(b)};a._clearXValue=function(b){a.g._clearValue(b)};a._createXObj=function(){a._initData();return new Z.N};a._sendXEvent=function(b){var e="";a._initData(); 
33if(a.J()){e+="&utmt=event&utme="+S(a.g.Ac(b))+a.wa();j.H(e,a.s,a.c,v,r)}};a._createEventTracker=function(b){a._initData();return new Z.Jb(b,a)};a._trackEvent=function(b,e,o,m){var q=a.cb;if(w!=b&&w!=e&&""!=b&&""!=e){q._clearKey(5);q._clearValue(5);(b=q._setKey(5,1,b)&&q._setKey(5,2,e)&&(w==o||q._setKey(5,3,o))&&(w==m||q._setValue(5,1,m)))&&a._sendXEvent(q)}else b=v;return b};a.Mc=function(b,e,o){a._initData();if(a.J()){var m=new Z.N;m._setKey(6,1,e.href);var q=o?function(){a.db(b,e)}:w;j.H("&utmt=event&utme="+ 
34S(m.G())+a.wa(),a.s,a.c,v,r,q);if(o){var u=this;c.e.setTimeout(function(){u.db(b,e)},500)}}};a.db=function(b,e){if(!b)b=c.e.event;var o=r;if(e.gatcOnclick)o=e.gatcOnclick(b);if(o||typeof o=="undefined")if(!e.target||e.target=="_self")c.e[A]=e.href;else if(e.target=="_top")c.e.top.document[A]=e.href;else if(e.target=="_parent")c.e.parent.document[A]=e.href};a.Rb=function(b){if(!b)b=c.e.event;var e=b.shiftKey||b.ctrlKey||b.altKey;if(!e)if(b.modifiers&&c.e.Event)e=b.modifiers&c.e.Event.CONTROL_MASK|| 
35b.modifiers&c.e.Event.SHIFT_MASK||b.modifiers&c.e.Event.ALT_MASK;return e};a.Pc=function(){return c};a._setDomainName=function(b){c.b=b};a._addOrganic=function(b,e,o){c.T.splice(o?0:c.T.length,0,new Z.Ha(b,e))};a._clearOrganic=function(){c.T=[]};a._addIgnoredOrganic=function(b){V(c.ta,b)};a._clearIgnoredOrganic=function(){c.ta=[]};a._addIgnoredRef=function(b){V(c.va,b)};a._clearIgnoredRef=function(){c.va=[]};a._setAllowHash=function(b){c.Ra=b?1:0};a._setCampaignTrack=function(b){c.da=b?1:0};a._setClientInfo= 
36function(b){c.fa=b?1:0};a._getClientInfo=function(){return c.fa};a._setCookiePath=function(b){c.h=b};a._setTransactionDelim=function(b){c.u=b};a._setCookieTimeout=function(b){a._setCampaignCookieTimeout(b*1E3)};a._setCampaignCookieTimeout=function(b){c.Ta=b};a._setDetectFlash=function(b){c.ha=b?1:0};a._getDetectFlash=function(){return c.ha};a._setDetectTitle=function(b){c.ga=b?1:0};a._getDetectTitle=function(){return c.ga};a._setLocalGifPath=function(b){c.oa=b};a._getLocalGifPath=function(){return c.oa}; 
37a._setLocalServerMode=function(){c.I=0};a._setRemoteServerMode=function(){c.I=1};a._setLocalRemoteServerMode=function(){c.I=2};a._getServiceMode=function(){return c.I};a._setSampleRate=function(b){c.U=b};a._setSessionTimeout=function(b){a._setSessionCookieTimeout(b*1E3)};a._setSessionCookieTimeout=function(b){c.sb=b};a._setAllowLinker=function(b){c.z=b?1:0};a._setAllowAnchor=function(b){c.ba=b?1:0};a._setCampNameKey=function(b){c.Ia=b};a._setCampContentKey=function(b){c.Ja=b};a._setCampIdKey=function(b){c.Ka= 
38b};a._setCampMediumKey=function(b){c.La=b};a._setCampNOKey=function(b){c.Ma=b};a._setCampSourceKey=function(b){c.Na=b};a._setCampTermKey=function(b){c.Oa=b};a._setCampCIdKey=function(b){c.Pa=b};a._getAccount=function(){return a.s};a._setAccount=function(b){a.s=b};a._setNamespace=function(b){c.o=b?S(b):w};a._getVersion=function(){return ca};a._setAutoTrackOutbound=function(b){c.t=[];if(b)c.t=b};a._setTrackOutboundSubdomains=function(b){c.lb=b};a._setHrefExamineLimit=function(b){c.ra=b};a._setReferrerOverride= 
39function(b){a.ab=b};a._setCookiePersistence=function(b){a._setVisitorCookieTimeout(b)};a._setVisitorCookieTimeout=function(b){c.v=b}};Z._getTracker=function(i,l){return new Z.aa(i,l)};var ka=v,$={ca:{},_createAsyncTracker:function(i,l){l=l||"";i=new Z.aa(i);$.ca[l]=i;ka=r;return i},_getAsyncTracker:function(i){i=i||"";var l=$.ca[i];if(!l){l=new Z.aa;$.ca[i]=l;ka=r}return l},push:function(){for(var i=arguments,l=0,g=0;g<i[x];g++)try{if(typeof i[g]==="function")i[g]();else{var t="",k=i[g][0],p=k.lastIndexOf(".");if(p>0){t=O(k,0,p);k=O(k,p+1)}var f=$._getAsyncTracker(t);f[k].apply(f,i[g].slice(1))}}catch(h){l++}return l}};window[aa]=Z;function na(){var i=window[ba],l=v;if(i&&typeof i.push=="function"){l=i.constructor==Array;if(!l)return}window[ba]=$;l&&$.push.apply($,i)}na();})() 
</script>
 <script type="text/javascript">
</script>
</body>
</html>
<!--//--><![CDATA[//><!-- 
3var pageTracker = _gat._getTracker("UA-6857877-1");pageTracker._trackPageview(); 
4//--><!]]> 
DrewMathers’s picture

preper,

It would help if we could see a screenshot of what you see under the Net tab in Firebug. Especially any lines that show up in red.

SecCon’s picture

Well I have the same.
I followed the FAQ and disable all editing options in Tiny but for BOLD and left it like that. Also using 3.3.2 version

I do get a database warning when trying to disablt Tiny in Wyswyg:


    * user warning: Duplicate entry '1' for key 1 query: INSERT INTO drupal_showbusiness_wysiwyg (format, editor) VALUES (1, '') in /customers/conram.com/conram.com/httpd.www/showbusiness/modules/wysiwyg/wysiwyg.admin.inc on line 493.
    * user warning: Duplicate entry '3' for key 1 query: INSERT INTO drupal_showbusiness_wysiwyg (format, editor) VALUES (3, '') in /customers/conram.com/conram.com/httpd.www/showbusiness/modules/wysiwyg/wysiwyg.admin.inc on line 493.

I am using drupal on a subsite, if relevant, I have not been able to make it load in Garland, let alone the theme I am supposed to use.

I used Firebug as recommended and get a http:500 error.

Host: showbusiness.conram.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-GB; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
Accept: */*
Accept-Language: en-gb,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://showbusiness.conram.com/?q=node/add/page
Cookie: SESSba4963d9d0b08c3c92d2b9b2d4cc56e7=768c46acceaae3c63628b73203bb57fb

It fails loading a JQuery from http://showbusiness.conram.com/sites/default/files/js/js_d541a260ddfb6f307f5267d720298fd9.js
How can that be when I have TinyMCE installed at ../showbusiness/sites/all/libraries/tinymce/ ?
I also get

Error: jQuery is not defined
Source File: http://showbusiness.conram.com/?q=admin/settings/wysiwyg
Line: 22

in FF Java Console.

I FOUND THE ISSUE!!
(I think)

I had Optimize Javascript Files in Drupal / Admin / Performance enabled.
After disabling it the lots works.

I just love helping my self by posting to a bug forum...;)

Hope this helps others!!

:D

PS And it works in the site theme as well, LiteJazz...

twod’s picture

@Homdax, I think that may be a different issue. Wysiwyg should not be able to generate that HTTP 500 error, as it isn't really involved in the process of generating and serving the aggregated .js file, other than marking some of them for exclusion. The main TinyMCE library file is one of the files which we've decided not to include when scripts are aggregated, simply because there were one or more errors when doing so. (The latest version of TinyMCE may be possible to aggregate, as noted in code comments, but we're taking the safe route and excluding it for now.

@preper, a quick update: I did get your message and I will take a look at your site when I have time to do so. I'm sorry I've had to postpone this so long.

SecCon’s picture

Ok. Understood. No big bug there then... ;)

Breakerandi’s picture

Same problem here. I just tried a fresh install of tinymce 3.3.2 with wysiwyg latest dev. Editor doesn't appear...

Breakerandi’s picture

I have now tried several versions of tinymce, really old versions, newest,.. always the same problem:
WYSYWIG Api says it is installed proberbly, but on node edit page nothing appears, just a normal text area.
I have tried different settings in admin/filters and also in the wysiwyg filter settings...

Does anybody now another wysiwyg editor a table button and rows and cols add buttons ?

Breakerandi’s picture

I got the same problem with openWYSIWYG 1.4.7...
It's a fresh drupal installation with garland theme... really strange...

twod’s picture

Re #24, I think at least CKEditor and FCKeditor have good table controls, haven't used them in a while though so I don't remember which one is best. Their official demo sites should give a good idea.

Re #25 OpenWysiwyg not working is a known [unrelated] problem, see #713942: OpenWYSIWYG broken, jWysiwyg needs jQuery 1.3+.

Everyone still having issues with the editor[s] not appearing,
let's start over and please try to answer these questions. We need to find out what you have in common and I can only do that with very detailed replies (or rather, simple answers to very specific questions).

  1. Have you looked through the FAQ to make sure you're not seeing a known problem?
  2. Did you double-check that you followed the Installation instructions? (If you see an editor version number and didn't modify any files, then you're ok, skip the next few questions.)
  3. Is the editor listed as installed on admin/settings/wysiwyg?
  4. Is the listed editor version number correct or does it say that the version could not be detected?
  5. Are you seeing any errors when trying to use the editor? (with/without Optimize JavaScript)
  6. Are you seeing any errors on the profile configuration pages?
  7. Does the editor appear or anything change if you delete the profile, create a new one and try using it without editing it?
  8. Are you using a custom theme? It must print the $closure variable near the end of the page.
  9. Have you tried with the Garland theme, and a new profile?
  10. Are you using Optimize JavaScript or CSS on the Performance page?
  11. Is your theme using more than 31 stylesheets (without Optimize CSS)?
  12. Have you added scripts manually anywhere, like in templates? If so, what scripts? (link to or attach them)
  13. The next questions you don't need to answer, but it would be helpful.
  14. If you have JavaScript (or PHP) debugging experience, are you able to narrow the problem down to a specific part of our implementation layer (tinymce-3.js) or maybe the editor itself? (Changing line 56 to "tiny_mce_src.js", or "tiny_mce_dev.js" if you have the TinyMCE -dev version installed, may help.)
  15. Are you able to reproduce this with a fresh install of Drupal, or with very few modules installed? If so, can you list the steps taken?
  16. If you're able, are you willing to provide me with a login to a site where the problem happens so I can debug it?

Thanks for your patience.

garbo’s picture

@TwoD

1. yes, faq checked. Solution nt found
2. installation followed thoroughly tried with WYSIWYG 2.1 & 2.0 and TinyMCE 3.3.3 & 3.2.7
3. the editor is listed properly with all tested versions
4. correct
5. no errors
6. n errors
7. nothing strange
8. using a sub thee based on ZEN
9. it works in Garland when I use WYSIWYG 2.0 and tinyMCE 3.2.7. It doesn't work in Zen though.
10. tried to optimize css and js, together and apart. It doesn't help
11. no
12. no scripts added manually

For the record: I'm using drupal 6.16. I think it has to do with the drupal version because this configuration worked fine in drupal 6.15

Hope this info helps

garbo’s picture

Here are some of the warnings in firefox:

Waarschuwing: reference to undefined property a.detachEvent
Bronbestand: http://www.xxx.nl/sites/all/libraries/tinymce/jscripts/tiny_mce/tiny_mce.js?p
Regel: 1

Waarschuwing: reference to undefined property window.CollectGarbage
Bronbestand: http://www.xxx.nl/sites/all/libraries/tinymce/jscripts/tiny_mce/tiny_mce.js?p
Regel: 1

Waarschuwing: test for equality (==) mistyped as assignment (=)?
Bronbestand: http://www.xxx.nl/misc/jquery.js?E
Regel: 13, Kolom: 167
Broncode:
unction(b,a){for(var i=0,length=a.length;i<length;i++)if(a[i]===b)return i;return-1},merge:function(a,b){var i=0,elem,pos=a.length;if(D.browser.msie){while(elem=b[i++])if(elem.nodeType!=8)a[pos++]=elem}else while(elem=b[i++])a[pos++]=elem;return a},unique

Waarschuwing: variable params redeclares argument
Bronbestand: http://www.xxx.nl/sites/all/modules/wysiwyg/wysiwyg.js?E
Regel: 193, Kolom: 6
Broncode:
  var params = params || {}; 

Waarschuwing: reference to undefined property window.event
Bronbestand: http://www.xxx.nl/sites/all/libraries/tinymce/jscripts/tiny_mce/tiny_mce.js?E
Regel: 1
twod’s picture

Those warnings should not be a problem and the changes between Drupal 6.15 and 6.16 didn't affect anything Wysiwyg relies on. It is interesting though that it works with Garland but not a Zen subtheme. It suggests either that some scripts are not loaded (btw, $closure must be printed inside the <body> tag, I've seen some themes putting it after the body), or maybe that some styling interferes and makes the editor invisible (it's actually loaded and should be possible to find using Firebug's HTML tab).

garbo’s picture

$closure is inside the body tag at the bottom of the page.

And TinyMCE didn't work in the original ZEN theme neither, so it's not just my custom sub theme.

The strange thing though is that on another install TinyMCE works fine. Also on Drup 6.16

nflowers1228’s picture

Not sure if this helps, but I can't get TINYMC or CKEditor WYSIWYG editor to work on one of my sites since the 6.1.6 upgrade of Drupal on my one site that is a subtheme from the Zen starter kit. It does work on another site that used the BlueBreeze 6.x-1.x-dev theme. I don't know if that provides any clues. I'd be happy to give access to one of the sites if that helps, but please contact me directly.

twod’s picture

@nflowers1228, please look at the questions in #26. If it works with one theme, but not with the other, it's guaranteed to be a problem with the first theme. Specifically check that $closure is printed in the body and the number of stylesheets don't go above 31 (if problem only appears in IE).

nflowers1228’s picture

Thanks, I did some uninstalling and reinstalling and it's working now.

pokadan’s picture

We have a similar issue.

missing ; before statement
[Break on this error] * jQuery UI Dialog 1.6\n
js_7c6...5e2b.js (line 4026)
jQuery is not defined
[Break on this error] jQuery.extend(Drupal.settings, { "base.../drupalctc/node/add/news-article" });
news-a...ieldset (line 16)
jQuery is not defined
[Break on this error] })(jQuery); 

This happens when assigning TinyMCE 3.3 editor to Full HTML input format.
When assigning a similar profile to a different input format the editor works correctly and buttons pop up.
We've tried to recreate(delete, create againg) the wysiwyg profile but that did'n help.
Changing version from TinyMCE 3.3.3 to TinyMCE 3.3.6 didn't help.
Disabling JS aggregation does help but that is not what we want to do.

goosemagoo’s picture

I had same/similar problem and a lot of searching indicated Imagepicker was the problem. Either disable the whole module or uncheck (in the image picker options) the content types where the problem occurs. Dunno why but works for me.

ssafiullah_h’s picture

WYSIWYG problem fixed for me........

let me tell what making the WYSIWYG to disappear for me...

in mymodule_form_alter().........

i removed the line

if(my custom node type)
unset($form['body_field']['format']);

but now I have to find some other way to hide/disable 'Input Format' on Create Content pages( for my few custom node types )......

twod’s picture

Better Formats module will help you with that, simply remove the permission to use the format tips for the roles which should not see them.

hnln’s picture

FYI, I had this issue when I changed the language in the dropdown of the wysiwyg profile page.

twod’s picture

Yes, changing the language may disrupt TinyMCE if not all of its plugins also have the corresponding language packs.

mot’s picture

I have a similar (but not the same) problem. But it might be somehow related:

#832784: Tinymce disappeared with WYSIWYG

Please note that I had WYSIWYG appearing, but after some actions, it disappeared. Those actions are related to two nearby modules (IMCE, IMCE Wysiwyg bridge) which might be connected to this tickets reports here as well.

sun’s picture

Category: bug » support
Status: Postponed (maintainer needs more info) » Fixed

Several different issues got resolved in here. It's impossible to tell which problems are still unresolved and which are resolved.

Thus marking as fixed. If you still have an issue, then please search the queue for already existing support requests before creating a new one.

DrewMathers’s picture

In many of the cases above, it appears that one or another cause prevented the browser from loading some script file before the editor script was loaded. It is possible that browsers may stop loading subsequent scripts if a previous one fails to load.

RichieB’s picture

I just tried to get TinyMCE 3.3.9.1 working with WYSIWYG 6.x-2.1. The first hurdle was that I had to increase the fgets() parameter in tinymce.inc since the version string is now at 115 chars:

$line = fgets($script, 200);

The problem I am having now is that TinyMCE works just fine in IE8, but is not shown in Firefox 3.6.10. All javascript files are loaded: wysiwyg.js, wysiwyg-init.js, tinymce-3.js, tinymce.js, etc. There are no javascript errors or warnings but TinyMCE simply does not show.

The same thing happens with TinyMCE 3.3.2 and 3.3.8 (I just tried a few). The opposite happens with 3.2.4.1: it works with Firefox, but does not work with IE8 (javascript errors). Sigh.

twod’s picture

@RichieB, the version string problem will soon be fixed in -dev snapshots, see #695398-36: Support for TinyMCE 3.3. That alone made TinyMCE show up in FF 3.6.10 for me.
Not sure about the other non-loading issues you're having. Mind creating a new issue about this?

RichieB’s picture

@TwoD: never mind, I fixed it. Gallery 2 Image Chooser 3.0.3 was using tinyMCE.addToLang() (TinyMCE 2.x style) instead of tinyMCE.addI18n(). Support for tinyMCE.addToLang() was dropped in TinyMCE 3.3. I changed tiny_mce/plugins/g2image/langs/nl.js from

tinyMCE.addToLang('g2image',{

to

tinyMCE.addI18n('nl.g2image',{

and now TinyMCE 3.3.9.1 is working in IE8 and Firefox 3.6.10.

melon’s picture

I was happy to see that 3.3.x is supported now and it seemed to work fine.

However I found that this (TinyMCE 3.3.9.1, running with wysiwyg-6.x-2.x-dev) completely breaks CCK filefield behavior when Vertical tabs is installed. The problem is that when you upload a file to a CCK filefield/imagefield, it never finishes upload, it only shows the throbber forever.
With either Vertical Tabs disabled or switching back to any TinyMCE version before 3.3.9.1 (even 3.3.9 will do fine) the problem goes away.

Firebug console says on tinymce.js: j is undefined - this happens as soon as I hit Upload in the filefield widget.
What do you think, is this a Vertical tabs, a Wysiwyg or a TinyMCE issue?

Thanks.

twod’s picture

In either case, please file a new issue about it. We can't solve all TinyMCE related problems in a single support request or bug report, it just makes things too confusing.

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.

yan’s picture

FYI: In my case I moved the $scripts to the bottom of the page (which I think is recommended), but after $closure, which led to TinyMCE not showing and Firebug telling me "jQuery is not defined". I put it before $closure then, and everything works fine again.

ksmith911’s picture

I had to turn overlay module off to get any text editors to work!

twod’s picture

@ksmith, see #1170940: Editor not showing up with overlay. Please follow up there and answer the questions from #1.