if(typeof (XWiki)=="undefined"){XWiki=new Object()}if(typeof (XWiki.blog)=="undefined"){XWiki.blog=new Object()}XWiki.blog.Categories=Class.create({categoriesSelector:".blog-category-level",initialize:function(){if($$(".blog-categories-list")){this.addHoverListener();this.addDeleteListener();this.addAddSubcategoryListener();this.addAddCategoryListener();this.addRenameListener()}},addHoverListener:function(){if(Prototype.Browser.IE){$$(this.categoriesSelector).each(function(A){A.observe("mouseover",function(){A.addClassName("blog-category-level-hover")});A.observe("mouseout",function(){A.removeClassName("blog-category-level-hover")})})}},addRenameListener:function(){$$(".blog-category-level").each(function(A){A=A.down("a.rename");if(!A){return }A.observe("click",function(B){A.blur();B.stop();if(A.disabled){return }else{this.createRenameForm(A)}}.bindAsEventListener(this))}.bind(this))},createRenameForm:function(B){var A=B.up(".blog-categories-list");if(!A._x_rename_form){if(!A.disabled){new Ajax.Request("/xwiki/bin/view/Blog/ManageCategories?xpage=plain&display=renameForm&ajax=1",{onCreate:function(){A.disabled=true;A.notification=new XWiki.widgets.Notification("Fetching form...","inprogress")},onSuccess:function(D){var C=new Element("div");C.update(D.responseText);A._x_rename_form=C.down("form");this.ajaxifyRenameForm(A._x_rename_form);this.insertRenameForm(B,A._x_rename_form)}.bind(this),onFailure:function(C){new XWiki.widgets.Notification(C.responseText||"Server not responding","error")},on0:function(C){C.request.options.onFailure(C)},onComplete:function(){A.disabled=false;A.notification.hide()}})}}else{this.insertRenameForm(B,A._x_rename_form)}},insertRenameForm:function(C,B){B._x_item=C;C.up(".blog-category-tools").insert({after:B});var A=B.down("input[name=category]");A.value=C.href.substring(C.href.indexOf("category=")+9);B.show();B.down("input[type=text]").focus()},ajaxifyRenameForm:function(A){A.setAttribute("autocomplete","off");A.down("input[type=text]").setAttribute("autocomplete","off");A.down("input[type=text]").setAttribute("autocomplete","off");A.observe("submit",function(B){B.stop();A.down("input[type=text]").focus();if(A.newCategoryName.value!=""){new Ajax.Request(A.action+"?ajax=1&xpage=plain&display=list&"+A.serialize(),{onCreate:function(){A.disable();A.notification=new XWiki.widgets.Notification("Renaming category...","inprogress")},onSuccess:function(C){$$(".blog-categories-list").first().replace(C.responseText);this.initialize();A.reset()}.bind(this),onFailure:function(C){new XWiki.widgets.Notification(C.responseText||"Server not responding","error")},onComplete:function(){A.enable();A.notification.hide()},on403:function(C){new XWiki.widgets.Notification("You are not allowed to create the target document","error")},on404:function(C){new XWiki.widgets.Notification("Invalid category, please refresh the page to update the category tree","error")},on409:function(C){new XWiki.widgets.Notification("Target document already exists, please choose a different name","error")},on0:function(C){C.request.options.onFailure(C)}})}}.bindAsEventListener(this));A.down("a").observe("click",function(B){this.reset();B.stop()}.bindAsEventListener(A));A.observe("reset",function(){A.hide()})},addAddSubcategoryListener:function(){$$(".blog-category-level").each(function(A){A=A.down("a.add-subcategory");if(!A){return }A.observe("click",function(B){A.blur();B.stop();if(A.disabled){return }else{this.createAddSubcategoryForm(A)}}.bindAsEventListener(this))}.bind(this))},addAddCategoryListener:function(){$$(".blog-add-category-label a").each(function(A){A.observe("click",function(B){A.blur();B.stop();this.createAddSubcategoryForm(A)}.bindAsEventListener(this))}.bind(this))},createAddSubcategoryForm:function(B){var A=B.up(".blog-categories-list");if(!A._x_add_form){if(!A.disabled){new Ajax.Request("/xwiki/bin/view/Blog/ManageCategories?xpage=plain&display=addForm&ajax=1",{onCreate:function(){A.disabled=true;A.notification=new XWiki.widgets.Notification("Fetching form...","inprogress")},onSuccess:function(D){var C=new Element("div");C.update(D.responseText);A._x_add_form=C.down("form");this.ajaxifyAddForm(A._x_add_form);this.insertAddForm(B,A._x_add_form)}.bind(this),onFailure:function(C){new XWiki.widgets.Notification(C.responseText||"Server not responding","error")},on0:function(C){C.request.options.onFailure(C)},onComplete:function(){A.disabled=false;A.notification.hide()}})}}else{this.insertAddForm(B,A._x_add_form)}},insertAddForm:function(D,C){C._x_item=D;var A=C.down("select");A.selectedIndex=0;if(D.hasClassName("tool")){D.up(".blog-category-tools").insert({after:C});var B=A.down("option[value="+D.href.substring(D.href.indexOf("parentCategory=")+15)+"]");if(B){A.selectedIndex=B.index}A.up("label").hide()}else{D.up("ul").insert({after:C});A.up("label").show()}C.show();C.down("input[type=text]").focus()},ajaxifyAddForm:function(A){A.setAttribute("autocomplete","off");A.down("input[type=text]").setAttribute("autocomplete","off");A.down("input[type=text]").setAttribute("autocomplete","off");A.observe("submit",function(B){B.stop();A.down("input[type=text]").focus();if(A.newCategoryName.value!=""){new Ajax.Request(A.action+"?ajax=1&xpage=plain&mode=select&"+A.serialize(),{onCreate:function(){A.disable();A.notification=new XWiki.widgets.Notification("Adding category...","inprogress")},onSuccess:function(C){$$(".blog-categories-list").first().replace(C.responseText);this.initialize();A.reset()}.bind(this),onFailure:function(C){new XWiki.widgets.Notification(C.responseText||"Server not responding","error")},onComplete:function(){A.enable();A.notification.hide()},on401:function(C){new XWiki.widgets.Notification("You have been logged out, please refresh and log in","error")},on403:function(C){new XWiki.widgets.Notification("You are not allowed to create the target document","error")},on409:function(C){new XWiki.widgets.Notification("Target document already exists, please choose a different name","error")},on0:function(C){C.request.options.onFailure(C)}})}}.bindAsEventListener(this));A.down("a").observe("click",function(B){this.reset();B.stop()}.bindAsEventListener(A));A.observe("reset",function(){A.hide()})},addDeleteListener:function(){$$(".blog-category-level").each(function(A){A=A.down("a.delete");if(!A){return }A.observe("click",function(B){A.blur();B.stop();if(A.disabled){return }else{new XWiki.widgets.ConfirmedAjaxRequest(A.href+"&display=list&xpage=plain&ajax=1",{onCreate:function(){A.disabled=true},onSuccess:function(C){$$(".blog-categories-list").first().replace(C.responseText);this.initialize()}.bind(this),onComplete:function(){A.disabled=false}},{confirmationText:"Are you sure you want to delete this category? This action is not reversible.",progressMessageText:"Deleting category...",successMessageText:"Deleted",failureMessageText:"Failed to delete category"})}}.bindAsEventListener(this))}.bind(this))}});document.observe("xwiki:dom:loaded",function(){new XWiki.blog.Categories();$$(".blog-categories-list.subcategories").each(function(A){var C=new Element("a",{style:"display: block; cursor: pointer; float: right; font-style: italic;"}).update("show »");var B=A.down("div",1);C.observe("click",function(){B.toggle();C.update(B.visible()?"« hide":"show »")});A.down("strong").insert({after:C});A.down("strong").insert({after:"&nbsp;&nbsp;"});B.toggle()})})