$(function(){var LIST_COUNTER=0,List=function($lobiList,options){this.$lobiList=$lobiList,this.$options=options,this.$globalOptions=$lobiList.$options,this.$items={},this._init()};List.prototype={$lobiList:null,$el:null,$elWrapper:null,$options:{},$items:{},$globalOptions:{},$ul:null,$header:null,$title:null,$form:null,$footer:null,$body:null,eventsSuppressed:!1,_init:function(){var me=this;me.suppressEvents(),me.$options.id||(me.$options.id="lobilist-list-"+LIST_COUNTER++);var $wrapper=$('
'),$div=$('').appendTo($wrapper);me.$options.defaultStyle&&$div.addClass(me.$options.defaultStyle),me.$el=$div,me.$elWrapper=$wrapper,me.$header=me._createHeader(),me.$title=me._createTitle(),me.$body=me._createBody(),me.$ul=me._createList(),me.$options.items&&me._createItems(me.$options.items),me.$form=me._createForm(),me.$body.append(me.$ul,me.$form),me.$footer=me._createFooter(),me.$globalOptions.sortable&&me._enableSorting(),me.resumeEvents()},addItem:function(item,errorCallback){var me=this;return me._triggerEvent("beforeItemAdd",[me,item])===!1?me:(item=me._processItemData(item),me.$globalOptions.actions.insert?$.ajax(me.$globalOptions.actions.insert,{data:item,method:"POST"}).done(function(res){res.success?(item.id=res.id,me._addItemToList(item)):errorCallback&&"function"==typeof errorCallback&&errorCallback(res)}):(item.id=me.$lobiList.getNextId(),me._addItemToList(item)),me)},updateItem:function(item,errorCallback){var me=this;return me._triggerEvent("beforeItemUpdate",[me,item])===!1?me:(me.$globalOptions.actions.update?$.ajax(me.$globalOptions.actions.update,{data:item,method:"POST"}).done(function(res){res.success?me._updateItemInList(item):errorCallback&&"function"==typeof errorCallback&&errorCallback(res)}):me._updateItemInList(item),me)},deleteItem:function(item,errorCallback){var me=this;return me._triggerEvent("beforeItemDelete",[me,item])===!1?me:me.$globalOptions.actions["delete"]?me._sendAjax(me.$globalOptions.actions["delete"],{data:item,method:"POST"}).done(function(res){res.success?me._removeItemFromList(item):errorCallback&&"function"==typeof errorCallback&&errorCallback(res)}):(me._removeItemFromList(item),me)},saveOrUpdateItem:function(item,errorCallback){var me=this;return item.id?me.updateItem(item,errorCallback):me.addItem(item,errorCallback),me},startTitleEditing:function(){var me=this,input=me._createInput();return me.$title.attr("data-old-title",me.$title.html()),input.val(me.$title.html()),input.insertAfter(me.$title),me.$title.addClass("hide"),me.$header.addClass("title-editing"),input[0].focus(),input[0].select(),me},finishTitleEditing:function(){var me=this,$input=me.$header.find("input"),oldTitle=me.$title.attr("data-old-title");return me.$title.html($input.val()).removeClass("hide").removeAttr("data-old-title"),$input.remove(),me.$header.removeClass("title-editing"),console.log(oldTitle,$input.val()),me._triggerEvent("titleChange",[me,oldTitle,$input.val()]),me},cancelTitleEditing:function(){var me=this,$input=me.$header.find("input");return 0===$input.length?me:(me.$title.html(me.$title.attr("data-old-title")).removeClass("hide"),$input.remove(),me.$header.removeClass("title-editing"),me)},remove:function(){var me=this;return me.$lobiList.$lists.splice(me.$el.index(),1),me.$elWrapper.remove(),me},editItem:function(id){var me=this,$item=me.$lobiList.$el.find("li[data-id="+id+"]"),$form=$item.closest(".lobilist").find(".lobilist-add-todo-form"),$footer=$item.closest(".lobilist").find(".lobilist-footer");return $form.removeClass("hide"),$footer.addClass("hide"),$form[0].id.value=$item.attr("data-id"),$form[0].title.value=$item.find(".lobilist-item-title").html(),$form[0].description.value=$item.find(".lobilist-item-description").html()||"",$form[0].dueDate.value=$item.find(".lobilist-item-duedate").html()||"",me},suppressEvents:function(){return this.eventsSuppressed=!0,this},resumeEvents:function(){return this.eventsSuppressed=!1,this},_processItemData:function(item){var me=this;return $.extend({},me.$globalOptions.itemOptions,item)},_createHeader:function(){var me=this,$header=$("