var foswiki;if(!foswiki)foswiki={};(function($){foswiki.TwistyPlugin=new function(){var self=this;this._getName=function(e){var re=new RegExp("(.*)(hide|show|toggle)","g");var inId=$(e).attr('id');var m=re.exec(inId);var name=(m&&m[1])?m[1]:"";return name;}
this._getType=function(inId){var re=new RegExp("(.*)(hide|show|toggle)","g");var m=re.exec(inId);var type=(m&&m[2])?m[2]:"";return type;}
this._toggleTwisty=function(ref){if(!ref)return;ref.state=(ref.state==foswiki.TwistyPlugin.CONTENT_HIDDEN)?foswiki.TwistyPlugin.CONTENT_SHOWN:foswiki.TwistyPlugin.CONTENT_HIDDEN;self._update(ref,true);}
this._update=function(ref,inMaySave){var showControl=ref.show;var hideControl=ref.hide;var contentElem=ref.toggle;if(ref.state==foswiki.TwistyPlugin.CONTENT_SHOWN){if(inMaySave){foswiki.TwistyPlugin.showAnimation(contentElem);}else{$(contentElem).show();}
$(showControl).hide();$(hideControl).show();}else{if(inMaySave){foswiki.TwistyPlugin.hideAnimation(contentElem);}else{$(contentElem).hide();}
$(showControl).show();$(hideControl).hide();}
if(inMaySave&&ref.saveSetting){foswiki.Pref.setPref(foswiki.TwistyPlugin.COOKIE_PREFIX+ref.name,ref.state);}
if(ref.clearSetting){foswiki.Pref.setPref(foswiki.TwistyPlugin.COOKIE_PREFIX+ref.name,"");}}
this._register=function(e){if(!e)return;var name=self._getName(e);var ref=self._storage[name];if(!ref){ref=new foswiki.TwistyPlugin.Storage();}
var classValue=$(e).attr('class');if(classValue.match(/\btwistyRememberSetting\b/))
ref.saveSetting=true;if(classValue.match(/\btwistyForgetSetting\b/))
ref.clearSetting=true;if(classValue.match(/\btwistyStartShow\b/))
ref.startShown=true;if(classValue.match(/\btwistyStartHide\b/))
ref.startHidden=true;if(classValue.match(/\btwistyFirstStartShow\b/))
ref.firstStartShown=true;if(classValue.match(/\btwistyFirstStartHide\b/))
ref.firstStartHidden=true;ref.name=name;var type=self._getType(e.id);ref[type]=e;self._storage[name]=ref;switch(type){case'show':case'hide':e.onclick=function(){self._toggleTwisty(ref);return false;}
break;}
return ref;}
this._storage={};};foswiki.TwistyPlugin.showAnimation=foswiki.TwistyPlugin.hideAnimation=function(elem){jQuery(elem).animate({height:'toggle',opacity:'toggle'},'fast');};foswiki.TwistyPlugin.CONTENT_HIDDEN=0;foswiki.TwistyPlugin.CONTENT_SHOWN=1;foswiki.TwistyPlugin.COOKIE_PREFIX="TwistyPlugin_";foswiki.TwistyPlugin.prefList;foswiki.TwistyPlugin.init=function(e){if(!e)return;var name=this._getName(e);var ref=this._storage[name];if(ref&&ref.show&&ref.hide&&ref.toggle)return ref;ref=this._register(e);if(ref.show&&ref.hide&&ref.toggle){var classValue=$(e).attr('class');if(classValue.match(/\btwistyInited1\b/)){ref.state=foswiki.TwistyPlugin.CONTENT_SHOWN
this._update(ref,false);return ref;}
if(classValue.match(/\btwistyInited0\b/)){ref.state=foswiki.TwistyPlugin.CONTENT_HIDDEN
this._update(ref,false);return ref;}
if(foswiki.TwistyPlugin.prefList==null){foswiki.TwistyPlugin.prefList=foswiki.Pref.getPrefList();}
var cookie=foswiki.Pref.getPrefValueFromPrefList(foswiki.TwistyPlugin.COOKIE_PREFIX+ref.name,foswiki.TwistyPlugin.prefList);if(ref.firstStartHidden)ref.state=foswiki.TwistyPlugin.CONTENT_HIDDEN;if(ref.firstStartShown)ref.state=foswiki.TwistyPlugin.CONTENT_SHOWN;if(cookie&&cookie=="0")ref.state=foswiki.TwistyPlugin.CONTENT_HIDDEN;if(cookie&&cookie=="1")ref.state=foswiki.TwistyPlugin.CONTENT_SHOWN;if(ref.startHidden)ref.state=foswiki.TwistyPlugin.CONTENT_HIDDEN;if(ref.startShown)ref.state=foswiki.TwistyPlugin.CONTENT_SHOWN;this._update(ref,false);}
return ref;}
foswiki.TwistyPlugin.toggleAll=function(inState){var i;for(var i in this._storage){var e=this._storage[i];e.state=inState;this._update(e,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;}
$(function(){$(".twistyTrigger, .twistyContent").removeClass("twistyMakeHidden foswikiMakeHidden foswikiMakeVisible foswikiMakeVisibleBlock foswikiMakeVisibleInline twistyHidden").each(function(){foswiki.TwistyPlugin.init(this);});$(".twistyExpandAll").click(function(){foswiki.TwistyPlugin.toggleAll(foswiki.TwistyPlugin.CONTENT_SHOWN);});$(".twistyCollapseAll").click(function(){foswiki.TwistyPlugin.toggleAll(foswiki.TwistyPlugin.CONTENT_HIDDEN);});});})(jQuery);