var parchment_spoiler=new Class({initialize:function(b,a){this.parch=b;this.placement=a;this.container=this.getEditMenu();this.btn=new Element("a",{"class":"parchment_btn_spoiler disabled",href:"#"}).addEvent("click",function(d){var c=new Event(d).stop();if(this.btn.hasClass("disabled")){return false}this.create()}.bind(this)).inject(this.placement,"after").setProperty("title","Spoiler");this.parch.buttons.spoiler=this.btn;this.parch.addEvent("parchmentCleanOnSaveStart",this.clean.bind(this));this.parch.addEvent("parchmentCleanComplete",this.hijack.bind(this));this.parch.addEvent("parchmentToolbarButtonsStatuts",function(d,f,e,c){this.toolbarButtonStatus(d,f,e,c)}.bind(this));this.parch.addEvent("parchmentMouseup",function(){this.hideEditMenu();this.activateButton()}.bind(this));window.addEvent("scroll",this.hideEditMenu.bind(this));window.addEvent("resize",this.hideEditMenu.bind(this))},activateButton:function(){var b=this.parch.getTextSelection();var a=b.toString();if(a.trim()==""){this.btn.addClass("disabled")}else{this.btn.removeClass("disabled")}},toolbarButtonStatus:function(c,e,d,a){var b="/rel='spoiler'/gi";this.parch.setButtonStatus("spoiler","spoiler",b,c,e,d,a,this.parch.buttons);if(e.trim()==""&&!this.btn.hasClass("active")){this.btn.addClass("disabled")}else{this.btn.removeClass("disabled")}},hijack:function(){this.parch.body.getElements(".js-item-cage").each(function(a){if(a.getProperty("rel")!="spoiler"){return}var c=a.getElement(".js-spoiler-btn");if(!c){return}var b=c.getElement("a");if(!b){return}b.addEvent("click",function(f){new Event(f).stop();var h=this.parch.getCage(b);var g=h.getElement(".js-spoiler-div");if(g.getStyle("visibility")=="hidden"){g.setStyles({visibility:"visible",height:"auto"})}else{g.setStyles({visibility:"hidden",height:"0px"})}this.parch.resize()}.bind(this));b.addEvent("mouseover",function(d){clog("mouseover");new Event(d).stop();this.anchor=b;this.spoiler=this.parch.getCage(b);this.showEditMenu()}.bind(this))}.bind(this))},hideEditMenu:function(){this.parch.hideElement(this.container)},showEditMenu:function(){var a=$(this.parch.IF).getCoordinates(),c=$(this.parch.CT).getCoordinates();var b=this.anchor.getCoordinates();var d=this.container.getCoordinates();var f=b.bottom+a.top;var e=b.left+c.left;if(e>a.width/2&&b.width<d.width){e=e-(d.width-b.width)}this.container.setStyles({visibility:"visible",top:f,left:e})},getEditMenu:function(){str='<a class="jsRemoveLink">Change back to normal</a> - <a class="jsClose">X</a>';var a=new Element("div").addClass("parchment_edit_menu").setHTML(str).inject(document.body);this.parch.setMenuZindex(a);this.parch.hideElement(a);a.getElement(".jsRemoveLink").addEvent("click",function(){this.undo();this.hideEditMenu()}.bind(this));a.getElement(".jsClose").addEvent("click",function(){this.hideEditMenu()}.bind(this));return a},clean:function(){this.parch.body.getElements(".js-item-cage").each(function(a){if(a.getProperty("rel")!="spoiler"){return}var b=a.getElement(".js-spoiler-div");b.setStyles({visibility:"hidden",height:"0px",overflow:"hidden"})})},undo:function(){var a=this.spoiler.getElement(".js-spoiler-div").get("html");this.parch.selectNode(this.spoiler,true);this.parch.insertHTML(a)},create:function(){if(Browser.Engine.trident){var h=this.parch.getSelectionObject();var a=this.parch.getRange();var d=this.parch.getCommonAncestor(a);var e=h.htmlText}else{var h=this.parch.getSelectionObject();var a=this.parch.getRangeObject(h);var d=h.anchorNode.parentNode;var g=a.cloneRange();var f=g.cloneContents();var b=this.parch.doc.createElement("span");b.appendChild(f);var e=b.innerHTML}newStr="<div class='js-item-cage' rel='spoiler'>";newStr+="<div class='js-spoiler-btn'><a href='#'><span>SPOILER WARNING: Click here to reveal hidden content.</span></a></div>";newStr+="<div class='js-spoiler-div' style='visibility:hidden; height:0px; overflow:hidde'>"+e+"</div>";newStr+="</div>";this.parch.insertHTML(newStr);this.hijack()}});