var VINES_CONFIRM_LEAVE_PAGE=false;function confirmLeavePage(){if(VINES_CONFIRM_LEAVE_PAGE){return"Leave page without saving?"}}window.addEvent("domready",function(){$$(".js-spoiler-btn a").addEvent("click",function(f){var b=new Event(f).stop(),d=false,g=false,a=false;d=this.getParent("div.js-item-cage");if(!d){return}g=d.getElement(".js-spoiler-div");if(!g){return}if(g.getStyle("visibility")=="hidden"){g.setStyle("height","auto");a=g.getCoordinates().height;g.setStyle("height",0);g.get("morph",{duration:600}).start({height:[0,a],visibility:"visible"})}else{g.get("morph",{duration:600}).start({visibility:"hidden",height:0})}})});function createParchment(a){options={};options.css=window.SITE_OVERRIDE_RTE_CSS;options.tools=[{type:"button",value:"h2",alt:"Header 1"},{type:"button",value:"h3",alt:"Header 2"},{type:"button",value:"h4",alt:"Header 3"},{type:"button",value:"strong",alt:"Bold"},{type:"button",value:"em",alt:"Italic"},{type:"button",value:"u",alt:"Underline"},{type:"spacer",value:""},{type:"button",value:"ul",alt:"Unordered List"},{type:"button",value:"ol",alt:"Ordered List"},{type:"plugin",file:"parchment_indent",call:"parchment_indent"},{type:"plugin",file:"parchment_blockquote",call:"parchment_blockquote"},{type:"plugin",file:"parchment_spoiler",call:"parchment_spoiler"},{type:"spacer",value:""},{type:"plugin",file:"parchment_link",call:"parchment_link"}];options.dropdown={type:"dropdown",value:"insert",plugins:[{type:"plugin",file:"parchment_image",call:"parchment_image"},{type:"plugin",file:"parchment_video",call:"parchment_video"},{type:"plugin",file:"parchment_table",call:"parchment_table"},{type:"plugin",file:"parchment_code",call:"parchment_code",run:["pre","html"]}]};if(VINES_HAS_LISTS){options.dropdown.plugins.include({type:"plugin",file:"parchment_list",call:"parchment_list"})}options.tools.include(options.dropdown);a.toolbar?toolbar=a.toolbar:toolbar="full";if(toolbar=="full"){options.sizepicker="wiki"}else{if(toolbar=="simple"){options.sizepicker="wiki"}else{if(toolbar=="news"){options.sizepicker="news"}else{if(toolbar=="wikid"){options.sizepicker="wiki";options.css.include(MEDIA_URL+"editor/css/parchment_wikid.css");options.tools=[{type:"button",value:"h2",alt:"Header 2"},{type:"button",value:"h3",alt:"Header 3"},{type:"button",value:"strong",alt:"Bold"},{type:"button",value:"em",alt:"Italic"},{type:"button",value:"u",alt:"Underline"},{type:"spacer",value:""},{type:"button",value:"ul",alt:"Unordered List"},{type:"button",value:"ol",alt:"Ordered List"},{type:"plugin",file:"parchment_indent",call:"parchment_indent"},{type:"plugin",file:"parchment_blockquote",call:"parchment_blockquote"},{type:"spacer",value:""},{type:"plugin",file:"parchment_link",call:"parchment_link"},{type:"dropdown",value:"insert",plugins:[{type:"plugin",file:"parchment_image",call:"parchment_image"},{type:"plugin",file:"parchment_table",call:"parchment_table"}]}]}}}}if(VINES_USER_PERMISSION){options.tools.combine([{type:"spacer",value:""},{type:"button",value:"codeview",alt:"Code View"}])}options.toolbar=toolbar;var b=new Parchment(a.id,options);return b}var Parchment=new Class({Implements:[Events,Options],execCommands:{strong:["bold",null],em:["italic",null],u:["underline",null],superscript:["superscript",null],subscript:["subscript",null],left:["justifyleft",null],center:["justifycenter",null],right:["justifyright",null],indent:["indent",null],outdent:["outdent",null],h2:["formatblock","<H2>"],h3:["formatblock","<H3>"],h4:["formatblock","<H4>"],p:["formatblock","<P>"],ul:["insertunorderedlist",null,false],ol:["insertorderedlist",null],link:["createlink","Url:","http://"],unlink:["unlink",null],clean:["removeformat",false],codeview:["codeview"],img:["insertimage","Src:"]},initialize:function(g,d){d.plugins?this.plugins=d.plugins:this.plugins=false;d.tools?this.tools=d.tools:this.tools=false;d.toolbar?this.toolbar=d.toolbar:this.toolbar=false;d.sizepicker?this.sizepicker=d.sizepicker:this.sizepicker="wiki";d.css?this.css=d.css:this.css=false;this.focusOnLoad=false;this.editModeDisabled=true;this.editMode=false;this.resizing=false;this.resizingComplete=false;this.loaded=false;this.targetId=g;this.targetEl=$(g);this.targetHeight=$(g).clientHeight;this.minHeight=150;this.lineHeight=19;this.tbDropDowns=[];this.buttons={};this.cleanCounter=0;this.alphaNodes=["p","h2","h3","blockquote","div"];this.posCaret=false;var a=false;if(this.targetEl.value!=""){var e=this.targetEl.getParent();var f=new Element("div").set("html",this.targetEl.value).setStyles({position:"absolute",left:"-1000px",width:e.getCoordinates().width}).inject(document.body);if(f.getCoordinates().height>this.minHeight){a=f.getCoordinates().height}f.destroy()}this.TA=this.targetEl.setStyle("display","none");this.SB=new Element("div").addClass("status");Browser.Engine.trident?dragCorner="drag-corner-ie":dragCorner="drag-corner";this.DC=new Element("div").addClass(dragCorner).inject(this.SB);this.MASK=new Element("div");this.IF=new IFrame({id:"iframe"+this.targetId,frameborder:0,border:0,marginwidth:0,marginheight:0,leftmargin:0,topmargin:0,allowtransparency:"true",scrolling:"no"}).setStyles({width:"100%",overflow:"auto"});this.TB=new Element("div",{"class":"toolbar"});this.loadToolbar();var b=this;this.iframeTimer=window.setTimeout(function(){b.iframeLoaded.call(b)},100);this.CT=new Element("div",{id:"parchment","class":("parchment")}).injectBefore(this.TA).adopt(this.TB,this.IF,this.TA,this.SB,this.MASK);if(a){this.IF.setStyle("height",a+"px")}this.mask(true)},getTA:function(){if(this.TA.getTag()=="textarea"){return this.TA.value}else{return this.TA.get("html")}},setTA:function(a){if(this.TA.getTag()=="textarea"){this.TA.value=a}else{this.TA.set("html",a)}},getContents:function(){this.setTA(this.cleanOnSave());return this.getTA()},getOS:function(){var a=false;if(navigator.appVersion.indexOf("Win")!=-1){a="windows"}if(navigator.appVersion.indexOf("Mac")!=-1){a="mac"}if(navigator.appVersion.indexOf("X11")!=-1){a="unix"}if(navigator.appVersion.indexOf("Linux")!=-1){a="linux"}return a},iframeLoaded:function(){this.window=this.IF.contentWindow;this.doc=this.IF.contentWindow.document;this.loadCss();this.ready=window.setInterval(function(){this.body=this.IF.contentWindow.document.body;if(this.body){window.clearInterval(this.ready);$(this.body).setStyles({"padding-top":"0","padding-bottom":"0","margin-top":"0","margin-bottom":"0"});this.toggleView();window.onbeforeunload=confirmLeavePage;this.captureEvents();this.saveEvents();this.handleStatusbar();this.handleToolbar();if(this.focusOnLoad){this.setFocus()}}}.bind(this),100)},loadCss:function(){var f=this.doc;if(Browser.Engine.trident){var d=f.getElementsByTagName("head")[0];for(k=0;k<this.css.length;k++){var b=this.css[k];var e=f.createElement("link");e.setAttribute("rel","stylesheet");e.setAttribute("type","text/css");e.setAttribute("href",b);d.appendChild(e)}}else{var a='<html><head xmlns="http://www.w3.org/1999/xhtml">';for(k=0;k<this.css.length;k++){a+='<link rel="stylesheet" href="'+this.css[k]+'" type="text/css" charset="utf-8">'}a+='<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />';a+='</head><body id="parchment'+this.targetId+'" class="wiki-content"></body></html>';f.open();f.write(a);f.close()}},loadToolbar:function(){this.tools.each(function(a){if(a.type=="spacer"){new Element("span",{"class":"parchment_btn_spacer"}).inject(this.TB)}else{if(a.type=="button"){this.loadButton(a)}else{if(a.type=="plugin"){this.loadPlugin(a)}else{if(a.type=="dropdown"){var b=this.createDropDown(a.value);if(a.plugins){a.plugins.each(function(d){d.dropmenu=b;this.loadPlugin(d)}.bind(this))}if(a.buttons){a.buttons.each(function(d){d.dropmenu=b;this.loadButton(d)}.bind(this))}}}}}}.bind(this))},hideDropDowns:function(){this.tbDropDowns.each(function(a){this.hideElement(a)}.bind(this))},loadButton:function(e){var f=e.value;var d=e.value;if(e.text){d=e.text}var g="";if(e.alt){g=e.alt}if(e.dropmenu){var a=this.addDropOption(d,e.icon,e.dropmenu)}else{var a=new Element("a",{"class":"parchment_btn_"+f,href:"#"}).inject(this.TB).setProperty("title",g);this.buttons[f]=a}a.addEvent("click",function(h){var b=new Event(h).stop();this.fireEvent("parchmentToolbarClick",f);if(this.TB.hasClass("disabled")&&!b.target.hasClass("toggle")){return}if(f=="codeview"){this.toggleView()}else{this.exec(f)}if(e.dropmenu){this.hideDropDowns()}}.bind(this))},loadPlugin:function(arg){arg.dropmenu?arg.placement=arg.dropmenu:arg.placement=this.TB.getLast();var call="var placement=arg.placement;var parch=this;var cls = new "+arg.call+"(parch, placement);";if(arg.run){arg.run.each(function(run){call+=" cls."+run+"();"})}eval(call)},createDropDown:function(d){var a=new Element("a",{href:"#","class":"parchment_dropdown"}).setHTML(d).inject(this.TB);var b=new Element("ul",{"class":"parchment_dropdown_choices"}).inject(document.body);this.hideElement(b);window.addEvent("scroll",function(){this.hideElement(b)}.bind(this));this.tbDropDowns.include(b);a.addEvent("click",function(g){var f=new Event(g).stop();if(Browser.Engine.trident){this.posCaret=this.createCaret()}if(this.TB.hasClass("disabled")){return}this.tbDropDowns.each(function(e){this.hideElement(e)}.bind(this));this.fireEvent("parchmentToolbarClick");b.setStyles({visibility:"visible",position:"absolute",top:a.getCoordinates().bottom,left:a.getCoordinates().left});this.setMenuZindex(b)}.bind(this));return b},setMenuZindex:function(d){var b=false;var a=this.TA.getParents();a.each(function(e){if(!b){if(e.getStyle("z-index")>0){b=e.getStyle("z-index")}}});if(b){d.setStyle("z-index",b)}},addDropOption:function(e,b,a,d){var f=new Element("li").setStyle("background-image",'url("'+b+'")').inject(a);new Element("span",{"class":"dropmenu_text"}).setHTML(e).inject(f);if(d){new Element("span",{"class":"submenu_arrow"}).inject(f)}f.addEvent("click",this.hideDropDowns.bind(this));return f},toolbarButtonStatus:function(){var b=this.currentEvent;if(Browser.Engine.trident){var g=this.getRange();e=this.getCommonAncestor(g);var a=e.innerHTML;var f=e.innerHTML}else{var d=this.getSelectionObject();var g=this.getRangeObject(d);var i=g.cloneRange();var j=i.cloneContents();var e=d.anchorNode.parentNode;var m=this.doc.createElement("span");m.appendChild(j);var a=m.innerHTML;var f=e.innerHTML}var l=$(e).getParents();var h=[{a:"h2",b:"h2",c:"/<h2 ([^>]*)>/gi"},{a:"h3",b:"h3",c:"/<h3 ([^>]*)>/gi"},{a:"u",b:"u",c:"/<u>/gi"},{a:"i",b:"em",c:"/<i>/gi"},{a:"b",b:"strong",c:"/<b ([^>]*)>/gi"}].each(function(n){this.setButtonStatus(n.a,n.b,n.c,e,a,f,l,this.buttons)}.bind(this));this.fireEvent("parchmentToolbarButtonsStatuts",[e,a,f,l])},setButtonStatus:function(a,d,e,g,i,h,b,f){f[d].removeClass("active");if(i.match(e)||$(g).getTag()==a||(g.getTag()!="html"&&g.getTag()!="body"&&h.match(e))){f[d].addClass("active").removeClass("disabled")}else{b.each(function(j){if(j.getTag()==a){f[d].addClass("active").removeClass("disabled")}})}},disableContextMenu:function(f,a,g){var b=new Event(f);a.oncontextmenu=function(i){var h=new Event(i).stop();return false};function d(e){e.oncontextmenu=function(){return false}}d(a);b.stop();if(g){if(Browser.Engine.trident){window.setTimeout(function(){this.fireEvent(g,b)}.bind(this),400)}else{this.fireEvent(g,b)}}return false},cleanOnSave:function(){VINES_CONFIRM_LEAVE_PAGE=false;if(!this.editMode){this.showEditor()}this.fireEvent("parchmentCleanOnSaveStart");var a=$(this.body);this.cleanSpans(a);a.getElements(".item-caption,.side-title").each(function(h){h.set("html",h.get("text"));if(h.get("html").trim()=="&nbsp;"){h.set("html","")}});var d=[];var e=a.lastChild;while(e){var g=false;if(e.nodeType==1&&$(e).getTag()=="br"){g=e}else{if(e.nodeType==3){var f=e.nodeValue;f=f.toString();f=f.trim();if(f==""){g=e}}}if(g){d.include(e);e=e.previousSibling}else{e=false}}d.each(function(h){a.removeChild(h)});if(Browser.Engine.trident){var b=a.innerHTML;b=b.replace(/<parchobject ([^>]*)>/gi,"<object $1>");b=b.replace(/<\/parchobject>/gi,"</object>");b=b.replace(/<\/param>/gi,"");return b}else{return this.body.innerHTML}},catchPaste:function(){if(this.body.getElement("div.pastecatcher")){this.replaceElement(this.body.getElement("div.pastecatcher").removeClass("pastecatcher"),"span")}if(Browser.Engine.webkit){c='<div class="pastecatcher">&nbsp;</div>';this.insertHTML(c);this.pasteCatcher=this.body.getElement(".pastecatcher");this.pasteCatcher.focus();this.selectNode(this.pasteCatcher);window.setTimeout(function(){if(this.pasteCatcher.innerHTML!="&nbsp;"){var a=this.pasteCatcher.innerHTML;this.pasteCatcher.innerHTML="";this.selectNode(this.pasteCatcher,true);this.cleanPaste(a)}}.bind(this),100)}else{if(Browser.Engine.trident||Browser.Engine.gecko){c='&nbsp;<div class="pastecatcher">&nbsp;</div>&nbsp;';this.insertHTML(c);this.pasteCatcher=this.body.getElement(".pastecatcher");this.selectNode(this.pasteCatcher);this.pasteTimer=window.setInterval(function(){if(this.pasteCatcher.innerHTML!="&nbsp;"){window.clearInterval(this.pasteTimer);var a=this.pasteCatcher.innerHTML;this.pasteCatcher.innerHTML="";this.selectNode(this.pasteCatcher,true);this.doc.execCommand("delete",true,true);this.cleanPaste(a)}}.bind(this),100)}else{this.currentEvent.stop()}}},cleanPaste:function(a){var b=this.doc.createElement("div");b.innerHTML=a;b=$(b);if(a.contains("<")){b.set("html",b.get("html").stripScripts());this.cleanTags(b);this.cleanSpans(b);this.cleanChildren(b);var a=b.innerHTML;b.innerHTML=a.replace(/style="([^>]*)"/gi," ")}this.insertHTML(b.innerHTML);this.fireEvent("parchmentCleanComplete");this.createCaret();window.setTimeout(function(){this.selectCaret()}.bind(this),100)},clean:function(){this.mask(true);if(!this.body.getFirst()){this.body.appendChild(this.makeBreak())}$(this.body).getElements("div.gallery-insert").each(function(a){a.addClass("js-item-cage")});this.cleanCounter++;if(this.cleanCounter>25){clog("CLEAN ABORTED.");this.body.innerHTML=this.originalBodyPreClean;this.cleanDone();return}if(!this.cleaning){this.cleanStart()}else{this.originalBodyPreClean=this.body.innerHTML}},cleanStart:function(){this.cleanComplete=false;this.cleaning=true;var a=$(this.body);a.set("html",a.get("html").stripScripts());this.cleanTags(a);this.cleanSpans(a);this.cleanChildren(a);var b=a.getFirst();if(b.hasClass("js-item-cage")){a.insertBefore(this.makeBreak(),b)}this.cleanDone()},cleanDone:function(){clog("DONE CLEAN");this.fireEvent("parchmentCleanComplete");this.cleanCounter=0;this.cleanComplete=true;this.cleaning=false;this.mask(false);return this.body.innerHTML},cleanTags:function(e){clog("PROBLEM TAGS!!!!!!!!");var a=$(e);var b=a.innerHTML;var d=e.innerHTML;d=d.replace(/<div><br><\/div>/gi,"<br>");e.innerHTML=d;a.getElements("li, div, br, strong").each(function(j){var f=j.getTag();if(f=="li"){var i=j.getParent();if(i&&i.getTag()!="ul"&&i.getTag()!="ol"){this.replaceElement(j,"span")}}else{if(f=="div"){if(this.getCage(j)==false){var g=this.makeBreak();j.appendChild(g);this.replaceElement(j,"span")}else{var h=j.getNext();if(h&&h.hasClass("js-item-cage")){h.parentNode.insertBefore(this.makeBreak(),h)}}}else{if(f=="strong"||f=="b"){var l=j.getPrevious();var h=j.getNext();if((l&&l.getTag()=="br")&&(h&&h.getTag()=="br")){this.replaceElement(j,"h3")}}}}}.bind(this))},replaceElement:function(d,a){var b=this.doc.createElement(a);b.innerHTML=d.innerHTML;d.parentNode.replaceChild(b,d)},hideElement:function(a){$(a).setStyles({position:"absolute",top:"0px",left:"0px",visibility:"hidden"})},hide:function(){this.CT.setStyles({position:"absolute",top:"0px",left:"-2000px",visibility:"hidden"})},cleanSpans:function(b){b.getElements("span").each(function(d){try{if(d.getStyle("font-weight")=="bold"){d.innerHTML="<b>"+d.innerHTML+"</b>"}if(d.getStyle("font-style")=="italic"){d.innerHTML="<i>"+d.innerHTML+"</i>"}if(d.getStyle("text-decoration")=="underline"){d.innerHTML="<u>"+d.innerHTML+"</u>"}}catch(f){}}.bind(this));var a=b.innerHTML;a=a.replace(/<span([^>]*)class="js-whiskey-quote-user-profile"([^>]*)>/gi,'<PARCHSPAN $2 class="js-whiskey-quote-user-profile" $1/>');a=a.replace(/<span([^>]*)class="js-whiskey-quote-user-profile"([^>]*)>/gi,'<PARCHSPAN $2 class="js-whiskey-quote-user-profile" $1/>');a=a.replace(/<span([^>]*)>/gi," ");a=a.replace(/<\/span>/gi,"");a=a.replace(/<font([^>]*)>/gi," ");a=a.replace(/<\/font>/gi,"");a=a.replace(/\n/gi," ");a=a.replace(/\t/gi," ");a=a.replace(/<p ([^>]*)>/gi,"<p>");a=a.replace(/<parchspan([^>]*)>/gi,"<span $1></span>");b.innerHTML=a},cleanElement:function(e,f){var h=["with-out-border","with-border","t-editor","full-width","natural-width","t-user-list"];var b=["h-20","w-50"];var a=["w-50","pt-5","pb-5"];var g=e.className;var d=g.split(" ");d.each(function(i){if(e.getTag()=="table"&&h.contains(i.trim())){return}if(e.getTag()=="td"&&b.contains(i.trim())){return}if(e.getTag()=="img"&&a.contains(i.trim())){return}if(i.trim()!=""&&e.hasClass(i)){e.removeClass(i)}});e.setStyles({});e.removeProperties(e.getProperties())},cleanChildren:function(a){a.getChildren().each(function(b){this.walkChildren(b)}.bind(this));return a},walkChildren:function(a){if(!$(a)){return}if(a.getTag()=="div"&&a.hasClass("js-item-cage")){return}this.cleanElement(a);a.getChildren().each(function(b){this.walkChildren(b)}.bind(this));if(a.getTag()=="ul"){a.addClass("plain-list")}if(a.childNodes.length==0&&!a.getTag()=="img"){a.destroy()}},handleToolbar:function(){window.addEvent("scroll",function(){var d=this.CT.getCoordinates(),f=this.TB.getCoordinates(),a=this.SB.getCoordinates(),e=window.getScroll().y;if(e>d.top&&e<(d.bottom-f.height-a.height)){var b=this.tbWidth();this.TB.setStyles({overflow:"hidden",position:"fixed",top:0,width:b})}else{if(e>d.top){this.TB.setStyles({position:"absolute",top:"-20"})}else{this.TB.setStyles({position:"relative",width:"auto"})}}}.bind(this));window.addEvent("resize",function(){if(this.TB.getStyle("position")!=="fixed"){return}var a=this.tbWidth();this.TB.setStyles({width:a})}.bind(this))},tbWidth:function(){return this.CT.getStyle("width").toInt()-this.TB.getStyle("padding").toInt()-this.CT.getStyle("border-left-width").toInt()-this.CT.getStyle("border-right-width").toInt()-4},handleStatusbar:function(){this.editorHeight=this.CT.getCoordinates().height;this.SB.setStyles({position:"relative",left:"0px",top:"0px"});this.drag=new Drag(this.SB,{snap:6,handle:this.DC});this.dragTop=this.SB.getCoordinates().top;this.drag.addEvent("beforeStart",function(){this.SB.setStyles({position:"relative",left:"0px"});this.mask(true,true)}.bind(this));this.drag.addEvent("drag",function(){var f=this.SB.getCoordinates().top;var b=this.TB.getCoordinates().bottom+5;if(this.dragTop>f&&f<b){this.drag.stop();this.drag.fireEvent("complete");return}this.SB.setStyles({position:"relative",left:"0px"});var a=this.SB.getCoordinates(),d=this.CT.getCoordinates(),g=this.TB.getCoordinates();var e=(a.bottom-d.bottom)+d.height-5;this.CT.setStyle("height",e);this.mask(true,true);this.dragTop=f}.bind(this));this.drag.addEvent("complete",function(){this.mask(false);this.resizeAfterDrag();this.SB.setProperty("style","").setStyles({position:"relative",zoom:"1",top:"0px"});this.editorHeight=this.CT.getCoordinates().height}.bind(this))},saveEvents:function(){if($(this.TA).form){var a=$(this.targetEl).form;$(a).addEvent("submit",function(b){this.setTA(this.cleanOnSave())}.bind(this))}$(this.TA).addEvent("editorSave",function(){this.setTA(this.cleanOnSave());this.TA.fireEvent("editorSaveComplete",this.getTA())}.bind(this));$(this.TA).addEvent("quote",function(b){var b=b+"<br/>";this.insertHTML(b);this.resize()}.bind(this));$(this.TA).addEvent("reply",function(b){var b=b+"<br/>";this.insertHTML(b);this.resize()}.bind(this))},captureEvents:function(){if(this.doc.addEventListener){this.doc.addEventListener("paste",this.handlePaste.bindWithEvent(this),false);this.doc.addEventListener("click",this.handleClick.bindWithEvent(this),false);this.doc.addEventListener("keydown",this.handleKeyDown.bindWithEvent(this),false);this.doc.addEventListener("keyup",this.handleKeyUp.bindWithEvent(this),false);this.doc.addEventListener("keypress",this.handleKeyPress.bindWithEvent(this),false);this.doc.addEventListener("mousedown",this.handleMouseDown.bindWithEvent(this),false);this.doc.addEventListener("mouseup",this.handleMouseUp.bindWithEvent(this),false);this.doc.addEventListener("mousemove",this.handleMouseMove.bindWithEvent(this),false)}else{if(this.doc.attachEvent){this.body.attachEvent("onpaste",this.handlePaste.bindWithEvent(this));this.doc.attachEvent("onclick",this.handleClick.bindWithEvent(this),false);this.doc.attachEvent("onkeydown",this.handleKeyDown.bindWithEvent(this));this.doc.attachEvent("onkeyup",this.handleKeyUp.bindWithEvent(this));this.doc.attachEvent("onkeypress",this.handleKeyPress.bindWithEvent(this));this.doc.attachEvent("onmousedown",this.handleMouseDown.bindWithEvent(this));this.doc.attachEvent("onmouseup",this.handleMouseUp.bindWithEvent(this));this.doc.attachEvent("onmousemove",this.handleMouseMove.bindWithEvent(this))}}},handlePaste:function(b){var a=new Event(b);this.currentEvent=a;this.catchPaste()},handleClick:function(b){var a=new Event(b);this.currentEvent=a},testCursorInTag:function(a){var e=false;var d=this.getSelectedElement();if(a.contains(d.getTag())){e=d}else{var b=false;a.each(function(f){if(d.getParents(f)){b=d.getParents(f);if(b[0]){e=b[0]}}})}return e},handleKeyDown:function(i){var a=new Event(i);this.currentEvent=a;this.fireEvent("parchmentKeyDown",a);var f=["b","i","u","z","l"];if(a.key=="enter"){var j=false;var g=this.getSelectedElement();if(g.getTag()=="li"){j=true}if(!j){g.getParents().each(function(e){if(e.getTag()=="li"){j=true}})}this.inHeader=this.testCursorInTag(["h1","h2","h3","h4"]);if(this.inHeader){if(Browser.Engine.trident){var h=this.getRange();var d="before"}else{var b=this.getSelectionObject();var h=this.getRangeObject(b);h.startOffset==0?d="before":d="after"}}if(j){}else{if(Browser.Engine.presto){}else{a.stop();if(this.inHeader){this.setCaret(this.inHeader,d)}this.insertHTML('&nbsp;<br><span id="__">&nbsp;</span>');var l=this.body.getElement("span#__").setProperty("id","");this.selectNode(l,true);this.doc.execCommand("delete",false,false)}}}else{if(Browser.Engine.gecko&&a.meta&&a.key=="left"){a.stop()}else{if(a.meta&&a.key=="right"){a.stop()}else{if(a.key=="backspace"||a.key=="delete"){var b=this.getSelection();if(b.anchorNode.nodeType==3){this.backSpaceParent=b.anchorNode.parentNode}else{this.backSpaceParent=b.anchorNode}}else{if(a.shift&&a.key=="z"&&(a.meta||a.control)){a.stop();this.doc.execCommand("redo",false,false);this.resize()}else{if((a.meta||a.control)&&(f.contains(a.key))){a.stop();if(a.key=="b"){this.doc.execCommand("bold",false,false)}else{if(a.key=="i"){this.doc.execCommand("italic",false,false)}else{if(a.key=="u"){this.doc.execCommand("underline",false,false)}else{if(a.key=="z"){this.doc.execCommand("undo",false,false);this.resize()}}}}}}}}}}},handleKeyUp:function(g){var d=new Event(g);this.currentEvent=d;if(d.key=="enter"){this.resize()}else{if(d.key=="backspace"||d.key=="delete"){var f=this.getSelection();var b=this.getCage(f.anchorNode);if(!this.getCage(this.backSpaceParent)&&b){this.doc.execCommand("undo",false,false);this.setCaret(b,"before")}this.resize()}else{if(this.bodyHeight&&this.bodyHeight!=this.body.offsetHeight){this.resize(false)}this.bodyHeight=this.body.offsetHeight}}if(["left","right","up","down"].contains(d.key)){this.toolbarButtonStatus()}this.fireEvent("parchmentKeyup");var a=$(this.body).get("text");a=a.replace(/&nbsp;/gi,"");a=a.trim();a?VINES_CONFIRM_LEAVE_PAGE=true:VINES_CONFIRM_LEAVE_PAGE=false},handleKeyPress:function(a){},handleMouseDown:function(b){var a=new Event(b);this.hideDropDowns();this.currentEvent=a;this.fireEvent("parchmentMousedown",a)},handleMouseUp:function(b){var a=new Event(b);this.currentEvent=a;this.toolbarButtonStatus();this.fireEvent("parchmentMouseup")},handleMouseMove:function(a){},setFocus:function(){this.IF.contentWindow.window.focus()},toggleView:function(){this.editMode?this.showHTML():this.showEditor()},plainTextFormat:function(a){if(!a){return}a=a.replace(/<br([^>]*)>/gi,"<br $1>\n");a=a.replace(/<p ([^>]*)>/gi,"\n<p $1>\n");a=a.replace(/<center>/gi,"<center>\n");a=a.replace(/<\/center>/gi,"</center>\n");a=a.replace(/<\/p>/gi,"\n</p>\n");a=a.replace(/<\/h2>/gi,"</h2>\n");a=a.replace(/<\/h3>/gi,"</h3>\n");a=a.replace(/<ul([^>]*)>/gi,"\n\t<ul $1>\n");a=a.replace(/<ol([^>]*)>/gi,"\n<ol $1>\n");a=a.replace(/<\/ul>/gi,"</ul>\n");a=a.replace(/<\/ol>/gi,"</ol>\n");a=a.replace(/<li([^>]*)>/gi,"\t<li $1>");a=a.replace(/<\/li>/gi,"</li>\n");a=a.replace(/<param([^>]*)>/gi,"\t\t<param$1>\n");a=a.replace(/<\/param>/gi,"");a=a.replace(/<object([^>]*)>/gi,"\t<object$1>\n");a=a.replace(/<embed([^>]*)>/gi,"\t\t<embed$1>\n");a=a.replace(/<\/object>/gi,"\t</object>\n");a=a.replace(/<div([^>]*)>/gi,"<div$1>\n");a=a.replace(/<\/div>/gi,"</div>\n");return a},showHTML:function(b){this.editMode=false;this.editable(false);this.editModeDisabled=true;var e=this.doc.body.innerHTML;e=this.plainTextFormat(e);this.tbDropDowns.each(function(f){this.hideElement(f)}.bind(this));var d=this.TB.getElement(".parchment_btn_codeview");if(d){d.addClass("toggle")}this.setTA(e);if(this.TA.getTag()=="textarea"){this.textarea=this.TA}else{if(this.textarea){this.textarea.value=e}else{this.textarea=new Element("textarea").inject(this.TA,"before");this.textarea.value=e}}var a=this.CT.getCoordinates().width;this.textarea.setStyles({display:"inline",width:a,height:this.targetHeight,visibility:"visible"});if(this.textarea.scrollHeight>this.targetHeight){this.textarea.setStyle("height",this.textarea.scrollHeight)}this.IF.addClass("hidden");this.SB.addClass("hidden");this.TB.addClass("disabled");this.textarea.focus()},setEditorHtml:function(a){if(!this.body){return}this.setTA(a);this.body.innerHTML=a;this.showEditor()},showEditor:function(a){this.editMode=true;this.mask(true);var d=this.getTA();d=d.trim();if(Browser.Engine.trident){d=d.replace(/<object ([^>]*)>/gi,"<parchobject $1>");d=d.replace(/<\/object>/gi,"</parchobject>")}var b=this.TB.getElement(".parchment_btn_codeview");if(b){b.removeClass("toggle")}this.TA.setStyle("display","none");if(this.textarea){this.textarea.setStyle("display","none")}this.IF.removeClass("hidden");this.SB.removeClass("hidden");this.TB.removeClass("disabled");if(d!=""){this.body.innerHTML=d;this.timer=window.setInterval(function(){this.clean();if(this.cleanComplete){window.clearInterval(this.timer);this.resize();if(d.contains("embed")){Browser.Engine.gecko?delay=600:delay=300;window.setTimeout(function(){this.editModeDisabled=false;this.editable(true);this.set_loaded()}.bind(this),delay)}else{this.editModeDisabled=false;this.editable(true);this.set_loaded()}}}.bind(this),100)}else{this.body.appendChild(this.makeBreak());this.resize();this.editModeDisabled=false;this.editable(true);this.set_loaded()}},set_loaded:function(){if(!this.loaded){this.loaded=true;window.fireEvent("parchmentLoaded")}},editable:function(a){if(this.editModeDisabled){return}if(Browser.Engine.trident){this.body.contentEditable=a}else{a?this.doc.designMode="on":this.doc.designMode="off"}clog("DESIGN MODE IS "+this.doc.designMode)},mask:function(b,d){if(b){if(d){var a=this.CT.getCoordinates().height-this.SB.getCoordinates().height-2;this.MASK.addClass("parchment-loading").setStyles({display:"inline",width:this.CT.getCoordinates().width,height:a})}else{this.MASK.addClass("parchment-loading").setStyles({display:"inline",width:this.CT.getCoordinates().width,height:this.CT.getCoordinates().height})}}else{this.MASK.setStyle("display","none").removeClass("parchment-loading")}},exec:function(p,r){this.setFocus();if((p=="h2"&&this.buttons.h2.hasClass("active"))||(p=="h3"&&this.buttons.h3.hasClass("active"))){if(Browser.Engine.trident){var m=this.getRange();g=this.getCommonAncestor(m);var a=g.innerHTML;var i=g.innerHTML}else{var d=this.getSelectionObject();var m=this.getRangeObject(d);var n=m.cloneRange();var o=n.cloneContents();var g=d.anchorNode.parentNode;var q=this.doc.createElement("span");q.appendChild(o);var a=q.innerHTML;var i=g.innerHTML}var e=false;if($(g).getTag()=="h2"||$(g).getTag()=="h3"||$(g).getTag()=="h4"){e=g}else{$(g).getParents().each(function(b){if($(b).getTag()=="h2"||$(b).getTag()=="h3"||$(b).getTag()=="h4"){e=b}})}if(e){var l=e.innerHTML;if(Browser.Engine.trident){this.selectNode(e);this.doc.execCommand("delete",false,false)}else{this.selectNode(e,true)}this.insertHTML(l);this.toolbarButtonStatus();return}}if(p=="h2"||p=="h3"||p=="h3"){var d=this.getTextSelection();var q=this.doc.createElement("span");if(p=="h2"){var j=this.doc.createElement("h2")}else{var j=this.doc.createElement("h3")}j.innerHTML=d;q.appendChild(j);this.insertHTML(q.innerHTML);return}if(Browser.Engine.trident){}else{if(Browser.Engine.gecko){this.doc.execCommand("styleWithCSS",0,false)}else{if(Browser.Engine.webkit){this.doc.execCommand("styleWithCSS",false,false)}}}cmd=this.execCommands[p];var f=r||cmd[1];if(!r&&cmd[2]){if(!(f=prompt(cmd[1],cmd[2]))){return}}this.doc.execCommand(cmd[0],false,f);if(cmd[0]=="insertunorderedlist"){this.body.getElements("ul").each(function(b){b.addClass("plain-list")})}if(Browser.Engine.webkit){if(cmd[0]=="underline"){this.body.getElements("span").each(function(h){if(h.getStyle("text-decoration")){var b=this.doc.createElement("u");h.parentNode.insertBefore(b,h);b.appendChild(h);h.setStyle("text-decoration","none");h.className=""}}.bind(this))}}this.toolbarButtonStatus();this.resize()},insertHTML:function(e,a){e=e.stripScripts();if(a){this.selectNode(a,true)}this.setFocus();if(Browser.Engine.trident){var b=this.getRange();if(b!=null){b.pasteHTML(e)}}else{if(Browser.Engine.gecko){var f='src="'+VINES_BASE_URL;e=e.replace(f,'src="');var f='href="'+VINES_BASE_URL;e=e.replace(f,'href="')}this.doc.execCommand("inserthtml",false,e);if(Browser.Engine.gecko&&(e.contains("<object")||e.contains("<embed"))){this.editable(false);this.body.innerHTML=this.body.innerHTML;window.setTimeout(function(){if(this.getOS()=="windows"){this.showHTML();this.showEditor()}else{this.editable(true);this.resize()}this.fireEvent("parchmentCleanComplete")}.bind(this),1000);return}}var d=false;if(Browser.Engine.gecko&&e.contains("<img")){d=1000}this.setFocus();this.resize(d)},makeBreak:function(){return this.doc.createElement("br")},resizeAfterDrag:function(){if(this.editorHeight<this.CT.getCoordinates().height){var d=this.CT.getCoordinates().height-(this.TB.getCoordinates().height-25);this.IF.setStyles({overflow:"hidden",height:d})}else{var i=this.doc.createElement("p");this.body.appendChild(i);var g=$(i).getCoordinates();var b=g.bottom;var f=i.previousSibling;while(f&&i.getCoordinates().bottom>this.CT.getCoordinates().bottom){if(!f){break}if(!f||f.nodeType==3){break}else{if(!f.innerHTML||f.innerHTML==""){$(f).destroy()}else{break}}var f=i.previousSibling}this.body.removeChild(i)}var e=this.body.lastChild;if(e.nodeType==3||$(e).getTag()!="br"){this.body.appendChild(this.makeBreak())}this.mask(false);var a=this.CT.getCoordinates().height-this.TB.getCoordinates().height;this.IF.setStyles({overflow:"hidden",height:a});this.CT.setStyle("height","auto");this.editorHeight=this.CT.getCoordinates().height;this.resizingComplete=true;this.resizing=false;this.fireEvent("resizeComplete")},resize:function(a){if(!a){a=300}if(this.resizing){return}this.mask(false);this.resizing=true;this.resizingComplete=false;window.setTimeout(function(){var f=this.doc.createElement("p");this.body.appendChild(f);var e=$(f).getCoordinates();var d=e.bottom;this.body.getChildren().each(function(g){if(g!=f&&g.getCoordinates().bottom>d){d=g.getCoordinates().bottom}});this.body.removeChild(f);var b=d;if(d<this.minHeight){b=this.minHeight}this.IF.setStyles({overflow:"hidden",height:b});this.CT.setStyle("height","auto");this.dragHeight=false;this.editorHeight=this.CT.getCoordinates().height;this.resizingComplete=true;this.resizing=false;this.fireEvent("resizeComplete")}.bind(this),a)},removeCage:function(a){if(!$(a)){return}this.selectNode(a,true);if(Browser.Engine.gecko){this.doc.execCommand("insertHTML",false," ")}else{this.doc.execCommand("delete",true,true)}this.setFocus();this.resize()},getCage:function(a){if(!a){return false}if(a.nodeType==3){a=$(a.parentNode)}if(a.hasClass("js-item-cage")){return a}var b=a.getParent("div.js-item-cage");if(!b||b.getTag()=="body"){b=false}return b},createCaret:function(b,a){this.body.getElements("span#_caret_").each(function(e){e.setProperty("id","")});if(b){var d=$(this.doc.createElement("span")).setProperty("id","_caret_").set("html","&nbsp;");d.inject(b,a)}else{this.insertHTML('<span id="_caret_"></span>')}return true},selectCaret:function(){this.posCaret=false;var a=this.body.getElement("span#_caret_").setProperty("id","");this.selectNode(a,true);if(!Browser.Engine.trident){a.destroy();this.toolbarButtonStatus()}},setCaret:function(b,a){this.createCaret(b,a);this.selectCaret()},getTextSelection:function(){var a=this.getSelectionObject();if(this.doc.selection){a=a.text}return a},getSelectionObject:function(){var a;if(this.IF.contentWindow.getSelection){a=this.IF.contentWindow.getSelection()}else{if(this.doc.selection){a=this.doc.selection.createRange()}}return a},getRangeObject:function(a){if(a.getRangeAt){return a.getRangeAt(0)}else{this.doc.createRange();range.setStart(a.anchorNode,a.anchorOffset);range.setEnd(a.focusNode,a.focusOffset);return range}},selectNode:function(f,b){if(!b){b=false}if(!f){return false}var g=this.getSelection(),a=null;if(b&&(Browser.Engine.trident||Browser.Engine.webkit)){var d=this.doc.createElement("span");f.parentNode.insertBefore(d,f);d.appendChild(f);d.innerHTML="&nbsp;"+d.innerHTML+"&nbsp;";f=d}if(Browser.Engine.trident){try{a=this.body.createTextRange();a.moveToElementText(f);a.select()}catch(h){}}else{if(Browser.Engine.webkit){g.setBaseAndExtent(f,0,f,f.innerText.length)}else{if(Browser.Engine.presto){g=this.window.getSelection();a=this.doc.createRange();a.selectNode(f);g.removeAllRanges();g.addRange(a)}else{a=this.doc.createRange();if(b){a.selectNode(f)}else{a.selectNodeContents(f)}g.removeAllRanges();g.addRange(a)}}}return g},hasSelection:function(){var d=this.getSelection();var a=this.getRange();var b=false;if(!d||!a){return b}if(Browser.Engine.trident||Browser.Engine.presto){if(a.text){b=true}if(a.html){b=true}}else{if(Browser.Engine.webkit){if(d+""!==""){b=true}}else{if(d&&(d.toString()!=="")&&(d!==undefined)){b=true}}}return b},getSelection:function(){if(this.doc&&this.IF.contentWindow){var a=null;if(this.doc.selection){a=this.doc.selection}else{a=this.IF.contentWindow.getSelection()}if(Browser.Engine.webkit){if(a.baseNode){this._selection={};this._selection.baseNode=a.baseNode;this._selection.baseOffset=a.baseOffset;this._selection.extentNode=a.extentNode;this._selection.extentOffset=a.extentOffset}else{if(this._selection!==null){a=this.getTextSelection()}}}}return a},getRange:function(){var b=this.getSelection();if(b===null){return null}if(Browser.Engine.webkit&&!b.getRangeAt){var f=this.doc.createRange();try{f.setStart(b.anchorNode,b.anchorOffset);f.setEnd(b.focusNode,b.focusOffset)}catch(d){f=this.window.getSelection()}return f}if(Browser.Engine.trident||Browser.Engine.presto){var a=null;if(this.posCaret){this.selectCaret()}try{var a=b.createRange()}catch(d){a=null}return a}if(b.rangeCount>0){return b.getRangeAt(0)}return null},getSelectedElement:function(){var f=this.doc,a=null,b=null,g=null;if(Browser.Engine.trident){this.currentEvent=this.IF.contentWindow.event;a=this.getRange();if(a){g=a.item?a.item(0):a.parentElement();if(g==f.body){g=null}}if((this.currentEvent!==null)&&(this.currentEvent.keyCode===0)){g=this.currentEvent.target}}else{b=this.getSelection();a=this.getRange();if(!b||!a){return null}if(!this.hasSelection()){if(b.anchorNode&&(b.anchorNode.nodeType==3)){if(b.anchorNode.parentNode){g=b.anchorNode.parentNode}if(b.anchorNode.nextSibling!=b.focusNode.nextSibling){g=b.anchorNode.nextSibling}}if(!g){g=a.commonAncestorContainer;if(!a.collapsed){if(a.startContainer==a.endContainer){if(a.startOffset-a.endOffset<2){if(a.startContainer.hasChildNodes()){g=a.startContainer.childNodes[a.startOffset]}}}}}}}if(this.currentEvent&&this.currentEvent!==null&&this.currentEvent.type){try{switch(this.currentEvent.type){case"click":case"mousedown":case"mouseup":g=this.currentEvent.target;break;default:break}}catch(d){}}else{if((this.currentElement&&this.currentElement[0])&&(!Browser.Engine.trident)){g=this.currentElement[0]}}if(Browser.Engine.presto||Browser.Engine.webkit){if(this.currentEvent&&!g){event=Event(this.currentEvent);g=event.target}}if(!g||!g.tagName){g=f.body}if(this.isElement(g,"html")){g=f.body}if(this.isElement(g,"body")){g=f.body}if(g&&!g.parentNode){g=f.body}if(g===undefined){g=null}return g},isElement:function(b,a){if(b&&b.tagName&&(b.tagName.toLowerCase()==a)){return true}if(b&&b.getAttribute&&(b.getAttribute("tag")==a)){return true}return false},getSelectionRange:function(){var a=null;if(this.IF.contentWindow.getSelection){a=this.IF.contentWindow.getSelection();if(a&&a.rangeCount&&a.getRangeAt){a=a.getRangeAt(0)}}else{if(this.doc.selection&&this.doc.selection.type=="Text"){a=this.doc.selection.createRange()}}return a},getCommonAncestor:function(a){return a.parentElement?a.parentElement():a.commonAncestorContainer}});
