"undefined"==typeof XWiki&&(XWiki={});"undefined"==typeof XWiki.blog&&(XWiki.blog={});
XWiki.blog.Categories=Class.create({categoriesSelector:".blog-category-level",activeForm:!1,initialize:function(){$$(".blog-categories-list")&&(this.addDeleteListener(),this.addAddSubcategoryListener(),this.addAddCategoryListener(),this.addRenameListener())},activateForm:function(a){this.activeForm&&this.activeForm.hide();a.show();this.activeForm=a;a.down("input[type\x3dtext]").focus()},addRenameListener:function(){$$(".blog-category-level").each(function(a){(a=a.down("a.rename"))&&a.observe("click",
function(b){a.blur();b.stop();a.disabled||this.createRenameForm(a)}.bindAsEventListener(this))}.bind(this))},createRenameForm:function(a){var b=a.up(".blog-categories-list");b._x_rename_form?this.insertRenameForm(a,b._x_rename_form):b.disabled||new Ajax.Request("/xwiki/bin/view/Blog/ManageCategories?xpage\x3dplain\x26display\x3drenameForm\x26ajax\x3d1",{onCreate:function(){b.disabled=!0;b.notification=new XWiki.widgets.Notification("Fetching form...","inprogress")},onSuccess:function(c){var d=new Element("div");
d.update(c.responseText);b._x_rename_form=d.down("form");this.ajaxifyRenameForm(b._x_rename_form);this.insertRenameForm(a,b._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(){b.disabled=!1;b.notification.hide()}})},insertRenameForm:function(a,b){b._x_item=a;a.up(".blog-category-tools").insert({after:b});b.down("input[name\x3dcategory]").value=decodeURIComponent(a.href.substring(a.href.indexOf("category\x3d")+
9).replace(/\+/g," "));this.activateForm(b)},ajaxifyRenameForm:function(a){a.setAttribute("autocomplete","off");a.down("input[type\x3dtext]").setAttribute("autocomplete","off");a.down("input[type\x3dtext]").setAttribute("autocomplete","off");a.observe("submit",function(b){b.stop();a.down("input[type\x3dtext]").focus();""!=a.newCategoryName.value&&new Ajax.Request(a.action+"?ajax\x3d1\x26xpage\x3dplain\x26display\x3dlist\x26"+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 page","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 page 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"))&&a.observe("click",function(b){a.blur();b.stop();a.disabled||
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(a){var b=a.up(".blog-categories-list");b._x_add_form?this.insertAddForm(a,b._x_add_form):b.disabled||new Ajax.Request("/xwiki/bin/view/Blog/ManageCategories?xpage\x3dplain\x26display\x3daddForm\x26ajax\x3d1",
{onCreate:function(){b.disabled=!0;b.notification=new XWiki.widgets.Notification("Fetching form...","inprogress")},onSuccess:function(c){var d=new Element("div");d.update(c.responseText);b._x_add_form=d.down("form");this.ajaxifyAddForm(b._x_add_form);this.insertAddForm(a,b._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(){b.disabled=!1;b.notification.hide()}})},
insertAddForm:function(a,b){b._x_item=a;var c=b.down("select");c.selectedIndex=0;if(a.hasClassName("tool")){var d="option[value\x3d'"+decodeURIComponent(a.href.substring(a.href.indexOf("parentCategory\x3d")+15).replace(/\+/g," ")).replace(/\\/g,"\\\\").replace(/'/g,"\\'")+"']";if(d=c.down(d))c.selectedIndex=d.index;c.up("label").hide();a.up(".blog-category-tools").insert({after:b})}else a.up("ul").insert({after:b}),c.up("label").show();this.activateForm(b)},ajaxifyAddForm:function(a){a.setAttribute("autocomplete",
"off");a.down("input[type\x3dtext]").setAttribute("autocomplete","off");a.down("input[type\x3dtext]").setAttribute("autocomplete","off");a.observe("submit",function(b){b.stop();a.down("input[type\x3dtext]").focus();""!=a.newCategoryName.value&&new Ajax.Request(a.action+"?ajax\x3d1\x26xpage\x3dplain\x26"+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 page","error")},on409:function(c){new XWiki.widgets.Notification("Target page 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"))&&a.observe("click",function(b){a.blur();b.stop();a.disabled||new XWiki.widgets.ConfirmedAjaxRequest(a.href+"\x26display\x3dlist\x26xpage\x3dplain\x26ajax\x3d1",{onCreate:function(){a.disabled=
!0},onSuccess:function(c){$$(".blog-categories-list").first().replace(c.responseText);this.initialize()}.bind(this),onComplete:function(){a.disabled=!1}},{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 b=(new Element("a",{style:"display: block; cursor: pointer; float: right; font-style: italic;"})).update("show \u00bb"),c=a.down("div",1);b.observe("click",function(){c.toggle();b.update(c.visible()?"\u00ab hide":"show \u00bb")});a.down("strong").insert({after:b});a.down("strong").insert({after:"\x26nbsp;\x26nbsp;"});c.toggle()})});