var CollectionCreator=new Class({options:{creatorId:"create_collection",onComplete:Class.empty,url:"/cbi/snapshot/createUserDefinedCollection"},initialize:function(A){this.setOptions(A);this.createCollectionNode=$(this.options.creatorId);this.cancelButton=this.createCollectionNode.getElement("[id=cancel]");this.submitButton=this.createCollectionNode.getElement("[id=ok]");this.nameFld=this.createCollectionNode.getElement("[id=name]");this.descFld=this.createCollectionNode.getElement("[id=desc]");this.remoteCall=null;this.configure();this.registerhandlers()},configure:function(){},registerhandlers:function(){this.submitButton.removeEvents("click");this.submitButton.addEvent("click",(function(){this.submit()}).bind(this));this.cancelButton.removeEvents("click");this.cancelButton.addEvent("click",(function(){this.cancel()}).bind(this))},submit:function(){this.createCollection()},cancel:function(){this.hide();if($defined(this.options.onDismiss)){this.options.onDismiss(null)}},show:function(){console.log("[collection creator] showing widget");var B=[this.nameFld,this.descFld];for(var A=0;A<B.length;A++){B[A].value=""}var C=$("scroller").getPosition();this.createCollectionNode.setStyles({display:"block",left:C.x+50,top:C.y+50})},hide:function(){this.createCollectionNode.setStyle("display","none")},createCollection:function(){this.remoteCall=new Ajax(this.options.url,{method:"post",data:Json.toString([this.nameFld.value,this.descFld.value]),autoCancel:true,onComplete:(function(A){var B=Json.evaluate(A)[0];this.handleresponse(B)}).bind(this)});this.remoteCall.request()},handleresponse:function(A){this.hide();this.options.onComplete(A)}});CollectionCreator.implement(new Options,new Events)