if(typeof Bajoodoo!="object"){Bajoodoo={};}
if(typeof Bajoodoo.messageHelper!="object"){Bajoodoo.messageHelper={TYPE_INFO:4,TYPE_ERROR:2,TYPE_SUCCESS:1,TYPE_DEFAULT:3,TYPE_CONFIRM:7,TYPE_SYSTEM:8,containerId:"messageHelper",messages:{},addInfoMessage:function(message){return this.addMessage(this.TYPE_INFO,message);},addErrorMessage:function(message){return this.addMessage(this.TYPE_ERROR,message);},addMessage:function(type,message)
{if(typeof this.messages[type]!="object"){this.messages[type]=[];}
this.messages[type].push(message);return this;},displayMessages:function(containerId,clear)
{containerId=containerId||this.containerId;clear=(typeof clear=="undefined"||clear);if(this.messages.length==0){return;}
var xhtml="<ul>";var icon,cssClass,isFirst,isLast,index=0;for(var type in this.messages){isFirst=(index==0);isLast=(index+1)==this.messages.length;xhtml+='<li class="messageType-'+type+'"'+this._getClassAttribute(isFirst,isLast)+'>';xhtml+='<ul>';icon=this._getTypeIcon(type);for(var i=0,ix=this.messages[type].length;i<ix;++i){isFirst=(i==0);isLast=(i+1)==ix;xhtml+='<li'+this._getClassAttribute(isFirst,isLast)+'>'+icon+" "+this.messages[type][i]+"</li>";}
xhtml+='</ul>';xhtml+='</li>';++index;}
xhtml+="</ul>";if(typeof containerId=="string"){var div=$("#"+containerId);}else{var div=$(this.containerId);}
div.html(xhtml);div.show();if(clear){this.messages={};}
return this;},addSuccessMessage:function(message)
{this.addMessage(this.TYPE_SUCCESS,message);this.displayMessages();return this;},_getClassAttribute:function(isFirst,isLast)
{cssClass=[];if(isFirst){cssClass.push("first");}
if(isLast){cssClass.push("last");}
if(cssClass.length==0){return"";}
return' class="'+cssClass.join(" ")+'"';},_getTypeIcon:function(type){var icon;switch(type){case this.TYPE_SUCCESS:icon="tick-circle-frame.png";break;case this.TYPE_ERROR:icon="exclamation-red-frame.png";break;case this.TYPE_INFO:icon="information-frame.png";break;case this.TYPE_SYSTEM:icon="server--exclamation.png";break;default:icon="exclamation-diamond-frame.png";break;}
return'<img alt="" title="" src="'+_ICON+icon+'" />';}}}
