var foswiki;if(!foswiki){foswiki={}}foswiki.TwistyPlugin=new function(){var a=this;this._getName=function(e){var d=new RegExp("(.*)(hide|show|toggle)","g");var b=d.exec(e);var c=(b&&b[1])?b[1]:"";return c};this._getType=function(e){var d=new RegExp("(.*)(hide|show|toggle)","g");var b=d.exec(e);var c=(b&&b[2])?b[2]:"";return c};this._toggleTwisty=function(b){if(!b){return}b.state=(b.state==foswiki.TwistyPlugin.CONTENT_HIDDEN)?foswiki.TwistyPlugin.CONTENT_SHOWN:foswiki.TwistyPlugin.CONTENT_HIDDEN;a._update(b,true)};this._update=function(f,e){var c=f.show;var d=f.hide;var b=f.toggle;if(f.state==foswiki.TwistyPlugin.CONTENT_SHOWN){foswiki.CSS.addClass(c,"twistyHidden");foswiki.CSS.removeClass(d,"twistyHidden");foswiki.CSS.removeClass(b,"twistyHidden")}else{foswiki.CSS.removeClass(c,"twistyHidden");foswiki.CSS.addClass(d,"twistyHidden");foswiki.CSS.addClass(b,"twistyHidden")}if(e&&f.saveSetting){foswiki.Pref.setPref(foswiki.TwistyPlugin.COOKIE_PREFIX+f.name,f.state)}if(f.clearSetting){foswiki.Pref.setPref(foswiki.TwistyPlugin.COOKIE_PREFIX+f.name,"")}};this._register=function(f){if(!f){return}var b=a._getName(f.id);var d=a._storage[b];if(!d){d=new foswiki.TwistyPlugin.Storage()}if(foswiki.CSS.hasClass(f,"twistyRememberSetting")){d.saveSetting=true}if(foswiki.CSS.hasClass(f,"twistyForgetSetting")){d.clearSetting=true}if(foswiki.CSS.hasClass(f,"twistyStartShow")){d.startShown=true}if(foswiki.CSS.hasClass(f,"twistyStartHide")){d.startHidden=true}if(foswiki.CSS.hasClass(f,"twistyFirstStartShow")){d.firstStartShown=true}if(foswiki.CSS.hasClass(f,"twistyFirstStartHide")){d.firstStartHidden=true}d.name=b;var c=a._getType(f.id);d[c]=f;a._storage[b]=d;switch(c){case"show":case"hide":f.onclick=function(){a._toggleTwisty(d);return false};break}return d};this._storage={};this._UIbehaviour={".twistyTrigger":function(b){foswiki.TwistyPlugin.init(b.id);b=null},".twistyContent":function(b){foswiki.TwistyPlugin.init(b.id);b=null},".twistyExpandAll":function(b){b.onclick=function(){foswiki.TwistyPlugin.toggleAll(foswiki.TwistyPlugin.CONTENT_SHOWN)};b=null},".twistyCollapseAll":function(b){b.onclick=function(){foswiki.TwistyPlugin.toggleAll(foswiki.TwistyPlugin.CONTENT_HIDDEN)};b=null}};Behaviour.register(this._UIbehaviour)};foswiki.TwistyPlugin.CONTENT_HIDDEN=0;foswiki.TwistyPlugin.CONTENT_SHOWN=1;foswiki.TwistyPlugin.COOKIE_PREFIX="TwistyPlugin_";foswiki.TwistyPlugin.prefList;foswiki.TwistyPlugin.init=function(c){var f=document.getElementById(c);if(!f){return}var a=this._getName(c);var d=this._storage[a];if(d&&d.show&&d.hide&&d.toggle){return d}d=this._register(f);foswiki.CSS.replaceClass(f,"twistyMakeHidden","twistyHidden");foswiki.CSS.removeClass(f,"foswikiMakeVisible");foswiki.CSS.removeClass(f,"foswikiMakeVisibleBlock");foswiki.CSS.removeClass(f,"foswikiMakeVisibleInline");foswiki.CSS.removeClass(f,"foswikiMakeHidden");if(d.show&&d.hide&&d.toggle){if(foswiki.CSS.hasClass(f,"twistyInited1")){d.state=foswiki.TwistyPlugin.CONTENT_SHOWN;this._update(d,false);return d}if(foswiki.CSS.hasClass(f,"twistyInited0")){d.state=foswiki.TwistyPlugin.CONTENT_HIDDEN;this._update(d,false);return d}if(foswiki.TwistyPlugin.prefList==null){foswiki.TwistyPlugin.prefList=foswiki.Pref.getPrefList()}var b=foswiki.Pref.getPrefValueFromPrefList(foswiki.TwistyPlugin.COOKIE_PREFIX+d.name,foswiki.TwistyPlugin.prefList);if(d.firstStartHidden){d.state=foswiki.TwistyPlugin.CONTENT_HIDDEN}if(d.firstStartShown){d.state=foswiki.TwistyPlugin.CONTENT_SHOWN}if(b&&b=="0"){d.state=foswiki.TwistyPlugin.CONTENT_HIDDEN}if(b&&b=="1"){d.state=foswiki.TwistyPlugin.CONTENT_SHOWN}if(d.startHidden){d.state=foswiki.TwistyPlugin.CONTENT_HIDDEN}if(d.startShown){d.state=foswiki.TwistyPlugin.CONTENT_SHOWN}this._update(d,false)}return d};foswiki.TwistyPlugin.toggleAll=function(a){var b;for(var b in this._storage){var c=this._storage[b];c.state=a;this._update(c,true)}};foswiki.TwistyPlugin.Storage=function(){this.name;this.state=foswiki.TwistyPlugin.CONTENT_HIDDEN;this.hide;this.show;this.toggle;this.saveSetting=false;this.clearSetting=false;this.startShown;this.startHidden;this.firstStartShown;this.firstStartHidden};
