EntityList=function(){return{_id:null,_name:null,_closeButton:"/images/16-square-red-delete.png",_arrIds:Array(),_refreshCallbacks:Array(),setup:function(id,name,callbacks){this._id=id;this._name=name;if(callbacks){this._refreshCallbacks=callbacks}this.loadSavedData()},loadSavedData:function(){obj=this;$("#"+this._id).find("li").each(function(){var chunks=this.id.split("-");obj._arrIds.push(chunks[chunks.length-1])});this.update()},getId:function(value){return value.split("-")[2]},add:function(value,text,title,position){if($.inArray(value,this._arrIds)==-1&&value!=""){var cleanValue=value.replace(" ","_");this._arrIds.push(cleanValue);li=$("<li/>").attr("id",this._id+"-"+cleanValue);div=($("<div/>")).attr("class","dynamic-list-text").text(text);if(typeof(title)!=undefined){div.attr("title",title)}closeBtn=$("<img/>").attr("src",this._closeButton).attr("id",this._name+"-delete-"+cleanValue).attr("class","dynamic-list-close-button");closeBtnDiv=($("<div/>")).attr("class","dynamic-list-close").append(closeBtn);form=($("<div/>")).attr("class","dynamic-list-form").append($("<input/>").attr("type","hidden").attr("name",this._name).attr("value",value));clear=($("<div/>")).attr("class","newLine");li.append(div);li.append(closeBtnDiv);li.append(form);li.append(clear);if(typeof(position)=="undefined"||position=="append"){$("#"+this._id).append(li)}else{if(position=="prepend"){$("#"+this._id).prepend(li)}}this.refresh();this.update();return li}else{return null}},remove:function(id){var cleanValue=id.replace(" ","_");$("#"+this._id).find("#"+this._id+"-"+cleanValue).remove();this._arrIds=$.grep(this._arrIds,function(value){return value!=id})},hasValues:function(){return(this._arrIds.length>0)},getValues:function(){return this._arrIds},refresh:function(click){obj=this;$.each(this._refreshCallbacks,function(i,f){if(typeof(f)=="function"){if(typeof(click)=="undefined"){click=null}f(obj,click)}else{eval(f)}})},update:function(){obj=this;$("#"+this._id).find(".dynamic-list-close-button").each(function(key,value){value.list=obj;$(value).bind("click",function(e){id=this.id.split("-")[2];this.list.remove(id);this.list.refresh(this);$(this).parent().parent().remove()})})}}};
