Mibew Messenger built.
diff --git a/src/mibew/js/compiled/default_app.js b/src/mibew/js/compiled/default_app.js
index 1f7cf1f2..08d08445 100644
--- a/src/mibew/js/compiled/default_app.js
+++ b/src/mibew/js/compiled/default_app.js
@@ -1,13 +1,3 @@
-/*
- Copyright 2005-2013 the original author or authors.
- Licensed under the Apache License, Version 2.0 (the "License").
- You may obtain a copy of the License at
- http://www.apache.org/licenses/LICENSE-2.0
-*/
-(function(){var k=Handlebars.template,l=Handlebars.templates=Handlebars.templates||{};l.default_control=k(function(a,b,e,h,f){this.compilerInfo=[4,">= 1.0.0"];e=this.merge(e,a.helpers);f=f||{};h=this.escapeExpression;a="";(e=e.title)?e=e.call(b,{hash:{},data:f}):(e=b.title,e="function"===typeof e?e.apply(b):e);return a+=h(e)+""});l.message=k(function(a,b,e,h,f){this.compilerInfo=[4,">= 1.0.0"];e=this.merge(e,a.helpers);f=f||{};var c,g=this.escapeExpression,j=e.helperMissing;a={hash:{},
-data:f};a=""+(g((c=e.formatTime||b.formatTime,c?c.call(b,b.created,a):j.call(b,"formatTime",b.created,a)))+"\n");if((c=e["if"].call(b,b.name,{hash:{},inverse:this.noop,fn:this.program(1,function(a,c){var b,d;b="";(d=e.name)?d=d.call(a,{hash:{},data:c}):(d=a.name,d="function"===typeof d?d.apply(a):d);return b+=g(d)+": "},f),data:f}))||0===c)a+=c;a+="\n";if((c=e["if"].call(b,b.allowFormatting,{hash:{},inverse:this.program(5,function(a,b){var c,d;d={hash:{},data:b};return g((c=e.apply||a.apply,c?c.call(a,a.message,"urlReplace, nl2br",d):j.call(a,"apply",a.message,"urlReplace, nl2br",d)))},f),fn:this.program(3,function(a,c){var b,d;d={hash:{},data:c};return g((b=e.apply||a.apply,b?b.call(a,a.message,"urlReplace, nl2br, allowTags",d):j.call(a,
-"apply",a.message,"urlReplace, nl2br, allowTags",d)))},f),data:f}))||0===c)a+=c;return a+="
"})})();
/*
Copyright 2005-2013 the original author or authors.
Licensed under the Apache License, Version 2.0 (the "License").
diff --git a/src/mibew/js/compiled/users_app.js b/src/mibew/js/compiled/users_app.js
index eb5c4637..a86fb390 100644
--- a/src/mibew/js/compiled/users_app.js
+++ b/src/mibew/js/compiled/users_app.js
@@ -1,37 +1,3 @@
-/*
- Copyright 2005-2013 the original author or authors.
- Licensed under the Apache License, Version 2.0 (the "License").
- You may obtain a copy of the License at
- http://www.apache.org/licenses/LICENSE-2.0
-*/
-(function(){var l=Handlebars.template,m=Handlebars.templates=Handlebars.templates||{};m.agent=l(function(c,b,e,a,d){this.compilerInfo=[4,">= 1.0.0"];e=this.merge(e,c.helpers);d=d||{};var f=e.helperMissing,h=this.escapeExpression;c='';(a=e.name)?a=a.call(b,{hash:{},data:d}):(a=b.name,a="function"===typeof a?a.apply(b):a);c+=h(a);if((a=e.unless.call(b,b.isLast,{hash:{},inverse:this.noop,
-fn:this.program(9,function(){return","},d),data:d}))||0===a)c+=a;return c});m.no_threads=l(function(c,b,e,a,d){this.compilerInfo=[4,">= 1.0.0"];e=this.merge(e,c.helpers);d=d||{};var f;c=e.helperMissing;a=this.escapeExpression;d={hash:{},data:d};return b=''+(a((f=e.L10n||b.L10n,f?f.call(b,"clients.no_clients",d):c.call(b,"L10n","clients.no_clients",d)))+" | ")});m.no_visitors=l(function(c,b,e,a,d){this.compilerInfo=[4,">= 1.0.0"];e=this.merge(e,c.helpers);d=d||
-{};var f;c=e.helperMissing;a=this.escapeExpression;d={hash:{},data:d};return b=''+(a((f=e.L10n||b.L10n,f?f.call(b,"visitors.no_visitors",d):c.call(b,"L10n","visitors.no_visitors",d)))+" | ")});m.queued_thread=l(function(c,b,e,a,d){this.compilerInfo=[4,">= 1.0.0"];e=this.merge(e,c.helpers);d=d||{};var f=e.helperMissing,h=this.escapeExpression;c='\n ';if((a=e["if"].call(b,b.ban,{hash:{},inverse:this.noop,fn:this.program(5,function(a,c){var b,g;b={hash:{},data:c};
-return b=""+(h((g=e.L10n||a.L10n,g?g.call(a,"chat.client.spam.prefix",b):f.call(a,"L10n","chat.client.spam.prefix",b)))+" ")},d),data:d}))||0===a)c+=a;(a=e.userName)?a=a.call(b,{hash:{},data:d}):(a=b.userName,a="function"===typeof a?a.apply(b):a);c+=h(a)+" \n ";if((a=e["if"].call(b,b.firstMessage,{hash:{},inverse:this.noop,fn:this.program(7,function(a,b){var c,g;c='"},d),data:d}))||0===a)c+=a;c+='\n | \n\n \n ';if((a=e["if"].call(b,b.canOpen,{hash:{},inverse:this.noop,fn:this.program(9,function(a,c){var b,g;b={hash:{},data:c};return b='\n \n ')},d),data:d}))||0===a)c+=a;c+="\n ";if((a=e["if"].call(b,b.canView,{hash:{},inverse:this.noop,fn:this.program(11,function(a,b){var c,g;c={hash:{},data:b};return c='\n \n ')},d),data:d}))||0===
-a)c+=a;c+="\n ";if((a=e["if"].call(b,b.tracked,{hash:{},inverse:this.noop,fn:this.program(13,function(a,c){var b,g;b={hash:{},data:c};return b='\n \n ')},d),data:d}))||0===a)c+=a;c+="\n ";if((a=e["if"].call(b,b.canBan,{hash:{},inverse:this.noop,fn:this.program(15,function(a,b){var c,g;c={hash:{},data:b};
-return c='\n \n ')},d),data:d}))||0===a)c+=a;c+='\n \n \n | \n';if((a=e["if"].call(b,b.userIp,{hash:{},inverse:this.program(19,function(a,c){var b;(b=e.remote)?b=b.call(a,{hash:{},data:c}):(b=a.remote,b="function"===typeof b?b.apply(a):b);return h(b)},
-d),fn:this.program(17,function(a,b){var c,g;c='';(g=e.remote)?g=g.call(a,{hash:{},data:b}):(g=a.remote,g="function"===typeof g?g.apply(a):g);return c+=h(g)+""},d),data:d}))||0===a)c+=a;c+=' | \n';(a=e.stateDesc)?a=a.call(b,{hash:{},data:d}):(a=b.stateDesc,a="function"===typeof a?a.apply(b):a);c+=h(a)+' | \n';(a=e.agentName)?a=a.call(b,{hash:{},data:d}):(a=b.agentName,a="function"===typeof a?
-a.apply(b):a);c+=h(a)+' | \n | \n';if((a=e.unless.call(b,b.chatting,{hash:{},inverse:this.program(23,function(){return"-"},d),fn:this.program(21,function(a,b){var c,g;c=''},d),data:d}))||0===a)c+=a;c+=' | \n';if((a=e["if"].call(b,b.ban,{hash:{},inverse:this.program(27,function(a,b){var c;(c=e.userAgent)?c=c.call(a,{hash:{},data:b}):(c=a.userAgent,c="function"===typeof c?c.apply(a):c);return h(c)},d),fn:this.program(25,function(a){var c;return h((c=(c=a.ban,null==c||!1===c?c:c.reason),"function"===typeof c?c.apply(a):c))},d),data:d}))||0===a)c+=a;return c+" | "});m.status_panel=l(function(c,b,e,a,d){this.compilerInfo=
-[4,">= 1.0.0"];e=this.merge(e,c.helpers);d=d||{};var f,h=e.helperMissing,j=this.escapeExpression;c='';(a=e.message)?a=a.call(b,{hash:{},data:d}):(a=b.message,a="function"===typeof a?a.apply(b):a);c+=j(a);if((f=e["if"].call(b,(a=b.agent,null==a||!1===a?a:a.away),{hash:{},inverse:this.program(3,function(a,c){var b,d;d={hash:{},data:c};return j((b=e.L10n||a.L10n,b?b.call(a,"pending.status.online",d):h.call(a,"L10n","pending.status.online",d)))},d),fn:this.program(1,function(a,c){var b,
-d;d={hash:{},data:c};return j((b=e.L10n||a.L10n,b?b.call(a,"pending.status.away",d):h.call(a,"L10n","pending.status.away",d)))},d),data:d}))||0===f)c+=f;c+='
';if((f=e["if"].call(b,(a=b.agent,null==a||!1===a?a:a.away),{hash:{},inverse:this.program(7,function(a,c){var b,d;d={hash:{},data:c};return j((b=e.L10n||a.L10n,b?b.call(a,"pending.status.setaway",d):h.call(a,"L10n","pending.status.setaway",d)))},d),fn:this.program(5,function(a,
-c){var b,d;d={hash:{},data:c};return j((b=e.L10n||a.L10n,b?b.call(a,"pending.status.setonline",d):h.call(a,"L10n","pending.status.setonline",d)))},d),data:d}))||0===f)c+=f;return c+" "});m.threads_collection=l(function(c,b,e,a,d){this.compilerInfo=[4,">= 1.0.0"];e=this.merge(e,c.helpers);d=d||{};var f,h=e.helperMissing,j=this.escapeExpression;a={hash:{},data:d};c='\n\n\n '+(j((f=e.L10n||b.L10n,f?f.call(b,"pending.table.head.name",
-a):h.call(b,"L10n","pending.table.head.name",a)))+" | \n ");a={hash:{},data:d};c+=j((f=e.L10n||b.L10n,f?f.call(b,"pending.table.head.actions",a):h.call(b,"L10n","pending.table.head.actions",a)))+" | \n ";a={hash:{},data:d};c+=j((f=e.L10n||b.L10n,f?f.call(b,"pending.table.head.contactid",a):h.call(b,"L10n","pending.table.head.contactid",a)))+" | \n ";a={hash:{},data:d};c+=j((f=e.L10n||b.L10n,f?f.call(b,"pending.table.head.state",a):h.call(b,"L10n","pending.table.head.state",
-a)))+" | \n ";a={hash:{},data:d};c+=j((f=e.L10n||b.L10n,f?f.call(b,"pending.table.head.operator",a):h.call(b,"L10n","pending.table.head.operator",a)))+" | \n ";a={hash:{},data:d};c+=j((f=e.L10n||b.L10n,f?f.call(b,"pending.table.head.total",a):h.call(b,"L10n","pending.table.head.total",a)))+" | \n ";a={hash:{},data:d};c+=j((f=e.L10n||b.L10n,f?f.call(b,"pending.table.head.waittime",a):h.call(b,"L10n","pending.table.head.waittime",a)))+" | \n ";a={hash:{},data:d};
-return c+=j((f=e.L10n||b.L10n,f?f.call(b,"pending.table.head.etc",a):h.call(b,"L10n","pending.table.head.etc",a)))+' | \n
\n\n\n\n\n
'});m.visitor=l(function(c,b,e,a,d){function f(){return"-"}this.compilerInfo=[4,">= 1.0.0"];e=this.merge(e,c.helpers);d=d||{};var h,j=e.helperMissing,k=this.escapeExpression;c='\n ';if((a=e.unless.call(b,b.invitationInfo,{hash:{},inverse:this.program(3,function(a,c){var b;(b=e.userName)?
-b=b.call(a,{hash:{},data:c}):(b=a.userName,b="function"===typeof b?b.apply(a):b);return k(b)},d),fn:this.program(1,function(a,b){var c,d;c={hash:{},data:b};c='');(d=e.userName)?d=d.call(a,{hash:{},data:b}):(d=a.userName,d="function"===typeof d?d.apply(a):d);return c+=k(d)+""},d),data:d}))||0===a)c+=a;h={hash:{},data:d};c=c+'\n | \n\n \n \n | \n');if((a=e["if"].call(b,b.userIp,{hash:{},inverse:this.program(7,function(a,c){var b;(b=e.remote)?b=b.call(a,{hash:{},data:c}):(b=a.remote,b="function"===typeof b?b.apply(a):b);return k(b)},d),fn:this.program(5,function(a,b){var c,d;c='';
-(d=e.remote)?d=d.call(a,{hash:{},data:b}):(d=a.remote,d="function"===typeof d?d.apply(a):d);return c+=k(d)+""},d),data:d}))||0===a)c+=a;c+=' | \n | \n | \n';if((a=e["if"].call(b,b.invitationInfo,{hash:{},inverse:this.program(11,f,d),fn:this.program(9,function(a){var b;return k((b=(b=a.invitationInfo,null==b||!1===b?b:b.agentName),"function"===typeof b?b.apply(a):b))},d),data:d}))||0===a)c+=a;c+=' | \n';if((a=e["if"].call(b,b.invitationInfo,{hash:{},inverse:this.program(11,f,d),fn:this.program(13,function(a){var b;return a=""+('')},d),data:d}))||0===a)c+=a;c+=' | \n';(a=e.invitations)?a=a.call(b,{hash:{},data:d}):(a=b.invitations,a="function"===typeof a?a.apply(b):a);c+=k(a)+" / ";(a=e.chats)?a=a.call(b,{hash:{},data:d}):(a=b.chats,a="function"===typeof a?a.apply(b):a);c+=k(a)+' | \n';(a=e.userAgent)?a=a.call(b,{hash:{},data:d}):(a=b.userAgent,a="function"===typeof a?a.apply(b):a);return c+=k(a)+" | "});
-m.visitors_collection=l(function(c,b,e,a,d){this.compilerInfo=[4,">= 1.0.0"];e=this.merge(e,c.helpers);d=d||{};var f,h=e.helperMissing,j=this.escapeExpression;a={hash:{},data:d};c='\n\n\n '+(j((f=e.L10n||b.L10n,f?f.call(b,"visitors.table.head.name",a):h.call(b,"L10n","visitors.table.head.name",a)))+" | \n ");a={hash:{},data:d};c+=j((f=e.L10n||b.L10n,f?f.call(b,"visitors.table.head.actions",a):h.call(b,"L10n",
-"visitors.table.head.actions",a)))+" | \n ";a={hash:{},data:d};c+=j((f=e.L10n||b.L10n,f?f.call(b,"visitors.table.head.contactid",a):h.call(b,"L10n","visitors.table.head.contactid",a)))+" | \n ";a={hash:{},data:d};c+=j((f=e.L10n||b.L10n,f?f.call(b,"visitors.table.head.firsttimeonsite",a):h.call(b,"L10n","visitors.table.head.firsttimeonsite",a)))+" | \n ";a={hash:{},data:d};c+=j((f=e.L10n||b.L10n,f?f.call(b,"visitors.table.head.lasttimeonsite",a):h.call(b,"L10n","visitors.table.head.lasttimeonsite",
-a)))+" | \n ";a={hash:{},data:d};c+=j((f=e.L10n||b.L10n,f?f.call(b,"visitors.table.head.invited.by",a):h.call(b,"L10n","visitors.table.head.invited.by",a)))+" | \n ";a={hash:{},data:d};c+=j((f=e.L10n||b.L10n,f?f.call(b,"visitors.table.head.invitationtime",a):h.call(b,"L10n","visitors.table.head.invitationtime",a)))+" | \n ";a={hash:{},data:d};c+=j((f=e.L10n||b.L10n,f?f.call(b,"visitors.table.head.invitations",a):h.call(b,"L10n","visitors.table.head.invitations",a)))+" | \n ";
-a={hash:{},data:d};return c+=j((f=e.L10n||b.L10n,f?f.call(b,"visitors.table.head.etc",a):h.call(b,"L10n","visitors.table.head.etc",a)))+' | \n
\n\n\n\n
'})})();
/*
Copyright 2005-2013 the original author or authors.
Licensed under the Apache License, Version 2.0 (the "License").
diff --git a/src/mibew/js/templates/compiled/users_app.tpl.js b/src/mibew/js/templates/compiled/users_app.tpl.js
deleted file mode 100644
index 8b6ca101..00000000
--- a/src/mibew/js/templates/compiled/users_app.tpl.js
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- Copyright 2005-2013 the original author or authors.
- Licensed under the Apache License, Version 2.0 (the "License").
- You may obtain a copy of the License at
- http://www.apache.org/licenses/LICENSE-2.0
-*/
-(function(){var l=Handlebars.template,m=Handlebars.templates=Handlebars.templates||{};m.agent=l(function(c,b,e,a,d){this.compilerInfo=[4,">= 1.0.0"];e=this.merge(e,c.helpers);d=d||{};var f=e.helperMissing,h=this.escapeExpression;c='';(a=e.name)?a=a.call(b,{hash:{},data:d}):(a=b.name,a="function"===typeof a?a.apply(b):a);c+=h(a);if((a=e.unless.call(b,b.isLast,{hash:{},inverse:this.noop,
-fn:this.program(9,function(){return","},d),data:d}))||0===a)c+=a;return c});m.no_threads=l(function(c,b,e,a,d){this.compilerInfo=[4,">= 1.0.0"];e=this.merge(e,c.helpers);d=d||{};var f;c=e.helperMissing;a=this.escapeExpression;d={hash:{},data:d};return b=''+(a((f=e.L10n||b.L10n,f?f.call(b,"clients.no_clients",d):c.call(b,"L10n","clients.no_clients",d)))+" | ")});m.no_visitors=l(function(c,b,e,a,d){this.compilerInfo=[4,">= 1.0.0"];e=this.merge(e,c.helpers);d=d||
-{};var f;c=e.helperMissing;a=this.escapeExpression;d={hash:{},data:d};return b=''+(a((f=e.L10n||b.L10n,f?f.call(b,"visitors.no_visitors",d):c.call(b,"L10n","visitors.no_visitors",d)))+" | ")});m.queued_thread=l(function(c,b,e,a,d){this.compilerInfo=[4,">= 1.0.0"];e=this.merge(e,c.helpers);d=d||{};var f=e.helperMissing,h=this.escapeExpression;c='\n ';if((a=e["if"].call(b,b.ban,{hash:{},inverse:this.noop,fn:this.program(5,function(a,c){var b,g;b={hash:{},data:c};
-return b=""+(h((g=e.L10n||a.L10n,g?g.call(a,"chat.client.spam.prefix",b):f.call(a,"L10n","chat.client.spam.prefix",b)))+" ")},d),data:d}))||0===a)c+=a;(a=e.userName)?a=a.call(b,{hash:{},data:d}):(a=b.userName,a="function"===typeof a?a.apply(b):a);c+=h(a)+" \n ";if((a=e["if"].call(b,b.firstMessage,{hash:{},inverse:this.noop,fn:this.program(7,function(a,b){var c,g;c='"},d),data:d}))||0===a)c+=a;c+='\n | \n\n \n ';if((a=e["if"].call(b,b.canOpen,{hash:{},inverse:this.noop,fn:this.program(9,function(a,c){var b,g;b={hash:{},data:c};return b='\n \n ')},d),data:d}))||0===a)c+=a;c+="\n ";if((a=e["if"].call(b,b.canView,{hash:{},inverse:this.noop,fn:this.program(11,function(a,b){var c,g;c={hash:{},data:b};return c='\n \n ')},d),data:d}))||0===
-a)c+=a;c+="\n ";if((a=e["if"].call(b,b.tracked,{hash:{},inverse:this.noop,fn:this.program(13,function(a,c){var b,g;b={hash:{},data:c};return b='\n \n ')},d),data:d}))||0===a)c+=a;c+="\n ";if((a=e["if"].call(b,b.canBan,{hash:{},inverse:this.noop,fn:this.program(15,function(a,b){var c,g;c={hash:{},data:b};
-return c='\n \n ')},d),data:d}))||0===a)c+=a;c+='\n \n \n | \n';if((a=e["if"].call(b,b.userIp,{hash:{},inverse:this.program(19,function(a,c){var b;(b=e.remote)?b=b.call(a,{hash:{},data:c}):(b=a.remote,b="function"===typeof b?b.apply(a):b);return h(b)},
-d),fn:this.program(17,function(a,b){var c,g;c='';(g=e.remote)?g=g.call(a,{hash:{},data:b}):(g=a.remote,g="function"===typeof g?g.apply(a):g);return c+=h(g)+""},d),data:d}))||0===a)c+=a;c+=' | \n';(a=e.stateDesc)?a=a.call(b,{hash:{},data:d}):(a=b.stateDesc,a="function"===typeof a?a.apply(b):a);c+=h(a)+' | \n';(a=e.agentName)?a=a.call(b,{hash:{},data:d}):(a=b.agentName,a="function"===typeof a?
-a.apply(b):a);c+=h(a)+' | \n | \n';if((a=e.unless.call(b,b.chatting,{hash:{},inverse:this.program(23,function(){return"-"},d),fn:this.program(21,function(a,b){var c,g;c=''},d),data:d}))||0===a)c+=a;c+=' | \n';if((a=e["if"].call(b,b.ban,{hash:{},inverse:this.program(27,function(a,b){var c;(c=e.userAgent)?c=c.call(a,{hash:{},data:b}):(c=a.userAgent,c="function"===typeof c?c.apply(a):c);return h(c)},d),fn:this.program(25,function(a){var c;return h((c=(c=a.ban,null==c||!1===c?c:c.reason),"function"===typeof c?c.apply(a):c))},d),data:d}))||0===a)c+=a;return c+" | "});m.status_panel=l(function(c,b,e,a,d){this.compilerInfo=
-[4,">= 1.0.0"];e=this.merge(e,c.helpers);d=d||{};var f,h=e.helperMissing,j=this.escapeExpression;c='';(a=e.message)?a=a.call(b,{hash:{},data:d}):(a=b.message,a="function"===typeof a?a.apply(b):a);c+=j(a);if((f=e["if"].call(b,(a=b.agent,null==a||!1===a?a:a.away),{hash:{},inverse:this.program(3,function(a,c){var b,d;d={hash:{},data:c};return j((b=e.L10n||a.L10n,b?b.call(a,"pending.status.online",d):h.call(a,"L10n","pending.status.online",d)))},d),fn:this.program(1,function(a,c){var b,
-d;d={hash:{},data:c};return j((b=e.L10n||a.L10n,b?b.call(a,"pending.status.away",d):h.call(a,"L10n","pending.status.away",d)))},d),data:d}))||0===f)c+=f;c+='
';if((f=e["if"].call(b,(a=b.agent,null==a||!1===a?a:a.away),{hash:{},inverse:this.program(7,function(a,c){var b,d;d={hash:{},data:c};return j((b=e.L10n||a.L10n,b?b.call(a,"pending.status.setaway",d):h.call(a,"L10n","pending.status.setaway",d)))},d),fn:this.program(5,function(a,
-c){var b,d;d={hash:{},data:c};return j((b=e.L10n||a.L10n,b?b.call(a,"pending.status.setonline",d):h.call(a,"L10n","pending.status.setonline",d)))},d),data:d}))||0===f)c+=f;return c+" "});m.threads_collection=l(function(c,b,e,a,d){this.compilerInfo=[4,">= 1.0.0"];e=this.merge(e,c.helpers);d=d||{};var f,h=e.helperMissing,j=this.escapeExpression;a={hash:{},data:d};c='\n\n\n '+(j((f=e.L10n||b.L10n,f?f.call(b,"pending.table.head.name",
-a):h.call(b,"L10n","pending.table.head.name",a)))+" | \n ");a={hash:{},data:d};c+=j((f=e.L10n||b.L10n,f?f.call(b,"pending.table.head.actions",a):h.call(b,"L10n","pending.table.head.actions",a)))+" | \n ";a={hash:{},data:d};c+=j((f=e.L10n||b.L10n,f?f.call(b,"pending.table.head.contactid",a):h.call(b,"L10n","pending.table.head.contactid",a)))+" | \n ";a={hash:{},data:d};c+=j((f=e.L10n||b.L10n,f?f.call(b,"pending.table.head.state",a):h.call(b,"L10n","pending.table.head.state",
-a)))+" | \n ";a={hash:{},data:d};c+=j((f=e.L10n||b.L10n,f?f.call(b,"pending.table.head.operator",a):h.call(b,"L10n","pending.table.head.operator",a)))+" | \n ";a={hash:{},data:d};c+=j((f=e.L10n||b.L10n,f?f.call(b,"pending.table.head.total",a):h.call(b,"L10n","pending.table.head.total",a)))+" | \n ";a={hash:{},data:d};c+=j((f=e.L10n||b.L10n,f?f.call(b,"pending.table.head.waittime",a):h.call(b,"L10n","pending.table.head.waittime",a)))+" | \n ";a={hash:{},data:d};
-return c+=j((f=e.L10n||b.L10n,f?f.call(b,"pending.table.head.etc",a):h.call(b,"L10n","pending.table.head.etc",a)))+' | \n
\n\n\n\n\n
'});m.visitor=l(function(c,b,e,a,d){function f(){return"-"}this.compilerInfo=[4,">= 1.0.0"];e=this.merge(e,c.helpers);d=d||{};var h,j=e.helperMissing,k=this.escapeExpression;c='\n ';if((a=e.unless.call(b,b.invitationInfo,{hash:{},inverse:this.program(3,function(a,c){var b;(b=e.userName)?
-b=b.call(a,{hash:{},data:c}):(b=a.userName,b="function"===typeof b?b.apply(a):b);return k(b)},d),fn:this.program(1,function(a,b){var c,d;c={hash:{},data:b};c='');(d=e.userName)?d=d.call(a,{hash:{},data:b}):(d=a.userName,d="function"===typeof d?d.apply(a):d);return c+=k(d)+""},d),data:d}))||0===a)c+=a;h={hash:{},data:d};c=c+'\n | \n\n \n \n | \n');if((a=e["if"].call(b,b.userIp,{hash:{},inverse:this.program(7,function(a,c){var b;(b=e.remote)?b=b.call(a,{hash:{},data:c}):(b=a.remote,b="function"===typeof b?b.apply(a):b);return k(b)},d),fn:this.program(5,function(a,b){var c,d;c='';
-(d=e.remote)?d=d.call(a,{hash:{},data:b}):(d=a.remote,d="function"===typeof d?d.apply(a):d);return c+=k(d)+""},d),data:d}))||0===a)c+=a;c+=' | \n | \n | \n';if((a=e["if"].call(b,b.invitationInfo,{hash:{},inverse:this.program(11,f,d),fn:this.program(9,function(a){var b;return k((b=(b=a.invitationInfo,null==b||!1===b?b:b.agentName),"function"===typeof b?b.apply(a):b))},d),data:d}))||0===a)c+=a;c+=' | \n';if((a=e["if"].call(b,b.invitationInfo,{hash:{},inverse:this.program(11,f,d),fn:this.program(13,function(a){var b;return a=""+('')},d),data:d}))||0===a)c+=a;c+=' | \n';(a=e.invitations)?a=a.call(b,{hash:{},data:d}):(a=b.invitations,a="function"===typeof a?a.apply(b):a);c+=k(a)+" / ";(a=e.chats)?a=a.call(b,{hash:{},data:d}):(a=b.chats,a="function"===typeof a?a.apply(b):a);c+=k(a)+' | \n';(a=e.userAgent)?a=a.call(b,{hash:{},data:d}):(a=b.userAgent,a="function"===typeof a?a.apply(b):a);return c+=k(a)+" | "});
-m.visitors_collection=l(function(c,b,e,a,d){this.compilerInfo=[4,">= 1.0.0"];e=this.merge(e,c.helpers);d=d||{};var f,h=e.helperMissing,j=this.escapeExpression;a={hash:{},data:d};c='\n\n\n '+(j((f=e.L10n||b.L10n,f?f.call(b,"visitors.table.head.name",a):h.call(b,"L10n","visitors.table.head.name",a)))+" | \n ");a={hash:{},data:d};c+=j((f=e.L10n||b.L10n,f?f.call(b,"visitors.table.head.actions",a):h.call(b,"L10n",
-"visitors.table.head.actions",a)))+" | \n ";a={hash:{},data:d};c+=j((f=e.L10n||b.L10n,f?f.call(b,"visitors.table.head.contactid",a):h.call(b,"L10n","visitors.table.head.contactid",a)))+" | \n ";a={hash:{},data:d};c+=j((f=e.L10n||b.L10n,f?f.call(b,"visitors.table.head.firsttimeonsite",a):h.call(b,"L10n","visitors.table.head.firsttimeonsite",a)))+" | \n ";a={hash:{},data:d};c+=j((f=e.L10n||b.L10n,f?f.call(b,"visitors.table.head.lasttimeonsite",a):h.call(b,"L10n","visitors.table.head.lasttimeonsite",
-a)))+" | \n ";a={hash:{},data:d};c+=j((f=e.L10n||b.L10n,f?f.call(b,"visitors.table.head.invited.by",a):h.call(b,"L10n","visitors.table.head.invited.by",a)))+" | \n ";a={hash:{},data:d};c+=j((f=e.L10n||b.L10n,f?f.call(b,"visitors.table.head.invitationtime",a):h.call(b,"L10n","visitors.table.head.invitationtime",a)))+" | \n ";a={hash:{},data:d};c+=j((f=e.L10n||b.L10n,f?f.call(b,"visitors.table.head.invitations",a):h.call(b,"L10n","visitors.table.head.invitations",a)))+" | \n ";
-a={hash:{},data:d};return c+=j((f=e.L10n||b.L10n,f?f.call(b,"visitors.table.head.etc",a):h.call(b,"L10n","visitors.table.head.etc",a)))+' | \n
\n\n\n\n
'})})();
diff --git a/src/mibew/js/templates/compiled/default_app.tpl.js b/src/mibew/styles/pages/default/templates_compiled/client_side/default_app.tpl.js
similarity index 100%
rename from src/mibew/js/templates/compiled/default_app.tpl.js
rename to src/mibew/styles/pages/default/templates_compiled/client_side/default_app.tpl.js
diff --git a/src/mibew/styles/pages/default/templates_compiled/client_side/users_app.tpl.js b/src/mibew/styles/pages/default/templates_compiled/client_side/users_app.tpl.js
new file mode 100644
index 00000000..4c346b2f
--- /dev/null
+++ b/src/mibew/styles/pages/default/templates_compiled/client_side/users_app.tpl.js
@@ -0,0 +1,34 @@
+/*
+ Copyright 2005-2013 the original author or authors.
+ Licensed under the Apache License, Version 2.0 (the "License").
+ You may obtain a copy of the License at
+ http://www.apache.org/licenses/LICENSE-2.0
+*/
+(function(){var k=Handlebars.template,l=Handlebars.templates=Handlebars.templates||{};l.visitor=k(function(b,c,e,a,d){function f(){return"-"}this.compilerInfo=[4,">= 1.0.0"];e=this.merge(e,b.helpers);d=d||{};var g,h=e.helperMissing,j=this.escapeExpression;b='\n ';if((a=e.unless.call(c,c.invitationInfo,{hash:{},inverse:this.program(3,function(a,b){var c;(c=e.userName)?c=c.call(a,{hash:{},data:b}):(c=a.userName,c="function"===typeof c?c.apply(a):c);return j(c)},d),fn:this.program(1,
+function(a,b){var c,d;c={hash:{},data:b};c='');(d=e.userName)?d=d.call(a,{hash:{},data:b}):(d=a.userName,d="function"===typeof d?d.apply(a):d);return c+=j(d)+""},d),data:d}))||0===a)b+=a;g={hash:{},data:d};b=b+'\n | \n\n \n \n | \n');if((a=e["if"].call(c,c.userIp,{hash:{},inverse:this.program(7,function(a,c){var b;(b=e.remote)?b=b.call(a,{hash:{},data:c}):(b=a.remote,b="function"===typeof b?b.apply(a):b);return j(b)},d),fn:this.program(5,function(a,b){var c,d;c='';
+(d=e.remote)?d=d.call(a,{hash:{},data:b}):(d=a.remote,d="function"===typeof d?d.apply(a):d);return c+=j(d)+""},d),data:d}))||0===a)b+=a;b+=' | \n | \n | \n';if((a=e["if"].call(c,c.invitationInfo,{hash:{},inverse:this.program(11,f,d),fn:this.program(9,function(a){var b;return j((b=(b=a.invitationInfo,null==b||!1===b?b:b.agentName),"function"===typeof b?b.apply(a):b))},d),data:d}))||0===a)b+=a;b+=' | \n';if((a=e["if"].call(c,c.invitationInfo,{hash:{},inverse:this.program(11,f,d),fn:this.program(13,function(a){var b;return a=""+('')},d),data:d}))||0===a)b+=a;b+=' | \n';(a=e.invitations)?a=a.call(c,{hash:{},data:d}):(a=c.invitations,a="function"===typeof a?a.apply(c):a);b+=j(a)+" / ";(a=e.chats)?a=a.call(c,{hash:{},data:d}):(a=c.chats,a="function"===typeof a?a.apply(c):a);b+=j(a)+' | \n';(a=e.userAgent)?a=a.call(c,{hash:{},data:d}):(a=c.userAgent,a="function"===typeof a?a.apply(c):a);return b+=j(a)+" | "});
+l.queued_thread=k(function(b,c,e,a,d){this.compilerInfo=[4,">= 1.0.0"];e=this.merge(e,b.helpers);d=d||{};var f=e.helperMissing,g=this.escapeExpression;b='\n ';if((a=e["if"].call(c,c.ban,{hash:{},inverse:this.noop,fn:this.program(5,function(a,b){var c,d;c={hash:{},data:b};return c=""+(g((d=e.L10n||a.L10n,d?d.call(a,"chat.client.spam.prefix",c):f.call(a,"L10n","chat.client.spam.prefix",c)))+" ")},d),data:d}))||0===a)b+=a;(a=e.userName)?a=a.call(c,{hash:{},data:d}):(a=c.userName,a="function"===
+typeof a?a.apply(c):a);b+=g(a)+" \n ";if((a=e["if"].call(c,c.firstMessage,{hash:{},inverse:this.noop,fn:this.program(7,function(a,b){var c,d;c='"},d),data:d}))||0===
+a)b+=a;b+='\n | \n\n \n ';if((a=e["if"].call(c,c.canOpen,{hash:{},inverse:this.noop,fn:this.program(9,function(a,b){var c,d;c={hash:{},data:b};return c='\n \n ')},d),data:d}))||0===a)b+=a;b+="\n ";if((a=e["if"].call(c,
+c.canView,{hash:{},inverse:this.noop,fn:this.program(11,function(a,b){var c,d;c={hash:{},data:b};return c='\n \n ')},d),data:d}))||0===a)b+=a;b+="\n ";if((a=e["if"].call(c,c.tracked,{hash:{},inverse:this.noop,fn:this.program(13,function(a,b){var c,d;c={hash:{},data:b};return c='\n \n ')},d),data:d}))||0===a)b+=a;b+="\n ";if((a=e["if"].call(c,c.canBan,{hash:{},inverse:this.noop,fn:this.program(15,function(a,b){var c,d;c={hash:{},data:b};return c='\n \n ')},d),data:d}))||0===
+a)b+=a;b+='\n \n \n | \n';if((a=e["if"].call(c,c.userIp,{hash:{},inverse:this.program(19,function(a,b){var c;(c=e.remote)?c=c.call(a,{hash:{},data:b}):(c=a.remote,c="function"===typeof c?c.apply(a):c);return g(c)},d),fn:this.program(17,function(a,c){var b,d;b='';(d=e.remote)?d=d.call(a,{hash:{},data:c}):(d=a.remote,d="function"===typeof d?d.apply(a):
+d);return b+=g(d)+""},d),data:d}))||0===a)b+=a;b+=' | \n';(a=e.stateDesc)?a=a.call(c,{hash:{},data:d}):(a=c.stateDesc,a="function"===typeof a?a.apply(c):a);b+=g(a)+' | \n';(a=e.agentName)?a=a.call(c,{hash:{},data:d}):(a=c.agentName,a="function"===typeof a?a.apply(c):a);b+=g(a)+' | \n | \n';if((a=e.unless.call(c,c.chatting,{hash:{},inverse:this.program(23,function(){return"-"},d),fn:this.program(21,function(a,c){var b,d;b=''},d),data:d}))||0===a)b+=a;b+=' | \n';if((a=e["if"].call(c,c.ban,{hash:{},inverse:this.program(27,function(a,c){var b;(b=e.userAgent)?b=
+b.call(a,{hash:{},data:c}):(b=a.userAgent,b="function"===typeof b?b.apply(a):b);return g(b)},d),fn:this.program(25,function(a){var b;return g((b=(b=a.ban,null==b||!1===b?b:b.reason),"function"===typeof b?b.apply(a):b))},d),data:d}))||0===a)b+=a;return b+" | "});l.no_visitors=k(function(b,c,e,a,d){this.compilerInfo=[4,">= 1.0.0"];e=this.merge(e,b.helpers);d=d||{};var f;b=e.helperMissing;a=this.escapeExpression;d={hash:{},data:d};return c=''+(a((f=e.L10n||c.L10n,
+f?f.call(c,"visitors.no_visitors",d):b.call(c,"L10n","visitors.no_visitors",d)))+" | ")});l.no_threads=k(function(b,c,e,a,d){this.compilerInfo=[4,">= 1.0.0"];e=this.merge(e,b.helpers);d=d||{};var f;b=e.helperMissing;a=this.escapeExpression;d={hash:{},data:d};return c=''+(a((f=e.L10n||c.L10n,f?f.call(c,"clients.no_clients",d):b.call(c,"L10n","clients.no_clients",d)))+" | ")});l.status_panel=k(function(b,c,e,a,d){this.compilerInfo=[4,">= 1.0.0"];e=this.merge(e,
+b.helpers);d=d||{};var f,g=e.helperMissing,h=this.escapeExpression;b='';(a=e.message)?a=a.call(c,{hash:{},data:d}):(a=c.message,a="function"===typeof a?a.apply(c):a);b+=h(a);if((f=e["if"].call(c,(a=c.agent,null==a||!1===a?a:a.away),{hash:{},inverse:this.program(3,function(a,b){var c,d;d={hash:{},data:b};return h((c=e.L10n||a.L10n,c?c.call(a,"pending.status.online",d):g.call(a,"L10n","pending.status.online",d)))},d),fn:this.program(1,function(a,b){var c,d;d={hash:{},data:b};return h((c=
+e.L10n||a.L10n,c?c.call(a,"pending.status.away",d):g.call(a,"L10n","pending.status.away",d)))},d),data:d}))||0===f)b+=f;b+='
';if((f=e["if"].call(c,(a=c.agent,null==a||!1===a?a:a.away),{hash:{},inverse:this.program(7,function(a,b){var c,d;d={hash:{},data:b};return h((c=e.L10n||a.L10n,c?c.call(a,"pending.status.setaway",d):g.call(a,"L10n","pending.status.setaway",d)))},d),fn:this.program(5,function(a,b){var c,d;d={hash:{},data:b};
+return h((c=e.L10n||a.L10n,c?c.call(a,"pending.status.setonline",d):g.call(a,"L10n","pending.status.setonline",d)))},d),data:d}))||0===f)b+=f;return b+" "});l.threads_collection=k(function(b,c,e,a,d){this.compilerInfo=[4,">= 1.0.0"];e=this.merge(e,b.helpers);d=d||{};var f,g=e.helperMissing,h=this.escapeExpression;a={hash:{},data:d};b='\n\n\n '+(h((f=e.L10n||c.L10n,f?f.call(c,"pending.table.head.name",a):g.call(c,"L10n","pending.table.head.name",
+a)))+" | \n ");a={hash:{},data:d};b+=h((f=e.L10n||c.L10n,f?f.call(c,"pending.table.head.actions",a):g.call(c,"L10n","pending.table.head.actions",a)))+" | \n ";a={hash:{},data:d};b+=h((f=e.L10n||c.L10n,f?f.call(c,"pending.table.head.contactid",a):g.call(c,"L10n","pending.table.head.contactid",a)))+" | \n ";a={hash:{},data:d};b+=h((f=e.L10n||c.L10n,f?f.call(c,"pending.table.head.state",a):g.call(c,"L10n","pending.table.head.state",a)))+" | \n ";a={hash:{},data:d};
+b+=h((f=e.L10n||c.L10n,f?f.call(c,"pending.table.head.operator",a):g.call(c,"L10n","pending.table.head.operator",a)))+" | \n ";a={hash:{},data:d};b+=h((f=e.L10n||c.L10n,f?f.call(c,"pending.table.head.total",a):g.call(c,"L10n","pending.table.head.total",a)))+" | \n ";a={hash:{},data:d};b+=h((f=e.L10n||c.L10n,f?f.call(c,"pending.table.head.waittime",a):g.call(c,"L10n","pending.table.head.waittime",a)))+" | \n ";a={hash:{},data:d};return b+=h((f=e.L10n||c.L10n,f?f.call(c,"pending.table.head.etc",
+a):g.call(c,"L10n","pending.table.head.etc",a)))+' | \n
\n\n\n\n\n
'});l.visitors_collection=k(function(b,c,e,a,d){this.compilerInfo=[4,">= 1.0.0"];e=this.merge(e,b.helpers);d=d||{};var f,g=e.helperMissing,h=this.escapeExpression;a={hash:{},data:d};b='\n\n\n '+(h((f=e.L10n||c.L10n,f?f.call(c,"visitors.table.head.name",a):g.call(c,"L10n","visitors.table.head.name",
+a)))+" | \n ");a={hash:{},data:d};b+=h((f=e.L10n||c.L10n,f?f.call(c,"visitors.table.head.actions",a):g.call(c,"L10n","visitors.table.head.actions",a)))+" | \n ";a={hash:{},data:d};b+=h((f=e.L10n||c.L10n,f?f.call(c,"visitors.table.head.contactid",a):g.call(c,"L10n","visitors.table.head.contactid",a)))+" | \n ";a={hash:{},data:d};b+=h((f=e.L10n||c.L10n,f?f.call(c,"visitors.table.head.firsttimeonsite",a):g.call(c,"L10n","visitors.table.head.firsttimeonsite",a)))+" | \n ";
+a={hash:{},data:d};b+=h((f=e.L10n||c.L10n,f?f.call(c,"visitors.table.head.lasttimeonsite",a):g.call(c,"L10n","visitors.table.head.lasttimeonsite",a)))+" | \n ";a={hash:{},data:d};b+=h((f=e.L10n||c.L10n,f?f.call(c,"visitors.table.head.invited.by",a):g.call(c,"L10n","visitors.table.head.invited.by",a)))+" | \n ";a={hash:{},data:d};b+=h((f=e.L10n||c.L10n,f?f.call(c,"visitors.table.head.invitationtime",a):g.call(c,"L10n","visitors.table.head.invitationtime",a)))+" | \n ";a=
+{hash:{},data:d};b+=h((f=e.L10n||c.L10n,f?f.call(c,"visitors.table.head.invitations",a):g.call(c,"L10n","visitors.table.head.invitations",a)))+" | \n ";a={hash:{},data:d};return b+=h((f=e.L10n||c.L10n,f?f.call(c,"visitors.table.head.etc",a):g.call(c,"L10n","visitors.table.head.etc",a)))+' | \n
\n\n\n\n
'});l.agent=k(function(b,c,e,a,d){this.compilerInfo=[4,">= 1.0.0"];e=this.merge(e,b.helpers);d=d||{};var f=e.helperMissing,g=this.escapeExpression;
+b='';(a=e.name)?a=a.call(c,{hash:{},data:d}):(a=c.name,a="function"===typeof a?a.apply(c):a);b+=g(a);if((a=e.unless.call(c,c.isLast,{hash:{},inverse:this.noop,fn:this.program(9,function(){return","},d),data:d}))||0===a)b+=a;return b})})();
diff --git a/src/mibew/js/templates/source/.htaccess b/src/mibew/styles/pages/default/templates_src/.htaccess
similarity index 100%
rename from src/mibew/js/templates/source/.htaccess
rename to src/mibew/styles/pages/default/templates_src/.htaccess
diff --git a/src/mibew/js/templates/source/default/default_control.handlebars b/src/mibew/styles/pages/default/templates_src/client_side/default/default_control.handlebars
similarity index 100%
rename from src/mibew/js/templates/source/default/default_control.handlebars
rename to src/mibew/styles/pages/default/templates_src/client_side/default/default_control.handlebars
diff --git a/src/mibew/js/templates/source/default/message.handlebars b/src/mibew/styles/pages/default/templates_src/client_side/default/message.handlebars
similarity index 100%
rename from src/mibew/js/templates/source/default/message.handlebars
rename to src/mibew/styles/pages/default/templates_src/client_side/default/message.handlebars
diff --git a/src/mibew/js/templates/source/users/agent.handlebars b/src/mibew/styles/pages/default/templates_src/client_side/users/agent.handlebars
similarity index 100%
rename from src/mibew/js/templates/source/users/agent.handlebars
rename to src/mibew/styles/pages/default/templates_src/client_side/users/agent.handlebars
diff --git a/src/mibew/js/templates/source/users/no_threads.handlebars b/src/mibew/styles/pages/default/templates_src/client_side/users/no_threads.handlebars
similarity index 100%
rename from src/mibew/js/templates/source/users/no_threads.handlebars
rename to src/mibew/styles/pages/default/templates_src/client_side/users/no_threads.handlebars
diff --git a/src/mibew/js/templates/source/users/no_visitors.handlebars b/src/mibew/styles/pages/default/templates_src/client_side/users/no_visitors.handlebars
similarity index 100%
rename from src/mibew/js/templates/source/users/no_visitors.handlebars
rename to src/mibew/styles/pages/default/templates_src/client_side/users/no_visitors.handlebars
diff --git a/src/mibew/js/templates/source/users/queued_thread.handlebars b/src/mibew/styles/pages/default/templates_src/client_side/users/queued_thread.handlebars
similarity index 100%
rename from src/mibew/js/templates/source/users/queued_thread.handlebars
rename to src/mibew/styles/pages/default/templates_src/client_side/users/queued_thread.handlebars
diff --git a/src/mibew/js/templates/source/users/status_panel.handlebars b/src/mibew/styles/pages/default/templates_src/client_side/users/status_panel.handlebars
similarity index 100%
rename from src/mibew/js/templates/source/users/status_panel.handlebars
rename to src/mibew/styles/pages/default/templates_src/client_side/users/status_panel.handlebars
diff --git a/src/mibew/js/templates/source/users/threads_collection.handlebars b/src/mibew/styles/pages/default/templates_src/client_side/users/threads_collection.handlebars
similarity index 100%
rename from src/mibew/js/templates/source/users/threads_collection.handlebars
rename to src/mibew/styles/pages/default/templates_src/client_side/users/threads_collection.handlebars
diff --git a/src/mibew/js/templates/source/users/visitor.handlebars b/src/mibew/styles/pages/default/templates_src/client_side/users/visitor.handlebars
similarity index 100%
rename from src/mibew/js/templates/source/users/visitor.handlebars
rename to src/mibew/styles/pages/default/templates_src/client_side/users/visitor.handlebars
diff --git a/src/mibew/js/templates/source/users/visitors_collection.handlebars b/src/mibew/styles/pages/default/templates_src/client_side/users/visitors_collection.handlebars
similarity index 100%
rename from src/mibew/js/templates/source/users/visitors_collection.handlebars
rename to src/mibew/styles/pages/default/templates_src/client_side/users/visitors_collection.handlebars
diff --git a/src/mibew/styles/pages/default/templates_src/server_side/.htaccess b/src/mibew/styles/pages/default/templates_src/server_side/.htaccess
deleted file mode 100644
index 14249c50..00000000
--- a/src/mibew/styles/pages/default/templates_src/server_side/.htaccess
+++ /dev/null
@@ -1 +0,0 @@
-Deny from all
\ No newline at end of file
diff --git a/src/mibew/styles/pages/default/templates_src/server_side/install_index.handlebars b/src/mibew/styles/pages/default/templates_src/server_side/install_index.handlebars
index e885a4be..7298a903 100644
--- a/src/mibew/styles/pages/default/templates_src/server_side/install_index.handlebars
+++ b/src/mibew/styles/pages/default/templates_src/server_side/install_index.handlebars
@@ -13,6 +13,9 @@
+
+
+
diff --git a/src/mibew/styles/pages/default/templates_src/server_side/thread_log.handlebars b/src/mibew/styles/pages/default/templates_src/server_side/thread_log.handlebars
index 5ec8fa3c..312dda7b 100644
--- a/src/mibew/styles/pages/default/templates_src/server_side/thread_log.handlebars
+++ b/src/mibew/styles/pages/default/templates_src/server_side/thread_log.handlebars
@@ -8,6 +8,9 @@
+
+
+
diff --git a/src/mibew/styles/pages/default/templates_src/server_side/users.handlebars b/src/mibew/styles/pages/default/templates_src/server_side/users.handlebars
index b53210c2..350f8488 100644
--- a/src/mibew/styles/pages/default/templates_src/server_side/users.handlebars
+++ b/src/mibew/styles/pages/default/templates_src/server_side/users.handlebars
@@ -16,6 +16,10 @@
+
+
+
+