Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/candy-chat/candy.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Weibel <michael.weibel@gmail.com>2014-01-24 10:30:01 +0400
committerMichael Weibel <michael.weibel@gmail.com>2014-01-24 10:30:01 +0400
commitc034a517a047c349f6f73d28663c220efdf50bd3 (patch)
tree974b3f415e821af3d4e360e09d300c9ead7ca087
parent4ca958ea2ee12faca3cd097d21b7f18e4dea00d8 (diff)
parent506226553604a832b51c31aaaf0c60da0d5987b3 (diff)
Merge branch 'dev' into feature/xhtml-colorsfeature/xhtml-colors
-rw-r--r--candy.bundle.js12
-rw-r--r--candy.bundle.map2
-rw-r--r--candy.min.js4
-rw-r--r--candy.min.map2
-rw-r--r--src/view/observer.js5
-rw-r--r--src/view/pane.js8
6 files changed, 23 insertions, 10 deletions
diff --git a/candy.bundle.js b/candy.bundle.js
index ce23626..6ac8409 100644
--- a/candy.bundle.js
+++ b/candy.bundle.js
@@ -2754,7 +2754,9 @@ Candy.View.Observer = function(self, $) {
args.roomJid = Candy.Util.unescapeJid(args.roomJid);
// Initialize room if not yet existing
if (!Candy.View.Pane.Chat.rooms[args.roomJid]) {
- Candy.View.Pane.Room.init(args.roomJid, args.roomName);
+ if (Candy.View.Pane.Room.init(args.roomJid, args.roomName) === false) {
+ return false;
+ }
Candy.View.Pane.Room.show(args.roomJid);
}
Candy.View.Pane.Roster.update(args.roomJid, args.user, args.action, args.currentUser);
@@ -4282,7 +4284,9 @@ Candy.View.Pane = function(self, $) {
return false;
}
if (!self.Chat.rooms[roomJid]) {
- self.Room.init(roomJid, roomName, "chat");
+ if (self.Room.init(roomJid, roomName, "chat") === false) {
+ return false;
+ }
}
if (switchToRoom) {
self.Room.show(roomJid);
@@ -4716,7 +4720,9 @@ Candy.View.Pane = function(self, $) {
// Check if user is online and not myself
var room = Candy.Core.getRoom(roomJid);
if (room && name !== self.Room.getUser(Candy.View.getCurrent().roomJid).getNick() && room.getRoster().get(roomJid + "/" + name)) {
- Candy.View.Pane.PrivateRoom.open(roomJid + "/" + name, name, true);
+ if (Candy.View.Pane.PrivateRoom.open(roomJid + "/" + name, name, true) === false) {
+ return false;
+ }
}
});
// Notify the user about a new private message
diff --git a/candy.bundle.map b/candy.bundle.map
index 6551cb4..b71d779 100644
--- a/candy.bundle.map
+++ b/candy.bundle.map
@@ -1 +1 @@
-{"version":3,"file":"candy.bundle.js","sources":["src/candy.js","src/core.js","src/view.js","src/util.js","src/core/action.js","src/core/chatRoom.js","src/core/chatRoster.js","src/core/chatUser.js","src/core/event.js","src/view/observer.js","src/view/pane.js","src/view/template.js","src/view/translation.js"],"names":["Candy","self","$","about","name","version","init","service","options","viewClass","View","view","Core","core","jQuery","Strophe","_connection","_service","_user","_rooms","_anonymousConnection","_status","_options","autojoin","undefined","debug","disableWindowUnload","presencePriority","resource","_addNamespace","value","addNamespace","_addNamespaces","_getEscapedJidFromJid","jid","node","getNodeFromJid","domain","getDomainFromJid","escapeNode","extend","window","console","log","Function","prototype","bind","call","apply","arguments","Connection","rawInput","rawOutput","caps","onbeforeunload","onWindowUnload","registerEventHandlers","addHandler","Event","Jabber","Version","NS","VERSION","Presence","Message","Bookmarks","PRIVATE","Room","Disco","DISCO_INFO","disco","_onDiscoInfo","_onDiscoItems","DISCO_ITEMS","_delegateCapabilities","CAPS","connect","jidOrHost","password","nick","reset","triggerHandler","connection","indexOf","Connect","ChatUser","Login","attach","sid","rid","disconnect","connected","each","getRooms","Action","Leave","this","getJid","handler","ns","type","id","from","getUser","setUser","user","getConnection","removeRoom","roomJid","getStropheStatus","setStropheStatus","status","isAnonymousConnection","getOptions","getRoom","sync","flush","data","_current","container","language","assets","messages","limit","remove","crop","message","nickname","body","roster","_setupTranslation","i18n","load","Translation","_registerObservers","on","Observer","Chat","AutojoinMissing","update","PresenceError","_registerWindowHandlers","Util","getIeVersion","document","focusin","Pane","Window","onFocus","focusout","onBlur","focus","blur","resize","fitTabs","_initToolbar","Toolbar","_delegateTooltips","delegate","Tooltip","show","resources","Parser","setEmoticonPath","html","Mustache","to_html","Template","pane","tooltipEmoticons","_","tooltipSound","tooltipAutoscroll","tooltipStatusmessage","tooltipAdministration","tooltipUsercount","assetsPath","tabs","rooms","modal","toolbar","soundcontrol","getCurrent","jidToId","MD5","hexdigest","escapeJid","getResourceFromJid","unescapeJid","unescapeNode","str","len","length","substr","parseAndCropXhtml","append","createHtml","get","setCookie","lifetime_days","exp","Date","setDate","getDate","cookie","toUTCString","cookieExists","getCookie","regex","RegExp","escape","matches","exec","deleteCookie","getPosLeftAccordingToWindowBounds","elem","pos","windowWidth","width","elemWidth","outerWidth","marginDiff","backgroundPositionAlignment","px","getPosTopAccordingToWindowBounds","windowHeight","height","elemHeight","outerHeight","localizedTime","dateTime","date","iso8601toDate","toDateString","format","timestamp","parse","isNaN","struct","minutesOffset","getTimezoneOffset","replace","isEmptyObject","obj","prop","hasOwnProperty","forceRedraw","css","display","setTimeout","ie","undef","v","div","createElement","all","getElementsByTagName","innerHTML","_emoticonPath","path","emoticons","plain","image","emotify","text","i","linkify","nl2br","maxLength","currentLength","el","j","tag","attribute","cssAttrs","attr","cssName","cssValue","nodeType","ElementType","NORMAL","nodeName","toLowerCase","XHTML","validTag","attributes","getAttribute","cssText","split","validCSS","push","join","childNodes","e","xmlTextNode","xmlGenerator","createDocumentFragment","appendChild","FRAGMENT","TEXT","nodeValue","substring","parseHTML","msg","sendIQ","$iq","to","c","os","navigator","userAgent","SetNickname","Array","roomNick","presence","conn","$pres","getUniqueId","send","Roster","xmlns","CLIENT","ROSTER","tree","pres","t","toString","up","generateCapsAttrs","Services","Autojoin","BOOKMARKS","isArray","Join","valueOf","ResetIgnoreList","getEscapedJid","PRIVACY","action","order","RemoveIgnoreList","GetIgnoreList","iq","iqId","PrivacyList","SetIgnoreListActive","GetJidIfAnonymous","getNick","MUC","muc","leave","xhtmlMsg","trim","IgnoreUnignore","userJid","addToOrRemoveFromPrivacyList","UpdatePrivacyList","currentUser","privacyList","getPrivacyList","index","Admin","UserAction","reason","itemObj","role","affiliation","MUC_ADMIN","SetSubject","subject","setTopic","ChatRoom","room","ChatRoster","setName","getName","setRoster","getRoster","items","add","getAll","ROLE_MODERATOR","AFFILIATION_OWNER","privacyLists","customData","previousNick","setJid","setNick","getRole","getAffiliation","isModerator","list","splice","setPrivacyLists","lists","isInPrivacyList","setCustomData","getCustomData","setPreviousNick","getPreviousNick","presetJid","Status","CONNECTED","ATTACHED","DISCONNECTED","AUTHFAIL","CONNECTING","DISCONNECTING","AUTHENTICATING","ERROR","CONNFAIL","children","stanza","item","PrivacyListError","fromJid","toJid","getBareJidFromJid","roomName","find","actor","code","identity","presenceType","nickAssign","nickChange","l","$status","tagName","error","bareRoomJid","isNoConferenceRoomJid","xhtmlChild","XHTML_IM","enableXHTML","xhtmlMessage","first","delay","DELAY","_showConnectedMessageModal","event","args","eventName","Modal","hide","showLoginForm","adminMessage","onInfoMessage","close","notifyPrivateChats","actorName","actionLabel","translationParams","Context","adminMessageReason","_action","_reason","evtData","PrivateRoom","setStatus","showEnterPasswordForm","showNicknameConflictForm","showError","setSubject","infoMessage","open","_hasFocus","_plainTitle","title","_unreadMessagesCount","autoscroll","hasFocus","increaseUnreadMessages","renderUnreadMessages","reduceUnreadMessages","num","clearUnreadMessages","count","unreadmessages","setFocusToForm","addTab","roomType","roomId","tab","privateUserChat","appendTo","click","tabClick","tabClose","getTab","removeTab","setActiveTab","addClass","removeClass","unreadElem","parseInt","currentRoomJid","scrollPosition","getPane","scrollTop","preventDefault","parent","allTabsClosed","availableWidth","innerWidth","tabsWidth","overflow","tabDiffToRealWidth","tabWidth","Math","floor","sender","time","toGMTString","appendToMessagePane","scrollToBottom","_supportsNativeAudio","showEmoticonsMenu","currentTarget","stopPropagation","onAutoscrollControlClick","a","canPlayType","onSoundControlClick","onStatusMessageControlClick","context","me","updateUsercount","usercount","playSound","onPlaySound","Audio","play","chatSoundPlayer","getElementById","SetVariable","control","hasClass","toggleClass","onScrollToStoredPosition","onScrollToBottom","showCloseControl","showSpinner","hideCloseControl","hideSpinner","stop","fadeIn","callback","fadeOut","keydown","which","form","_labelNickname","_labelUsername","_labelPassword","_loginSubmit","displayPassword","displayUsername","displayNickname","submit","username","val","enterPasswordForm","_label","_joinSubmit","nicknameConflictForm","replacements","displayError","_error","content","tooltip","target","offset","posLeft","left","posTop","top","mouseleave","menu","links","menulinks","getMenuLinks","clickHandler","link","class","label","element","initialMenuLinks","requiredPermission","private","ignore","ignoreUser","unignore","unignoreUser","kick","contextModalForm","_submit","ban","input","emoticon","messageCount","_messageSubmit","_userOnline","_roomSubject","openRooms","last","sliceMessagePane","slice","messagePane","roomPane","chatPane","addIgnoreIcon","removeIgnoreIcon","subPane","changeDataUserJidIfUserIsMe","roomElement","switchToRoom","messageForm","removeAttr","changeNick","previousPrivateRoomJid","newPrivateRoomJid","previousPrivateRoomId","newPrivateRoomId","roomTabElement","userId","usercountDiff","userElem","displayNick","tooltipRole","tooltipIgnored","userInserted","rosterPane","userSortCompare","toUpperCase","before","showJoinAnimation","replaceWith","opacity","userClick","leaveAnimation","rosterUserId","$rosterUserElem","is","joinAnimation","elementId","slideDown","animate","complete","slideUp","previousUserJid","renderEvtData","template","templateData","displayName","en","statusConnecting","statusConnected","statusDisconnecting","statusDisconnected","statusAuthfail","roomSubject","messageSubmit","labelUsername","labelNickname","labelPassword","loginSubmit","loginInvalid","reasonWas","kickActionLabel","youHaveBeenKickedBy","youHaveBeenKicked","banActionLabel","youHaveBeenBannedBy","youHaveBeenBanned","privateActionLabel","ignoreActionLabel","unignoreActionLabel","setSubjectActionLabel","administratorMessageSubject","userJoinedRoom","userLeftRoom","userHasBeenKickedFromRoom","userHasBeenBannedFromRoom","userChangedNick","presenceUnknownWarningSubject","presenceUnknownWarning","dateFormat","timeFormat","enterRoomPassword","enterRoomPasswordSubmit","passwordEnteredInvalid","nicknameConflict","errorMembersOnly","errorMaxOccupantsReached","errorAutojoinMissing","antiSpamMessage","de","fr","nl","es","cn","ja","sv","it","pt","pt_br","ru","ca"],"mappings":"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"} \ No newline at end of file
+{"version":3,"file":"candy.bundle.js","sources":["src/candy.js","src/core.js","src/view.js","src/util.js","src/core/action.js","src/core/chatRoom.js","src/core/chatRoster.js","src/core/chatUser.js","src/core/event.js","src/view/observer.js","src/view/pane.js","src/view/template.js","src/view/translation.js"],"names":["Candy","self","$","about","name","version","init","service","options","viewClass","View","view","Core","core","jQuery","Strophe","_connection","_service","_user","_rooms","_anonymousConnection","_status","_options","autojoin","undefined","debug","disableWindowUnload","presencePriority","resource","_addNamespace","value","addNamespace","_addNamespaces","_getEscapedJidFromJid","jid","node","getNodeFromJid","domain","getDomainFromJid","escapeNode","extend","window","console","log","Function","prototype","bind","call","apply","arguments","Connection","rawInput","rawOutput","caps","onbeforeunload","onWindowUnload","registerEventHandlers","addHandler","Event","Jabber","Version","NS","VERSION","Presence","Message","Bookmarks","PRIVATE","Room","Disco","DISCO_INFO","disco","_onDiscoInfo","_onDiscoItems","DISCO_ITEMS","_delegateCapabilities","CAPS","connect","jidOrHost","password","nick","reset","triggerHandler","connection","indexOf","Connect","ChatUser","Login","attach","sid","rid","disconnect","connected","each","getRooms","Action","Leave","this","getJid","handler","ns","type","id","from","getUser","setUser","user","getConnection","removeRoom","roomJid","getStropheStatus","setStropheStatus","status","isAnonymousConnection","getOptions","getRoom","sync","flush","data","_current","container","language","assets","messages","limit","remove","crop","message","nickname","body","roster","_setupTranslation","i18n","load","Translation","_registerObservers","on","Observer","Chat","AutojoinMissing","update","PresenceError","_registerWindowHandlers","Util","getIeVersion","document","focusin","Pane","Window","onFocus","focusout","onBlur","focus","blur","resize","fitTabs","_initToolbar","Toolbar","_delegateTooltips","delegate","Tooltip","show","resources","Parser","setEmoticonPath","html","Mustache","to_html","Template","pane","tooltipEmoticons","_","tooltipSound","tooltipAutoscroll","tooltipStatusmessage","tooltipAdministration","tooltipUsercount","assetsPath","tabs","rooms","modal","toolbar","soundcontrol","getCurrent","jidToId","MD5","hexdigest","escapeJid","getResourceFromJid","unescapeJid","unescapeNode","str","len","length","substr","parseAndCropXhtml","append","createHtml","get","setCookie","lifetime_days","exp","Date","setDate","getDate","cookie","toUTCString","cookieExists","getCookie","regex","RegExp","escape","matches","exec","deleteCookie","getPosLeftAccordingToWindowBounds","elem","pos","windowWidth","width","elemWidth","outerWidth","marginDiff","backgroundPositionAlignment","px","getPosTopAccordingToWindowBounds","windowHeight","height","elemHeight","outerHeight","localizedTime","dateTime","date","iso8601toDate","toDateString","format","timestamp","parse","isNaN","struct","minutesOffset","getTimezoneOffset","replace","isEmptyObject","obj","prop","hasOwnProperty","forceRedraw","css","display","setTimeout","ie","undef","v","div","createElement","all","getElementsByTagName","innerHTML","_emoticonPath","path","emoticons","plain","image","emotify","text","i","linkify","nl2br","maxLength","currentLength","el","j","tag","attribute","cssAttrs","attr","cssName","cssValue","nodeType","ElementType","NORMAL","nodeName","toLowerCase","XHTML","validTag","attributes","getAttribute","cssText","split","validCSS","push","join","childNodes","e","xmlTextNode","xmlGenerator","createDocumentFragment","appendChild","FRAGMENT","TEXT","nodeValue","substring","parseHTML","msg","sendIQ","$iq","to","c","os","navigator","userAgent","SetNickname","Array","roomNick","presence","conn","$pres","getUniqueId","send","Roster","xmlns","CLIENT","ROSTER","tree","pres","t","toString","up","generateCapsAttrs","Services","Autojoin","BOOKMARKS","isArray","Join","valueOf","ResetIgnoreList","getEscapedJid","PRIVACY","action","order","RemoveIgnoreList","GetIgnoreList","iq","iqId","PrivacyList","SetIgnoreListActive","GetJidIfAnonymous","getNick","MUC","muc","leave","xhtmlMsg","trim","IgnoreUnignore","userJid","addToOrRemoveFromPrivacyList","UpdatePrivacyList","currentUser","privacyList","getPrivacyList","index","Admin","UserAction","reason","itemObj","role","affiliation","MUC_ADMIN","SetSubject","subject","setTopic","ChatRoom","room","ChatRoster","setName","getName","setRoster","getRoster","items","add","getAll","ROLE_MODERATOR","AFFILIATION_OWNER","privacyLists","customData","previousNick","setJid","setNick","getRole","getAffiliation","isModerator","list","splice","setPrivacyLists","lists","isInPrivacyList","setCustomData","getCustomData","setPreviousNick","getPreviousNick","presetJid","Status","CONNECTED","ATTACHED","DISCONNECTED","AUTHFAIL","CONNECTING","DISCONNECTING","AUTHENTICATING","ERROR","CONNFAIL","children","stanza","item","PrivacyListError","fromJid","toJid","getBareJidFromJid","roomName","find","actor","code","identity","presenceType","nickAssign","nickChange","l","$status","tagName","error","bareRoomJid","isNoConferenceRoomJid","xhtmlChild","XHTML_IM","enableXHTML","xhtmlMessage","first","delay","DELAY","_showConnectedMessageModal","event","args","eventName","Modal","hide","showLoginForm","adminMessage","onInfoMessage","close","notifyPrivateChats","actorName","actionLabel","translationParams","Context","adminMessageReason","_action","_reason","evtData","PrivateRoom","setStatus","showEnterPasswordForm","showNicknameConflictForm","showError","setSubject","infoMessage","open","_hasFocus","_plainTitle","title","_unreadMessagesCount","autoscroll","hasFocus","increaseUnreadMessages","renderUnreadMessages","reduceUnreadMessages","num","clearUnreadMessages","count","unreadmessages","setFocusToForm","addTab","roomType","roomId","tab","privateUserChat","appendTo","click","tabClick","tabClose","getTab","removeTab","setActiveTab","addClass","removeClass","unreadElem","parseInt","currentRoomJid","scrollPosition","getPane","scrollTop","preventDefault","parent","allTabsClosed","availableWidth","innerWidth","tabsWidth","overflow","tabDiffToRealWidth","tabWidth","Math","floor","sender","time","toGMTString","appendToMessagePane","scrollToBottom","_supportsNativeAudio","showEmoticonsMenu","currentTarget","stopPropagation","onAutoscrollControlClick","a","canPlayType","onSoundControlClick","onStatusMessageControlClick","context","me","updateUsercount","usercount","playSound","onPlaySound","Audio","play","chatSoundPlayer","getElementById","SetVariable","control","hasClass","toggleClass","onScrollToStoredPosition","onScrollToBottom","showCloseControl","showSpinner","hideCloseControl","hideSpinner","stop","fadeIn","callback","fadeOut","keydown","which","form","_labelNickname","_labelUsername","_labelPassword","_loginSubmit","displayPassword","displayUsername","displayNickname","submit","username","val","enterPasswordForm","_label","_joinSubmit","nicknameConflictForm","replacements","displayError","_error","content","tooltip","target","offset","posLeft","left","posTop","top","mouseleave","menu","links","menulinks","getMenuLinks","clickHandler","link","class","label","element","initialMenuLinks","requiredPermission","private","ignore","ignoreUser","unignore","unignoreUser","kick","contextModalForm","_submit","ban","input","emoticon","messageCount","_messageSubmit","_userOnline","_roomSubject","openRooms","last","sliceMessagePane","slice","messagePane","roomPane","chatPane","addIgnoreIcon","removeIgnoreIcon","subPane","changeDataUserJidIfUserIsMe","roomElement","switchToRoom","messageForm","removeAttr","changeNick","previousPrivateRoomJid","newPrivateRoomJid","previousPrivateRoomId","newPrivateRoomId","roomTabElement","userId","usercountDiff","userElem","displayNick","tooltipRole","tooltipIgnored","userInserted","rosterPane","userSortCompare","toUpperCase","before","showJoinAnimation","replaceWith","opacity","userClick","leaveAnimation","rosterUserId","$rosterUserElem","is","joinAnimation","elementId","slideDown","animate","complete","slideUp","previousUserJid","renderEvtData","template","templateData","displayName","en","statusConnecting","statusConnected","statusDisconnecting","statusDisconnected","statusAuthfail","roomSubject","messageSubmit","labelUsername","labelNickname","labelPassword","loginSubmit","loginInvalid","reasonWas","kickActionLabel","youHaveBeenKickedBy","youHaveBeenKicked","banActionLabel","youHaveBeenBannedBy","youHaveBeenBanned","privateActionLabel","ignoreActionLabel","unignoreActionLabel","setSubjectActionLabel","administratorMessageSubject","userJoinedRoom","userLeftRoom","userHasBeenKickedFromRoom","userHasBeenBannedFromRoom","userChangedNick","presenceUnknownWarningSubject","presenceUnknownWarning","dateFormat","timeFormat","enterRoomPassword","enterRoomPasswordSubmit","passwordEnteredInvalid","nicknameConflict","errorMembersOnly","errorMaxOccupantsReached","errorAutojoinMissing","antiSpamMessage","de","fr","nl","es","cn","ja","sv","it","pt","pt_br","ru","ca"],"mappings":"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"} \ No newline at end of file
diff --git a/candy.min.js b/candy.min.js
index 72000d2..86caf0e 100644
--- a/candy.min.js
+++ b/candy.min.js
@@ -1,4 +1,4 @@
-"use strict";var Candy=function(a,b){return a.about={name:"Candy",version:"1.6.1-dev"},a.init=function(c,d){d.viewClass||(d.viewClass=a.View),d.viewClass.init(b("#candy"),d.view),a.Core.init(c,d.core)},a}(Candy||{},jQuery);Candy.Core=function(a,b,c){var d,e=null,f=null,g=null,h={},i=!1,j={autojoin:void 0,debug:!1,disableWindowUnload:!1,presencePriority:1,resource:Candy.about.name},k=function(a,c){b.addNamespace(a,c)},l=function(){k("PRIVATE","jabber:iq:private"),k("BOOKMARKS","storage:bookmarks"),k("PRIVACY","jabber:iq:privacy"),k("DELAY","jabber:x:delay")},m=function(a){var c=b.getNodeFromJid(a),d=b.getDomainFromJid(a);return c?b.escapeNode(c)+"@"+d:d};return a.init=function(d,g){f=d,c.extend(!0,j,g),j.debug&&(void 0!==typeof window.console&&void 0!==typeof window.console.log&&(a.log=Function.prototype.bind?Function.prototype.bind.call(console.log,console):function(){Function.prototype.apply.call(console.log,console,arguments)}),a.log("[Init] Debugging enabled")),l(),e=new b.Connection(f),e.rawInput=a.rawInput.bind(a),e.rawOutput=a.rawOutput.bind(a),e.caps.node="https://candy-chat.github.io/candy/",j.disableWindowUnload||(window.onbeforeunload=a.onWindowUnload)},a.registerEventHandlers=function(){a.addHandler(a.Event.Jabber.Version,b.NS.VERSION,"iq"),a.addHandler(a.Event.Jabber.Presence,null,"presence"),a.addHandler(a.Event.Jabber.Message,null,"message"),a.addHandler(a.Event.Jabber.Bookmarks,b.NS.PRIVATE,"iq"),a.addHandler(a.Event.Jabber.Room.Disco,b.NS.DISCO_INFO,"iq","result"),a.addHandler(e.disco._onDiscoInfo.bind(e.disco),b.NS.DISCO_INFO,"iq","get"),a.addHandler(e.disco._onDiscoItems.bind(e.disco),b.NS.DISCO_ITEMS,"iq","get"),a.addHandler(e.caps._delegateCapabilities.bind(e.caps),b.NS.CAPS)},a.connect=function(d,f,h){e.reset(),a.registerEventHandlers(),c(Candy).triggerHandler("candy:core.before-connect",{connection:e}),i=i?!0:d&&d.indexOf("@")<0,d&&f?(e.connect(m(d)+"/"+j.resource,f,Candy.Core.Event.Strophe.Connect),g=h?new a.ChatUser(d,h):new a.ChatUser(d,b.getNodeFromJid(d))):d&&h?(e.connect(m(d)+"/"+j.resource,null,Candy.Core.Event.Strophe.Connect),g=new a.ChatUser(null,h)):d?Candy.Core.Event.Login(d):Candy.Core.Event.Login()},a.attach=function(c,d,f){g=new a.ChatUser(c,b.getNodeFromJid(c)),a.registerEventHandlers(),e.attach(c,d,f,Candy.Core.Event.Strophe.Connect)},a.disconnect=function(){e.connected&&(c.each(a.getRooms(),function(){Candy.Core.Action.Jabber.Room.Leave(this.getJid())}),e.disconnect())},a.addHandler=function(a,b,c,d,f,g,h){return e.addHandler(a,b,c,d,f,g,h)},a.getUser=function(){return g},a.setUser=function(a){g=a},a.getConnection=function(){return e},a.removeRoom=function(a){delete h[a]},a.getRooms=function(){return h},a.getStropheStatus=function(){return d},a.setStropheStatus=function(a){d=a},a.isAnonymousConnection=function(){return i},a.getOptions=function(){return j},a.getRoom=function(a){return h[a]?h[a]:null},a.onWindowUnload=function(){e.options.sync=!0,a.disconnect(),e.flush()},a.rawInput=function(a){this.log("RECV: "+a)},a.rawOutput=function(a){this.log("SENT: "+a)},a.log=function(){},a}(Candy.Core||{},Strophe,jQuery),Candy.View=function(a,b){var c={container:null,roomJid:null},d={language:"en",assets:"res/",messages:{limit:2e3,remove:500},crop:{message:{nickname:15,body:1e3},roster:{nickname:15}}},e=function(c){b.i18n.load(a.Translation[c])},f=function(){b(Candy).on("candy:core.chat.connection",a.Observer.Chat.Connection),b(Candy).on("candy:core.chat.message",a.Observer.Chat.Message),b(Candy).on("candy:core.login",a.Observer.Login),b(Candy).on("candy:core.autojoin-missing",a.Observer.AutojoinMissing),b(Candy).on("candy:core.presence",a.Observer.Presence.update),b(Candy).on("candy:core.presence.leave",a.Observer.Presence.update),b(Candy).on("candy:core.presence.room",a.Observer.Presence.update),b(Candy).on("candy:core.presence.error",a.Observer.PresenceError),b(Candy).on("candy:core.message",a.Observer.Message)},g=function(){Candy.Util.getIeVersion()<9?b(document).focusin(Candy.View.Pane.Window.onFocus).focusout(Candy.View.Pane.Window.onBlur):b(window).focus(Candy.View.Pane.Window.onFocus).blur(Candy.View.Pane.Window.onBlur),b(window).resize(Candy.View.Pane.Chat.fitTabs)},h=function(){a.Pane.Chat.Toolbar.init()},i=function(){b("body").delegate("li[data-tooltip]","mouseenter",Candy.View.Pane.Chat.Tooltip.show)};return a.init=function(a,j){j.resources&&(j.assets=j.resources),delete j.resources,b.extend(!0,d,j),e(d.language),Candy.Util.Parser.setEmoticonPath(this.getOptions().assets+"img/emoticons/"),c.container=a,c.container.html(Mustache.to_html(Candy.View.Template.Chat.pane,{tooltipEmoticons:b.i18n._("tooltipEmoticons"),tooltipSound:b.i18n._("tooltipSound"),tooltipAutoscroll:b.i18n._("tooltipAutoscroll"),tooltipStatusmessage:b.i18n._("tooltipStatusmessage"),tooltipAdministration:b.i18n._("tooltipAdministration"),tooltipUsercount:b.i18n._("tooltipUsercount"),assetsPath:this.getOptions().assets},{tabs:Candy.View.Template.Chat.tabs,rooms:Candy.View.Template.Chat.rooms,modal:Candy.View.Template.Chat.modal,toolbar:Candy.View.Template.Chat.toolbar,soundcontrol:Candy.View.Template.Chat.soundcontrol})),g(),h(),f(),i()},a.getCurrent=function(){return c},a.getOptions=function(){return d},a}(Candy.View||{},jQuery),Candy.Util=function(a,b){a.jidToId=function(a){return MD5.hexdigest(a)},a.escapeJid=function(a){var b=Strophe.escapeNode(Strophe.getNodeFromJid(a)),c=Strophe.getDomainFromJid(a),d=Strophe.getResourceFromJid(a);return a=b+"@"+c,d&&(a+="/"+d),a},a.unescapeJid=function(a){var b=Strophe.unescapeNode(Strophe.getNodeFromJid(a)),c=Strophe.getDomainFromJid(a),d=Strophe.getResourceFromJid(a);return a=b+"@"+c,d&&(a+="/"+d),a},a.crop=function(a,b){return a.length>b&&(a=a.substr(0,b-3)+"..."),a},a.parseAndCropXhtml=function(c,d){return b("<div/>").append(a.createHtml(b(c).get(0),d)).html()},a.setCookie=function(a,b,c){var d=new Date;d.setDate((new Date).getDate()+c),document.cookie=a+"="+b+";expires="+d.toUTCString()+";path=/"},a.cookieExists=function(a){return document.cookie.indexOf(a)>-1},a.getCookie=function(a){if(document.cookie){var b=new RegExp(escape(a)+"=([^;]*)","gm"),c=b.exec(document.cookie);if(c)return c[1]}},a.deleteCookie=function(a){document.cookie=a+"=;expires=Thu, 01-Jan-70 00:00:01 GMT;path=/"},a.getPosLeftAccordingToWindowBounds=function(a,c){var d=b(document).width(),e=a.outerWidth(),f=e-a.outerWidth(!0),g="left";return c+e>=d&&(c-=e-f,g="right"),{px:c,backgroundPositionAlignment:g}},a.getPosTopAccordingToWindowBounds=function(a,c){var d=b(document).height(),e=a.outerHeight(),f=e-a.outerHeight(!0),g="top";return c+e>=d&&(c-=e-f,g="bottom"),{px:c,backgroundPositionAlignment:g}},a.localizedTime=function(c){if(void 0===c)return void 0;var d=a.iso8601toDate(c);return d.format(d.toDateString()===(new Date).toDateString()?b.i18n._("timeFormat"):b.i18n._("dateFormat"))},a.iso8601toDate=function(a){var b=Date.parse(a);if(isNaN(b)){var c=/^(\d{4}|[+\-]\d{6})-(\d{2})-(\d{2})(?:[T ](\d{2}):(\d{2})(?::(\d{2})(?:\.(\d{3,}))?)?(?:(Z)|([+\-])(\d{2})(?::?(\d{2}))?))?/.exec(a);if(c){var d=0;return"Z"!==c[8]&&(d=60*+c[10]+ +c[11],"+"===c[9]&&(d=-d)),d-=(new Date).getTimezoneOffset(),new Date(+c[1],+c[2]-1,+c[3],+c[4],+c[5]+d,+c[6],c[7]?+c[7].substr(0,3):0)}b=Date.parse(a.replace(/^(\d{4})(\d{2})(\d{2})/,"$1-$2-$3")+"Z")}return new Date(b)},a.isEmptyObject=function(a){var b;for(b in a)if(a.hasOwnProperty(b))return!1;return!0},a.forceRedraw=function(a){a.css({display:"none"}),setTimeout(function(){this.css({display:"block"})}.bind(a),1)};var c=function(){for(var a,b=3,c=document.createElement("div"),d=c.getElementsByTagName("i");c.innerHTML="<!--[if gt IE "+ ++b+"]><i></i><![endif]-->",d[0];);return b>4?b:a}();return a.getIeVersion=function(){return c},a.Parser={_emoticonPath:"",setEmoticonPath:function(a){this._emoticonPath=a},emoticons:[{plain:":)",regex:/((\s):-?\)|:-?\)(\s|$))/gm,image:"Smiling.png"},{plain:";)",regex:/((\s);-?\)|;-?\)(\s|$))/gm,image:"Winking.png"},{plain:":D",regex:/((\s):-?D|:-?D(\s|$))/gm,image:"Grinning.png"},{plain:";D",regex:/((\s);-?D|;-?D(\s|$))/gm,image:"Grinning_Winking.png"},{plain:":(",regex:/((\s):-?\(|:-?\((\s|$))/gm,image:"Unhappy.png"},{plain:"^^",regex:/((\s)\^\^|\^\^(\s|$))/gm,image:"Happy_3.png"},{plain:":P",regex:/((\s):-?P|:-?P(\s|$))/gim,image:"Tongue_Out.png"},{plain:";P",regex:/((\s);-?P|;-?P(\s|$))/gim,image:"Tongue_Out_Winking.png"},{plain:":S",regex:/((\s):-?S|:-?S(\s|$))/gim,image:"Confused.png"},{plain:":/",regex:/((\s):-?\/|:-?\/(\s|$))/gm,image:"Uncertain.png"},{plain:"8)",regex:/((\s)8-?\)|8-?\)(\s|$))/gm,image:"Sunglasses.png"},{plain:"$)",regex:/((\s)\$-?\)|\$-?\)(\s|$))/gm,image:"Greedy.png"},{plain:"oO",regex:/((\s)oO|oO(\s|$))/gm,image:"Huh.png"},{plain:":x",regex:/((\s):x|:x(\s|$))/gm,image:"Lips_Sealed.png"},{plain:":666:",regex:/((\s):666:|:666:(\s|$))/gm,image:"Devil.png"},{plain:"<3",regex:/((\s)&lt;3|&lt;3(\s|$))/gm,image:"Heart.png"}],emotify:function(a){var b;for(b=this.emoticons.length-1;b>=0;b--)a=a.replace(this.emoticons[b].regex,'$2<img class="emoticon" alt="$1" src="'+this._emoticonPath+this.emoticons[b].image+'" />$3');return a},linkify:function(a){return a=a.replace(/(^|[^\/])(www\.[^\.]+\.[\S]+(\b|$))/gi,"$1http://$2"),a.replace(/(\b(https?|ftp|file):\/\/[\-A-Z0-9+&@#\/%?=~_|!:,.;]*[\-A-Z0-9+&@#\/%=~_|])/gi,'<a href="$1" target="_blank">$1</a>')},escape:function(a){return b("<div/>").text(a).html()},nl2br:function(a){return a.replace(/\r\n|\r|\n/g,"<br />")},all:function(a){return a&&(a=this.escape(a),a=this.linkify(a),a=this.emotify(a),a=this.nl2br(a)),a}},a.createHtml=function(c,d,e){e=e||0;var f,g,h,i,j,k,l,m,n,o,p;if(c.nodeType===Strophe.ElementType.NORMAL)if(i=c.nodeName.toLowerCase(),Strophe.XHTML.validTag(i))try{for(g=b("<"+i+"/>"),f=0;f<Strophe.XHTML.attributes[i].length;f++)if(j=Strophe.XHTML.attributes[i][f],k=c.getAttribute(j),"undefined"!=typeof k&&null!==k&&""!==k&&k!==!1&&0!==k)if("style"===j&&"object"==typeof k&&"undefined"!=typeof k.cssText&&(k=k.cssText),"style"===j){for(l=[],m=k.split(";"),h=0;h<m.length;h++)n=m[h].split(":"),o=n[0].replace(/^\s*/,"").replace(/\s*$/,"").toLowerCase(),Strophe.XHTML.validCSS(o)&&(p=n[1].replace(/^\s*/,"").replace(/\s*$/,""),l.push(o+": "+p));l.length>0&&(k=l.join("; "),g.attr(j,k))}else g.attr(j,k);for(f=0;f<c.childNodes.length;f++)g.append(a.createHtml(c.childNodes[f],d,e))}catch(q){Candy.Core.log("[Util:createHtml] Error while parsing XHTML:"),Candy.Core.log(q),g=Strophe.xmlTextNode("")}else for(g=Strophe.xmlGenerator().createDocumentFragment(),f=0;f<c.childNodes.length;f++)g.appendChild(a.createHtml(c.childNodes[f],d,e));else if(c.nodeType===Strophe.ElementType.FRAGMENT)for(g=Strophe.xmlGenerator().createDocumentFragment(),f=0;f<c.childNodes.length;f++)g.appendChild(a.createHtml(c.childNodes[f],d,e));else if(c.nodeType===Strophe.ElementType.TEXT){var r=c.nodeValue;e+=r.length,d&&e>d&&(r=r.substring(0,d)),r=Candy.Util.Parser.all(r),g=b.parseHTML(r)}return g},a}(Candy.Util||{},jQuery),Candy.Core.Action=function(a,b,c){return a.Jabber={Version:function(a){Candy.Core.getConnection().sendIQ($iq({type:"result",to:Candy.Util.escapeJid(a.attr("from")),from:Candy.Util.escapeJid(a.attr("to")),id:a.attr("id")}).c("query",{name:Candy.about.name,version:Candy.about.version,os:navigator.userAgent}))},SetNickname:function(a,b){b=b instanceof Array?b:Candy.Core.getRooms();var d,e,f=Candy.Core.getConnection();c.each(b,function(b){d=Candy.Util.escapeJid(b+"/"+a),e=$pres({to:d,from:f.jid,id:"pres:"+f.getUniqueId()}),Candy.Core.getConnection().send(e)})},Roster:function(){Candy.Core.getConnection().sendIQ($iq({type:"get",xmlns:b.NS.CLIENT}).c("query",{xmlns:b.NS.ROSTER}).tree())},Presence:function(a,b){var c=Candy.Core.getConnection();a=a||{},a.id||(a.id="pres:"+c.getUniqueId());var d=$pres(a).c("priority").t(Candy.Core.getOptions().presencePriority.toString()).up().c("c",c.caps.generateCapsAttrs()).up();b&&d.node.appendChild(b.node),c.send(d.tree())},Services:function(){Candy.Core.getConnection().sendIQ($iq({type:"get",xmlns:b.NS.CLIENT}).c("query",{xmlns:b.NS.DISCO_ITEMS}).tree())},Autojoin:function(){Candy.Core.getOptions().autojoin===!0?Candy.Core.getConnection().sendIQ($iq({type:"get",xmlns:b.NS.CLIENT}).c("query",{xmlns:b.NS.PRIVATE}).c("storage",{xmlns:b.NS.BOOKMARKS}).tree()):c.isArray(Candy.Core.getOptions().autojoin)?c.each(Candy.Core.getOptions().autojoin,function(){a.Jabber.Room.Join.apply(null,this.valueOf().split(":",2))}):c(Candy).triggerHandler("candy:core.autojoin-missing")},ResetIgnoreList:function(){Candy.Core.getConnection().sendIQ($iq({type:"set",from:Candy.Core.getUser().getEscapedJid()}).c("query",{xmlns:b.NS.PRIVACY}).c("list",{name:"ignore"}).c("item",{action:"allow",order:"0"}).tree())},RemoveIgnoreList:function(){Candy.Core.getConnection().sendIQ($iq({type:"set",from:Candy.Core.getUser().getEscapedJid()}).c("query",{xmlns:b.NS.PRIVACY}).c("list",{name:"ignore"}).tree())},GetIgnoreList:function(){var a=$iq({type:"get",from:Candy.Core.getUser().getEscapedJid()}).c("query",{xmlns:b.NS.PRIVACY}).c("list",{name:"ignore"}).tree(),c=Candy.Core.getConnection().sendIQ(a);Candy.Core.addHandler(Candy.Core.Event.Jabber.PrivacyList,null,"iq",null,c)},SetIgnoreListActive:function(){Candy.Core.getConnection().sendIQ($iq({type:"set",from:Candy.Core.getUser().getEscapedJid()}).c("query",{xmlns:b.NS.PRIVACY}).c("active",{name:"ignore"}).tree())},GetJidIfAnonymous:function(){Candy.Core.getUser().getJid()||(Candy.Core.log("[Jabber] Anonymous login"),Candy.Core.getUser().data.jid=Candy.Core.getConnection().jid)},Room:{Join:function(c,d){a.Jabber.Room.Disco(c),c=Candy.Util.escapeJid(c);var e=Candy.Core.getConnection(),f=c+"/"+Candy.Core.getUser().getNick(),g=$pres({to:f,id:"pres:"+e.getUniqueId()}).c("x",{xmlns:b.NS.MUC});d&&g.c("password").t(d),g.up().c("c",e.caps.generateCapsAttrs()),e.send(g.tree())},Leave:function(a){var b=Candy.Core.getRoom(a).getUser();a=Candy.Util.escapeJid(a),b&&Candy.Core.getConnection().muc.leave(a,b.getNick(),function(){})},Disco:function(a){Candy.Core.getConnection().sendIQ($iq({type:"get",from:Candy.Core.getUser().getEscapedJid(),to:Candy.Util.escapeJid(a)}).c("query",{xmlns:b.NS.DISCO_INFO}).tree())},Message:function(a,b,d,e){return b=c.trim(b),""===b?!1:(Candy.Core.getConnection().muc.message(Candy.Util.escapeJid(a),null,b,e,d),!0)},IgnoreUnignore:function(a){Candy.Core.getUser().addToOrRemoveFromPrivacyList("ignore",a),Candy.Core.Action.Jabber.Room.UpdatePrivacyList()},UpdatePrivacyList:function(){var a=Candy.Core.getUser(),b=$iq({type:"set",from:a.getEscapedJid()}).c("query",{xmlns:"jabber:iq:privacy"}).c("list",{name:"ignore"}),d=a.getPrivacyList("ignore");d.length>0?c.each(d,function(a,c){b.c("item",{type:"jid",value:Candy.Util.escapeJid(c),action:"deny",order:a}).c("message").up().up()}):b.c("item",{action:"allow",order:"0"}),Candy.Core.getConnection().sendIQ(b.tree())},Admin:{UserAction:function(a,c,d,e){a=Candy.Util.escapeJid(a),c=Candy.Util.escapeJid(c);var f={nick:b.getResourceFromJid(c)};switch(d){case"kick":f.role="none";break;case"ban":f.affiliation="outcast";break;default:return!1}return Candy.Core.getConnection().sendIQ($iq({type:"set",from:Candy.Core.getUser().getEscapedJid(),to:a}).c("query",{xmlns:b.NS.MUC_ADMIN}).c("item",f).c("reason").t(e).tree()),!0},SetSubject:function(a,b){Candy.Core.getConnection().muc.setTopic(Candy.Util.escapeJid(a),b)}}}},a}(Candy.Core.Action||{},Strophe,jQuery),Candy.Core.ChatRoom=function(a){this.room={jid:a,name:Strophe.getNodeFromJid(a)},this.user=null,this.roster=new Candy.Core.ChatRoster,this.setUser=function(a){this.user=a},this.getUser=function(){return this.user},this.getJid=function(){return this.room.jid},this.setName=function(a){this.room.name=a},this.getName=function(){return this.room.name},this.setRoster=function(a){this.roster=a},this.getRoster=function(){return this.roster}},Candy.Core.ChatRoster=function(){this.items={},this.add=function(a){this.items[a.getJid()]=a},this.remove=function(a){delete this.items[a]},this.get=function(a){return this.items[a]},this.getAll=function(){return this.items}},Candy.Core.ChatUser=function(a,b,c,d){this.ROLE_MODERATOR="moderator",this.AFFILIATION_OWNER="owner",this.data={jid:a,nick:Strophe.unescapeNode(b),affiliation:c,role:d,privacyLists:{},customData:{},previousNick:void 0},this.getJid=function(){return this.data.jid?Candy.Util.unescapeJid(this.data.jid):void 0},this.getEscapedJid=function(){return Candy.Util.escapeJid(this.data.jid)},this.setJid=function(a){this.data.jid=a},this.getNick=function(){return Strophe.unescapeNode(this.data.nick)},this.setNick=function(a){this.data.nick=a},this.getRole=function(){return this.data.role},this.getAffiliation=function(){return this.data.affiliation},this.isModerator=function(){return this.getRole()===this.ROLE_MODERATOR||this.getAffiliation()===this.AFFILIATION_OWNER},this.addToOrRemoveFromPrivacyList=function(a,b){this.data.privacyLists[a]||(this.data.privacyLists[a]=[]);var c=-1;return-1!==(c=this.data.privacyLists[a].indexOf(b))?this.data.privacyLists[a].splice(c,1):this.data.privacyLists[a].push(b),this.data.privacyLists[a]},this.getPrivacyList=function(a){return this.data.privacyLists[a]||(this.data.privacyLists[a]=[]),this.data.privacyLists[a]},this.setPrivacyLists=function(a){this.data.privacyLists=a},this.isInPrivacyList=function(a,b){return this.data.privacyLists[a]?-1!==this.data.privacyLists[a].indexOf(b):!1},this.setCustomData=function(a){this.data.customData=a},this.getCustomData=function(){return this.data.customData},this.setPreviousNick=function(a){this.data.previousNick=a},this.getPreviousNick=function(){return this.data.previousNick}},Candy.Core.Event=function(a,b,c){return a.Login=function(a){c(Candy).triggerHandler("candy:core.login",{presetJid:a})},a.Strophe={Connect:function(a){switch(Candy.Core.setStropheStatus(a),a){case b.Status.CONNECTED:Candy.Core.log("[Connection] Connected"),Candy.Core.Action.Jabber.GetJidIfAnonymous();case b.Status.ATTACHED:Candy.Core.log("[Connection] Attached"),Candy.Core.Action.Jabber.Presence(),Candy.Core.Action.Jabber.Autojoin(),Candy.Core.Action.Jabber.GetIgnoreList();break;case b.Status.DISCONNECTED:Candy.Core.log("[Connection] Disconnected");break;case b.Status.AUTHFAIL:Candy.Core.log("[Connection] Authentication failed");break;case b.Status.CONNECTING:Candy.Core.log("[Connection] Connecting");break;case b.Status.DISCONNECTING:Candy.Core.log("[Connection] Disconnecting");break;case b.Status.AUTHENTICATING:Candy.Core.log("[Connection] Authenticating");break;case b.Status.ERROR:case b.Status.CONNFAIL:Candy.Core.log("[Connection] Failed ("+a+")");break;default:Candy.Core.log("[Connection] What?!")}c(Candy).triggerHandler("candy:core.chat.connection",{status:a})}},a.Jabber={Version:function(a){return Candy.Core.log("[Jabber] Version"),Candy.Core.Action.Jabber.Version(c(a)),!0},Presence:function(d){return Candy.Core.log("[Jabber] Presence"),d=c(d),d.children('x[xmlns^="'+b.NS.MUC+'"]').length>0?"error"===d.attr("type")?a.Jabber.Room.PresenceError(d):a.Jabber.Room.Presence(d):c(Candy).triggerHandler("candy:core.presence",{from:d.attr("from"),stanza:d}),!0},Bookmarks:function(a){return Candy.Core.log("[Jabber] Bookmarks"),c("conference",a).each(function(){var a=c(this);a.attr("autojoin")&&Candy.Core.Action.Jabber.Room.Join(a.attr("jid"))}),!0},PrivacyList:function(b){Candy.Core.log("[Jabber] PrivacyList");var d=Candy.Core.getUser();return b=c(b),"result"===b.attr("type")?(c('list[name="ignore"] item',b).each(function(){var a=c(this);"deny"===a.attr("action")&&d.addToOrRemoveFromPrivacyList("ignore",a.attr("value"))}),Candy.Core.Action.Jabber.SetIgnoreListActive(),!1):a.Jabber.PrivacyListError(b)},PrivacyListError:function(a){return Candy.Core.log("[Jabber] PrivacyListError"),c('error[code="404"][type="cancel"] item-not-found',a)&&(Candy.Core.Action.Jabber.ResetIgnoreList(),Candy.Core.Action.Jabber.SetIgnoreListActive()),!1},Message:function(d){Candy.Core.log("[Jabber] Message"),d=c(d);var e=d.attr("from"),f=d.attr("type"),g=d.attr("to");return e===b.getDomainFromJid(e)||"groupchat"!==f&&"chat"!==f&&"error"!==f&&"normal"!==f?g||e!==b.getDomainFromJid(e)?g&&e===b.getDomainFromJid(e)&&c(Candy).triggerHandler("candy:core.chat.message.server",{type:f||"message",subject:d.children("subject").text(),message:d.children("body").text()}):c(Candy).triggerHandler("candy:core.chat.message.admin",{type:f||"message",message:d.children("body").text()}):a.Jabber.Room.Message(d),!0},Room:{Leave:function(a){Candy.Core.log("[Jabber:Room] Leave"),a=c(a);var d=Candy.Util.unescapeJid(a.attr("from")),e=b.getBareJidFromJid(d);if(!Candy.Core.getRoom(e))return!0;var f,g,h=Candy.Core.getRoom(e).getName(),i=a.find("item"),j="leave";if(delete Candy.Core.getRooms()[e],"none"===i.attr("role")){var k=a.find("status").attr("code");"307"===k?j="kick":"301"===k&&(j="ban"),f=i.find("reason").text(),g=i.find("actor").attr("jid")}var l=new Candy.Core.ChatUser(d,b.getResourceFromJid(d),i.attr("affiliation"),i.attr("role"));return c(Candy).triggerHandler("candy:core.presence.leave",{roomJid:e,roomName:h,type:j,reason:f,actor:g,user:l}),!0},Disco:function(a){if(Candy.Core.log("[Jabber:Room] Disco"),a=c(a),!a.find('identity[category="conference"]').length)return!0;var d=b.getBareJidFromJid(Candy.Util.unescapeJid(a.attr("from")));Candy.Core.getRooms()[d]||(Candy.Core.getRooms()[d]=new Candy.Core.ChatRoom(d));var e=a.find("identity");if(e.length){var f=e.attr("name"),g=Candy.Core.getRoom(d);null===g.getName()&&g.setName(b.unescapeNode(f))}return!0},Presence:function(d){Candy.Core.log("[Jabber:Room] Presence");var e=Candy.Util.unescapeJid(d.attr("from")),f=b.getBareJidFromJid(e),g=d.attr("type"),h=d.find("status"),i=!1,j=!1;if(h.length)for(var k=0,l=h.length;l>k;k++){var m=c(h[k]),n=m.attr("code");"303"===n?j=!0:"210"===n&&(i=!0)}var o=Candy.Core.getRoom(f);o||(Candy.Core.getRooms()[f]=new Candy.Core.ChatRoom(f),o=Candy.Core.getRoom(f));var p=o.getUser()?o.getUser():Candy.Core.getUser();if(b.getResourceFromJid(e)===p.getNick()&&"unavailable"===g&&j===!1)return a.Jabber.Room.Leave(d),!0;var q,r,s,t=o.getRoster(),u=d.find("item");if("unavailable"!==g){if(t.get(e))return!0;s=b.getResourceFromJid(e),r=new Candy.Core.ChatUser(e,s,u.attr("affiliation"),u.attr("role")),null!==o.getUser()||Candy.Core.getUser().getNick()!==s&&!i||(o.setUser(r),p=r),t.add(r),q="join"}else r=t.get(e),t.remove(e),j?(s=u.attr("nick"),q="nickchange",r.setPreviousNick(r.getNick()),r.setNick(s),r.setJid(b.getBareJidFromJid(e)+"/"+s),t.add(r)):(q="leave","none"===u.attr("role")&&("307"===d.find("status").attr("code")?q="kick":"301"===d.find("status").attr("code")&&(q="ban")));return c(Candy).triggerHandler("candy:core.presence.room",{roomJid:f,roomName:o.getName(),user:r,action:q,currentUser:p}),!0},PresenceError:function(a){Candy.Core.log("[Jabber:Room] Presence Error");var d=Candy.Util.unescapeJid(a.attr("from")),e=b.getBareJidFromJid(d),f=Candy.Core.getRooms()[e],g=f.getName();return Candy.Core.removeRoom(e),f=void 0,c(Candy).triggerHandler("candy:core.presence.error",{msg:a,type:a.children("error").children()[0].tagName.toLowerCase(),roomJid:e,roomName:g}),!0},Message:function(a){Candy.Core.log("[Jabber:Room] Message");var d,e;if(a.children("subject").length>0)d=Candy.Util.unescapeJid(b.getBareJidFromJid(a.attr("from"))),e={name:b.getNodeFromJid(d),body:a.children("subject").text(),type:"subject"};else if("error"===a.attr("type")){var f=a.children("error");f.children("text").length>0&&(d=a.attr("from"),e={type:"info",body:f.children("text").text()})}else{if(!(a.children("body").length>0))return!0;if("chat"===a.attr("type")||"normal"===a.attr("type")){d=Candy.Util.unescapeJid(a.attr("from"));var g=b.getBareJidFromJid(d),h=!Candy.Core.getRoom(g),i=h?b.getNodeFromJid(d):b.getResourceFromJid(d);e={name:i,body:a.children("body").text(),type:a.attr("type"),isNoConferenceRoomJid:h}}else{d=Candy.Util.unescapeJid(b.getBareJidFromJid(a.attr("from")));var j=b.getResourceFromJid(a.attr("from"));if(j)j=b.unescapeNode(j),e={name:j,body:a.children("body").text(),type:a.attr("type")};else{if(!Candy.View.Pane.Chat.rooms[a.attr("from")])return!0;e={name:"",body:a.children("body").text(),type:"info"}}}var k=a.children('html[xmlns="'+b.NS.XHTML_IM+'"]');if(Candy.View.getOptions().enableXHTML===!0&&k.length>0){var l=k.children('body[xmlns="'+b.NS.XHTML+'"]').first().html();e.xhtmlMessage=l}}var m=a.children(a.children("delay")?"delay":'x[xmlns="'+b.NS.DELAY+'"]'),n=void 0!==m?m.attr("stamp"):null;return c(Candy).triggerHandler("candy:core.message",{roomJid:d,message:e,timestamp:n}),!0}}},a}(Candy.Core.Event||{},Strophe,jQuery),Candy.View.Observer=function(a,b){var c=!0;return a.Chat={Connection:function(a,d){var e="candy:view.connection.status-"+d.status;if(b(Candy).triggerHandler(e)===!1)return!1;switch(d.status){case Strophe.Status.CONNECTING:case Strophe.Status.AUTHENTICATING:Candy.View.Pane.Chat.Modal.show(b.i18n._("statusConnecting"),!1,!0);break;case Strophe.Status.ATTACHED:case Strophe.Status.CONNECTED:c===!0&&(Candy.View.Pane.Chat.Modal.show(b.i18n._("statusConnected")),Candy.View.Pane.Chat.Modal.hide());break;case Strophe.Status.DISCONNECTING:Candy.View.Pane.Chat.Modal.show(b.i18n._("statusDisconnecting"),!1,!0);break;case Strophe.Status.DISCONNECTED:var f=Candy.Core.isAnonymousConnection()?Strophe.getDomainFromJid(Candy.Core.getUser().getJid()):null;Candy.View.Pane.Chat.Modal.showLoginForm(b.i18n._("statusDisconnected"),f);break;case Strophe.Status.AUTHFAIL:Candy.View.Pane.Chat.Modal.showLoginForm(b.i18n._("statusAuthfail"));break;default:Candy.View.Pane.Chat.Modal.show(b.i18n._("status",d.status))}},Message:function(a,b){"message"===b.type?Candy.View.Pane.Chat.adminMessage(b.subject||"",b.message):("chat"===b.type||"groupchat"===b.type)&&Candy.View.Pane.Chat.onInfoMessage(Candy.View.getCurrent().roomJid,b.subject||"",b.message)}},a.Presence={update:function(c,d){if("leave"===d.type){var e=Candy.View.Pane.Room.getUser(d.roomJid);Candy.View.Pane.Room.close(d.roomJid),a.Presence.notifyPrivateChats(e,d.type)}else if("kick"===d.type||"ban"===d.type){var f,g=d.actor?Strophe.getNodeFromJid(d.actor):null,h=[d.roomName];switch(g&&h.push(g),d.type){case"kick":f=b.i18n._(g?"youHaveBeenKickedBy":"youHaveBeenKicked",h);break;case"ban":f=b.i18n._(g?"youHaveBeenBannedBy":"youHaveBeenBanned",h)}Candy.View.Pane.Chat.Modal.show(Mustache.to_html(Candy.View.Template.Chat.Context.adminMessageReason,{reason:d.reason,_action:f,_reason:b.i18n._("reasonWas",[d.reason])})),setTimeout(function(){Candy.View.Pane.Chat.Modal.hide(function(){Candy.View.Pane.Room.close(d.roomJid),a.Presence.notifyPrivateChats(d.user,d.type)})},5e3);var i={type:d.type,reason:d.reason,roomJid:d.roomJid,user:d.user};b(Candy).triggerHandler("candy:view.presence",[i])}else d.roomJid&&(d.roomJid=Candy.Util.unescapeJid(d.roomJid),Candy.View.Pane.Chat.rooms[d.roomJid]||(Candy.View.Pane.Room.init(d.roomJid,d.roomName),Candy.View.Pane.Room.show(d.roomJid)),Candy.View.Pane.Roster.update(d.roomJid,d.user,d.action,d.currentUser),Candy.View.Pane.Chat.rooms[d.user.getJid()]&&"nickchange"!==d.action&&(Candy.View.Pane.Roster.update(d.user.getJid(),d.user,d.action,d.currentUser),Candy.View.Pane.PrivateRoom.setStatus(d.user.getJid(),d.action)))},notifyPrivateChats:function(a,b){Candy.Core.log("[View:Observer] notify Private Chats");var c;for(c in Candy.View.Pane.Chat.rooms)Candy.View.Pane.Chat.rooms.hasOwnProperty(c)&&Candy.View.Pane.Room.getUser(c)&&a.getJid()===Candy.View.Pane.Room.getUser(c).getJid()&&(Candy.View.Pane.Roster.update(c,a,b,a),Candy.View.Pane.PrivateRoom.setStatus(c,b))}},a.PresenceError=function(a,c){switch(c.type){case"not-authorized":var d;c.msg.children("x").children("password").length>0&&(d=b.i18n._("passwordEnteredInvalid",[c.roomName])),Candy.View.Pane.Chat.Modal.showEnterPasswordForm(c.roomJid,c.roomName,d);break;case"conflict":Candy.View.Pane.Chat.Modal.showNicknameConflictForm(c.roomJid);break;case"registration-required":Candy.View.Pane.Chat.Modal.showError("errorMembersOnly",[c.roomName]);break;case"service-unavailable":Candy.View.Pane.Chat.Modal.showError("errorMaxOccupantsReached",[c.roomName])}},a.Message=function(a,b){"subject"===b.message.type?(Candy.View.Pane.Chat.rooms[b.roomJid]||(Candy.View.Pane.Room.init(b.roomJid,b.message.name),Candy.View.Pane.Room.show(b.roomJid)),Candy.View.Pane.Room.setSubject(b.roomJid,b.message.body)):"info"===b.message.type?Candy.View.Pane.Chat.infoMessage(b.roomJid,b.message.body):("chat"!==b.message.type||Candy.View.Pane.Chat.rooms[b.roomJid]||Candy.View.Pane.PrivateRoom.open(b.roomJid,b.message.name,!1,b.message.isNoConferenceRoomJid),Candy.View.Pane.Message.show(b.roomJid,b.message.name,b.message.body,b.message.xhtmlMessage,b.timestamp))},a.Login=function(a,b){Candy.View.Pane.Chat.Modal.showLoginForm(null,b.presetJid)},a.AutojoinMissing=function(){c=!1,Candy.View.Pane.Chat.Modal.showError("errorAutojoinMissing")},a}(Candy.View.Observer||{},jQuery),Candy.View.Pane=function(a,b){return a.Window={_hasFocus:!0,_plainTitle:document.title,_unreadMessagesCount:0,autoscroll:!0,hasFocus:function(){return a.Window._hasFocus},increaseUnreadMessages:function(){a.Window.renderUnreadMessages(++a.Window._unreadMessagesCount)},reduceUnreadMessages:function(b){a.Window._unreadMessagesCount-=b,a.Window._unreadMessagesCount<=0?a.Window.clearUnreadMessages():a.Window.renderUnreadMessages(a.Window._unreadMessagesCount)},clearUnreadMessages:function(){a.Window._unreadMessagesCount=0,document.title=a.Window._plainTitle},renderUnreadMessages:function(b){document.title=Candy.View.Template.Window.unreadmessages.replace("{{count}}",b).replace("{{title}}",a.Window._plainTitle)},onFocus:function(){a.Window._hasFocus=!0,Candy.View.getCurrent().roomJid&&(a.Room.setFocusToForm(Candy.View.getCurrent().roomJid),a.Chat.clearUnreadMessages(Candy.View.getCurrent().roomJid))},onBlur:function(){a.Window._hasFocus=!1}},a.Chat={rooms:[],addTab:function(c,d,e){var f=Candy.Util.jidToId(c),g=Mustache.to_html(Candy.View.Template.Chat.tab,{roomJid:c,roomId:f,name:d||Strophe.getNodeFromJid(c),privateUserChat:function(){return"chat"===e},roomType:e}),h=b(g).appendTo("#chat-tabs");h.click(a.Chat.tabClick),b("a.close",h).click(a.Chat.tabClose),a.Chat.fitTabs()},getTab:function(a){return b("#chat-tabs").children('li[data-roomjid="'+a+'"]')},removeTab:function(b){a.Chat.getTab(b).remove(),a.Chat.fitTabs()},setActiveTab:function(a){b("#chat-tabs").children().each(function(){var c=b(this);c.attr("data-roomjid")===a?c.addClass("active"):c.removeClass("active")})},increaseUnreadMessages:function(b){var c=this.getTab(b).find(".unread");c.show().text(""!==c.text()?parseInt(c.text(),10)+1:1),"chat"===a.Chat.rooms[b].type&&a.Window.increaseUnreadMessages()},clearUnreadMessages:function(b){var c=a.Chat.getTab(b).find(".unread");a.Window.reduceUnreadMessages(c.text()),c.hide().text("")},tabClick:function(c){var d=Candy.View.getCurrent().roomJid;a.Chat.rooms[d].scrollPosition=a.Room.getPane(d,".message-pane-wrapper").scrollTop(),a.Room.show(b(this).attr("data-roomjid")),c.preventDefault()},tabClose:function(){var c=b(this).parent().attr("data-roomjid");return"chat"===a.Chat.rooms[c].type?a.Room.close(c):Candy.Core.Action.Jabber.Room.Leave(c),!1},allTabsClosed:function(){Candy.Core.disconnect(),a.Chat.Toolbar.hide()},fitTabs:function(){var a=b("#chat-tabs").innerWidth(),c=0,d=b("#chat-tabs").children();if(d.each(function(){c+=b(this).css({width:"auto",overflow:"visible"}).outerWidth(!0)}),c>a){var e=d.outerWidth(!0)-d.width(),f=Math.floor(a/d.length)-e;d.css({width:f,overflow:"hidden"})}},adminMessage:function(c,d){if(Candy.View.getCurrent().roomJid){var e=Mustache.to_html(Candy.View.Template.Chat.adminMessage,{subject:c,message:d,sender:b.i18n._("administratorMessageSubject"),time:Candy.Util.localizedTime((new Date).toGMTString())});b("#chat-rooms").children().each(function(){a.Room.appendToMessagePane(b(this).attr("data-roomjid"),e)}),a.Room.scrollToBottom(Candy.View.getCurrent().roomJid),b(Candy).triggerHandler("candy:view.chat.admin-message",{subject:c,message:d})}},infoMessage:function(b,c,d){a.Chat.onInfoMessage(b,c,d)
-},onInfoMessage:function(c,d,e){if(Candy.View.getCurrent().roomJid){var f=Mustache.to_html(Candy.View.Template.Chat.infoMessage,{subject:d,message:b.i18n._(e),time:Candy.Util.localizedTime((new Date).toGMTString())});a.Room.appendToMessagePane(c,f),Candy.View.getCurrent().roomJid===c&&a.Room.scrollToBottom(Candy.View.getCurrent().roomJid)}},Toolbar:{_supportsNativeAudio:!1,init:function(){b("#emoticons-icon").click(function(b){a.Chat.Context.showEmoticonsMenu(b.currentTarget),b.stopPropagation()}),b("#chat-autoscroll-control").click(a.Chat.Toolbar.onAutoscrollControlClick);var c=document.createElement("audio");a.Chat.Toolbar._supportsNativeAudio=!(!c.canPlayType||!c.canPlayType("audio/mpeg;").replace(/no/,"")),b("#chat-sound-control").click(a.Chat.Toolbar.onSoundControlClick),Candy.Util.cookieExists("candy-nosound")&&b("#chat-sound-control").click(),b("#chat-statusmessage-control").click(a.Chat.Toolbar.onStatusMessageControlClick),Candy.Util.cookieExists("candy-nostatusmessages")&&b("#chat-statusmessage-control").click()},show:function(){b("#chat-toolbar").show()},hide:function(){b("#chat-toolbar").hide()},update:function(c){var d=b("#chat-toolbar").find(".context"),e=a.Room.getUser(c);e&&e.isModerator()?d.show().click(function(b){a.Chat.Context.show(b.currentTarget,c),b.stopPropagation()}):d.hide(),a.Chat.Toolbar.updateUsercount(a.Chat.rooms[c].usercount)},playSound:function(){a.Chat.Toolbar.onPlaySound()},onPlaySound:function(){try{if(a.Chat.Toolbar._supportsNativeAudio)new Audio(Candy.View.getOptions().assets+"notify.mp3").play();else{var b=document.getElementById("chat-sound-player");b.SetVariable("method:stop",""),b.SetVariable("method:play","")}}catch(c){}},onSoundControlClick:function(){var c=b("#chat-sound-control");c.hasClass("checked")?(a.Chat.Toolbar.playSound=function(){},Candy.Util.setCookie("candy-nosound","1",365)):(a.Chat.Toolbar.playSound=function(){a.Chat.Toolbar.onPlaySound()},Candy.Util.deleteCookie("candy-nosound")),c.toggleClass("checked")},onAutoscrollControlClick:function(){var c=b("#chat-autoscroll-control");c.hasClass("checked")?(a.Room.scrollToBottom=function(b){a.Room.onScrollToStoredPosition(b)},a.Window.autoscroll=!1):(a.Room.scrollToBottom=function(b){a.Room.onScrollToBottom(b)},a.Room.scrollToBottom(Candy.View.getCurrent().roomJid),a.Window.autoscroll=!0),c.toggleClass("checked")},onStatusMessageControlClick:function(){var c=b("#chat-statusmessage-control");c.hasClass("checked")?(a.Chat.infoMessage=function(){},Candy.Util.setCookie("candy-nostatusmessages","1",365)):(a.Chat.infoMessage=function(b,c,d){a.Chat.onInfoMessage(b,c,d)},Candy.Util.deleteCookie("candy-nostatusmessages")),c.toggleClass("checked")},updateUsercount:function(a){b("#chat-usercount").text(a)}},Modal:{show:function(c,d,e){d?a.Chat.Modal.showCloseControl():a.Chat.Modal.hideCloseControl(),e?a.Chat.Modal.showSpinner():a.Chat.Modal.hideSpinner(),b("#chat-modal").stop(!1,!0),b("#chat-modal-body").html(c),b("#chat-modal").fadeIn("fast"),b("#chat-modal-overlay").show()},hide:function(a){b("#chat-modal").fadeOut("fast",function(){b("#chat-modal-body").text(""),b("#chat-modal-overlay").hide()}),b(document).keydown(function(a){27===a.which&&a.preventDefault()}),a&&a()},showSpinner:function(){b("#chat-modal-spinner").show()},hideSpinner:function(){b("#chat-modal-spinner").hide()},showCloseControl:function(){b("#admin-message-cancel").show().click(function(b){a.Chat.Modal.hide(),b.preventDefault()}),b(document).keydown(function(b){27===b.which&&(a.Chat.Modal.hide(),b.preventDefault())})},hideCloseControl:function(){b("#admin-message-cancel").hide().click(function(){})},showLoginForm:function(c,d){a.Chat.Modal.show((c?c:"")+Mustache.to_html(Candy.View.Template.Login.form,{_labelNickname:b.i18n._("labelNickname"),_labelUsername:b.i18n._("labelUsername"),_labelPassword:b.i18n._("labelPassword"),_loginSubmit:b.i18n._("loginSubmit"),displayPassword:!Candy.Core.isAnonymousConnection(),displayUsername:!d,displayNickname:Candy.Core.isAnonymousConnection(),presetJid:d?d:!1})),b("#login-form").children(":input:first").focus(),b("#login-form").submit(function(){var a=b("#username").val(),c=b("#password").val();if(Candy.Core.isAnonymousConnection())Candy.Core.connect(d,null,a);else{var e=Candy.Core.getUser()&&a.indexOf("@")<0?a+"@"+Strophe.getDomainFromJid(Candy.Core.getUser().getJid()):a;e.indexOf("@")<0&&!Candy.Core.getUser()?Candy.View.Pane.Chat.Modal.showLoginForm(b.i18n._("loginInvalid")):Candy.Core.connect(e,c)}return!1})},showEnterPasswordForm:function(c,d,e){a.Chat.Modal.show(Mustache.to_html(Candy.View.Template.PresenceError.enterPasswordForm,{roomName:d,_labelPassword:b.i18n._("labelPassword"),_label:e?e:b.i18n._("enterRoomPassword",[d]),_joinSubmit:b.i18n._("enterRoomPasswordSubmit")}),!0),b("#password").focus(),b("#enter-password-form").submit(function(){var d=b("#password").val();return a.Chat.Modal.hide(function(){Candy.Core.Action.Jabber.Room.Join(c,d)}),!1})},showNicknameConflictForm:function(c){a.Chat.Modal.show(Mustache.to_html(Candy.View.Template.PresenceError.nicknameConflictForm,{_labelNickname:b.i18n._("labelNickname"),_label:b.i18n._("nicknameConflict"),_loginSubmit:b.i18n._("loginSubmit")})),b("#nickname").focus(),b("#nickname-conflict-form").submit(function(){var d=b("#nickname").val();return a.Chat.Modal.hide(function(){Candy.Core.getUser().data.nick=d,Candy.Core.Action.Jabber.Room.Join(c)}),!1})},showError:function(c,d){a.Chat.Modal.show(Mustache.to_html(Candy.View.Template.PresenceError.displayError,{_error:b.i18n._(c,d)}),!0)}},Tooltip:{show:function(a,c){var d=b("#tooltip"),e=b(a.currentTarget);if(c||(c=e.attr("data-tooltip")),0===d.length){var f=Mustache.to_html(Candy.View.Template.Chat.tooltip);b("#chat-pane").append(f),d=b("#tooltip")}b("#context-menu").hide(),d.stop(!1,!0),d.children("div").html(c);var g=e.offset(),h=Candy.Util.getPosLeftAccordingToWindowBounds(d,g.left),i=Candy.Util.getPosTopAccordingToWindowBounds(d,g.top);d.css({left:h.px,top:i.px}).removeClass("left-top left-bottom right-top right-bottom").addClass(h.backgroundPositionAlignment+"-"+i.backgroundPositionAlignment).fadeIn("fast"),e.mouseleave(function(a){a.stopPropagation(),b("#tooltip").stop(!1,!0).fadeOut("fast",function(){b(this).css({top:0,left:0})})})}},Context:{init:function(){if(0===b("#context-menu").length){var a=Mustache.to_html(Candy.View.Template.Chat.Context.menu);b("#chat-pane").append(a),b("#context-menu").mouseleave(function(){b(this).fadeOut("fast")})}},show:function(c,d,e){c=b(c);var f=a.Chat.rooms[d].id,g=b("#context-menu"),h=b("ul li",g);b("#tooltip").hide(),e||(e=Candy.Core.getUser()),h.remove();var i,j=this.getMenuLinks(d,e,c),k=function(a,c){return function(d){d.data.callback(d,a,c),b("#context-menu").hide()}};for(i in j)if(j.hasOwnProperty(i)){var l=j[i],m=Mustache.to_html(Candy.View.Template.Chat.Context.menulinks,{roomId:f,"class":l["class"],id:i,label:l.label});b("ul",g).append(m),b("#context-menu-"+i).bind("click",l,k(d,e))}if(i){var n=c.offset(),o=Candy.Util.getPosLeftAccordingToWindowBounds(g,n.left),p=Candy.Util.getPosTopAccordingToWindowBounds(g,n.top);return g.css({left:o.px,top:p.px}).removeClass("left-top left-bottom right-top right-bottom").addClass(o.backgroundPositionAlignment+"-"+p.backgroundPositionAlignment).fadeIn("fast"),b(Candy).triggerHandler("candy:view.roster.after-context-menu",{roomJid:d,user:e,element:g}),!0}},getMenuLinks:function(c,d,e){var f,g,h={roomJid:c,user:d,elem:e,menulinks:this.initialMenuLinks(e)};b(Candy).triggerHandler("candy:view.roster.context-menu",h),f=h.menulinks;for(g in f)f.hasOwnProperty(g)&&void 0!==f[g].requiredPermission&&!f[g].requiredPermission(d,a.Room.getUser(c),e)&&delete f[g];return f},initialMenuLinks:function(){return{"private":{requiredPermission:function(a,b){return b.getNick()!==a.getNick()&&Candy.Core.getRoom(Candy.View.getCurrent().roomJid)&&!Candy.Core.getUser().isInPrivacyList("ignore",a.getJid())},"class":"private",label:b.i18n._("privateActionLabel"),callback:function(a,c,d){b("#user-"+Candy.Util.jidToId(c)+"-"+Candy.Util.jidToId(d.getJid())).click()}},ignore:{requiredPermission:function(a,b){return b.getNick()!==a.getNick()&&!Candy.Core.getUser().isInPrivacyList("ignore",a.getJid())},"class":"ignore",label:b.i18n._("ignoreActionLabel"),callback:function(a,b,c){Candy.View.Pane.Room.ignoreUser(b,c.getJid())}},unignore:{requiredPermission:function(a,b){return b.getNick()!==a.getNick()&&Candy.Core.getUser().isInPrivacyList("ignore",a.getJid())},"class":"unignore",label:b.i18n._("unignoreActionLabel"),callback:function(a,b,c){Candy.View.Pane.Room.unignoreUser(b,c.getJid())}},kick:{requiredPermission:function(a,b){return b.getNick()!==a.getNick()&&b.isModerator()&&!a.isModerator()},"class":"kick",label:b.i18n._("kickActionLabel"),callback:function(c,d,e){a.Chat.Modal.show(Mustache.to_html(Candy.View.Template.Chat.Context.contextModalForm,{_label:b.i18n._("reason"),_submit:b.i18n._("kickActionLabel")}),!0),b("#context-modal-field").focus(),b("#context-modal-form").submit(function(){return Candy.Core.Action.Jabber.Room.Admin.UserAction(d,e.getJid(),"kick",b("#context-modal-field").val()),a.Chat.Modal.hide(),!1})}},ban:{requiredPermission:function(a,b){return b.getNick()!==a.getNick()&&b.isModerator()&&!a.isModerator()},"class":"ban",label:b.i18n._("banActionLabel"),callback:function(c,d,e){a.Chat.Modal.show(Mustache.to_html(Candy.View.Template.Chat.Context.contextModalForm,{_label:b.i18n._("reason"),_submit:b.i18n._("banActionLabel")}),!0),b("#context-modal-field").focus(),b("#context-modal-form").submit(function(){return Candy.Core.Action.Jabber.Room.Admin.UserAction(d,e.getJid(),"ban",b("#context-modal-field").val()),a.Chat.Modal.hide(),!1})}},subject:{requiredPermission:function(a,b){return b.getNick()===a.getNick()&&b.isModerator()},"class":"subject",label:b.i18n._("setSubjectActionLabel"),callback:function(c,d){a.Chat.Modal.show(Mustache.to_html(Candy.View.Template.Chat.Context.contextModalForm,{_label:b.i18n._("subject"),_submit:b.i18n._("setSubjectActionLabel")}),!0),b("#context-modal-field").focus(),b("#context-modal-form").submit(function(c){Candy.Core.Action.Jabber.Room.Admin.SetSubject(d,b("#context-modal-field").val()),a.Chat.Modal.hide(),c.preventDefault()})}}}},showEmoticonsMenu:function(a){a=b(a);var c,d=a.offset(),e=b("#context-menu"),f=b("ul",e),g="";for(b("#tooltip").hide(),c=Candy.Util.Parser.emoticons.length-1;c>=0;c--)g='<img src="'+Candy.Util.Parser._emoticonPath+Candy.Util.Parser.emoticons[c].image+'" alt="'+Candy.Util.Parser.emoticons[c].plain+'" />'+g;f.html('<li class="emoticons">'+g+"</li>"),f.find("img").click(function(){var a=Candy.View.Pane.Room.getPane(Candy.View.getCurrent().roomJid,".message-form").children(".field"),c=a.val(),d=b(this).attr("alt")+" ";a.val(c?c+" "+d:d).focus()});var h=Candy.Util.getPosLeftAccordingToWindowBounds(e,d.left),i=Candy.Util.getPosTopAccordingToWindowBounds(e,d.top);return e.css({left:h.px,top:i.px}).removeClass("left-top left-bottom right-top right-bottom").addClass(h.backgroundPositionAlignment+"-"+i.backgroundPositionAlignment).fadeIn("fast"),!0}}},a.Room={init:function(c,d,e){e=e||"groupchat",c=Candy.Util.unescapeJid(c);var f={roomJid:c,type:e};if(b(Candy).triggerHandler("candy:view.room.before-add",f)===!1)return!1;Candy.Util.isEmptyObject(a.Chat.rooms)&&a.Chat.Toolbar.show();var g=Candy.Util.jidToId(c);return a.Chat.rooms[c]={id:g,usercount:0,name:d,type:e,messageCount:0,scrollPosition:-1},b("#chat-rooms").append(Mustache.to_html(Candy.View.Template.Room.pane,{roomId:g,roomJid:c,roomType:e,form:{_messageSubmit:b.i18n._("messageSubmit")},roster:{_userOnline:b.i18n._("userOnline")}},{roster:Candy.View.Template.Roster.pane,messages:Candy.View.Template.Message.pane,form:Candy.View.Template.Room.form})),a.Chat.addTab(c,d,e),a.Room.getPane(c,".message-form").submit(a.Message.submit),f.element=a.Room.getPane(c),b(Candy).triggerHandler("candy:view.room.after-add",f),g},show:function(c){var d,e=a.Chat.rooms[c].id;b(".room-pane").each(function(){var f=b(this);d={roomJid:c,element:f},f.attr("id")==="chat-room-"+e?(f.show(),Candy.View.getCurrent().roomJid=c,a.Chat.setActiveTab(c),a.Chat.Toolbar.update(c),a.Chat.clearUnreadMessages(c),a.Room.setFocusToForm(c),a.Room.scrollToBottom(c),b(Candy).triggerHandler("candy:view.room.after-show",d)):(f.hide(),b(Candy).triggerHandler("candy:view.room.after-hide",d))})},setSubject:function(c,d){d=Candy.Util.Parser.linkify(Candy.Util.Parser.escape(d));var e=Mustache.to_html(Candy.View.Template.Room.subject,{subject:d,roomName:a.Chat.rooms[c].name,_roomSubject:b.i18n._("roomSubject"),time:Candy.Util.localizedTime((new Date).toGMTString())});a.Room.appendToMessagePane(c,e),a.Room.scrollToBottom(c),b(Candy).triggerHandler("candy:view.room.after-subject-change",{roomJid:c,element:a.Room.getPane(c),subject:d})},close:function(c){a.Chat.removeTab(c),a.Window.clearUnreadMessages(),a.Room.getPane(c).remove();var d=b("#chat-rooms").children();Candy.View.getCurrent().roomJid===c&&(Candy.View.getCurrent().roomJid=null,0===d.length?a.Chat.allTabsClosed():a.Room.show(d.last().attr("data-roomjid"))),delete a.Chat.rooms[c],b(Candy).triggerHandler("candy:view.room.after-close",{roomJid:c})},appendToMessagePane:function(b,c){a.Room.getPane(b,".message-pane").append(c),a.Chat.rooms[b].messageCount++,a.Room.sliceMessagePane(b)},sliceMessagePane:function(b){if(a.Window.autoscroll){var c=Candy.View.getOptions().messages;a.Chat.rooms[b].messageCount>c.limit&&(a.Room.getPane(b,".message-pane").children().slice(0,c.remove).remove(),a.Chat.rooms[b].messageCount-=c.remove)}},scrollToBottom:function(b){a.Room.onScrollToBottom(b)},onScrollToBottom:function(b){var c=a.Room.getPane(b,".message-pane-wrapper");c.scrollTop(c.prop("scrollHeight"))},onScrollToStoredPosition:function(b){if(a.Chat.rooms[b].scrollPosition>-1){var c=a.Room.getPane(b,".message-pane-wrapper");c.scrollTop(a.Chat.rooms[b].scrollPosition),a.Chat.rooms[b].scrollPosition=-1}},setFocusToForm:function(b){var c=a.Room.getPane(b,".message-form");if(c)try{c.children(".field")[0].focus()}catch(d){}},setUser:function(c,d){a.Chat.rooms[c].user=d;var e=a.Room.getPane(c),f=b("#chat-pane");e.attr("data-userjid",d.getJid()),d.isModerator()?(d.getRole()===d.ROLE_MODERATOR&&f.addClass("role-moderator"),d.getAffiliation()===d.AFFILIATION_OWNER&&f.addClass("affiliation-owner")):f.removeClass("role-moderator affiliation-owner"),a.Chat.Context.init()},getUser:function(b){return a.Chat.rooms[b].user},ignoreUser:function(a,b){Candy.Core.Action.Jabber.Room.IgnoreUnignore(b),Candy.View.Pane.Room.addIgnoreIcon(a,b)},unignoreUser:function(a,b){Candy.Core.Action.Jabber.Room.IgnoreUnignore(b),Candy.View.Pane.Room.removeIgnoreIcon(a,b)},addIgnoreIcon:function(a,c){Candy.View.Pane.Chat.rooms[c]&&b("#user-"+Candy.View.Pane.Chat.rooms[c].id+"-"+Candy.Util.jidToId(c)).addClass("status-ignored"),Candy.View.Pane.Chat.rooms[Strophe.getBareJidFromJid(a)]&&b("#user-"+Candy.View.Pane.Chat.rooms[Strophe.getBareJidFromJid(a)].id+"-"+Candy.Util.jidToId(c)).addClass("status-ignored")},removeIgnoreIcon:function(a,c){Candy.View.Pane.Chat.rooms[c]&&b("#user-"+Candy.View.Pane.Chat.rooms[c].id+"-"+Candy.Util.jidToId(c)).removeClass("status-ignored"),Candy.View.Pane.Chat.rooms[Strophe.getBareJidFromJid(a)]&&b("#user-"+Candy.View.Pane.Chat.rooms[Strophe.getBareJidFromJid(a)].id+"-"+Candy.Util.jidToId(c)).removeClass("status-ignored")},getPane:function(c,d){return a.Chat.rooms[c]?d?a.Chat.rooms[c]["pane-"+d]?a.Chat.rooms[c]["pane-"+d]:(a.Chat.rooms[c]["pane-"+d]=b("#chat-room-"+a.Chat.rooms[c].id).find(d),a.Chat.rooms[c]["pane-"+d]):b("#chat-room-"+a.Chat.rooms[c].id):void 0},changeDataUserJidIfUserIsMe:function(a,c){if(c.getNick()===Candy.Core.getUser().getNick()){var d=b("#chat-room-"+a);d.attr("data-userjid",Strophe.getBareJidFromJid(d.attr("data-userjid"))+"/"+c.getNick())}}},a.PrivateRoom={open:function(c,d,e,f){var g=f?Candy.Core.getUser():a.Room.getUser(Strophe.getBareJidFromJid(c)),h={roomJid:c,roomName:d,type:"chat"};return b(Candy).triggerHandler("candy:view.private-room.before-open",h)===!1?!1:Candy.Core.getUser().isInPrivacyList("ignore",c)?!1:(a.Chat.rooms[c]||a.Room.init(c,d,"chat"),e&&a.Room.show(c),a.Roster.update(c,new Candy.Core.ChatUser(c,d),"join",g),a.Roster.update(c,g,"join",g),a.PrivateRoom.setStatus(c,"join"),f&&a.Chat.infoMessage(c,b.i18n._("presenceUnknownWarningSubject"),b.i18n._("presenceUnknownWarning")),h.element=a.Room.getPane(c),void b(Candy).triggerHandler("candy:view.private-room.after-open",h))},setStatus:function(b,c){var d=a.Room.getPane(b,".message-form");"join"===c?(a.Chat.getTab(b).addClass("online").removeClass("offline"),d.children(".field").removeAttr("disabled"),d.children(".submit").removeAttr("disabled"),a.Chat.getTab(b)):"leave"===c&&(a.Chat.getTab(b).addClass("offline").removeClass("online"),d.children(".field").attr("disabled",!0),d.children(".submit").attr("disabled",!0))},changeNick:function(c,d){Candy.Core.log("[View:Pane:PrivateRoom] changeNick");var e,f,g=c+"/"+d.getPreviousNick(),h=c+"/"+d.getNick(),i=Candy.Util.jidToId(g),j=Candy.Util.jidToId(h),k=a.Chat.rooms[g];a.Chat.rooms[h]&&a.Room.close(h),k?(k.name=d.getNick(),k.id=j,a.Chat.rooms[h]=k,delete a.Chat.rooms[g],e=b("#chat-room-"+i),e&&(e.attr("data-roomjid",h),e.attr("id","chat-room-"+j),f=b('#chat-tabs li[data-roomjid="'+g+'"]'),f.attr("data-roomjid",h),f.children("a.label").text("@"+d.getNick()),Candy.View.getCurrent().roomJid===g&&(Candy.View.getCurrent().roomJid=h))):(e=b('.room-pane.roomtype-chat[data-userjid="'+g+'"]'),e.length&&(i=Candy.Util.jidToId(e.attr("data-roomjid")),e.attr("data-userjid",h))),e&&e.length&&a.Roster.changeNick(i,d)}},a.Roster={update:function(c,d,e,f){Candy.Core.log("[View:Pane:Roster] "+e);var g=a.Chat.rooms[c].id,h=Candy.Util.jidToId(d.getJid()),i=-1,j=b("#user-"+g+"-"+h),k={roomJid:c,user:d,action:e,element:j};if(b(Candy).triggerHandler("candy:view.roster.before-update",k),"join"===e){i=1;var l=Mustache.to_html(Candy.View.Template.Roster.user,{roomId:g,userId:h,userJid:d.getJid(),nick:d.getNick(),displayNick:Candy.Util.crop(d.getNick(),Candy.View.getOptions().crop.roster.nickname),role:d.getRole(),affiliation:d.getAffiliation(),me:void 0!==f&&d.getNick()===f.getNick(),tooltipRole:b.i18n._("tooltipRole"),tooltipIgnored:b.i18n._("tooltipIgnored")});if(j.length<1){var m=!1,n=a.Room.getPane(c,".roster-pane");if(n.children().length>0){var o=d.getNick().toUpperCase();n.children().each(function(){var a=b(this);return a.attr("data-nick").toUpperCase()>o?(a.before(l),m=!0,!1):!0})}m||n.append(l),a.Roster.showJoinAnimation(d,h,g,c,f)}else i=0,j.replaceWith(l),b("#user-"+g+"-"+h).css({opacity:1}).show(),void 0!==f&&d.getNick()===f.getNick()&&a.Room.getUser(c)&&a.Chat.Toolbar.update(c);void 0!==f&&f.getNick()===d.getNick()?a.Room.setUser(c,d):b("#user-"+g+"-"+h).click(a.Roster.userClick),b("#user-"+g+"-"+h+" .context").click(function(b){a.Chat.Context.show(b.currentTarget,c,d),b.stopPropagation()}),void 0!==f&&f.isInPrivacyList("ignore",d.getJid())&&Candy.View.Pane.Room.addIgnoreIcon(c,d.getJid())}else if("leave"===e)a.Roster.leaveAnimation("user-"+g+"-"+h),"chat"===a.Chat.rooms[c].type?a.Chat.onInfoMessage(c,b.i18n._("userLeftRoom",[d.getNick()])):a.Chat.infoMessage(c,b.i18n._("userLeftRoom",[d.getNick()]));else if("nickchange"===e){i=0,a.Roster.changeNick(g,d),a.Room.changeDataUserJidIfUserIsMe(g,d),a.PrivateRoom.changeNick(c,d);var p=b.i18n._("userChangedNick",[d.getPreviousNick(),d.getNick()]);a.Chat.onInfoMessage(c,p)}else"kick"===e?(a.Roster.leaveAnimation("user-"+g+"-"+h),a.Chat.onInfoMessage(c,b.i18n._("userHasBeenKickedFromRoom",[d.getNick()]))):"ban"===e&&(a.Roster.leaveAnimation("user-"+g+"-"+h),a.Chat.onInfoMessage(c,b.i18n._("userHasBeenBannedFromRoom",[d.getNick()])));Candy.View.Pane.Chat.rooms[c].usercount+=i,c===Candy.View.getCurrent().roomJid&&Candy.View.Pane.Chat.Toolbar.updateUsercount(Candy.View.Pane.Chat.rooms[c].usercount),k.element=b("#user-"+g+"-"+h),b(Candy).triggerHandler("candy:view.roster.after-update",k)},userClick:function(){var c=b(this);a.PrivateRoom.open(c.attr("data-jid"),c.attr("data-nick"),!0)},showJoinAnimation:function(c,d,e,f,g){var h="user-"+e+"-"+d,i=b("#"+h);c.getPreviousNick()&&i&&i.is(":visible")!==!1||(a.Roster.joinAnimation(h),void 0!==g&&c.getNick()!==g.getNick()&&a.Room.getUser(f)&&("chat"===a.Chat.rooms[f].type?a.Chat.onInfoMessage(f,b.i18n._("userJoinedRoom",[c.getNick()])):a.Chat.infoMessage(f,b.i18n._("userJoinedRoom",[c.getNick()]))))},joinAnimation:function(a){b("#"+a).stop(!0).slideDown("normal",function(){b(this).animate({opacity:1})})},leaveAnimation:function(a){b("#"+a).stop(!0).attr("id","#"+a+"-leaving").animate({opacity:0},{complete:function(){b(this).slideUp("normal",function(){b(this).remove()})}})},changeNick:function(a,c){Candy.Core.log("[View:Pane:Roster] changeNick");var d=Strophe.getBareJidFromJid(c.getJid())+"/"+c.getPreviousNick(),e="user-"+a+"-"+Candy.Util.jidToId(d),f=b("#"+e);f.attr("data-nick",c.getNick()),f.attr("data-jid",c.getJid()),f.children("div.label").text(c.getNick()),f.attr("id","user-"+a+"-"+Candy.Util.jidToId(c.getJid()))}},a.Message={submit:function(c){var d,e=Candy.View.getCurrent().roomJid,f=Candy.View.Pane.Chat.rooms[e].type,g=b(this).children(".field").val().substring(0,Candy.View.getOptions().crop.message.body),h={roomJid:e,message:g,xhtmlMessage:d};return b(Candy).triggerHandler("candy:view.message.before-send",h)===!1?void c.preventDefault():(g=h.message,d=h.xhtmlMessage,Candy.Core.Action.Jabber.Room.Message(Candy.View.getCurrent().roomJid,g,f,d),"chat"===f&&g&&a.Message.show(Candy.View.getCurrent().roomJid,a.Room.getUser(Candy.View.getCurrent().roomJid).getNick(),g),b(this).children(".field").val("").focus(),void c.preventDefault())},show:function(c,d,e,f,g){e=Candy.Util.Parser.all(e.substring(0,Candy.View.getOptions().crop.message.body)),f&&(f=Candy.Util.parseAndCropXhtml(f,Candy.View.getOptions().crop.message.body));var h={roomJid:c,name:d,message:e,xhtmlMessage:f};if(b(Candy).triggerHandler("candy:view.message.before-show",h)!==!1&&(e=h.message,f=h.xhtmlMessage,void 0!==f&&f.length>0&&(e=f),e)){var i={template:Candy.View.Template.Message.item,templateData:{name:d,displayName:Candy.Util.crop(d,Candy.View.getOptions().crop.message.nickname),message:e,time:Candy.Util.localizedTime(g||(new Date).toGMTString())}};b(Candy).triggerHandler("candy:view.message.before-render",i);var j=Mustache.to_html(i.template,i.templateData);a.Room.appendToMessagePane(c,j);var k=a.Room.getPane(c,".message-pane").children().last();k.find("a.label").click(function(b){b.preventDefault();var e=Candy.Core.getRoom(c);e&&d!==a.Room.getUser(Candy.View.getCurrent().roomJid).getNick()&&e.getRoster().get(c+"/"+d)&&Candy.View.Pane.PrivateRoom.open(c+"/"+d,d,!0)}),Candy.View.getCurrent().roomJid===c&&a.Window.hasFocus()||(a.Chat.increaseUnreadMessages(c),"chat"!==Candy.View.Pane.Chat.rooms[c].type||a.Window.hasFocus()||a.Chat.Toolbar.playSound()),Candy.View.getCurrent().roomJid===c&&a.Room.scrollToBottom(c),h.element=k,b(Candy).triggerHandler("candy:view.message.after-show",h)}}},a}(Candy.View.Pane||{},jQuery),Candy.View.Template=function(a){return a.Window={unreadmessages:"({{count}}) {{title}}"},a.Chat={pane:'<div id="chat-pane">{{> tabs}}{{> toolbar}}{{> rooms}}</div>{{> modal}}',rooms:'<div id="chat-rooms" class="rooms"></div>',tabs:'<ul id="chat-tabs"></ul>',tab:'<li class="roomtype-{{roomType}}" data-roomjid="{{roomJid}}" data-roomtype="{{roomType}}"><a href="#" class="label">{{#privateUserChat}}@{{/privateUserChat}}{{name}}</a><a href="#" class="transition"></a><a href="#" class="close">×</a><small class="unread"></small></li>',modal:'<div id="chat-modal"><a id="admin-message-cancel" class="close" href="#">×</a><span id="chat-modal-body"></span><img src="{{assetsPath}}img/modal-spinner.gif" id="chat-modal-spinner" /></div><div id="chat-modal-overlay"></div>',adminMessage:'<li><small>{{time}}</small><div class="adminmessage"><span class="label">{{sender}}</span><span class="spacer">▸</span>{{subject}} {{message}}</div></li>',infoMessage:'<li><small>{{time}}</small><div class="infomessage"><span class="spacer">•</span>{{subject}} {{message}}</div></li>',toolbar:'<ul id="chat-toolbar"><li id="emoticons-icon" data-tooltip="{{tooltipEmoticons}}"></li><li id="chat-sound-control" class="checked" data-tooltip="{{tooltipSound}}">{{> soundcontrol}}</li><li id="chat-autoscroll-control" class="checked" data-tooltip="{{tooltipAutoscroll}}"></li><li class="checked" id="chat-statusmessage-control" data-tooltip="{{tooltipStatusmessage}}"></li><li class="context" data-tooltip="{{tooltipAdministration}}"></li><li class="usercount" data-tooltip="{{tooltipUsercount}}"><span id="chat-usercount"></span></li></ul>',soundcontrol:'<script type="text/javascript">var audioplayerListener = new Object(); audioplayerListener.onInit = function() { };</script><object id="chat-sound-player" type="application/x-shockwave-flash" data="{{assetsPath}}audioplayer.swf" width="0" height="0"><param name="movie" value="{{assetsPath}}audioplayer.swf" /><param name="AllowScriptAccess" value="always" /><param name="FlashVars" value="listener=audioplayerListener&amp;mp3={{assetsPath}}notify.mp3" /></object>',Context:{menu:'<div id="context-menu"><i class="arrow arrow-top"></i><ul></ul><i class="arrow arrow-bottom"></i></div>',menulinks:'<li class="{{class}}" id="context-menu-{{id}}">{{label}}</li>',contextModalForm:'<form action="#" id="context-modal-form"><label for="context-modal-label">{{_label}}</label><input type="text" name="contextModalField" id="context-modal-field" /><input type="submit" class="button" name="send" value="{{_submit}}" /></form>',adminMessageReason:'<a id="admin-message-cancel" class="close" href="#">×</a><p>{{_action}}</p>{{#reason}}<p>{{_reason}}</p>{{/reason}}'},tooltip:'<div id="tooltip"><i class="arrow arrow-top"></i><div></div><i class="arrow arrow-bottom"></i></div>'},a.Room={pane:'<div class="room-pane roomtype-{{roomType}}" id="chat-room-{{roomId}}" data-roomjid="{{roomJid}}" data-roomtype="{{roomType}}">{{> roster}}{{> messages}}{{> form}}</div>',subject:'<li><small>{{time}}</small><div class="subject"><span class="label">{{roomName}}</span><span class="spacer">▸</span>{{_roomSubject}} {{{subject}}}</div></li>',form:'<div class="message-form-wrapper"><form method="post" class="message-form"><input name="message" class="field" type="text" aria-label="Message Form Text Field" autocomplete="off" maxlength="1000" /><input type="submit" class="submit" name="submit" value="{{_messageSubmit}}" /></form></div>'},a.Roster={pane:'<div class="roster-pane"></div>',user:'<div class="user role-{{role}} affiliation-{{affiliation}}{{#me}} me{{/me}}" id="user-{{roomId}}-{{userId}}" data-jid="{{userJid}}" data-nick="{{nick}}" data-role="{{role}}" data-affiliation="{{affiliation}}"><div class="label">{{displayNick}}</div><ul><li class="context" id="context-{{roomId}}-{{userId}}">&#x25BE;</li><li class="role role-{{role}} affiliation-{{affiliation}}" data-tooltip="{{tooltipRole}}"></li><li class="ignore" data-tooltip="{{tooltipIgnored}}"></li></ul></div>'},a.Message={pane:'<div class="message-pane-wrapper"><ul class="message-pane"></ul></div>',item:'<li><small>{{time}}</small><div><a class="label" href="#" class="name">{{displayName}}</a><span class="spacer">▸</span>{{{message}}}</div></li>'},a.Login={form:'<form method="post" id="login-form" class="login-form">{{#displayNickname}}<label for="username">{{_labelNickname}}</label><input type="text" id="username" name="username"/>{{/displayNickname}}{{#displayUsername}}<label for="username">{{_labelUsername}}</label><input type="text" id="username" name="username"/>{{/displayUsername}}{{#presetJid}}<input type="hidden" id="username" name="username" value="{{presetJid}}"/>{{/presetJid}}{{#displayPassword}}<label for="password">{{_labelPassword}}</label><input type="password" id="password" name="password" />{{/displayPassword}}<input type="submit" class="button" value="{{_loginSubmit}}" /></form>'},a.PresenceError={enterPasswordForm:'<strong>{{_label}}</strong><form method="post" id="enter-password-form" class="enter-password-form"><label for="password">{{_labelPassword}}</label><input type="password" id="password" name="password" /><input type="submit" class="button" value="{{_joinSubmit}}" /></form>',nicknameConflictForm:'<strong>{{_label}}</strong><form method="post" id="nickname-conflict-form" class="nickname-conflict-form"><label for="nickname">{{_labelNickname}}</label><input type="text" id="nickname" name="nickname" /><input type="submit" class="button" value="{{_loginSubmit}}" /></form>',displayError:"<strong>{{_error}}</strong>"},a}(Candy.View.Template||{}),Candy.View.Translation={en:{status:"Status: %s",statusConnecting:"Connecting...",statusConnected:"Connected",statusDisconnecting:"Disconnecting...",statusDisconnected:"Disconnected",statusAuthfail:"Authentication failed",roomSubject:"Subject:",messageSubmit:"Send",labelUsername:"Username:",labelNickname:"Nickname:",labelPassword:"Password:",loginSubmit:"Login",loginInvalid:"Invalid JID",reason:"Reason:",subject:"Subject:",reasonWas:"Reason was: %s.",kickActionLabel:"Kick",youHaveBeenKickedBy:"You have been kicked from %2$s by %1$s",youHaveBeenKicked:"You have been kicked from %s",banActionLabel:"Ban",youHaveBeenBannedBy:"You have been banned from %1$s by %2$s",youHaveBeenBanned:"You have been banned from %s",privateActionLabel:"Private chat",ignoreActionLabel:"Ignore",unignoreActionLabel:"Unignore",setSubjectActionLabel:"Change Subject",administratorMessageSubject:"Administrator",userJoinedRoom:"%s joined the room.",userLeftRoom:"%s left the room.",userHasBeenKickedFromRoom:"%s has been kicked from the room.",userHasBeenBannedFromRoom:"%s has been banned from the room.",userChangedNick:"%1$s has changed his nickname to %2$s.",presenceUnknownWarningSubject:"Notice:",presenceUnknownWarning:"This user might be offline. We can't track his presence.",dateFormat:"dd.mm.yyyy",timeFormat:"HH:MM:ss",tooltipRole:"Moderator",tooltipIgnored:"You ignore this user",tooltipEmoticons:"Emoticons",tooltipSound:"Play sound for new private messages",tooltipAutoscroll:"Autoscroll",tooltipStatusmessage:"Display status messages",tooltipAdministration:"Room Administration",tooltipUsercount:"Room Occupants",enterRoomPassword:'Room "%s" is password protected.',enterRoomPasswordSubmit:"Join room",passwordEnteredInvalid:'Invalid password for room "%s".',nicknameConflict:"Username already in use. Please choose another one.",errorMembersOnly:'You can\'t join room "%s": Insufficient rights.',errorMaxOccupantsReached:'You can\'t join room "%s": Too many occupants.',errorAutojoinMissing:"No autojoin parameter set in configuration. Please set one to continue.",antiSpamMessage:"Please do not spam. You have been blocked for a short-time."},de:{status:"Status: %s",statusConnecting:"Verbinden...",statusConnected:"Verbunden",statusDisconnecting:"Verbindung trennen...",statusDisconnected:"Verbindung getrennt",statusAuthfail:"Authentifizierung fehlgeschlagen",roomSubject:"Thema:",messageSubmit:"Senden",labelUsername:"Benutzername:",labelNickname:"Spitzname:",labelPassword:"Passwort:",loginSubmit:"Anmelden",loginInvalid:"Ungültige JID",reason:"Begründung:",subject:"Titel:",reasonWas:"Begründung: %s.",kickActionLabel:"Kick",youHaveBeenKickedBy:"Du wurdest soeben aus dem Raum %1$s gekickt (%2$s)",youHaveBeenKicked:"Du wurdest soeben aus dem Raum %s gekickt",banActionLabel:"Ban",youHaveBeenBannedBy:"Du wurdest soeben aus dem Raum %1$s verbannt (%2$s)",youHaveBeenBanned:"Du wurdest soeben aus dem Raum %s verbannt",privateActionLabel:"Privater Chat",ignoreActionLabel:"Ignorieren",unignoreActionLabel:"Nicht mehr ignorieren",setSubjectActionLabel:"Thema ändern",administratorMessageSubject:"Administrator",userJoinedRoom:"%s hat soeben den Raum betreten.",userLeftRoom:"%s hat soeben den Raum verlassen.",userHasBeenKickedFromRoom:"%s ist aus dem Raum gekickt worden.",userHasBeenBannedFromRoom:"%s ist aus dem Raum verbannt worden.",userChangedNick:"%1$s hat den Nicknamen zu %2$s geändert.",presenceUnknownWarningSubject:"Hinweis:",presenceUnknownWarning:"Dieser Benutzer könnte bereits abgemeldet sein. Wir können seine Anwesenheit nicht verfolgen.",dateFormat:"dd.mm.yyyy",timeFormat:"HH:MM:ss",tooltipRole:"Moderator",tooltipIgnored:"Du ignorierst diesen Benutzer",tooltipEmoticons:"Smileys",tooltipSound:"Ton abspielen bei neuen privaten Nachrichten",tooltipAutoscroll:"Autoscroll",tooltipStatusmessage:"Statusnachrichten anzeigen",tooltipAdministration:"Raum Administration",tooltipUsercount:"Anzahl Benutzer im Raum",enterRoomPassword:'Raum "%s" ist durch ein Passwort geschützt.',enterRoomPasswordSubmit:"Raum betreten",passwordEnteredInvalid:'Inkorrektes Passwort für Raum "%s".',nicknameConflict:"Der Benutzername wird bereits verwendet. Bitte wähle einen anderen.",errorMembersOnly:'Du kannst den Raum "%s" nicht betreten: Ungenügende Rechte.',errorMaxOccupantsReached:'Du kannst den Raum "%s" nicht betreten: Benutzerlimit erreicht.',errorAutojoinMissing:'Keine "autojoin" Konfiguration gefunden. Bitte setze eine konfiguration um fortzufahren.',antiSpamMessage:"Bitte nicht spammen. Du wurdest für eine kurze Zeit blockiert."},fr:{status:"Status : %s",statusConnecting:"Connexion…",statusConnected:"Connecté.",statusDisconnecting:"Déconnexion…",statusDisconnected:"Déconnecté.",statusAuthfail:"L'authentification a échoué",roomSubject:"Sujet :",messageSubmit:"Envoyer",labelUsername:"Nom d'utilisateur :",labelPassword:"Mot de passe :",loginSubmit:"Connexion",loginInvalid:"JID invalide",reason:"Motif :",subject:"Titre :",reasonWas:"Motif : %s.",kickActionLabel:"Kick",youHaveBeenKickedBy:"Vous avez été expulsé du salon %1$s (%2$s)",youHaveBeenKicked:"Vous avez été expulsé du salon %s",banActionLabel:"Ban",youHaveBeenBannedBy:"Vous avez été banni du salon %1$s (%2$s)",youHaveBeenBanned:"Vous avez été banni du salon %s",privateActionLabel:"Chat privé",ignoreActionLabel:"Ignorer",unignoreActionLabel:"Ne plus ignorer",setSubjectActionLabel:"Changer le sujet",administratorMessageSubject:"Administrateur",userJoinedRoom:"%s vient d'entrer dans le salon.",userLeftRoom:"%s vient de quitter le salon.",userHasBeenKickedFromRoom:"%s a été expulsé du salon.",userHasBeenBannedFromRoom:"%s a été banni du salon.",presenceUnknownWarningSubject:"Note :",presenceUnknownWarning:"Cet utilisateur n'est malheureusement plus connecté, le message ne sera pas envoyé.",dateFormat:"dd/mm/yyyy",timeFormat:"HH:MM:ss",tooltipRole:"Modérateur",tooltipIgnored:"Vous ignorez cette personne",tooltipEmoticons:"Smileys",tooltipSound:"Jouer un son lors de la réception de nouveaux messages privés",tooltipAutoscroll:"Défilement automatique",tooltipStatusmessage:"Messages d'état",tooltipAdministration:"Administration du salon",tooltipUsercount:"Nombre d'utilisateurs dans le salon",enterRoomPassword:'Le salon "%s" est protégé par un mot de passe.',enterRoomPasswordSubmit:"Entrer dans le salon",passwordEnteredInvalid:'Le mot de passe pour le salon "%s" est invalide.',nicknameConflict:"Le nom d'utilisateur est déjà utilisé. Veuillez en choisir un autre.",errorMembersOnly:'Vous ne pouvez pas entrer dans le salon "%s" : droits insuffisants.',errorMaxOccupantsReached:'Vous ne pouvez pas entrer dans le salon "%s": Limite d\'utilisateur atteint.',antiSpamMessage:"Merci de ne pas envoyer de spam. Vous avez été bloqué pendant une courte période.."},nl:{status:"Status: %s",statusConnecting:"Verbinding maken...",statusConnected:"Verbinding is gereed",statusDisconnecting:"Verbinding verbreken...",statusDisconnected:"Verbinding is verbroken",statusAuthfail:"Authenticatie is mislukt",roomSubject:"Onderwerp:",messageSubmit:"Verstuur",labelUsername:"Gebruikersnaam:",labelPassword:"Wachtwoord:",loginSubmit:"Inloggen",loginInvalid:"JID is onjuist",reason:"Reden:",subject:"Onderwerp:",reasonWas:"De reden was: %s.",kickActionLabel:"Verwijderen",youHaveBeenKickedBy:"Je bent verwijderd van %1$s door %2$s",youHaveBeenKicked:"Je bent verwijderd van %s",banActionLabel:"Blokkeren",youHaveBeenBannedBy:"Je bent geblokkeerd van %1$s door %2$s",youHaveBeenBanned:"Je bent geblokkeerd van %s",privateActionLabel:"Prive gesprek",ignoreActionLabel:"Negeren",unignoreActionLabel:"Niet negeren",setSubjectActionLabel:"Onderwerp wijzigen",administratorMessageSubject:"Beheerder",userJoinedRoom:"%s komt de chat binnen.",userLeftRoom:"%s heeft de chat verlaten.",userHasBeenKickedFromRoom:"%s is verwijderd.",userHasBeenBannedFromRoom:"%s is geblokkeerd.",presenceUnknownWarningSubject:"Mededeling:",presenceUnknownWarning:"Deze gebruiker is waarschijnlijk offline, we kunnen zijn/haar aanwezigheid niet vaststellen.",dateFormat:"dd.mm.yyyy",timeFormat:"HH:MM:ss",tooltipRole:"Moderator",tooltipIgnored:"Je negeert deze gebruiker",tooltipEmoticons:"Emotie-iconen",tooltipSound:"Speel een geluid af bij nieuwe privé berichten.",tooltipAutoscroll:"Automatisch scrollen",tooltipStatusmessage:"Statusberichten weergeven",tooltipAdministration:"Instellingen",tooltipUsercount:"Gebruikers",enterRoomPassword:'De Chatroom "%s" is met een wachtwoord beveiligd.',enterRoomPasswordSubmit:"Ga naar Chatroom",passwordEnteredInvalid:'Het wachtwoord voor de Chatroom "%s" is onjuist.',nicknameConflict:"De gebruikersnaam is reeds in gebruik. Probeer a.u.b. een andere gebruikersnaam.",errorMembersOnly:'Je kunt niet deelnemen aan de Chatroom "%s": Je hebt onvoldoende rechten.',errorMaxOccupantsReached:'Je kunt niet deelnemen aan de Chatroom "%s": Het maximum aantal gebruikers is bereikt.',antiSpamMessage:"Het is niet toegestaan om veel berichten naar de server te versturen. Je bent voor een korte periode geblokkeerd."},es:{status:"Estado: %s",statusConnecting:"Conectando...",statusConnected:"Conectado",statusDisconnecting:"Desconectando...",statusDisconnected:"Desconectado",statusAuthfail:"Falló la autenticación",roomSubject:"Asunto:",messageSubmit:"Enviar",labelUsername:"Usuario:",labelPassword:"Clave:",loginSubmit:"Entrar",loginInvalid:"JID no válido",reason:"Razón:",subject:"Asunto:",reasonWas:"La razón fue: %s.",kickActionLabel:"Expulsar",youHaveBeenKickedBy:"Has sido expulsado de %1$s por %2$s",youHaveBeenKicked:"Has sido expulsado de %s",banActionLabel:"Prohibir",youHaveBeenBannedBy:"Has sido expulsado permanentemente de %1$s por %2$s",youHaveBeenBanned:"Has sido expulsado permanentemente de %s",privateActionLabel:"Chat privado",ignoreActionLabel:"Ignorar",unignoreActionLabel:"No ignorar",setSubjectActionLabel:"Cambiar asunto",administratorMessageSubject:"Administrador",userJoinedRoom:"%s se ha unido a la sala.",userLeftRoom:"%s ha dejado la sala.",userHasBeenKickedFromRoom:"%s ha sido expulsado de la sala.",userHasBeenBannedFromRoom:"%s ha sido expulsado permanentemente de la sala.",presenceUnknownWarningSubject:"Atención:",presenceUnknownWarning:"Éste usuario podría estar desconectado..",dateFormat:"dd.mm.yyyy",timeFormat:"HH:MM:ss",tooltipRole:"Moderador",tooltipIgnored:"Ignoras a éste usuario",tooltipEmoticons:"Emoticonos",tooltipSound:"Reproducir un sonido para nuevos mensajes privados",tooltipAutoscroll:"Desplazamiento automático",tooltipStatusmessage:"Mostrar mensajes de estado",tooltipAdministration:"Administración de la sala",tooltipUsercount:"Usuarios en la sala",enterRoomPassword:'La sala "%s" está protegida mediante contraseña.',enterRoomPasswordSubmit:"Unirse a la sala",passwordEnteredInvalid:'Contraseña incorrecta para la sala "%s".',nicknameConflict:"El nombre de usuario ya está siendo utilizado. Por favor elija otro.",errorMembersOnly:'No se puede unir a la sala "%s": no tiene privilegios suficientes.',errorMaxOccupantsReached:'No se puede unir a la sala "%s": demasiados participantes.',antiSpamMessage:"Por favor, no hagas spam. Has sido bloqueado temporalmente."},cn:{status:"状态: %s",statusConnecting:"连接中...",statusConnected:"已连接",statusDisconnecting:"断开连接中...",statusDisconnected:"已断开连接",statusAuthfail:"认证失败",roomSubject:"主题:",messageSubmit:"发送",labelUsername:"用户名:",labelPassword:"密码:",loginSubmit:"登录",loginInvalid:"用户名不合法",reason:"原因:",subject:"主题:",reasonWas:"原因是: %s.",kickActionLabel:"踢除",youHaveBeenKickedBy:"你在 %1$s 被管理者 %2$s 请出房间",banActionLabel:"禁言",youHaveBeenBannedBy:"你在 %1$s 被管理者 %2$s 禁言",privateActionLabel:"单独对话",ignoreActionLabel:"忽略",unignoreActionLabel:"不忽略",setSubjectActionLabel:"变更主题",administratorMessageSubject:"管理员",userJoinedRoom:"%s 加入房间",userLeftRoom:"%s 离开房间",userHasBeenKickedFromRoom:"%s 被请出这个房间",userHasBeenBannedFromRoom:"%s 被管理者禁言",presenceUnknownWarningSubject:"注意:",presenceUnknownWarning:"这个会员可能已经下线,不能追踪到他的连接信息",dateFormat:"dd.mm.yyyy",timeFormat:"HH:MM:ss",tooltipRole:"管理",tooltipIgnored:"你忽略了这个会员",tooltipEmoticons:"表情",tooltipSound:"新消息发音",tooltipAutoscroll:"滚动条",tooltipStatusmessage:"禁用状态消息",tooltipAdministration:"房间管理",tooltipUsercount:"房间占有者",enterRoomPassword:'登录房间 "%s" 需要密码.',enterRoomPasswordSubmit:"加入房间",passwordEnteredInvalid:'登录房间 "%s" 的密码不正确',nicknameConflict:"用户名已经存在,请另选一个",errorMembersOnly:'您的权限不够,不能登录房间 "%s" ',errorMaxOccupantsReached:'房间 "%s" 的人数已达上限,您不能登录',antiSpamMessage:"因为您在短时间内发送过多的消息 服务器要阻止您一小段时间。"},ja:{status:"ステータス: %s",statusConnecting:"接続中…",statusConnected:"接続されました",statusDisconnecting:"ディスコネクト中…",statusDisconnected:"ディスコネクトされました",statusAuthfail:"認証に失敗しました",roomSubject:"トピック:",messageSubmit:"送信",labelUsername:"ユーザーネーム:",labelPassword:"パスワード:",loginSubmit:"ログイン",loginInvalid:"ユーザーネームが正しくありません",reason:"理由:",subject:"トピック:",reasonWas:"理由: %s。",kickActionLabel:"キック",youHaveBeenKickedBy:"あなたは%2$sにより%1$sからキックされました。",youHaveBeenKicked:"あなたは%sからキックされました。",banActionLabel:"アカウントバン",youHaveBeenBannedBy:"あなたは%2$sにより%1$sからアカウントバンされました。",youHaveBeenBanned:"あなたは%sからアカウントバンされました。",privateActionLabel:"プライベートメッセージ",ignoreActionLabel:"無視する",unignoreActionLabel:"無視をやめる",setSubjectActionLabel:"トピックを変える",administratorMessageSubject:"管理者",userJoinedRoom:"%sは入室しました。",userLeftRoom:"%sは退室しました。",userHasBeenKickedFromRoom:"%sは部屋からキックされました。",userHasBeenBannedFromRoom:"%sは部屋からアカウントバンされました。",presenceUnknownWarningSubject:"忠告:",presenceUnknownWarning:"このユーザーのステータスは不明です。",dateFormat:"dd.mm.yyyy",timeFormat:"HH:MM:ss",tooltipRole:"モデレーター",tooltipIgnored:"このユーザーを無視設定にしている",tooltipEmoticons:"絵文字",tooltipSound:"新しいメッセージが届くたびに音を鳴らす",tooltipAutoscroll:"オートスクロール",tooltipStatusmessage:"ステータスメッセージを表示",tooltipAdministration:"部屋の管理",tooltipUsercount:"この部屋の参加者の数",enterRoomPassword:'"%s"の部屋に入るにはパスワードが必要です。',enterRoomPasswordSubmit:"部屋に入る",passwordEnteredInvalid:'"%s"のパスワードと異なるパスワードを入力しました。',nicknameConflict:"このユーザーネームはすでに利用されているため、別のユーザーネームを選んでください。",errorMembersOnly:'"%s"の部屋に入ることができません: 利用権限を満たしていません。',errorMaxOccupantsReached:'"%s"の部屋に入ることができません: 参加者の数はすでに上限に達しました。',antiSpamMessage:"スパムなどの行為はやめてください。あなたは一時的にブロックされました。"},sv:{status:"Status: %s",statusConnecting:"Ansluter...",statusConnected:"Ansluten",statusDisconnecting:"Kopplar från...",statusDisconnected:"Frånkopplad",statusAuthfail:"Autentisering misslyckades",roomSubject:"Ämne:",messageSubmit:"Skicka",labelUsername:"Användarnamn:",labelPassword:"Lösenord:",loginSubmit:"Logga in",loginInvalid:"Ogiltigt JID",reason:"Anledning:",subject:"Ämne:",reasonWas:"Anledningen var: %s.",kickActionLabel:"Sparka ut",youHaveBeenKickedBy:"Du har blivit utsparkad från %2$s av %1$s",youHaveBeenKicked:"Du har blivit utsparkad från %s",banActionLabel:"Bannlys",youHaveBeenBannedBy:"Du har blivit bannlyst från %1$s av %2$s",youHaveBeenBanned:"Du har blivit bannlyst från %s",privateActionLabel:"Privat chatt",ignoreActionLabel:"Blockera",unignoreActionLabel:"Avblockera",setSubjectActionLabel:"Ändra ämne",administratorMessageSubject:"Administratör",userJoinedRoom:"%s kom in i rummet.",userLeftRoom:"%s har lämnat rummet.",userHasBeenKickedFromRoom:"%s har blivit utsparkad ur rummet.",userHasBeenBannedFromRoom:"%s har blivit bannlyst från rummet.",presenceUnknownWarningSubject:"Notera:",presenceUnknownWarning:"Denna användare kan vara offline. Vi kan inte följa dennes närvaro.",dateFormat:"yyyy-mm-dd",timeFormat:"HH:MM:ss",tooltipRole:"Moderator",tooltipIgnored:"Du blockerar denna användare",tooltipEmoticons:"Smilies",tooltipSound:"Spela upp ett ljud vid nytt privat meddelande",tooltipAutoscroll:"Autoskrolla",tooltipStatusmessage:"Visa statusmeddelanden",tooltipAdministration:"Rumadministrering",tooltipUsercount:"Antal användare i rummet",enterRoomPassword:'Rummet "%s" är lösenordsskyddat.',enterRoomPasswordSubmit:"Anslut till rum",passwordEnteredInvalid:'Ogiltigt lösenord för rummet "%s".',nicknameConflict:"Upptaget användarnamn. Var god välj ett annat.",errorMembersOnly:'Du kan inte ansluta till rummet "%s": Otillräckliga rättigheter.',errorMaxOccupantsReached:'Du kan inte ansluta till rummet "%s": Rummet är fullt.',antiSpamMessage:"Var god avstå från att spamma. Du har blivit blockerad för en kort stund."},it:{status:"Stato: %s",statusConnecting:"Connessione...",statusConnected:"Connessione",statusDisconnecting:"Disconnessione...",statusDisconnected:"Disconnesso",statusAuthfail:"Autenticazione fallita",roomSubject:"Oggetto:",messageSubmit:"Invia",labelUsername:"Nome utente:",labelPassword:"Password:",loginSubmit:"Login",loginInvalid:"JID non valido",reason:"Ragione:",subject:"Oggetto:",reasonWas:"Ragione precedente: %s.",kickActionLabel:"Espelli",youHaveBeenKickedBy:"Sei stato espulso da %2$s da %1$s",youHaveBeenKicked:"Sei stato espulso da %s",banActionLabel:"Escluso",youHaveBeenBannedBy:"Sei stato escluso da %1$s da %2$s",youHaveBeenBanned:"Sei stato escluso da %s",privateActionLabel:"Stanza privata",ignoreActionLabel:"Ignora",unignoreActionLabel:"Non ignorare",setSubjectActionLabel:"Cambia oggetto",administratorMessageSubject:"Amministratore",userJoinedRoom:"%s si è unito alla stanza.",userLeftRoom:"%s ha lasciato la stanza.",userHasBeenKickedFromRoom:"%s è stato espulso dalla stanza.",userHasBeenBannedFromRoom:"%s è stato escluso dalla stanza.",presenceUnknownWarningSubject:"Nota:",presenceUnknownWarning:"Questo utente potrebbe essere offline. Non possiamo tracciare la sua presenza.",dateFormat:"dd/mm/yyyy",timeFormat:"HH:MM:ss",tooltipRole:"Moderatore",tooltipIgnored:"Stai ignorando questo utente",tooltipEmoticons:"Emoticons",tooltipSound:"Riproduci un suono quando arrivano messaggi privati",tooltipAutoscroll:"Autoscroll",tooltipStatusmessage:"Mostra messaggi di stato",tooltipAdministration:"Amministrazione stanza",tooltipUsercount:"Partecipanti alla stanza",enterRoomPassword:'La stanza "%s" è protetta da password.',enterRoomPasswordSubmit:"Unisciti alla stanza",passwordEnteredInvalid:'Password non valida per la stanza "%s".',nicknameConflict:"Nome utente già in uso. Scegline un altro.",errorMembersOnly:'Non puoi unirti alla stanza "%s": Permessi insufficienti.',errorMaxOccupantsReached:'Non puoi unirti alla stanza "%s": Troppi partecipanti.',antiSpamMessage:"Per favore non scrivere messaggi pubblicitari. Sei stato bloccato per un po' di tempo."},pt:{status:"Status: %s",statusConnecting:"Conectando...",statusConnected:"Conectado",statusDisconnecting:"Desligando...",statusDisconnected:"Desligado",statusAuthfail:"Falha na autenticação",roomSubject:"Assunto:",messageSubmit:"Enviar",labelUsername:"Usuário:",labelPassword:"Senha:",loginSubmit:"Entrar",loginInvalid:"JID inválido",reason:"Motivo:",subject:"Assunto:",reasonWas:"O motivo foi: %s.",kickActionLabel:"Excluir",youHaveBeenKickedBy:"Você foi excluido de %1$s por %2$s",youHaveBeenKicked:"Você foi excluido de %s",banActionLabel:"Bloquear",youHaveBeenBannedBy:"Você foi excluido permanentemente de %1$s por %2$s",youHaveBeenBanned:"Você foi excluido permanentemente de %s",privateActionLabel:"Bate-papo privado",ignoreActionLabel:"Ignorar",unignoreActionLabel:"Não ignorar",setSubjectActionLabel:"Trocar Assunto",administratorMessageSubject:"Administrador",userJoinedRoom:"%s entrou na sala.",userLeftRoom:"%s saiu da sala.",userHasBeenKickedFromRoom:"%s foi excluido da sala.",userHasBeenBannedFromRoom:"%s foi excluido permanentemente da sala.",presenceUnknownWarning:"Este usuário pode estar desconectado. Não é possível determinar o status.",dateFormat:"dd.mm.yyyy",timeFormat:"HH:MM:ss",tooltipRole:"Moderador",tooltipIgnored:"Você ignora este usuário",tooltipEmoticons:"Emoticons",tooltipSound:"Reproduzir o som para novas mensagens privados",tooltipAutoscroll:"Deslocamento automático",tooltipStatusmessage:"Mostrar mensagens de status",tooltipAdministration:"Administração da sala",tooltipUsercount:"Usuários na sala",enterRoomPassword:'A sala "%s" é protegida por senha.',enterRoomPasswordSubmit:"Junte-se à sala",passwordEnteredInvalid:'Senha incorreta para a sala "%s".',nicknameConflict:"O nome de usuário já está em uso. Por favor, escolha outro.",errorMembersOnly:'Você não pode participar da sala "%s": privilégios insuficientes.',errorMaxOccupantsReached:'Você não pode participar da sala "%s": muitos participantes.',antiSpamMessage:"Por favor, não envie spam. Você foi bloqueado temporariamente."},pt_br:{status:"Estado: %s",statusConnecting:"Conectando...",statusConnected:"Conectado",statusDisconnecting:"Desconectando...",statusDisconnected:"Desconectado",statusAuthfail:"Autenticação falhou",roomSubject:"Assunto:",messageSubmit:"Enviar",labelUsername:"Usuário:",labelPassword:"Senha:",loginSubmit:"Entrar",loginInvalid:"JID inválido",reason:"Motivo:",subject:"Assunto:",reasonWas:"Motivo foi: %s.",kickActionLabel:"Derrubar",youHaveBeenKickedBy:"Você foi derrubado de %2$s por %1$s",youHaveBeenKicked:"Você foi derrubado de %s",banActionLabel:"Banir",youHaveBeenBannedBy:"Você foi banido de %1$s por %2$s",youHaveBeenBanned:"Você foi banido de %s",privateActionLabel:"Conversa privada",ignoreActionLabel:"Ignorar",unignoreActionLabel:"Não ignorar",setSubjectActionLabel:"Mudar Assunto",administratorMessageSubject:"Administrador",userJoinedRoom:"%s entrou na sala.",userLeftRoom:"%s saiu da sala.",userHasBeenKickedFromRoom:"%s foi derrubado da sala.",userHasBeenBannedFromRoom:"%s foi banido da sala.",presenceUnknownWarningSubject:"Aviso:",presenceUnknownWarning:"Este usuário pode estar desconectado.. Não conseguimos rastrear sua presença..",dateFormat:"dd.mm.yyyy",timeFormat:"HH:MM:ss",tooltipRole:"Moderador",tooltipIgnored:"Você ignora este usuário",tooltipEmoticons:"Emoticons",tooltipSound:"Tocar som para novas mensagens privadas",tooltipAutoscroll:"Auto-rolagem",tooltipStatusmessage:"Exibir mensagens de estados",tooltipAdministration:"Administração de Sala",tooltipUsercount:"Participantes da Sala",enterRoomPassword:'Sala "%s" é protegida por senha.',enterRoomPasswordSubmit:"Entrar na sala",passwordEnteredInvalid:'Senha inváida para sala "%s".',nicknameConflict:"Nome de usuário já em uso. Por favor escolha outro.",errorMembersOnly:'Você não pode entrar na sala "%s": privilégios insuficientes.',errorMaxOccupantsReached:'Você não pode entrar na sala "%s": máximo de participantes atingido.',antiSpamMessage:"Por favor, não faça spam. Você foi bloqueado temporariamente."},ru:{status:"Статус: %s",statusConnecting:"Подключение...",statusConnected:"Подключено",statusDisconnecting:"Отключение...",statusDisconnected:"Отключено",statusAuthfail:"Неверный логин",roomSubject:"Топик:",messageSubmit:"Послать",labelUsername:"Имя:",labelPassword:"Пароль:",loginSubmit:"Логин",loginInvalid:"Неверный JID",reason:"Причина:",subject:"Топик:",reasonWas:"Причина была: %s.",kickActionLabel:"Выбросить",youHaveBeenKickedBy:"Пользователь %1$s выбросил вас из чата %2$s",youHaveBeenKicked:"Вас выбросили из чата %s",banActionLabel:"Запретить доступ",youHaveBeenBannedBy:"Пользователь %1$s запретил вам доступ в чат %2$s",youHaveBeenBanned:"Вам запретили доступ в чат %s",privateActionLabel:"Один-на-один чат",ignoreActionLabel:"Игнорировать",unignoreActionLabel:"Отменить игнорирование",setSubjectActionLabel:"Изменить топик",administratorMessageSubject:"Администратор",userJoinedRoom:"%s вошёл в чат.",userLeftRoom:"%s вышел из чата.",userHasBeenKickedFromRoom:"%s выброшен из чата.",userHasBeenBannedFromRoom:"%s запрещён доступ в чат.",presenceUnknownWarningSubject:"Уведомление:",presenceUnknownWarning:"Этот пользователь вероятнее всего оффлайн.",dateFormat:"mm.dd.yyyy",timeFormat:"HH:MM:ss",tooltipRole:"Модератор",tooltipIgnored:"Вы игнорируете этого пользователя.",tooltipEmoticons:"Смайлики",tooltipSound:"Озвучивать новое частное сообщение",tooltipAutoscroll:"Авто-прокручивание",tooltipStatusmessage:"Показывать статус сообщения",tooltipAdministration:"Администрирование чат комнаты",tooltipUsercount:"Участники чата",enterRoomPassword:'Чат комната "%s" защищена паролем.',enterRoomPasswordSubmit:"Войти в чат",passwordEnteredInvalid:'Неверный пароль для комнаты "%s".',nicknameConflict:"Это имя уже используется. Пожалуйста выберите другое имя.",errorMembersOnly:'Вы не можете войти в чат "%s": Недостаточно прав доступа.',errorMaxOccupantsReached:'Вы не можете войти в чат "%s": Слишком много участников.',antiSpamMessage:"Пожалуйста не рассылайте спам. Вас заблокировали на короткое время."},ca:{status:"Estat: %s",statusConnecting:"Connectant...",statusConnected:"Connectat",statusDisconnecting:"Desconnectant...",statusDisconnected:"Desconnectat",statusAuthfail:"Ha fallat la autenticació",roomSubject:"Assumpte:",messageSubmit:"Enviar",labelUsername:"Usuari:",labelPassword:"Clau:",loginSubmit:"Entrar",loginInvalid:"JID no vàlid",reason:"Raó:",subject:"Assumpte:",reasonWas:"La raó ha estat: %s.",kickActionLabel:"Expulsar",youHaveBeenKickedBy:"Has estat expulsat de %1$s per %2$s",youHaveBeenKicked:"Has estat expulsat de %s",banActionLabel:"Prohibir",youHaveBeenBannedBy:"Has estat expulsat permanentment de %1$s per %2$s",youHaveBeenBanned:"Has estat expulsat permanentment de %s",privateActionLabel:"Xat privat",ignoreActionLabel:"Ignorar",unignoreActionLabel:"No ignorar",setSubjectActionLabel:"Canviar assumpte",administratorMessageSubject:"Administrador",userJoinedRoom:"%s ha entrat a la sala.",userLeftRoom:"%s ha deixat la sala.",userHasBeenKickedFromRoom:"%s ha estat expulsat de la sala.",userHasBeenBannedFromRoom:"%s ha estat expulsat permanentment de la sala.",presenceUnknownWarningSubject:"Atenció:",presenceUnknownWarning:"Aquest usuari podria estar desconnectat ...",dateFormat:"dd.mm.yyyy",timeFormat:"HH:MM:ss",tooltipRole:"Moderador",tooltipIgnored:"Estàs ignorant aquest usuari",tooltipEmoticons:"Emoticones",tooltipSound:"Reproduir un so per a nous missatges",tooltipAutoscroll:"Desplaçament automàtic",tooltipStatusmessage:"Mostrar missatges d'estat",tooltipAdministration:"Administració de la sala",tooltipUsercount:"Usuaris dins la sala",enterRoomPassword:'La sala "%s" està protegida amb contrasenya.',enterRoomPasswordSubmit:"Entrar a la sala",passwordEnteredInvalid:'Contrasenya incorrecta per a la sala "%s".',nicknameConflict:"El nom d'usuari ja s'està utilitzant. Si us plau, escolleix-ne un altre.",errorMembersOnly:'No pots unir-te a la sala "%s": no tens prous privilegis.',errorMaxOccupantsReached:'No pots unir-te a la sala "%s": hi ha masses participants.',antiSpamMessage:"Si us plau, no facis spam. Has estat bloquejat temporalment."}};
+"use strict";var Candy=function(a,b){return a.about={name:"Candy",version:"1.6.1-dev"},a.init=function(c,d){d.viewClass||(d.viewClass=a.View),d.viewClass.init(b("#candy"),d.view),a.Core.init(c,d.core)},a}(Candy||{},jQuery);Candy.Core=function(a,b,c){var d,e=null,f=null,g=null,h={},i=!1,j={autojoin:void 0,debug:!1,disableWindowUnload:!1,presencePriority:1,resource:Candy.about.name},k=function(a,c){b.addNamespace(a,c)},l=function(){k("PRIVATE","jabber:iq:private"),k("BOOKMARKS","storage:bookmarks"),k("PRIVACY","jabber:iq:privacy"),k("DELAY","jabber:x:delay")},m=function(a){var c=b.getNodeFromJid(a),d=b.getDomainFromJid(a);return c?b.escapeNode(c)+"@"+d:d};return a.init=function(d,g){f=d,c.extend(!0,j,g),j.debug&&(void 0!==typeof window.console&&void 0!==typeof window.console.log&&(a.log=Function.prototype.bind?Function.prototype.bind.call(console.log,console):function(){Function.prototype.apply.call(console.log,console,arguments)}),a.log("[Init] Debugging enabled")),l(),e=new b.Connection(f),e.rawInput=a.rawInput.bind(a),e.rawOutput=a.rawOutput.bind(a),e.caps.node="https://candy-chat.github.io/candy/",j.disableWindowUnload||(window.onbeforeunload=a.onWindowUnload)},a.registerEventHandlers=function(){a.addHandler(a.Event.Jabber.Version,b.NS.VERSION,"iq"),a.addHandler(a.Event.Jabber.Presence,null,"presence"),a.addHandler(a.Event.Jabber.Message,null,"message"),a.addHandler(a.Event.Jabber.Bookmarks,b.NS.PRIVATE,"iq"),a.addHandler(a.Event.Jabber.Room.Disco,b.NS.DISCO_INFO,"iq","result"),a.addHandler(e.disco._onDiscoInfo.bind(e.disco),b.NS.DISCO_INFO,"iq","get"),a.addHandler(e.disco._onDiscoItems.bind(e.disco),b.NS.DISCO_ITEMS,"iq","get"),a.addHandler(e.caps._delegateCapabilities.bind(e.caps),b.NS.CAPS)},a.connect=function(d,f,h){e.reset(),a.registerEventHandlers(),c(Candy).triggerHandler("candy:core.before-connect",{connection:e}),i=i?!0:d&&d.indexOf("@")<0,d&&f?(e.connect(m(d)+"/"+j.resource,f,Candy.Core.Event.Strophe.Connect),g=h?new a.ChatUser(d,h):new a.ChatUser(d,b.getNodeFromJid(d))):d&&h?(e.connect(m(d)+"/"+j.resource,null,Candy.Core.Event.Strophe.Connect),g=new a.ChatUser(null,h)):d?Candy.Core.Event.Login(d):Candy.Core.Event.Login()},a.attach=function(c,d,f){g=new a.ChatUser(c,b.getNodeFromJid(c)),a.registerEventHandlers(),e.attach(c,d,f,Candy.Core.Event.Strophe.Connect)},a.disconnect=function(){e.connected&&(c.each(a.getRooms(),function(){Candy.Core.Action.Jabber.Room.Leave(this.getJid())}),e.disconnect())},a.addHandler=function(a,b,c,d,f,g,h){return e.addHandler(a,b,c,d,f,g,h)},a.getUser=function(){return g},a.setUser=function(a){g=a},a.getConnection=function(){return e},a.removeRoom=function(a){delete h[a]},a.getRooms=function(){return h},a.getStropheStatus=function(){return d},a.setStropheStatus=function(a){d=a},a.isAnonymousConnection=function(){return i},a.getOptions=function(){return j},a.getRoom=function(a){return h[a]?h[a]:null},a.onWindowUnload=function(){e.options.sync=!0,a.disconnect(),e.flush()},a.rawInput=function(a){this.log("RECV: "+a)},a.rawOutput=function(a){this.log("SENT: "+a)},a.log=function(){},a}(Candy.Core||{},Strophe,jQuery),Candy.View=function(a,b){var c={container:null,roomJid:null},d={language:"en",assets:"res/",messages:{limit:2e3,remove:500},crop:{message:{nickname:15,body:1e3},roster:{nickname:15}}},e=function(c){b.i18n.load(a.Translation[c])},f=function(){b(Candy).on("candy:core.chat.connection",a.Observer.Chat.Connection),b(Candy).on("candy:core.chat.message",a.Observer.Chat.Message),b(Candy).on("candy:core.login",a.Observer.Login),b(Candy).on("candy:core.autojoin-missing",a.Observer.AutojoinMissing),b(Candy).on("candy:core.presence",a.Observer.Presence.update),b(Candy).on("candy:core.presence.leave",a.Observer.Presence.update),b(Candy).on("candy:core.presence.room",a.Observer.Presence.update),b(Candy).on("candy:core.presence.error",a.Observer.PresenceError),b(Candy).on("candy:core.message",a.Observer.Message)},g=function(){Candy.Util.getIeVersion()<9?b(document).focusin(Candy.View.Pane.Window.onFocus).focusout(Candy.View.Pane.Window.onBlur):b(window).focus(Candy.View.Pane.Window.onFocus).blur(Candy.View.Pane.Window.onBlur),b(window).resize(Candy.View.Pane.Chat.fitTabs)},h=function(){a.Pane.Chat.Toolbar.init()},i=function(){b("body").delegate("li[data-tooltip]","mouseenter",Candy.View.Pane.Chat.Tooltip.show)};return a.init=function(a,j){j.resources&&(j.assets=j.resources),delete j.resources,b.extend(!0,d,j),e(d.language),Candy.Util.Parser.setEmoticonPath(this.getOptions().assets+"img/emoticons/"),c.container=a,c.container.html(Mustache.to_html(Candy.View.Template.Chat.pane,{tooltipEmoticons:b.i18n._("tooltipEmoticons"),tooltipSound:b.i18n._("tooltipSound"),tooltipAutoscroll:b.i18n._("tooltipAutoscroll"),tooltipStatusmessage:b.i18n._("tooltipStatusmessage"),tooltipAdministration:b.i18n._("tooltipAdministration"),tooltipUsercount:b.i18n._("tooltipUsercount"),assetsPath:this.getOptions().assets},{tabs:Candy.View.Template.Chat.tabs,rooms:Candy.View.Template.Chat.rooms,modal:Candy.View.Template.Chat.modal,toolbar:Candy.View.Template.Chat.toolbar,soundcontrol:Candy.View.Template.Chat.soundcontrol})),g(),h(),f(),i()},a.getCurrent=function(){return c},a.getOptions=function(){return d},a}(Candy.View||{},jQuery),Candy.Util=function(a,b){a.jidToId=function(a){return MD5.hexdigest(a)},a.escapeJid=function(a){var b=Strophe.escapeNode(Strophe.getNodeFromJid(a)),c=Strophe.getDomainFromJid(a),d=Strophe.getResourceFromJid(a);return a=b+"@"+c,d&&(a+="/"+d),a},a.unescapeJid=function(a){var b=Strophe.unescapeNode(Strophe.getNodeFromJid(a)),c=Strophe.getDomainFromJid(a),d=Strophe.getResourceFromJid(a);return a=b+"@"+c,d&&(a+="/"+d),a},a.crop=function(a,b){return a.length>b&&(a=a.substr(0,b-3)+"..."),a},a.parseAndCropXhtml=function(c,d){return b("<div/>").append(a.createHtml(b(c).get(0),d)).html()},a.setCookie=function(a,b,c){var d=new Date;d.setDate((new Date).getDate()+c),document.cookie=a+"="+b+";expires="+d.toUTCString()+";path=/"},a.cookieExists=function(a){return document.cookie.indexOf(a)>-1},a.getCookie=function(a){if(document.cookie){var b=new RegExp(escape(a)+"=([^;]*)","gm"),c=b.exec(document.cookie);if(c)return c[1]}},a.deleteCookie=function(a){document.cookie=a+"=;expires=Thu, 01-Jan-70 00:00:01 GMT;path=/"},a.getPosLeftAccordingToWindowBounds=function(a,c){var d=b(document).width(),e=a.outerWidth(),f=e-a.outerWidth(!0),g="left";return c+e>=d&&(c-=e-f,g="right"),{px:c,backgroundPositionAlignment:g}},a.getPosTopAccordingToWindowBounds=function(a,c){var d=b(document).height(),e=a.outerHeight(),f=e-a.outerHeight(!0),g="top";return c+e>=d&&(c-=e-f,g="bottom"),{px:c,backgroundPositionAlignment:g}},a.localizedTime=function(c){if(void 0===c)return void 0;var d=a.iso8601toDate(c);return d.format(d.toDateString()===(new Date).toDateString()?b.i18n._("timeFormat"):b.i18n._("dateFormat"))},a.iso8601toDate=function(a){var b=Date.parse(a);if(isNaN(b)){var c=/^(\d{4}|[+\-]\d{6})-(\d{2})-(\d{2})(?:[T ](\d{2}):(\d{2})(?::(\d{2})(?:\.(\d{3,}))?)?(?:(Z)|([+\-])(\d{2})(?::?(\d{2}))?))?/.exec(a);if(c){var d=0;return"Z"!==c[8]&&(d=60*+c[10]+ +c[11],"+"===c[9]&&(d=-d)),d-=(new Date).getTimezoneOffset(),new Date(+c[1],+c[2]-1,+c[3],+c[4],+c[5]+d,+c[6],c[7]?+c[7].substr(0,3):0)}b=Date.parse(a.replace(/^(\d{4})(\d{2})(\d{2})/,"$1-$2-$3")+"Z")}return new Date(b)},a.isEmptyObject=function(a){var b;for(b in a)if(a.hasOwnProperty(b))return!1;return!0},a.forceRedraw=function(a){a.css({display:"none"}),setTimeout(function(){this.css({display:"block"})}.bind(a),1)};var c=function(){for(var a,b=3,c=document.createElement("div"),d=c.getElementsByTagName("i");c.innerHTML="<!--[if gt IE "+ ++b+"]><i></i><![endif]-->",d[0];);return b>4?b:a}();return a.getIeVersion=function(){return c},a.Parser={_emoticonPath:"",setEmoticonPath:function(a){this._emoticonPath=a},emoticons:[{plain:":)",regex:/((\s):-?\)|:-?\)(\s|$))/gm,image:"Smiling.png"},{plain:";)",regex:/((\s);-?\)|;-?\)(\s|$))/gm,image:"Winking.png"},{plain:":D",regex:/((\s):-?D|:-?D(\s|$))/gm,image:"Grinning.png"},{plain:";D",regex:/((\s);-?D|;-?D(\s|$))/gm,image:"Grinning_Winking.png"},{plain:":(",regex:/((\s):-?\(|:-?\((\s|$))/gm,image:"Unhappy.png"},{plain:"^^",regex:/((\s)\^\^|\^\^(\s|$))/gm,image:"Happy_3.png"},{plain:":P",regex:/((\s):-?P|:-?P(\s|$))/gim,image:"Tongue_Out.png"},{plain:";P",regex:/((\s);-?P|;-?P(\s|$))/gim,image:"Tongue_Out_Winking.png"},{plain:":S",regex:/((\s):-?S|:-?S(\s|$))/gim,image:"Confused.png"},{plain:":/",regex:/((\s):-?\/|:-?\/(\s|$))/gm,image:"Uncertain.png"},{plain:"8)",regex:/((\s)8-?\)|8-?\)(\s|$))/gm,image:"Sunglasses.png"},{plain:"$)",regex:/((\s)\$-?\)|\$-?\)(\s|$))/gm,image:"Greedy.png"},{plain:"oO",regex:/((\s)oO|oO(\s|$))/gm,image:"Huh.png"},{plain:":x",regex:/((\s):x|:x(\s|$))/gm,image:"Lips_Sealed.png"},{plain:":666:",regex:/((\s):666:|:666:(\s|$))/gm,image:"Devil.png"},{plain:"<3",regex:/((\s)&lt;3|&lt;3(\s|$))/gm,image:"Heart.png"}],emotify:function(a){var b;for(b=this.emoticons.length-1;b>=0;b--)a=a.replace(this.emoticons[b].regex,'$2<img class="emoticon" alt="$1" src="'+this._emoticonPath+this.emoticons[b].image+'" />$3');return a},linkify:function(a){return a=a.replace(/(^|[^\/])(www\.[^\.]+\.[\S]+(\b|$))/gi,"$1http://$2"),a.replace(/(\b(https?|ftp|file):\/\/[\-A-Z0-9+&@#\/%?=~_|!:,.;]*[\-A-Z0-9+&@#\/%=~_|])/gi,'<a href="$1" target="_blank">$1</a>')},escape:function(a){return b("<div/>").text(a).html()},nl2br:function(a){return a.replace(/\r\n|\r|\n/g,"<br />")},all:function(a){return a&&(a=this.escape(a),a=this.linkify(a),a=this.emotify(a),a=this.nl2br(a)),a}},a.createHtml=function(c,d,e){e=e||0;var f,g,h,i,j,k,l,m,n,o,p;if(c.nodeType===Strophe.ElementType.NORMAL)if(i=c.nodeName.toLowerCase(),Strophe.XHTML.validTag(i))try{for(g=b("<"+i+"/>"),f=0;f<Strophe.XHTML.attributes[i].length;f++)if(j=Strophe.XHTML.attributes[i][f],k=c.getAttribute(j),"undefined"!=typeof k&&null!==k&&""!==k&&k!==!1&&0!==k)if("style"===j&&"object"==typeof k&&"undefined"!=typeof k.cssText&&(k=k.cssText),"style"===j){for(l=[],m=k.split(";"),h=0;h<m.length;h++)n=m[h].split(":"),o=n[0].replace(/^\s*/,"").replace(/\s*$/,"").toLowerCase(),Strophe.XHTML.validCSS(o)&&(p=n[1].replace(/^\s*/,"").replace(/\s*$/,""),l.push(o+": "+p));l.length>0&&(k=l.join("; "),g.attr(j,k))}else g.attr(j,k);for(f=0;f<c.childNodes.length;f++)g.append(a.createHtml(c.childNodes[f],d,e))}catch(q){Candy.Core.log("[Util:createHtml] Error while parsing XHTML:"),Candy.Core.log(q),g=Strophe.xmlTextNode("")}else for(g=Strophe.xmlGenerator().createDocumentFragment(),f=0;f<c.childNodes.length;f++)g.appendChild(a.createHtml(c.childNodes[f],d,e));else if(c.nodeType===Strophe.ElementType.FRAGMENT)for(g=Strophe.xmlGenerator().createDocumentFragment(),f=0;f<c.childNodes.length;f++)g.appendChild(a.createHtml(c.childNodes[f],d,e));else if(c.nodeType===Strophe.ElementType.TEXT){var r=c.nodeValue;e+=r.length,d&&e>d&&(r=r.substring(0,d)),r=Candy.Util.Parser.all(r),g=b.parseHTML(r)}return g},a}(Candy.Util||{},jQuery),Candy.Core.Action=function(a,b,c){return a.Jabber={Version:function(a){Candy.Core.getConnection().sendIQ($iq({type:"result",to:Candy.Util.escapeJid(a.attr("from")),from:Candy.Util.escapeJid(a.attr("to")),id:a.attr("id")}).c("query",{name:Candy.about.name,version:Candy.about.version,os:navigator.userAgent}))},SetNickname:function(a,b){b=b instanceof Array?b:Candy.Core.getRooms();var d,e,f=Candy.Core.getConnection();c.each(b,function(b){d=Candy.Util.escapeJid(b+"/"+a),e=$pres({to:d,from:f.jid,id:"pres:"+f.getUniqueId()}),Candy.Core.getConnection().send(e)})},Roster:function(){Candy.Core.getConnection().sendIQ($iq({type:"get",xmlns:b.NS.CLIENT}).c("query",{xmlns:b.NS.ROSTER}).tree())},Presence:function(a,b){var c=Candy.Core.getConnection();a=a||{},a.id||(a.id="pres:"+c.getUniqueId());var d=$pres(a).c("priority").t(Candy.Core.getOptions().presencePriority.toString()).up().c("c",c.caps.generateCapsAttrs()).up();b&&d.node.appendChild(b.node),c.send(d.tree())},Services:function(){Candy.Core.getConnection().sendIQ($iq({type:"get",xmlns:b.NS.CLIENT}).c("query",{xmlns:b.NS.DISCO_ITEMS}).tree())},Autojoin:function(){Candy.Core.getOptions().autojoin===!0?Candy.Core.getConnection().sendIQ($iq({type:"get",xmlns:b.NS.CLIENT}).c("query",{xmlns:b.NS.PRIVATE}).c("storage",{xmlns:b.NS.BOOKMARKS}).tree()):c.isArray(Candy.Core.getOptions().autojoin)?c.each(Candy.Core.getOptions().autojoin,function(){a.Jabber.Room.Join.apply(null,this.valueOf().split(":",2))}):c(Candy).triggerHandler("candy:core.autojoin-missing")},ResetIgnoreList:function(){Candy.Core.getConnection().sendIQ($iq({type:"set",from:Candy.Core.getUser().getEscapedJid()}).c("query",{xmlns:b.NS.PRIVACY}).c("list",{name:"ignore"}).c("item",{action:"allow",order:"0"}).tree())},RemoveIgnoreList:function(){Candy.Core.getConnection().sendIQ($iq({type:"set",from:Candy.Core.getUser().getEscapedJid()}).c("query",{xmlns:b.NS.PRIVACY}).c("list",{name:"ignore"}).tree())},GetIgnoreList:function(){var a=$iq({type:"get",from:Candy.Core.getUser().getEscapedJid()}).c("query",{xmlns:b.NS.PRIVACY}).c("list",{name:"ignore"}).tree(),c=Candy.Core.getConnection().sendIQ(a);Candy.Core.addHandler(Candy.Core.Event.Jabber.PrivacyList,null,"iq",null,c)},SetIgnoreListActive:function(){Candy.Core.getConnection().sendIQ($iq({type:"set",from:Candy.Core.getUser().getEscapedJid()}).c("query",{xmlns:b.NS.PRIVACY}).c("active",{name:"ignore"}).tree())},GetJidIfAnonymous:function(){Candy.Core.getUser().getJid()||(Candy.Core.log("[Jabber] Anonymous login"),Candy.Core.getUser().data.jid=Candy.Core.getConnection().jid)},Room:{Join:function(c,d){a.Jabber.Room.Disco(c),c=Candy.Util.escapeJid(c);var e=Candy.Core.getConnection(),f=c+"/"+Candy.Core.getUser().getNick(),g=$pres({to:f,id:"pres:"+e.getUniqueId()}).c("x",{xmlns:b.NS.MUC});d&&g.c("password").t(d),g.up().c("c",e.caps.generateCapsAttrs()),e.send(g.tree())},Leave:function(a){var b=Candy.Core.getRoom(a).getUser();a=Candy.Util.escapeJid(a),b&&Candy.Core.getConnection().muc.leave(a,b.getNick(),function(){})},Disco:function(a){Candy.Core.getConnection().sendIQ($iq({type:"get",from:Candy.Core.getUser().getEscapedJid(),to:Candy.Util.escapeJid(a)}).c("query",{xmlns:b.NS.DISCO_INFO}).tree())},Message:function(a,b,d,e){return b=c.trim(b),""===b?!1:(Candy.Core.getConnection().muc.message(Candy.Util.escapeJid(a),null,b,e,d),!0)},IgnoreUnignore:function(a){Candy.Core.getUser().addToOrRemoveFromPrivacyList("ignore",a),Candy.Core.Action.Jabber.Room.UpdatePrivacyList()},UpdatePrivacyList:function(){var a=Candy.Core.getUser(),b=$iq({type:"set",from:a.getEscapedJid()}).c("query",{xmlns:"jabber:iq:privacy"}).c("list",{name:"ignore"}),d=a.getPrivacyList("ignore");d.length>0?c.each(d,function(a,c){b.c("item",{type:"jid",value:Candy.Util.escapeJid(c),action:"deny",order:a}).c("message").up().up()}):b.c("item",{action:"allow",order:"0"}),Candy.Core.getConnection().sendIQ(b.tree())},Admin:{UserAction:function(a,c,d,e){a=Candy.Util.escapeJid(a),c=Candy.Util.escapeJid(c);var f={nick:b.getResourceFromJid(c)};switch(d){case"kick":f.role="none";break;case"ban":f.affiliation="outcast";break;default:return!1}return Candy.Core.getConnection().sendIQ($iq({type:"set",from:Candy.Core.getUser().getEscapedJid(),to:a}).c("query",{xmlns:b.NS.MUC_ADMIN}).c("item",f).c("reason").t(e).tree()),!0},SetSubject:function(a,b){Candy.Core.getConnection().muc.setTopic(Candy.Util.escapeJid(a),b)}}}},a}(Candy.Core.Action||{},Strophe,jQuery),Candy.Core.ChatRoom=function(a){this.room={jid:a,name:Strophe.getNodeFromJid(a)},this.user=null,this.roster=new Candy.Core.ChatRoster,this.setUser=function(a){this.user=a},this.getUser=function(){return this.user},this.getJid=function(){return this.room.jid},this.setName=function(a){this.room.name=a},this.getName=function(){return this.room.name},this.setRoster=function(a){this.roster=a},this.getRoster=function(){return this.roster}},Candy.Core.ChatRoster=function(){this.items={},this.add=function(a){this.items[a.getJid()]=a},this.remove=function(a){delete this.items[a]},this.get=function(a){return this.items[a]},this.getAll=function(){return this.items}},Candy.Core.ChatUser=function(a,b,c,d){this.ROLE_MODERATOR="moderator",this.AFFILIATION_OWNER="owner",this.data={jid:a,nick:Strophe.unescapeNode(b),affiliation:c,role:d,privacyLists:{},customData:{},previousNick:void 0},this.getJid=function(){return this.data.jid?Candy.Util.unescapeJid(this.data.jid):void 0},this.getEscapedJid=function(){return Candy.Util.escapeJid(this.data.jid)},this.setJid=function(a){this.data.jid=a},this.getNick=function(){return Strophe.unescapeNode(this.data.nick)},this.setNick=function(a){this.data.nick=a},this.getRole=function(){return this.data.role},this.getAffiliation=function(){return this.data.affiliation},this.isModerator=function(){return this.getRole()===this.ROLE_MODERATOR||this.getAffiliation()===this.AFFILIATION_OWNER},this.addToOrRemoveFromPrivacyList=function(a,b){this.data.privacyLists[a]||(this.data.privacyLists[a]=[]);var c=-1;return-1!==(c=this.data.privacyLists[a].indexOf(b))?this.data.privacyLists[a].splice(c,1):this.data.privacyLists[a].push(b),this.data.privacyLists[a]},this.getPrivacyList=function(a){return this.data.privacyLists[a]||(this.data.privacyLists[a]=[]),this.data.privacyLists[a]},this.setPrivacyLists=function(a){this.data.privacyLists=a},this.isInPrivacyList=function(a,b){return this.data.privacyLists[a]?-1!==this.data.privacyLists[a].indexOf(b):!1},this.setCustomData=function(a){this.data.customData=a},this.getCustomData=function(){return this.data.customData},this.setPreviousNick=function(a){this.data.previousNick=a},this.getPreviousNick=function(){return this.data.previousNick}},Candy.Core.Event=function(a,b,c){return a.Login=function(a){c(Candy).triggerHandler("candy:core.login",{presetJid:a})},a.Strophe={Connect:function(a){switch(Candy.Core.setStropheStatus(a),a){case b.Status.CONNECTED:Candy.Core.log("[Connection] Connected"),Candy.Core.Action.Jabber.GetJidIfAnonymous();case b.Status.ATTACHED:Candy.Core.log("[Connection] Attached"),Candy.Core.Action.Jabber.Presence(),Candy.Core.Action.Jabber.Autojoin(),Candy.Core.Action.Jabber.GetIgnoreList();break;case b.Status.DISCONNECTED:Candy.Core.log("[Connection] Disconnected");break;case b.Status.AUTHFAIL:Candy.Core.log("[Connection] Authentication failed");break;case b.Status.CONNECTING:Candy.Core.log("[Connection] Connecting");break;case b.Status.DISCONNECTING:Candy.Core.log("[Connection] Disconnecting");break;case b.Status.AUTHENTICATING:Candy.Core.log("[Connection] Authenticating");break;case b.Status.ERROR:case b.Status.CONNFAIL:Candy.Core.log("[Connection] Failed ("+a+")");break;default:Candy.Core.log("[Connection] What?!")}c(Candy).triggerHandler("candy:core.chat.connection",{status:a})}},a.Jabber={Version:function(a){return Candy.Core.log("[Jabber] Version"),Candy.Core.Action.Jabber.Version(c(a)),!0},Presence:function(d){return Candy.Core.log("[Jabber] Presence"),d=c(d),d.children('x[xmlns^="'+b.NS.MUC+'"]').length>0?"error"===d.attr("type")?a.Jabber.Room.PresenceError(d):a.Jabber.Room.Presence(d):c(Candy).triggerHandler("candy:core.presence",{from:d.attr("from"),stanza:d}),!0},Bookmarks:function(a){return Candy.Core.log("[Jabber] Bookmarks"),c("conference",a).each(function(){var a=c(this);a.attr("autojoin")&&Candy.Core.Action.Jabber.Room.Join(a.attr("jid"))}),!0},PrivacyList:function(b){Candy.Core.log("[Jabber] PrivacyList");var d=Candy.Core.getUser();return b=c(b),"result"===b.attr("type")?(c('list[name="ignore"] item',b).each(function(){var a=c(this);"deny"===a.attr("action")&&d.addToOrRemoveFromPrivacyList("ignore",a.attr("value"))}),Candy.Core.Action.Jabber.SetIgnoreListActive(),!1):a.Jabber.PrivacyListError(b)},PrivacyListError:function(a){return Candy.Core.log("[Jabber] PrivacyListError"),c('error[code="404"][type="cancel"] item-not-found',a)&&(Candy.Core.Action.Jabber.ResetIgnoreList(),Candy.Core.Action.Jabber.SetIgnoreListActive()),!1},Message:function(d){Candy.Core.log("[Jabber] Message"),d=c(d);var e=d.attr("from"),f=d.attr("type"),g=d.attr("to");return e===b.getDomainFromJid(e)||"groupchat"!==f&&"chat"!==f&&"error"!==f&&"normal"!==f?g||e!==b.getDomainFromJid(e)?g&&e===b.getDomainFromJid(e)&&c(Candy).triggerHandler("candy:core.chat.message.server",{type:f||"message",subject:d.children("subject").text(),message:d.children("body").text()}):c(Candy).triggerHandler("candy:core.chat.message.admin",{type:f||"message",message:d.children("body").text()}):a.Jabber.Room.Message(d),!0},Room:{Leave:function(a){Candy.Core.log("[Jabber:Room] Leave"),a=c(a);var d=Candy.Util.unescapeJid(a.attr("from")),e=b.getBareJidFromJid(d);if(!Candy.Core.getRoom(e))return!0;var f,g,h=Candy.Core.getRoom(e).getName(),i=a.find("item"),j="leave";if(delete Candy.Core.getRooms()[e],"none"===i.attr("role")){var k=a.find("status").attr("code");"307"===k?j="kick":"301"===k&&(j="ban"),f=i.find("reason").text(),g=i.find("actor").attr("jid")}var l=new Candy.Core.ChatUser(d,b.getResourceFromJid(d),i.attr("affiliation"),i.attr("role"));return c(Candy).triggerHandler("candy:core.presence.leave",{roomJid:e,roomName:h,type:j,reason:f,actor:g,user:l}),!0},Disco:function(a){if(Candy.Core.log("[Jabber:Room] Disco"),a=c(a),!a.find('identity[category="conference"]').length)return!0;var d=b.getBareJidFromJid(Candy.Util.unescapeJid(a.attr("from")));Candy.Core.getRooms()[d]||(Candy.Core.getRooms()[d]=new Candy.Core.ChatRoom(d));var e=a.find("identity");if(e.length){var f=e.attr("name"),g=Candy.Core.getRoom(d);null===g.getName()&&g.setName(b.unescapeNode(f))}return!0},Presence:function(d){Candy.Core.log("[Jabber:Room] Presence");var e=Candy.Util.unescapeJid(d.attr("from")),f=b.getBareJidFromJid(e),g=d.attr("type"),h=d.find("status"),i=!1,j=!1;if(h.length)for(var k=0,l=h.length;l>k;k++){var m=c(h[k]),n=m.attr("code");"303"===n?j=!0:"210"===n&&(i=!0)}var o=Candy.Core.getRoom(f);o||(Candy.Core.getRooms()[f]=new Candy.Core.ChatRoom(f),o=Candy.Core.getRoom(f));var p=o.getUser()?o.getUser():Candy.Core.getUser();if(b.getResourceFromJid(e)===p.getNick()&&"unavailable"===g&&j===!1)return a.Jabber.Room.Leave(d),!0;var q,r,s,t=o.getRoster(),u=d.find("item");if("unavailable"!==g){if(t.get(e))return!0;s=b.getResourceFromJid(e),r=new Candy.Core.ChatUser(e,s,u.attr("affiliation"),u.attr("role")),null!==o.getUser()||Candy.Core.getUser().getNick()!==s&&!i||(o.setUser(r),p=r),t.add(r),q="join"}else r=t.get(e),t.remove(e),j?(s=u.attr("nick"),q="nickchange",r.setPreviousNick(r.getNick()),r.setNick(s),r.setJid(b.getBareJidFromJid(e)+"/"+s),t.add(r)):(q="leave","none"===u.attr("role")&&("307"===d.find("status").attr("code")?q="kick":"301"===d.find("status").attr("code")&&(q="ban")));return c(Candy).triggerHandler("candy:core.presence.room",{roomJid:f,roomName:o.getName(),user:r,action:q,currentUser:p}),!0},PresenceError:function(a){Candy.Core.log("[Jabber:Room] Presence Error");var d=Candy.Util.unescapeJid(a.attr("from")),e=b.getBareJidFromJid(d),f=Candy.Core.getRooms()[e],g=f.getName();return Candy.Core.removeRoom(e),f=void 0,c(Candy).triggerHandler("candy:core.presence.error",{msg:a,type:a.children("error").children()[0].tagName.toLowerCase(),roomJid:e,roomName:g}),!0},Message:function(a){Candy.Core.log("[Jabber:Room] Message");var d,e;if(a.children("subject").length>0)d=Candy.Util.unescapeJid(b.getBareJidFromJid(a.attr("from"))),e={name:b.getNodeFromJid(d),body:a.children("subject").text(),type:"subject"};else if("error"===a.attr("type")){var f=a.children("error");f.children("text").length>0&&(d=a.attr("from"),e={type:"info",body:f.children("text").text()})}else{if(!(a.children("body").length>0))return!0;if("chat"===a.attr("type")||"normal"===a.attr("type")){d=Candy.Util.unescapeJid(a.attr("from"));var g=b.getBareJidFromJid(d),h=!Candy.Core.getRoom(g),i=h?b.getNodeFromJid(d):b.getResourceFromJid(d);e={name:i,body:a.children("body").text(),type:a.attr("type"),isNoConferenceRoomJid:h}}else{d=Candy.Util.unescapeJid(b.getBareJidFromJid(a.attr("from")));var j=b.getResourceFromJid(a.attr("from"));if(j)j=b.unescapeNode(j),e={name:j,body:a.children("body").text(),type:a.attr("type")};else{if(!Candy.View.Pane.Chat.rooms[a.attr("from")])return!0;e={name:"",body:a.children("body").text(),type:"info"}}}var k=a.children('html[xmlns="'+b.NS.XHTML_IM+'"]');if(Candy.View.getOptions().enableXHTML===!0&&k.length>0){var l=k.children('body[xmlns="'+b.NS.XHTML+'"]').first().html();e.xhtmlMessage=l}}var m=a.children(a.children("delay")?"delay":'x[xmlns="'+b.NS.DELAY+'"]'),n=void 0!==m?m.attr("stamp"):null;return c(Candy).triggerHandler("candy:core.message",{roomJid:d,message:e,timestamp:n}),!0}}},a}(Candy.Core.Event||{},Strophe,jQuery),Candy.View.Observer=function(a,b){var c=!0;return a.Chat={Connection:function(a,d){var e="candy:view.connection.status-"+d.status;if(b(Candy).triggerHandler(e)===!1)return!1;switch(d.status){case Strophe.Status.CONNECTING:case Strophe.Status.AUTHENTICATING:Candy.View.Pane.Chat.Modal.show(b.i18n._("statusConnecting"),!1,!0);break;case Strophe.Status.ATTACHED:case Strophe.Status.CONNECTED:c===!0&&(Candy.View.Pane.Chat.Modal.show(b.i18n._("statusConnected")),Candy.View.Pane.Chat.Modal.hide());break;case Strophe.Status.DISCONNECTING:Candy.View.Pane.Chat.Modal.show(b.i18n._("statusDisconnecting"),!1,!0);break;case Strophe.Status.DISCONNECTED:var f=Candy.Core.isAnonymousConnection()?Strophe.getDomainFromJid(Candy.Core.getUser().getJid()):null;Candy.View.Pane.Chat.Modal.showLoginForm(b.i18n._("statusDisconnected"),f);break;case Strophe.Status.AUTHFAIL:Candy.View.Pane.Chat.Modal.showLoginForm(b.i18n._("statusAuthfail"));break;default:Candy.View.Pane.Chat.Modal.show(b.i18n._("status",d.status))}},Message:function(a,b){"message"===b.type?Candy.View.Pane.Chat.adminMessage(b.subject||"",b.message):("chat"===b.type||"groupchat"===b.type)&&Candy.View.Pane.Chat.onInfoMessage(Candy.View.getCurrent().roomJid,b.subject||"",b.message)}},a.Presence={update:function(c,d){if("leave"===d.type){var e=Candy.View.Pane.Room.getUser(d.roomJid);Candy.View.Pane.Room.close(d.roomJid),a.Presence.notifyPrivateChats(e,d.type)}else if("kick"===d.type||"ban"===d.type){var f,g=d.actor?Strophe.getNodeFromJid(d.actor):null,h=[d.roomName];switch(g&&h.push(g),d.type){case"kick":f=b.i18n._(g?"youHaveBeenKickedBy":"youHaveBeenKicked",h);break;case"ban":f=b.i18n._(g?"youHaveBeenBannedBy":"youHaveBeenBanned",h)}Candy.View.Pane.Chat.Modal.show(Mustache.to_html(Candy.View.Template.Chat.Context.adminMessageReason,{reason:d.reason,_action:f,_reason:b.i18n._("reasonWas",[d.reason])})),setTimeout(function(){Candy.View.Pane.Chat.Modal.hide(function(){Candy.View.Pane.Room.close(d.roomJid),a.Presence.notifyPrivateChats(d.user,d.type)})},5e3);var i={type:d.type,reason:d.reason,roomJid:d.roomJid,user:d.user};b(Candy).triggerHandler("candy:view.presence",[i])}else if(d.roomJid){if(d.roomJid=Candy.Util.unescapeJid(d.roomJid),!Candy.View.Pane.Chat.rooms[d.roomJid]){if(Candy.View.Pane.Room.init(d.roomJid,d.roomName)===!1)return!1;Candy.View.Pane.Room.show(d.roomJid)}Candy.View.Pane.Roster.update(d.roomJid,d.user,d.action,d.currentUser),Candy.View.Pane.Chat.rooms[d.user.getJid()]&&"nickchange"!==d.action&&(Candy.View.Pane.Roster.update(d.user.getJid(),d.user,d.action,d.currentUser),Candy.View.Pane.PrivateRoom.setStatus(d.user.getJid(),d.action))}},notifyPrivateChats:function(a,b){Candy.Core.log("[View:Observer] notify Private Chats");var c;for(c in Candy.View.Pane.Chat.rooms)Candy.View.Pane.Chat.rooms.hasOwnProperty(c)&&Candy.View.Pane.Room.getUser(c)&&a.getJid()===Candy.View.Pane.Room.getUser(c).getJid()&&(Candy.View.Pane.Roster.update(c,a,b,a),Candy.View.Pane.PrivateRoom.setStatus(c,b))}},a.PresenceError=function(a,c){switch(c.type){case"not-authorized":var d;c.msg.children("x").children("password").length>0&&(d=b.i18n._("passwordEnteredInvalid",[c.roomName])),Candy.View.Pane.Chat.Modal.showEnterPasswordForm(c.roomJid,c.roomName,d);break;case"conflict":Candy.View.Pane.Chat.Modal.showNicknameConflictForm(c.roomJid);break;case"registration-required":Candy.View.Pane.Chat.Modal.showError("errorMembersOnly",[c.roomName]);break;case"service-unavailable":Candy.View.Pane.Chat.Modal.showError("errorMaxOccupantsReached",[c.roomName])}},a.Message=function(a,b){"subject"===b.message.type?(Candy.View.Pane.Chat.rooms[b.roomJid]||(Candy.View.Pane.Room.init(b.roomJid,b.message.name),Candy.View.Pane.Room.show(b.roomJid)),Candy.View.Pane.Room.setSubject(b.roomJid,b.message.body)):"info"===b.message.type?Candy.View.Pane.Chat.infoMessage(b.roomJid,b.message.body):("chat"!==b.message.type||Candy.View.Pane.Chat.rooms[b.roomJid]||Candy.View.Pane.PrivateRoom.open(b.roomJid,b.message.name,!1,b.message.isNoConferenceRoomJid),Candy.View.Pane.Message.show(b.roomJid,b.message.name,b.message.body,b.message.xhtmlMessage,b.timestamp))},a.Login=function(a,b){Candy.View.Pane.Chat.Modal.showLoginForm(null,b.presetJid)},a.AutojoinMissing=function(){c=!1,Candy.View.Pane.Chat.Modal.showError("errorAutojoinMissing")},a}(Candy.View.Observer||{},jQuery),Candy.View.Pane=function(a,b){return a.Window={_hasFocus:!0,_plainTitle:document.title,_unreadMessagesCount:0,autoscroll:!0,hasFocus:function(){return a.Window._hasFocus},increaseUnreadMessages:function(){a.Window.renderUnreadMessages(++a.Window._unreadMessagesCount)},reduceUnreadMessages:function(b){a.Window._unreadMessagesCount-=b,a.Window._unreadMessagesCount<=0?a.Window.clearUnreadMessages():a.Window.renderUnreadMessages(a.Window._unreadMessagesCount)},clearUnreadMessages:function(){a.Window._unreadMessagesCount=0,document.title=a.Window._plainTitle},renderUnreadMessages:function(b){document.title=Candy.View.Template.Window.unreadmessages.replace("{{count}}",b).replace("{{title}}",a.Window._plainTitle)},onFocus:function(){a.Window._hasFocus=!0,Candy.View.getCurrent().roomJid&&(a.Room.setFocusToForm(Candy.View.getCurrent().roomJid),a.Chat.clearUnreadMessages(Candy.View.getCurrent().roomJid))},onBlur:function(){a.Window._hasFocus=!1}},a.Chat={rooms:[],addTab:function(c,d,e){var f=Candy.Util.jidToId(c),g=Mustache.to_html(Candy.View.Template.Chat.tab,{roomJid:c,roomId:f,name:d||Strophe.getNodeFromJid(c),privateUserChat:function(){return"chat"===e},roomType:e}),h=b(g).appendTo("#chat-tabs");h.click(a.Chat.tabClick),b("a.close",h).click(a.Chat.tabClose),a.Chat.fitTabs()},getTab:function(a){return b("#chat-tabs").children('li[data-roomjid="'+a+'"]')},removeTab:function(b){a.Chat.getTab(b).remove(),a.Chat.fitTabs()},setActiveTab:function(a){b("#chat-tabs").children().each(function(){var c=b(this);c.attr("data-roomjid")===a?c.addClass("active"):c.removeClass("active")})},increaseUnreadMessages:function(b){var c=this.getTab(b).find(".unread");c.show().text(""!==c.text()?parseInt(c.text(),10)+1:1),"chat"===a.Chat.rooms[b].type&&a.Window.increaseUnreadMessages()},clearUnreadMessages:function(b){var c=a.Chat.getTab(b).find(".unread");a.Window.reduceUnreadMessages(c.text()),c.hide().text("")},tabClick:function(c){var d=Candy.View.getCurrent().roomJid;a.Chat.rooms[d].scrollPosition=a.Room.getPane(d,".message-pane-wrapper").scrollTop(),a.Room.show(b(this).attr("data-roomjid")),c.preventDefault()},tabClose:function(){var c=b(this).parent().attr("data-roomjid");return"chat"===a.Chat.rooms[c].type?a.Room.close(c):Candy.Core.Action.Jabber.Room.Leave(c),!1},allTabsClosed:function(){Candy.Core.disconnect(),a.Chat.Toolbar.hide()},fitTabs:function(){var a=b("#chat-tabs").innerWidth(),c=0,d=b("#chat-tabs").children();if(d.each(function(){c+=b(this).css({width:"auto",overflow:"visible"}).outerWidth(!0)}),c>a){var e=d.outerWidth(!0)-d.width(),f=Math.floor(a/d.length)-e;d.css({width:f,overflow:"hidden"})}},adminMessage:function(c,d){if(Candy.View.getCurrent().roomJid){var e=Mustache.to_html(Candy.View.Template.Chat.adminMessage,{subject:c,message:d,sender:b.i18n._("administratorMessageSubject"),time:Candy.Util.localizedTime((new Date).toGMTString())});b("#chat-rooms").children().each(function(){a.Room.appendToMessagePane(b(this).attr("data-roomjid"),e)}),a.Room.scrollToBottom(Candy.View.getCurrent().roomJid),b(Candy).triggerHandler("candy:view.chat.admin-message",{subject:c,message:d})
+}},infoMessage:function(b,c,d){a.Chat.onInfoMessage(b,c,d)},onInfoMessage:function(c,d,e){if(Candy.View.getCurrent().roomJid){var f=Mustache.to_html(Candy.View.Template.Chat.infoMessage,{subject:d,message:b.i18n._(e),time:Candy.Util.localizedTime((new Date).toGMTString())});a.Room.appendToMessagePane(c,f),Candy.View.getCurrent().roomJid===c&&a.Room.scrollToBottom(Candy.View.getCurrent().roomJid)}},Toolbar:{_supportsNativeAudio:!1,init:function(){b("#emoticons-icon").click(function(b){a.Chat.Context.showEmoticonsMenu(b.currentTarget),b.stopPropagation()}),b("#chat-autoscroll-control").click(a.Chat.Toolbar.onAutoscrollControlClick);var c=document.createElement("audio");a.Chat.Toolbar._supportsNativeAudio=!(!c.canPlayType||!c.canPlayType("audio/mpeg;").replace(/no/,"")),b("#chat-sound-control").click(a.Chat.Toolbar.onSoundControlClick),Candy.Util.cookieExists("candy-nosound")&&b("#chat-sound-control").click(),b("#chat-statusmessage-control").click(a.Chat.Toolbar.onStatusMessageControlClick),Candy.Util.cookieExists("candy-nostatusmessages")&&b("#chat-statusmessage-control").click()},show:function(){b("#chat-toolbar").show()},hide:function(){b("#chat-toolbar").hide()},update:function(c){var d=b("#chat-toolbar").find(".context"),e=a.Room.getUser(c);e&&e.isModerator()?d.show().click(function(b){a.Chat.Context.show(b.currentTarget,c),b.stopPropagation()}):d.hide(),a.Chat.Toolbar.updateUsercount(a.Chat.rooms[c].usercount)},playSound:function(){a.Chat.Toolbar.onPlaySound()},onPlaySound:function(){try{if(a.Chat.Toolbar._supportsNativeAudio)new Audio(Candy.View.getOptions().assets+"notify.mp3").play();else{var b=document.getElementById("chat-sound-player");b.SetVariable("method:stop",""),b.SetVariable("method:play","")}}catch(c){}},onSoundControlClick:function(){var c=b("#chat-sound-control");c.hasClass("checked")?(a.Chat.Toolbar.playSound=function(){},Candy.Util.setCookie("candy-nosound","1",365)):(a.Chat.Toolbar.playSound=function(){a.Chat.Toolbar.onPlaySound()},Candy.Util.deleteCookie("candy-nosound")),c.toggleClass("checked")},onAutoscrollControlClick:function(){var c=b("#chat-autoscroll-control");c.hasClass("checked")?(a.Room.scrollToBottom=function(b){a.Room.onScrollToStoredPosition(b)},a.Window.autoscroll=!1):(a.Room.scrollToBottom=function(b){a.Room.onScrollToBottom(b)},a.Room.scrollToBottom(Candy.View.getCurrent().roomJid),a.Window.autoscroll=!0),c.toggleClass("checked")},onStatusMessageControlClick:function(){var c=b("#chat-statusmessage-control");c.hasClass("checked")?(a.Chat.infoMessage=function(){},Candy.Util.setCookie("candy-nostatusmessages","1",365)):(a.Chat.infoMessage=function(b,c,d){a.Chat.onInfoMessage(b,c,d)},Candy.Util.deleteCookie("candy-nostatusmessages")),c.toggleClass("checked")},updateUsercount:function(a){b("#chat-usercount").text(a)}},Modal:{show:function(c,d,e){d?a.Chat.Modal.showCloseControl():a.Chat.Modal.hideCloseControl(),e?a.Chat.Modal.showSpinner():a.Chat.Modal.hideSpinner(),b("#chat-modal").stop(!1,!0),b("#chat-modal-body").html(c),b("#chat-modal").fadeIn("fast"),b("#chat-modal-overlay").show()},hide:function(a){b("#chat-modal").fadeOut("fast",function(){b("#chat-modal-body").text(""),b("#chat-modal-overlay").hide()}),b(document).keydown(function(a){27===a.which&&a.preventDefault()}),a&&a()},showSpinner:function(){b("#chat-modal-spinner").show()},hideSpinner:function(){b("#chat-modal-spinner").hide()},showCloseControl:function(){b("#admin-message-cancel").show().click(function(b){a.Chat.Modal.hide(),b.preventDefault()}),b(document).keydown(function(b){27===b.which&&(a.Chat.Modal.hide(),b.preventDefault())})},hideCloseControl:function(){b("#admin-message-cancel").hide().click(function(){})},showLoginForm:function(c,d){a.Chat.Modal.show((c?c:"")+Mustache.to_html(Candy.View.Template.Login.form,{_labelNickname:b.i18n._("labelNickname"),_labelUsername:b.i18n._("labelUsername"),_labelPassword:b.i18n._("labelPassword"),_loginSubmit:b.i18n._("loginSubmit"),displayPassword:!Candy.Core.isAnonymousConnection(),displayUsername:!d,displayNickname:Candy.Core.isAnonymousConnection(),presetJid:d?d:!1})),b("#login-form").children(":input:first").focus(),b("#login-form").submit(function(){var a=b("#username").val(),c=b("#password").val();if(Candy.Core.isAnonymousConnection())Candy.Core.connect(d,null,a);else{var e=Candy.Core.getUser()&&a.indexOf("@")<0?a+"@"+Strophe.getDomainFromJid(Candy.Core.getUser().getJid()):a;e.indexOf("@")<0&&!Candy.Core.getUser()?Candy.View.Pane.Chat.Modal.showLoginForm(b.i18n._("loginInvalid")):Candy.Core.connect(e,c)}return!1})},showEnterPasswordForm:function(c,d,e){a.Chat.Modal.show(Mustache.to_html(Candy.View.Template.PresenceError.enterPasswordForm,{roomName:d,_labelPassword:b.i18n._("labelPassword"),_label:e?e:b.i18n._("enterRoomPassword",[d]),_joinSubmit:b.i18n._("enterRoomPasswordSubmit")}),!0),b("#password").focus(),b("#enter-password-form").submit(function(){var d=b("#password").val();return a.Chat.Modal.hide(function(){Candy.Core.Action.Jabber.Room.Join(c,d)}),!1})},showNicknameConflictForm:function(c){a.Chat.Modal.show(Mustache.to_html(Candy.View.Template.PresenceError.nicknameConflictForm,{_labelNickname:b.i18n._("labelNickname"),_label:b.i18n._("nicknameConflict"),_loginSubmit:b.i18n._("loginSubmit")})),b("#nickname").focus(),b("#nickname-conflict-form").submit(function(){var d=b("#nickname").val();return a.Chat.Modal.hide(function(){Candy.Core.getUser().data.nick=d,Candy.Core.Action.Jabber.Room.Join(c)}),!1})},showError:function(c,d){a.Chat.Modal.show(Mustache.to_html(Candy.View.Template.PresenceError.displayError,{_error:b.i18n._(c,d)}),!0)}},Tooltip:{show:function(a,c){var d=b("#tooltip"),e=b(a.currentTarget);if(c||(c=e.attr("data-tooltip")),0===d.length){var f=Mustache.to_html(Candy.View.Template.Chat.tooltip);b("#chat-pane").append(f),d=b("#tooltip")}b("#context-menu").hide(),d.stop(!1,!0),d.children("div").html(c);var g=e.offset(),h=Candy.Util.getPosLeftAccordingToWindowBounds(d,g.left),i=Candy.Util.getPosTopAccordingToWindowBounds(d,g.top);d.css({left:h.px,top:i.px}).removeClass("left-top left-bottom right-top right-bottom").addClass(h.backgroundPositionAlignment+"-"+i.backgroundPositionAlignment).fadeIn("fast"),e.mouseleave(function(a){a.stopPropagation(),b("#tooltip").stop(!1,!0).fadeOut("fast",function(){b(this).css({top:0,left:0})})})}},Context:{init:function(){if(0===b("#context-menu").length){var a=Mustache.to_html(Candy.View.Template.Chat.Context.menu);b("#chat-pane").append(a),b("#context-menu").mouseleave(function(){b(this).fadeOut("fast")})}},show:function(c,d,e){c=b(c);var f=a.Chat.rooms[d].id,g=b("#context-menu"),h=b("ul li",g);b("#tooltip").hide(),e||(e=Candy.Core.getUser()),h.remove();var i,j=this.getMenuLinks(d,e,c),k=function(a,c){return function(d){d.data.callback(d,a,c),b("#context-menu").hide()}};for(i in j)if(j.hasOwnProperty(i)){var l=j[i],m=Mustache.to_html(Candy.View.Template.Chat.Context.menulinks,{roomId:f,"class":l["class"],id:i,label:l.label});b("ul",g).append(m),b("#context-menu-"+i).bind("click",l,k(d,e))}if(i){var n=c.offset(),o=Candy.Util.getPosLeftAccordingToWindowBounds(g,n.left),p=Candy.Util.getPosTopAccordingToWindowBounds(g,n.top);return g.css({left:o.px,top:p.px}).removeClass("left-top left-bottom right-top right-bottom").addClass(o.backgroundPositionAlignment+"-"+p.backgroundPositionAlignment).fadeIn("fast"),b(Candy).triggerHandler("candy:view.roster.after-context-menu",{roomJid:d,user:e,element:g}),!0}},getMenuLinks:function(c,d,e){var f,g,h={roomJid:c,user:d,elem:e,menulinks:this.initialMenuLinks(e)};b(Candy).triggerHandler("candy:view.roster.context-menu",h),f=h.menulinks;for(g in f)f.hasOwnProperty(g)&&void 0!==f[g].requiredPermission&&!f[g].requiredPermission(d,a.Room.getUser(c),e)&&delete f[g];return f},initialMenuLinks:function(){return{"private":{requiredPermission:function(a,b){return b.getNick()!==a.getNick()&&Candy.Core.getRoom(Candy.View.getCurrent().roomJid)&&!Candy.Core.getUser().isInPrivacyList("ignore",a.getJid())},"class":"private",label:b.i18n._("privateActionLabel"),callback:function(a,c,d){b("#user-"+Candy.Util.jidToId(c)+"-"+Candy.Util.jidToId(d.getJid())).click()}},ignore:{requiredPermission:function(a,b){return b.getNick()!==a.getNick()&&!Candy.Core.getUser().isInPrivacyList("ignore",a.getJid())},"class":"ignore",label:b.i18n._("ignoreActionLabel"),callback:function(a,b,c){Candy.View.Pane.Room.ignoreUser(b,c.getJid())}},unignore:{requiredPermission:function(a,b){return b.getNick()!==a.getNick()&&Candy.Core.getUser().isInPrivacyList("ignore",a.getJid())},"class":"unignore",label:b.i18n._("unignoreActionLabel"),callback:function(a,b,c){Candy.View.Pane.Room.unignoreUser(b,c.getJid())}},kick:{requiredPermission:function(a,b){return b.getNick()!==a.getNick()&&b.isModerator()&&!a.isModerator()},"class":"kick",label:b.i18n._("kickActionLabel"),callback:function(c,d,e){a.Chat.Modal.show(Mustache.to_html(Candy.View.Template.Chat.Context.contextModalForm,{_label:b.i18n._("reason"),_submit:b.i18n._("kickActionLabel")}),!0),b("#context-modal-field").focus(),b("#context-modal-form").submit(function(){return Candy.Core.Action.Jabber.Room.Admin.UserAction(d,e.getJid(),"kick",b("#context-modal-field").val()),a.Chat.Modal.hide(),!1})}},ban:{requiredPermission:function(a,b){return b.getNick()!==a.getNick()&&b.isModerator()&&!a.isModerator()},"class":"ban",label:b.i18n._("banActionLabel"),callback:function(c,d,e){a.Chat.Modal.show(Mustache.to_html(Candy.View.Template.Chat.Context.contextModalForm,{_label:b.i18n._("reason"),_submit:b.i18n._("banActionLabel")}),!0),b("#context-modal-field").focus(),b("#context-modal-form").submit(function(){return Candy.Core.Action.Jabber.Room.Admin.UserAction(d,e.getJid(),"ban",b("#context-modal-field").val()),a.Chat.Modal.hide(),!1})}},subject:{requiredPermission:function(a,b){return b.getNick()===a.getNick()&&b.isModerator()},"class":"subject",label:b.i18n._("setSubjectActionLabel"),callback:function(c,d){a.Chat.Modal.show(Mustache.to_html(Candy.View.Template.Chat.Context.contextModalForm,{_label:b.i18n._("subject"),_submit:b.i18n._("setSubjectActionLabel")}),!0),b("#context-modal-field").focus(),b("#context-modal-form").submit(function(c){Candy.Core.Action.Jabber.Room.Admin.SetSubject(d,b("#context-modal-field").val()),a.Chat.Modal.hide(),c.preventDefault()})}}}},showEmoticonsMenu:function(a){a=b(a);var c,d=a.offset(),e=b("#context-menu"),f=b("ul",e),g="";for(b("#tooltip").hide(),c=Candy.Util.Parser.emoticons.length-1;c>=0;c--)g='<img src="'+Candy.Util.Parser._emoticonPath+Candy.Util.Parser.emoticons[c].image+'" alt="'+Candy.Util.Parser.emoticons[c].plain+'" />'+g;f.html('<li class="emoticons">'+g+"</li>"),f.find("img").click(function(){var a=Candy.View.Pane.Room.getPane(Candy.View.getCurrent().roomJid,".message-form").children(".field"),c=a.val(),d=b(this).attr("alt")+" ";a.val(c?c+" "+d:d).focus()});var h=Candy.Util.getPosLeftAccordingToWindowBounds(e,d.left),i=Candy.Util.getPosTopAccordingToWindowBounds(e,d.top);return e.css({left:h.px,top:i.px}).removeClass("left-top left-bottom right-top right-bottom").addClass(h.backgroundPositionAlignment+"-"+i.backgroundPositionAlignment).fadeIn("fast"),!0}}},a.Room={init:function(c,d,e){e=e||"groupchat",c=Candy.Util.unescapeJid(c);var f={roomJid:c,type:e};if(b(Candy).triggerHandler("candy:view.room.before-add",f)===!1)return!1;Candy.Util.isEmptyObject(a.Chat.rooms)&&a.Chat.Toolbar.show();var g=Candy.Util.jidToId(c);return a.Chat.rooms[c]={id:g,usercount:0,name:d,type:e,messageCount:0,scrollPosition:-1},b("#chat-rooms").append(Mustache.to_html(Candy.View.Template.Room.pane,{roomId:g,roomJid:c,roomType:e,form:{_messageSubmit:b.i18n._("messageSubmit")},roster:{_userOnline:b.i18n._("userOnline")}},{roster:Candy.View.Template.Roster.pane,messages:Candy.View.Template.Message.pane,form:Candy.View.Template.Room.form})),a.Chat.addTab(c,d,e),a.Room.getPane(c,".message-form").submit(a.Message.submit),f.element=a.Room.getPane(c),b(Candy).triggerHandler("candy:view.room.after-add",f),g},show:function(c){var d,e=a.Chat.rooms[c].id;b(".room-pane").each(function(){var f=b(this);d={roomJid:c,element:f},f.attr("id")==="chat-room-"+e?(f.show(),Candy.View.getCurrent().roomJid=c,a.Chat.setActiveTab(c),a.Chat.Toolbar.update(c),a.Chat.clearUnreadMessages(c),a.Room.setFocusToForm(c),a.Room.scrollToBottom(c),b(Candy).triggerHandler("candy:view.room.after-show",d)):(f.hide(),b(Candy).triggerHandler("candy:view.room.after-hide",d))})},setSubject:function(c,d){d=Candy.Util.Parser.linkify(Candy.Util.Parser.escape(d));var e=Mustache.to_html(Candy.View.Template.Room.subject,{subject:d,roomName:a.Chat.rooms[c].name,_roomSubject:b.i18n._("roomSubject"),time:Candy.Util.localizedTime((new Date).toGMTString())});a.Room.appendToMessagePane(c,e),a.Room.scrollToBottom(c),b(Candy).triggerHandler("candy:view.room.after-subject-change",{roomJid:c,element:a.Room.getPane(c),subject:d})},close:function(c){a.Chat.removeTab(c),a.Window.clearUnreadMessages(),a.Room.getPane(c).remove();var d=b("#chat-rooms").children();Candy.View.getCurrent().roomJid===c&&(Candy.View.getCurrent().roomJid=null,0===d.length?a.Chat.allTabsClosed():a.Room.show(d.last().attr("data-roomjid"))),delete a.Chat.rooms[c],b(Candy).triggerHandler("candy:view.room.after-close",{roomJid:c})},appendToMessagePane:function(b,c){a.Room.getPane(b,".message-pane").append(c),a.Chat.rooms[b].messageCount++,a.Room.sliceMessagePane(b)},sliceMessagePane:function(b){if(a.Window.autoscroll){var c=Candy.View.getOptions().messages;a.Chat.rooms[b].messageCount>c.limit&&(a.Room.getPane(b,".message-pane").children().slice(0,c.remove).remove(),a.Chat.rooms[b].messageCount-=c.remove)}},scrollToBottom:function(b){a.Room.onScrollToBottom(b)},onScrollToBottom:function(b){var c=a.Room.getPane(b,".message-pane-wrapper");c.scrollTop(c.prop("scrollHeight"))},onScrollToStoredPosition:function(b){if(a.Chat.rooms[b].scrollPosition>-1){var c=a.Room.getPane(b,".message-pane-wrapper");c.scrollTop(a.Chat.rooms[b].scrollPosition),a.Chat.rooms[b].scrollPosition=-1}},setFocusToForm:function(b){var c=a.Room.getPane(b,".message-form");if(c)try{c.children(".field")[0].focus()}catch(d){}},setUser:function(c,d){a.Chat.rooms[c].user=d;var e=a.Room.getPane(c),f=b("#chat-pane");e.attr("data-userjid",d.getJid()),d.isModerator()?(d.getRole()===d.ROLE_MODERATOR&&f.addClass("role-moderator"),d.getAffiliation()===d.AFFILIATION_OWNER&&f.addClass("affiliation-owner")):f.removeClass("role-moderator affiliation-owner"),a.Chat.Context.init()},getUser:function(b){return a.Chat.rooms[b].user},ignoreUser:function(a,b){Candy.Core.Action.Jabber.Room.IgnoreUnignore(b),Candy.View.Pane.Room.addIgnoreIcon(a,b)},unignoreUser:function(a,b){Candy.Core.Action.Jabber.Room.IgnoreUnignore(b),Candy.View.Pane.Room.removeIgnoreIcon(a,b)},addIgnoreIcon:function(a,c){Candy.View.Pane.Chat.rooms[c]&&b("#user-"+Candy.View.Pane.Chat.rooms[c].id+"-"+Candy.Util.jidToId(c)).addClass("status-ignored"),Candy.View.Pane.Chat.rooms[Strophe.getBareJidFromJid(a)]&&b("#user-"+Candy.View.Pane.Chat.rooms[Strophe.getBareJidFromJid(a)].id+"-"+Candy.Util.jidToId(c)).addClass("status-ignored")},removeIgnoreIcon:function(a,c){Candy.View.Pane.Chat.rooms[c]&&b("#user-"+Candy.View.Pane.Chat.rooms[c].id+"-"+Candy.Util.jidToId(c)).removeClass("status-ignored"),Candy.View.Pane.Chat.rooms[Strophe.getBareJidFromJid(a)]&&b("#user-"+Candy.View.Pane.Chat.rooms[Strophe.getBareJidFromJid(a)].id+"-"+Candy.Util.jidToId(c)).removeClass("status-ignored")},getPane:function(c,d){return a.Chat.rooms[c]?d?a.Chat.rooms[c]["pane-"+d]?a.Chat.rooms[c]["pane-"+d]:(a.Chat.rooms[c]["pane-"+d]=b("#chat-room-"+a.Chat.rooms[c].id).find(d),a.Chat.rooms[c]["pane-"+d]):b("#chat-room-"+a.Chat.rooms[c].id):void 0},changeDataUserJidIfUserIsMe:function(a,c){if(c.getNick()===Candy.Core.getUser().getNick()){var d=b("#chat-room-"+a);d.attr("data-userjid",Strophe.getBareJidFromJid(d.attr("data-userjid"))+"/"+c.getNick())}}},a.PrivateRoom={open:function(c,d,e,f){var g=f?Candy.Core.getUser():a.Room.getUser(Strophe.getBareJidFromJid(c)),h={roomJid:c,roomName:d,type:"chat"};return b(Candy).triggerHandler("candy:view.private-room.before-open",h)===!1?!1:Candy.Core.getUser().isInPrivacyList("ignore",c)?!1:a.Chat.rooms[c]||a.Room.init(c,d,"chat")!==!1?(e&&a.Room.show(c),a.Roster.update(c,new Candy.Core.ChatUser(c,d),"join",g),a.Roster.update(c,g,"join",g),a.PrivateRoom.setStatus(c,"join"),f&&a.Chat.infoMessage(c,b.i18n._("presenceUnknownWarningSubject"),b.i18n._("presenceUnknownWarning")),h.element=a.Room.getPane(c),void b(Candy).triggerHandler("candy:view.private-room.after-open",h)):!1},setStatus:function(b,c){var d=a.Room.getPane(b,".message-form");"join"===c?(a.Chat.getTab(b).addClass("online").removeClass("offline"),d.children(".field").removeAttr("disabled"),d.children(".submit").removeAttr("disabled"),a.Chat.getTab(b)):"leave"===c&&(a.Chat.getTab(b).addClass("offline").removeClass("online"),d.children(".field").attr("disabled",!0),d.children(".submit").attr("disabled",!0))},changeNick:function(c,d){Candy.Core.log("[View:Pane:PrivateRoom] changeNick");var e,f,g=c+"/"+d.getPreviousNick(),h=c+"/"+d.getNick(),i=Candy.Util.jidToId(g),j=Candy.Util.jidToId(h),k=a.Chat.rooms[g];a.Chat.rooms[h]&&a.Room.close(h),k?(k.name=d.getNick(),k.id=j,a.Chat.rooms[h]=k,delete a.Chat.rooms[g],e=b("#chat-room-"+i),e&&(e.attr("data-roomjid",h),e.attr("id","chat-room-"+j),f=b('#chat-tabs li[data-roomjid="'+g+'"]'),f.attr("data-roomjid",h),f.children("a.label").text("@"+d.getNick()),Candy.View.getCurrent().roomJid===g&&(Candy.View.getCurrent().roomJid=h))):(e=b('.room-pane.roomtype-chat[data-userjid="'+g+'"]'),e.length&&(i=Candy.Util.jidToId(e.attr("data-roomjid")),e.attr("data-userjid",h))),e&&e.length&&a.Roster.changeNick(i,d)}},a.Roster={update:function(c,d,e,f){Candy.Core.log("[View:Pane:Roster] "+e);var g=a.Chat.rooms[c].id,h=Candy.Util.jidToId(d.getJid()),i=-1,j=b("#user-"+g+"-"+h),k={roomJid:c,user:d,action:e,element:j};if(b(Candy).triggerHandler("candy:view.roster.before-update",k),"join"===e){i=1;var l=Mustache.to_html(Candy.View.Template.Roster.user,{roomId:g,userId:h,userJid:d.getJid(),nick:d.getNick(),displayNick:Candy.Util.crop(d.getNick(),Candy.View.getOptions().crop.roster.nickname),role:d.getRole(),affiliation:d.getAffiliation(),me:void 0!==f&&d.getNick()===f.getNick(),tooltipRole:b.i18n._("tooltipRole"),tooltipIgnored:b.i18n._("tooltipIgnored")});if(j.length<1){var m=!1,n=a.Room.getPane(c,".roster-pane");if(n.children().length>0){var o=d.getNick().toUpperCase();n.children().each(function(){var a=b(this);return a.attr("data-nick").toUpperCase()>o?(a.before(l),m=!0,!1):!0})}m||n.append(l),a.Roster.showJoinAnimation(d,h,g,c,f)}else i=0,j.replaceWith(l),b("#user-"+g+"-"+h).css({opacity:1}).show(),void 0!==f&&d.getNick()===f.getNick()&&a.Room.getUser(c)&&a.Chat.Toolbar.update(c);void 0!==f&&f.getNick()===d.getNick()?a.Room.setUser(c,d):b("#user-"+g+"-"+h).click(a.Roster.userClick),b("#user-"+g+"-"+h+" .context").click(function(b){a.Chat.Context.show(b.currentTarget,c,d),b.stopPropagation()}),void 0!==f&&f.isInPrivacyList("ignore",d.getJid())&&Candy.View.Pane.Room.addIgnoreIcon(c,d.getJid())}else if("leave"===e)a.Roster.leaveAnimation("user-"+g+"-"+h),"chat"===a.Chat.rooms[c].type?a.Chat.onInfoMessage(c,b.i18n._("userLeftRoom",[d.getNick()])):a.Chat.infoMessage(c,b.i18n._("userLeftRoom",[d.getNick()]));else if("nickchange"===e){i=0,a.Roster.changeNick(g,d),a.Room.changeDataUserJidIfUserIsMe(g,d),a.PrivateRoom.changeNick(c,d);var p=b.i18n._("userChangedNick",[d.getPreviousNick(),d.getNick()]);a.Chat.onInfoMessage(c,p)}else"kick"===e?(a.Roster.leaveAnimation("user-"+g+"-"+h),a.Chat.onInfoMessage(c,b.i18n._("userHasBeenKickedFromRoom",[d.getNick()]))):"ban"===e&&(a.Roster.leaveAnimation("user-"+g+"-"+h),a.Chat.onInfoMessage(c,b.i18n._("userHasBeenBannedFromRoom",[d.getNick()])));Candy.View.Pane.Chat.rooms[c].usercount+=i,c===Candy.View.getCurrent().roomJid&&Candy.View.Pane.Chat.Toolbar.updateUsercount(Candy.View.Pane.Chat.rooms[c].usercount),k.element=b("#user-"+g+"-"+h),b(Candy).triggerHandler("candy:view.roster.after-update",k)},userClick:function(){var c=b(this);a.PrivateRoom.open(c.attr("data-jid"),c.attr("data-nick"),!0)},showJoinAnimation:function(c,d,e,f,g){var h="user-"+e+"-"+d,i=b("#"+h);c.getPreviousNick()&&i&&i.is(":visible")!==!1||(a.Roster.joinAnimation(h),void 0!==g&&c.getNick()!==g.getNick()&&a.Room.getUser(f)&&("chat"===a.Chat.rooms[f].type?a.Chat.onInfoMessage(f,b.i18n._("userJoinedRoom",[c.getNick()])):a.Chat.infoMessage(f,b.i18n._("userJoinedRoom",[c.getNick()]))))},joinAnimation:function(a){b("#"+a).stop(!0).slideDown("normal",function(){b(this).animate({opacity:1})})},leaveAnimation:function(a){b("#"+a).stop(!0).attr("id","#"+a+"-leaving").animate({opacity:0},{complete:function(){b(this).slideUp("normal",function(){b(this).remove()})}})},changeNick:function(a,c){Candy.Core.log("[View:Pane:Roster] changeNick");var d=Strophe.getBareJidFromJid(c.getJid())+"/"+c.getPreviousNick(),e="user-"+a+"-"+Candy.Util.jidToId(d),f=b("#"+e);f.attr("data-nick",c.getNick()),f.attr("data-jid",c.getJid()),f.children("div.label").text(c.getNick()),f.attr("id","user-"+a+"-"+Candy.Util.jidToId(c.getJid()))}},a.Message={submit:function(c){var d,e=Candy.View.getCurrent().roomJid,f=Candy.View.Pane.Chat.rooms[e].type,g=b(this).children(".field").val().substring(0,Candy.View.getOptions().crop.message.body),h={roomJid:e,message:g,xhtmlMessage:d};return b(Candy).triggerHandler("candy:view.message.before-send",h)===!1?void c.preventDefault():(g=h.message,d=h.xhtmlMessage,Candy.Core.Action.Jabber.Room.Message(Candy.View.getCurrent().roomJid,g,f,d),"chat"===f&&g&&a.Message.show(Candy.View.getCurrent().roomJid,a.Room.getUser(Candy.View.getCurrent().roomJid).getNick(),g),b(this).children(".field").val("").focus(),void c.preventDefault())},show:function(c,d,e,f,g){e=Candy.Util.Parser.all(e.substring(0,Candy.View.getOptions().crop.message.body)),f&&(f=Candy.Util.parseAndCropXhtml(f,Candy.View.getOptions().crop.message.body));var h={roomJid:c,name:d,message:e,xhtmlMessage:f};if(b(Candy).triggerHandler("candy:view.message.before-show",h)!==!1&&(e=h.message,f=h.xhtmlMessage,void 0!==f&&f.length>0&&(e=f),e)){var i={template:Candy.View.Template.Message.item,templateData:{name:d,displayName:Candy.Util.crop(d,Candy.View.getOptions().crop.message.nickname),message:e,time:Candy.Util.localizedTime(g||(new Date).toGMTString())}};b(Candy).triggerHandler("candy:view.message.before-render",i);var j=Mustache.to_html(i.template,i.templateData);a.Room.appendToMessagePane(c,j);var k=a.Room.getPane(c,".message-pane").children().last();k.find("a.label").click(function(b){b.preventDefault();var e=Candy.Core.getRoom(c);return e&&d!==a.Room.getUser(Candy.View.getCurrent().roomJid).getNick()&&e.getRoster().get(c+"/"+d)&&Candy.View.Pane.PrivateRoom.open(c+"/"+d,d,!0)===!1?!1:void 0}),Candy.View.getCurrent().roomJid===c&&a.Window.hasFocus()||(a.Chat.increaseUnreadMessages(c),"chat"!==Candy.View.Pane.Chat.rooms[c].type||a.Window.hasFocus()||a.Chat.Toolbar.playSound()),Candy.View.getCurrent().roomJid===c&&a.Room.scrollToBottom(c),h.element=k,b(Candy).triggerHandler("candy:view.message.after-show",h)}}},a}(Candy.View.Pane||{},jQuery),Candy.View.Template=function(a){return a.Window={unreadmessages:"({{count}}) {{title}}"},a.Chat={pane:'<div id="chat-pane">{{> tabs}}{{> toolbar}}{{> rooms}}</div>{{> modal}}',rooms:'<div id="chat-rooms" class="rooms"></div>',tabs:'<ul id="chat-tabs"></ul>',tab:'<li class="roomtype-{{roomType}}" data-roomjid="{{roomJid}}" data-roomtype="{{roomType}}"><a href="#" class="label">{{#privateUserChat}}@{{/privateUserChat}}{{name}}</a><a href="#" class="transition"></a><a href="#" class="close">×</a><small class="unread"></small></li>',modal:'<div id="chat-modal"><a id="admin-message-cancel" class="close" href="#">×</a><span id="chat-modal-body"></span><img src="{{assetsPath}}img/modal-spinner.gif" id="chat-modal-spinner" /></div><div id="chat-modal-overlay"></div>',adminMessage:'<li><small>{{time}}</small><div class="adminmessage"><span class="label">{{sender}}</span><span class="spacer">▸</span>{{subject}} {{message}}</div></li>',infoMessage:'<li><small>{{time}}</small><div class="infomessage"><span class="spacer">•</span>{{subject}} {{message}}</div></li>',toolbar:'<ul id="chat-toolbar"><li id="emoticons-icon" data-tooltip="{{tooltipEmoticons}}"></li><li id="chat-sound-control" class="checked" data-tooltip="{{tooltipSound}}">{{> soundcontrol}}</li><li id="chat-autoscroll-control" class="checked" data-tooltip="{{tooltipAutoscroll}}"></li><li class="checked" id="chat-statusmessage-control" data-tooltip="{{tooltipStatusmessage}}"></li><li class="context" data-tooltip="{{tooltipAdministration}}"></li><li class="usercount" data-tooltip="{{tooltipUsercount}}"><span id="chat-usercount"></span></li></ul>',soundcontrol:'<script type="text/javascript">var audioplayerListener = new Object(); audioplayerListener.onInit = function() { };</script><object id="chat-sound-player" type="application/x-shockwave-flash" data="{{assetsPath}}audioplayer.swf" width="0" height="0"><param name="movie" value="{{assetsPath}}audioplayer.swf" /><param name="AllowScriptAccess" value="always" /><param name="FlashVars" value="listener=audioplayerListener&amp;mp3={{assetsPath}}notify.mp3" /></object>',Context:{menu:'<div id="context-menu"><i class="arrow arrow-top"></i><ul></ul><i class="arrow arrow-bottom"></i></div>',menulinks:'<li class="{{class}}" id="context-menu-{{id}}">{{label}}</li>',contextModalForm:'<form action="#" id="context-modal-form"><label for="context-modal-label">{{_label}}</label><input type="text" name="contextModalField" id="context-modal-field" /><input type="submit" class="button" name="send" value="{{_submit}}" /></form>',adminMessageReason:'<a id="admin-message-cancel" class="close" href="#">×</a><p>{{_action}}</p>{{#reason}}<p>{{_reason}}</p>{{/reason}}'},tooltip:'<div id="tooltip"><i class="arrow arrow-top"></i><div></div><i class="arrow arrow-bottom"></i></div>'},a.Room={pane:'<div class="room-pane roomtype-{{roomType}}" id="chat-room-{{roomId}}" data-roomjid="{{roomJid}}" data-roomtype="{{roomType}}">{{> roster}}{{> messages}}{{> form}}</div>',subject:'<li><small>{{time}}</small><div class="subject"><span class="label">{{roomName}}</span><span class="spacer">▸</span>{{_roomSubject}} {{{subject}}}</div></li>',form:'<div class="message-form-wrapper"><form method="post" class="message-form"><input name="message" class="field" type="text" aria-label="Message Form Text Field" autocomplete="off" maxlength="1000" /><input type="submit" class="submit" name="submit" value="{{_messageSubmit}}" /></form></div>'},a.Roster={pane:'<div class="roster-pane"></div>',user:'<div class="user role-{{role}} affiliation-{{affiliation}}{{#me}} me{{/me}}" id="user-{{roomId}}-{{userId}}" data-jid="{{userJid}}" data-nick="{{nick}}" data-role="{{role}}" data-affiliation="{{affiliation}}"><div class="label">{{displayNick}}</div><ul><li class="context" id="context-{{roomId}}-{{userId}}">&#x25BE;</li><li class="role role-{{role}} affiliation-{{affiliation}}" data-tooltip="{{tooltipRole}}"></li><li class="ignore" data-tooltip="{{tooltipIgnored}}"></li></ul></div>'},a.Message={pane:'<div class="message-pane-wrapper"><ul class="message-pane"></ul></div>',item:'<li><small>{{time}}</small><div><a class="label" href="#" class="name">{{displayName}}</a><span class="spacer">▸</span>{{{message}}}</div></li>'},a.Login={form:'<form method="post" id="login-form" class="login-form">{{#displayNickname}}<label for="username">{{_labelNickname}}</label><input type="text" id="username" name="username"/>{{/displayNickname}}{{#displayUsername}}<label for="username">{{_labelUsername}}</label><input type="text" id="username" name="username"/>{{/displayUsername}}{{#presetJid}}<input type="hidden" id="username" name="username" value="{{presetJid}}"/>{{/presetJid}}{{#displayPassword}}<label for="password">{{_labelPassword}}</label><input type="password" id="password" name="password" />{{/displayPassword}}<input type="submit" class="button" value="{{_loginSubmit}}" /></form>'},a.PresenceError={enterPasswordForm:'<strong>{{_label}}</strong><form method="post" id="enter-password-form" class="enter-password-form"><label for="password">{{_labelPassword}}</label><input type="password" id="password" name="password" /><input type="submit" class="button" value="{{_joinSubmit}}" /></form>',nicknameConflictForm:'<strong>{{_label}}</strong><form method="post" id="nickname-conflict-form" class="nickname-conflict-form"><label for="nickname">{{_labelNickname}}</label><input type="text" id="nickname" name="nickname" /><input type="submit" class="button" value="{{_loginSubmit}}" /></form>',displayError:"<strong>{{_error}}</strong>"},a}(Candy.View.Template||{}),Candy.View.Translation={en:{status:"Status: %s",statusConnecting:"Connecting...",statusConnected:"Connected",statusDisconnecting:"Disconnecting...",statusDisconnected:"Disconnected",statusAuthfail:"Authentication failed",roomSubject:"Subject:",messageSubmit:"Send",labelUsername:"Username:",labelNickname:"Nickname:",labelPassword:"Password:",loginSubmit:"Login",loginInvalid:"Invalid JID",reason:"Reason:",subject:"Subject:",reasonWas:"Reason was: %s.",kickActionLabel:"Kick",youHaveBeenKickedBy:"You have been kicked from %2$s by %1$s",youHaveBeenKicked:"You have been kicked from %s",banActionLabel:"Ban",youHaveBeenBannedBy:"You have been banned from %1$s by %2$s",youHaveBeenBanned:"You have been banned from %s",privateActionLabel:"Private chat",ignoreActionLabel:"Ignore",unignoreActionLabel:"Unignore",setSubjectActionLabel:"Change Subject",administratorMessageSubject:"Administrator",userJoinedRoom:"%s joined the room.",userLeftRoom:"%s left the room.",userHasBeenKickedFromRoom:"%s has been kicked from the room.",userHasBeenBannedFromRoom:"%s has been banned from the room.",userChangedNick:"%1$s has changed his nickname to %2$s.",presenceUnknownWarningSubject:"Notice:",presenceUnknownWarning:"This user might be offline. We can't track his presence.",dateFormat:"dd.mm.yyyy",timeFormat:"HH:MM:ss",tooltipRole:"Moderator",tooltipIgnored:"You ignore this user",tooltipEmoticons:"Emoticons",tooltipSound:"Play sound for new private messages",tooltipAutoscroll:"Autoscroll",tooltipStatusmessage:"Display status messages",tooltipAdministration:"Room Administration",tooltipUsercount:"Room Occupants",enterRoomPassword:'Room "%s" is password protected.',enterRoomPasswordSubmit:"Join room",passwordEnteredInvalid:'Invalid password for room "%s".',nicknameConflict:"Username already in use. Please choose another one.",errorMembersOnly:'You can\'t join room "%s": Insufficient rights.',errorMaxOccupantsReached:'You can\'t join room "%s": Too many occupants.',errorAutojoinMissing:"No autojoin parameter set in configuration. Please set one to continue.",antiSpamMessage:"Please do not spam. You have been blocked for a short-time."},de:{status:"Status: %s",statusConnecting:"Verbinden...",statusConnected:"Verbunden",statusDisconnecting:"Verbindung trennen...",statusDisconnected:"Verbindung getrennt",statusAuthfail:"Authentifizierung fehlgeschlagen",roomSubject:"Thema:",messageSubmit:"Senden",labelUsername:"Benutzername:",labelNickname:"Spitzname:",labelPassword:"Passwort:",loginSubmit:"Anmelden",loginInvalid:"Ungültige JID",reason:"Begründung:",subject:"Titel:",reasonWas:"Begründung: %s.",kickActionLabel:"Kick",youHaveBeenKickedBy:"Du wurdest soeben aus dem Raum %1$s gekickt (%2$s)",youHaveBeenKicked:"Du wurdest soeben aus dem Raum %s gekickt",banActionLabel:"Ban",youHaveBeenBannedBy:"Du wurdest soeben aus dem Raum %1$s verbannt (%2$s)",youHaveBeenBanned:"Du wurdest soeben aus dem Raum %s verbannt",privateActionLabel:"Privater Chat",ignoreActionLabel:"Ignorieren",unignoreActionLabel:"Nicht mehr ignorieren",setSubjectActionLabel:"Thema ändern",administratorMessageSubject:"Administrator",userJoinedRoom:"%s hat soeben den Raum betreten.",userLeftRoom:"%s hat soeben den Raum verlassen.",userHasBeenKickedFromRoom:"%s ist aus dem Raum gekickt worden.",userHasBeenBannedFromRoom:"%s ist aus dem Raum verbannt worden.",userChangedNick:"%1$s hat den Nicknamen zu %2$s geändert.",presenceUnknownWarningSubject:"Hinweis:",presenceUnknownWarning:"Dieser Benutzer könnte bereits abgemeldet sein. Wir können seine Anwesenheit nicht verfolgen.",dateFormat:"dd.mm.yyyy",timeFormat:"HH:MM:ss",tooltipRole:"Moderator",tooltipIgnored:"Du ignorierst diesen Benutzer",tooltipEmoticons:"Smileys",tooltipSound:"Ton abspielen bei neuen privaten Nachrichten",tooltipAutoscroll:"Autoscroll",tooltipStatusmessage:"Statusnachrichten anzeigen",tooltipAdministration:"Raum Administration",tooltipUsercount:"Anzahl Benutzer im Raum",enterRoomPassword:'Raum "%s" ist durch ein Passwort geschützt.',enterRoomPasswordSubmit:"Raum betreten",passwordEnteredInvalid:'Inkorrektes Passwort für Raum "%s".',nicknameConflict:"Der Benutzername wird bereits verwendet. Bitte wähle einen anderen.",errorMembersOnly:'Du kannst den Raum "%s" nicht betreten: Ungenügende Rechte.',errorMaxOccupantsReached:'Du kannst den Raum "%s" nicht betreten: Benutzerlimit erreicht.',errorAutojoinMissing:'Keine "autojoin" Konfiguration gefunden. Bitte setze eine konfiguration um fortzufahren.',antiSpamMessage:"Bitte nicht spammen. Du wurdest für eine kurze Zeit blockiert."},fr:{status:"Status : %s",statusConnecting:"Connexion…",statusConnected:"Connecté.",statusDisconnecting:"Déconnexion…",statusDisconnected:"Déconnecté.",statusAuthfail:"L'authentification a échoué",roomSubject:"Sujet :",messageSubmit:"Envoyer",labelUsername:"Nom d'utilisateur :",labelPassword:"Mot de passe :",loginSubmit:"Connexion",loginInvalid:"JID invalide",reason:"Motif :",subject:"Titre :",reasonWas:"Motif : %s.",kickActionLabel:"Kick",youHaveBeenKickedBy:"Vous avez été expulsé du salon %1$s (%2$s)",youHaveBeenKicked:"Vous avez été expulsé du salon %s",banActionLabel:"Ban",youHaveBeenBannedBy:"Vous avez été banni du salon %1$s (%2$s)",youHaveBeenBanned:"Vous avez été banni du salon %s",privateActionLabel:"Chat privé",ignoreActionLabel:"Ignorer",unignoreActionLabel:"Ne plus ignorer",setSubjectActionLabel:"Changer le sujet",administratorMessageSubject:"Administrateur",userJoinedRoom:"%s vient d'entrer dans le salon.",userLeftRoom:"%s vient de quitter le salon.",userHasBeenKickedFromRoom:"%s a été expulsé du salon.",userHasBeenBannedFromRoom:"%s a été banni du salon.",presenceUnknownWarningSubject:"Note :",presenceUnknownWarning:"Cet utilisateur n'est malheureusement plus connecté, le message ne sera pas envoyé.",dateFormat:"dd/mm/yyyy",timeFormat:"HH:MM:ss",tooltipRole:"Modérateur",tooltipIgnored:"Vous ignorez cette personne",tooltipEmoticons:"Smileys",tooltipSound:"Jouer un son lors de la réception de nouveaux messages privés",tooltipAutoscroll:"Défilement automatique",tooltipStatusmessage:"Messages d'état",tooltipAdministration:"Administration du salon",tooltipUsercount:"Nombre d'utilisateurs dans le salon",enterRoomPassword:'Le salon "%s" est protégé par un mot de passe.',enterRoomPasswordSubmit:"Entrer dans le salon",passwordEnteredInvalid:'Le mot de passe pour le salon "%s" est invalide.',nicknameConflict:"Le nom d'utilisateur est déjà utilisé. Veuillez en choisir un autre.",errorMembersOnly:'Vous ne pouvez pas entrer dans le salon "%s" : droits insuffisants.',errorMaxOccupantsReached:'Vous ne pouvez pas entrer dans le salon "%s": Limite d\'utilisateur atteint.',antiSpamMessage:"Merci de ne pas envoyer de spam. Vous avez été bloqué pendant une courte période.."},nl:{status:"Status: %s",statusConnecting:"Verbinding maken...",statusConnected:"Verbinding is gereed",statusDisconnecting:"Verbinding verbreken...",statusDisconnected:"Verbinding is verbroken",statusAuthfail:"Authenticatie is mislukt",roomSubject:"Onderwerp:",messageSubmit:"Verstuur",labelUsername:"Gebruikersnaam:",labelPassword:"Wachtwoord:",loginSubmit:"Inloggen",loginInvalid:"JID is onjuist",reason:"Reden:",subject:"Onderwerp:",reasonWas:"De reden was: %s.",kickActionLabel:"Verwijderen",youHaveBeenKickedBy:"Je bent verwijderd van %1$s door %2$s",youHaveBeenKicked:"Je bent verwijderd van %s",banActionLabel:"Blokkeren",youHaveBeenBannedBy:"Je bent geblokkeerd van %1$s door %2$s",youHaveBeenBanned:"Je bent geblokkeerd van %s",privateActionLabel:"Prive gesprek",ignoreActionLabel:"Negeren",unignoreActionLabel:"Niet negeren",setSubjectActionLabel:"Onderwerp wijzigen",administratorMessageSubject:"Beheerder",userJoinedRoom:"%s komt de chat binnen.",userLeftRoom:"%s heeft de chat verlaten.",userHasBeenKickedFromRoom:"%s is verwijderd.",userHasBeenBannedFromRoom:"%s is geblokkeerd.",presenceUnknownWarningSubject:"Mededeling:",presenceUnknownWarning:"Deze gebruiker is waarschijnlijk offline, we kunnen zijn/haar aanwezigheid niet vaststellen.",dateFormat:"dd.mm.yyyy",timeFormat:"HH:MM:ss",tooltipRole:"Moderator",tooltipIgnored:"Je negeert deze gebruiker",tooltipEmoticons:"Emotie-iconen",tooltipSound:"Speel een geluid af bij nieuwe privé berichten.",tooltipAutoscroll:"Automatisch scrollen",tooltipStatusmessage:"Statusberichten weergeven",tooltipAdministration:"Instellingen",tooltipUsercount:"Gebruikers",enterRoomPassword:'De Chatroom "%s" is met een wachtwoord beveiligd.',enterRoomPasswordSubmit:"Ga naar Chatroom",passwordEnteredInvalid:'Het wachtwoord voor de Chatroom "%s" is onjuist.',nicknameConflict:"De gebruikersnaam is reeds in gebruik. Probeer a.u.b. een andere gebruikersnaam.",errorMembersOnly:'Je kunt niet deelnemen aan de Chatroom "%s": Je hebt onvoldoende rechten.',errorMaxOccupantsReached:'Je kunt niet deelnemen aan de Chatroom "%s": Het maximum aantal gebruikers is bereikt.',antiSpamMessage:"Het is niet toegestaan om veel berichten naar de server te versturen. Je bent voor een korte periode geblokkeerd."},es:{status:"Estado: %s",statusConnecting:"Conectando...",statusConnected:"Conectado",statusDisconnecting:"Desconectando...",statusDisconnected:"Desconectado",statusAuthfail:"Falló la autenticación",roomSubject:"Asunto:",messageSubmit:"Enviar",labelUsername:"Usuario:",labelPassword:"Clave:",loginSubmit:"Entrar",loginInvalid:"JID no válido",reason:"Razón:",subject:"Asunto:",reasonWas:"La razón fue: %s.",kickActionLabel:"Expulsar",youHaveBeenKickedBy:"Has sido expulsado de %1$s por %2$s",youHaveBeenKicked:"Has sido expulsado de %s",banActionLabel:"Prohibir",youHaveBeenBannedBy:"Has sido expulsado permanentemente de %1$s por %2$s",youHaveBeenBanned:"Has sido expulsado permanentemente de %s",privateActionLabel:"Chat privado",ignoreActionLabel:"Ignorar",unignoreActionLabel:"No ignorar",setSubjectActionLabel:"Cambiar asunto",administratorMessageSubject:"Administrador",userJoinedRoom:"%s se ha unido a la sala.",userLeftRoom:"%s ha dejado la sala.",userHasBeenKickedFromRoom:"%s ha sido expulsado de la sala.",userHasBeenBannedFromRoom:"%s ha sido expulsado permanentemente de la sala.",presenceUnknownWarningSubject:"Atención:",presenceUnknownWarning:"Éste usuario podría estar desconectado..",dateFormat:"dd.mm.yyyy",timeFormat:"HH:MM:ss",tooltipRole:"Moderador",tooltipIgnored:"Ignoras a éste usuario",tooltipEmoticons:"Emoticonos",tooltipSound:"Reproducir un sonido para nuevos mensajes privados",tooltipAutoscroll:"Desplazamiento automático",tooltipStatusmessage:"Mostrar mensajes de estado",tooltipAdministration:"Administración de la sala",tooltipUsercount:"Usuarios en la sala",enterRoomPassword:'La sala "%s" está protegida mediante contraseña.',enterRoomPasswordSubmit:"Unirse a la sala",passwordEnteredInvalid:'Contraseña incorrecta para la sala "%s".',nicknameConflict:"El nombre de usuario ya está siendo utilizado. Por favor elija otro.",errorMembersOnly:'No se puede unir a la sala "%s": no tiene privilegios suficientes.',errorMaxOccupantsReached:'No se puede unir a la sala "%s": demasiados participantes.',antiSpamMessage:"Por favor, no hagas spam. Has sido bloqueado temporalmente."},cn:{status:"状态: %s",statusConnecting:"连接中...",statusConnected:"已连接",statusDisconnecting:"断开连接中...",statusDisconnected:"已断开连接",statusAuthfail:"认证失败",roomSubject:"主题:",messageSubmit:"发送",labelUsername:"用户名:",labelPassword:"密码:",loginSubmit:"登录",loginInvalid:"用户名不合法",reason:"原因:",subject:"主题:",reasonWas:"原因是: %s.",kickActionLabel:"踢除",youHaveBeenKickedBy:"你在 %1$s 被管理者 %2$s 请出房间",banActionLabel:"禁言",youHaveBeenBannedBy:"你在 %1$s 被管理者 %2$s 禁言",privateActionLabel:"单独对话",ignoreActionLabel:"忽略",unignoreActionLabel:"不忽略",setSubjectActionLabel:"变更主题",administratorMessageSubject:"管理员",userJoinedRoom:"%s 加入房间",userLeftRoom:"%s 离开房间",userHasBeenKickedFromRoom:"%s 被请出这个房间",userHasBeenBannedFromRoom:"%s 被管理者禁言",presenceUnknownWarningSubject:"注意:",presenceUnknownWarning:"这个会员可能已经下线,不能追踪到他的连接信息",dateFormat:"dd.mm.yyyy",timeFormat:"HH:MM:ss",tooltipRole:"管理",tooltipIgnored:"你忽略了这个会员",tooltipEmoticons:"表情",tooltipSound:"新消息发音",tooltipAutoscroll:"滚动条",tooltipStatusmessage:"禁用状态消息",tooltipAdministration:"房间管理",tooltipUsercount:"房间占有者",enterRoomPassword:'登录房间 "%s" 需要密码.',enterRoomPasswordSubmit:"加入房间",passwordEnteredInvalid:'登录房间 "%s" 的密码不正确',nicknameConflict:"用户名已经存在,请另选一个",errorMembersOnly:'您的权限不够,不能登录房间 "%s" ',errorMaxOccupantsReached:'房间 "%s" 的人数已达上限,您不能登录',antiSpamMessage:"因为您在短时间内发送过多的消息 服务器要阻止您一小段时间。"},ja:{status:"ステータス: %s",statusConnecting:"接続中…",statusConnected:"接続されました",statusDisconnecting:"ディスコネクト中…",statusDisconnected:"ディスコネクトされました",statusAuthfail:"認証に失敗しました",roomSubject:"トピック:",messageSubmit:"送信",labelUsername:"ユーザーネーム:",labelPassword:"パスワード:",loginSubmit:"ログイン",loginInvalid:"ユーザーネームが正しくありません",reason:"理由:",subject:"トピック:",reasonWas:"理由: %s。",kickActionLabel:"キック",youHaveBeenKickedBy:"あなたは%2$sにより%1$sからキックされました。",youHaveBeenKicked:"あなたは%sからキックされました。",banActionLabel:"アカウントバン",youHaveBeenBannedBy:"あなたは%2$sにより%1$sからアカウントバンされました。",youHaveBeenBanned:"あなたは%sからアカウントバンされました。",privateActionLabel:"プライベートメッセージ",ignoreActionLabel:"無視する",unignoreActionLabel:"無視をやめる",setSubjectActionLabel:"トピックを変える",administratorMessageSubject:"管理者",userJoinedRoom:"%sは入室しました。",userLeftRoom:"%sは退室しました。",userHasBeenKickedFromRoom:"%sは部屋からキックされました。",userHasBeenBannedFromRoom:"%sは部屋からアカウントバンされました。",presenceUnknownWarningSubject:"忠告:",presenceUnknownWarning:"このユーザーのステータスは不明です。",dateFormat:"dd.mm.yyyy",timeFormat:"HH:MM:ss",tooltipRole:"モデレーター",tooltipIgnored:"このユーザーを無視設定にしている",tooltipEmoticons:"絵文字",tooltipSound:"新しいメッセージが届くたびに音を鳴らす",tooltipAutoscroll:"オートスクロール",tooltipStatusmessage:"ステータスメッセージを表示",tooltipAdministration:"部屋の管理",tooltipUsercount:"この部屋の参加者の数",enterRoomPassword:'"%s"の部屋に入るにはパスワードが必要です。',enterRoomPasswordSubmit:"部屋に入る",passwordEnteredInvalid:'"%s"のパスワードと異なるパスワードを入力しました。',nicknameConflict:"このユーザーネームはすでに利用されているため、別のユーザーネームを選んでください。",errorMembersOnly:'"%s"の部屋に入ることができません: 利用権限を満たしていません。',errorMaxOccupantsReached:'"%s"の部屋に入ることができません: 参加者の数はすでに上限に達しました。',antiSpamMessage:"スパムなどの行為はやめてください。あなたは一時的にブロックされました。"},sv:{status:"Status: %s",statusConnecting:"Ansluter...",statusConnected:"Ansluten",statusDisconnecting:"Kopplar från...",statusDisconnected:"Frånkopplad",statusAuthfail:"Autentisering misslyckades",roomSubject:"Ämne:",messageSubmit:"Skicka",labelUsername:"Användarnamn:",labelPassword:"Lösenord:",loginSubmit:"Logga in",loginInvalid:"Ogiltigt JID",reason:"Anledning:",subject:"Ämne:",reasonWas:"Anledningen var: %s.",kickActionLabel:"Sparka ut",youHaveBeenKickedBy:"Du har blivit utsparkad från %2$s av %1$s",youHaveBeenKicked:"Du har blivit utsparkad från %s",banActionLabel:"Bannlys",youHaveBeenBannedBy:"Du har blivit bannlyst från %1$s av %2$s",youHaveBeenBanned:"Du har blivit bannlyst från %s",privateActionLabel:"Privat chatt",ignoreActionLabel:"Blockera",unignoreActionLabel:"Avblockera",setSubjectActionLabel:"Ändra ämne",administratorMessageSubject:"Administratör",userJoinedRoom:"%s kom in i rummet.",userLeftRoom:"%s har lämnat rummet.",userHasBeenKickedFromRoom:"%s har blivit utsparkad ur rummet.",userHasBeenBannedFromRoom:"%s har blivit bannlyst från rummet.",presenceUnknownWarningSubject:"Notera:",presenceUnknownWarning:"Denna användare kan vara offline. Vi kan inte följa dennes närvaro.",dateFormat:"yyyy-mm-dd",timeFormat:"HH:MM:ss",tooltipRole:"Moderator",tooltipIgnored:"Du blockerar denna användare",tooltipEmoticons:"Smilies",tooltipSound:"Spela upp ett ljud vid nytt privat meddelande",tooltipAutoscroll:"Autoskrolla",tooltipStatusmessage:"Visa statusmeddelanden",tooltipAdministration:"Rumadministrering",tooltipUsercount:"Antal användare i rummet",enterRoomPassword:'Rummet "%s" är lösenordsskyddat.',enterRoomPasswordSubmit:"Anslut till rum",passwordEnteredInvalid:'Ogiltigt lösenord för rummet "%s".',nicknameConflict:"Upptaget användarnamn. Var god välj ett annat.",errorMembersOnly:'Du kan inte ansluta till rummet "%s": Otillräckliga rättigheter.',errorMaxOccupantsReached:'Du kan inte ansluta till rummet "%s": Rummet är fullt.',antiSpamMessage:"Var god avstå från att spamma. Du har blivit blockerad för en kort stund."},it:{status:"Stato: %s",statusConnecting:"Connessione...",statusConnected:"Connessione",statusDisconnecting:"Disconnessione...",statusDisconnected:"Disconnesso",statusAuthfail:"Autenticazione fallita",roomSubject:"Oggetto:",messageSubmit:"Invia",labelUsername:"Nome utente:",labelPassword:"Password:",loginSubmit:"Login",loginInvalid:"JID non valido",reason:"Ragione:",subject:"Oggetto:",reasonWas:"Ragione precedente: %s.",kickActionLabel:"Espelli",youHaveBeenKickedBy:"Sei stato espulso da %2$s da %1$s",youHaveBeenKicked:"Sei stato espulso da %s",banActionLabel:"Escluso",youHaveBeenBannedBy:"Sei stato escluso da %1$s da %2$s",youHaveBeenBanned:"Sei stato escluso da %s",privateActionLabel:"Stanza privata",ignoreActionLabel:"Ignora",unignoreActionLabel:"Non ignorare",setSubjectActionLabel:"Cambia oggetto",administratorMessageSubject:"Amministratore",userJoinedRoom:"%s si è unito alla stanza.",userLeftRoom:"%s ha lasciato la stanza.",userHasBeenKickedFromRoom:"%s è stato espulso dalla stanza.",userHasBeenBannedFromRoom:"%s è stato escluso dalla stanza.",presenceUnknownWarningSubject:"Nota:",presenceUnknownWarning:"Questo utente potrebbe essere offline. Non possiamo tracciare la sua presenza.",dateFormat:"dd/mm/yyyy",timeFormat:"HH:MM:ss",tooltipRole:"Moderatore",tooltipIgnored:"Stai ignorando questo utente",tooltipEmoticons:"Emoticons",tooltipSound:"Riproduci un suono quando arrivano messaggi privati",tooltipAutoscroll:"Autoscroll",tooltipStatusmessage:"Mostra messaggi di stato",tooltipAdministration:"Amministrazione stanza",tooltipUsercount:"Partecipanti alla stanza",enterRoomPassword:'La stanza "%s" è protetta da password.',enterRoomPasswordSubmit:"Unisciti alla stanza",passwordEnteredInvalid:'Password non valida per la stanza "%s".',nicknameConflict:"Nome utente già in uso. Scegline un altro.",errorMembersOnly:'Non puoi unirti alla stanza "%s": Permessi insufficienti.',errorMaxOccupantsReached:'Non puoi unirti alla stanza "%s": Troppi partecipanti.',antiSpamMessage:"Per favore non scrivere messaggi pubblicitari. Sei stato bloccato per un po' di tempo."},pt:{status:"Status: %s",statusConnecting:"Conectando...",statusConnected:"Conectado",statusDisconnecting:"Desligando...",statusDisconnected:"Desligado",statusAuthfail:"Falha na autenticação",roomSubject:"Assunto:",messageSubmit:"Enviar",labelUsername:"Usuário:",labelPassword:"Senha:",loginSubmit:"Entrar",loginInvalid:"JID inválido",reason:"Motivo:",subject:"Assunto:",reasonWas:"O motivo foi: %s.",kickActionLabel:"Excluir",youHaveBeenKickedBy:"Você foi excluido de %1$s por %2$s",youHaveBeenKicked:"Você foi excluido de %s",banActionLabel:"Bloquear",youHaveBeenBannedBy:"Você foi excluido permanentemente de %1$s por %2$s",youHaveBeenBanned:"Você foi excluido permanentemente de %s",privateActionLabel:"Bate-papo privado",ignoreActionLabel:"Ignorar",unignoreActionLabel:"Não ignorar",setSubjectActionLabel:"Trocar Assunto",administratorMessageSubject:"Administrador",userJoinedRoom:"%s entrou na sala.",userLeftRoom:"%s saiu da sala.",userHasBeenKickedFromRoom:"%s foi excluido da sala.",userHasBeenBannedFromRoom:"%s foi excluido permanentemente da sala.",presenceUnknownWarning:"Este usuário pode estar desconectado. Não é possível determinar o status.",dateFormat:"dd.mm.yyyy",timeFormat:"HH:MM:ss",tooltipRole:"Moderador",tooltipIgnored:"Você ignora este usuário",tooltipEmoticons:"Emoticons",tooltipSound:"Reproduzir o som para novas mensagens privados",tooltipAutoscroll:"Deslocamento automático",tooltipStatusmessage:"Mostrar mensagens de status",tooltipAdministration:"Administração da sala",tooltipUsercount:"Usuários na sala",enterRoomPassword:'A sala "%s" é protegida por senha.',enterRoomPasswordSubmit:"Junte-se à sala",passwordEnteredInvalid:'Senha incorreta para a sala "%s".',nicknameConflict:"O nome de usuário já está em uso. Por favor, escolha outro.",errorMembersOnly:'Você não pode participar da sala "%s": privilégios insuficientes.',errorMaxOccupantsReached:'Você não pode participar da sala "%s": muitos participantes.',antiSpamMessage:"Por favor, não envie spam. Você foi bloqueado temporariamente."},pt_br:{status:"Estado: %s",statusConnecting:"Conectando...",statusConnected:"Conectado",statusDisconnecting:"Desconectando...",statusDisconnected:"Desconectado",statusAuthfail:"Autenticação falhou",roomSubject:"Assunto:",messageSubmit:"Enviar",labelUsername:"Usuário:",labelPassword:"Senha:",loginSubmit:"Entrar",loginInvalid:"JID inválido",reason:"Motivo:",subject:"Assunto:",reasonWas:"Motivo foi: %s.",kickActionLabel:"Derrubar",youHaveBeenKickedBy:"Você foi derrubado de %2$s por %1$s",youHaveBeenKicked:"Você foi derrubado de %s",banActionLabel:"Banir",youHaveBeenBannedBy:"Você foi banido de %1$s por %2$s",youHaveBeenBanned:"Você foi banido de %s",privateActionLabel:"Conversa privada",ignoreActionLabel:"Ignorar",unignoreActionLabel:"Não ignorar",setSubjectActionLabel:"Mudar Assunto",administratorMessageSubject:"Administrador",userJoinedRoom:"%s entrou na sala.",userLeftRoom:"%s saiu da sala.",userHasBeenKickedFromRoom:"%s foi derrubado da sala.",userHasBeenBannedFromRoom:"%s foi banido da sala.",presenceUnknownWarningSubject:"Aviso:",presenceUnknownWarning:"Este usuário pode estar desconectado.. Não conseguimos rastrear sua presença..",dateFormat:"dd.mm.yyyy",timeFormat:"HH:MM:ss",tooltipRole:"Moderador",tooltipIgnored:"Você ignora este usuário",tooltipEmoticons:"Emoticons",tooltipSound:"Tocar som para novas mensagens privadas",tooltipAutoscroll:"Auto-rolagem",tooltipStatusmessage:"Exibir mensagens de estados",tooltipAdministration:"Administração de Sala",tooltipUsercount:"Participantes da Sala",enterRoomPassword:'Sala "%s" é protegida por senha.',enterRoomPasswordSubmit:"Entrar na sala",passwordEnteredInvalid:'Senha inváida para sala "%s".',nicknameConflict:"Nome de usuário já em uso. Por favor escolha outro.",errorMembersOnly:'Você não pode entrar na sala "%s": privilégios insuficientes.',errorMaxOccupantsReached:'Você não pode entrar na sala "%s": máximo de participantes atingido.',antiSpamMessage:"Por favor, não faça spam. Você foi bloqueado temporariamente."},ru:{status:"Статус: %s",statusConnecting:"Подключение...",statusConnected:"Подключено",statusDisconnecting:"Отключение...",statusDisconnected:"Отключено",statusAuthfail:"Неверный логин",roomSubject:"Топик:",messageSubmit:"Послать",labelUsername:"Имя:",labelPassword:"Пароль:",loginSubmit:"Логин",loginInvalid:"Неверный JID",reason:"Причина:",subject:"Топик:",reasonWas:"Причина была: %s.",kickActionLabel:"Выбросить",youHaveBeenKickedBy:"Пользователь %1$s выбросил вас из чата %2$s",youHaveBeenKicked:"Вас выбросили из чата %s",banActionLabel:"Запретить доступ",youHaveBeenBannedBy:"Пользователь %1$s запретил вам доступ в чат %2$s",youHaveBeenBanned:"Вам запретили доступ в чат %s",privateActionLabel:"Один-на-один чат",ignoreActionLabel:"Игнорировать",unignoreActionLabel:"Отменить игнорирование",setSubjectActionLabel:"Изменить топик",administratorMessageSubject:"Администратор",userJoinedRoom:"%s вошёл в чат.",userLeftRoom:"%s вышел из чата.",userHasBeenKickedFromRoom:"%s выброшен из чата.",userHasBeenBannedFromRoom:"%s запрещён доступ в чат.",presenceUnknownWarningSubject:"Уведомление:",presenceUnknownWarning:"Этот пользователь вероятнее всего оффлайн.",dateFormat:"mm.dd.yyyy",timeFormat:"HH:MM:ss",tooltipRole:"Модератор",tooltipIgnored:"Вы игнорируете этого пользователя.",tooltipEmoticons:"Смайлики",tooltipSound:"Озвучивать новое частное сообщение",tooltipAutoscroll:"Авто-прокручивание",tooltipStatusmessage:"Показывать статус сообщения",tooltipAdministration:"Администрирование чат комнаты",tooltipUsercount:"Участники чата",enterRoomPassword:'Чат комната "%s" защищена паролем.',enterRoomPasswordSubmit:"Войти в чат",passwordEnteredInvalid:'Неверный пароль для комнаты "%s".',nicknameConflict:"Это имя уже используется. Пожалуйста выберите другое имя.",errorMembersOnly:'Вы не можете войти в чат "%s": Недостаточно прав доступа.',errorMaxOccupantsReached:'Вы не можете войти в чат "%s": Слишком много участников.',antiSpamMessage:"Пожалуйста не рассылайте спам. Вас заблокировали на короткое время."},ca:{status:"Estat: %s",statusConnecting:"Connectant...",statusConnected:"Connectat",statusDisconnecting:"Desconnectant...",statusDisconnected:"Desconnectat",statusAuthfail:"Ha fallat la autenticació",roomSubject:"Assumpte:",messageSubmit:"Enviar",labelUsername:"Usuari:",labelPassword:"Clau:",loginSubmit:"Entrar",loginInvalid:"JID no vàlid",reason:"Raó:",subject:"Assumpte:",reasonWas:"La raó ha estat: %s.",kickActionLabel:"Expulsar",youHaveBeenKickedBy:"Has estat expulsat de %1$s per %2$s",youHaveBeenKicked:"Has estat expulsat de %s",banActionLabel:"Prohibir",youHaveBeenBannedBy:"Has estat expulsat permanentment de %1$s per %2$s",youHaveBeenBanned:"Has estat expulsat permanentment de %s",privateActionLabel:"Xat privat",ignoreActionLabel:"Ignorar",unignoreActionLabel:"No ignorar",setSubjectActionLabel:"Canviar assumpte",administratorMessageSubject:"Administrador",userJoinedRoom:"%s ha entrat a la sala.",userLeftRoom:"%s ha deixat la sala.",userHasBeenKickedFromRoom:"%s ha estat expulsat de la sala.",userHasBeenBannedFromRoom:"%s ha estat expulsat permanentment de la sala.",presenceUnknownWarningSubject:"Atenció:",presenceUnknownWarning:"Aquest usuari podria estar desconnectat ...",dateFormat:"dd.mm.yyyy",timeFormat:"HH:MM:ss",tooltipRole:"Moderador",tooltipIgnored:"Estàs ignorant aquest usuari",tooltipEmoticons:"Emoticones",tooltipSound:"Reproduir un so per a nous missatges",tooltipAutoscroll:"Desplaçament automàtic",tooltipStatusmessage:"Mostrar missatges d'estat",tooltipAdministration:"Administració de la sala",tooltipUsercount:"Usuaris dins la sala",enterRoomPassword:'La sala "%s" està protegida amb contrasenya.',enterRoomPasswordSubmit:"Entrar a la sala",passwordEnteredInvalid:'Contrasenya incorrecta per a la sala "%s".',nicknameConflict:"El nom d'usuari ja s'està utilitzant. Si us plau, escolleix-ne un altre.",errorMembersOnly:'No pots unir-te a la sala "%s": no tens prous privilegis.',errorMaxOccupantsReached:'No pots unir-te a la sala "%s": hi ha masses participants.',antiSpamMessage:"Si us plau, no facis spam. Has estat bloquejat temporalment."}};
//# sourceMappingURL=candy.min.map \ No newline at end of file
diff --git a/candy.min.map b/candy.min.map
index fd375c1..a504d50 100644
--- a/candy.min.map
+++ b/candy.min.map
@@ -1 +1 @@
-{"version":3,"file":"candy.min.js","sources":["/candy.bundle.js"],"names":["Candy","self","$","about","name","version","init","service","options","viewClass","View","view","Core","core","jQuery","Strophe","_status","_connection","_service","_user","_rooms","_anonymousConnection","_options","autojoin","undefined","debug","disableWindowUnload","presencePriority","resource","_addNamespace","value","addNamespace","_addNamespaces","_getEscapedJidFromJid","jid","node","getNodeFromJid","domain","getDomainFromJid","escapeNode","extend","window","console","log","Function","prototype","bind","call","apply","arguments","Connection","rawInput","rawOutput","caps","onbeforeunload","onWindowUnload","registerEventHandlers","addHandler","Event","Jabber","Version","NS","VERSION","Presence","Message","Bookmarks","PRIVATE","Room","Disco","DISCO_INFO","disco","_onDiscoInfo","_onDiscoItems","DISCO_ITEMS","_delegateCapabilities","CAPS","connect","jidOrHost","password","nick","reset","triggerHandler","connection","indexOf","Connect","ChatUser","Login","attach","sid","rid","disconnect","connected","each","getRooms","Action","Leave","this","getJid","handler","ns","type","id","from","getUser","setUser","user","getConnection","removeRoom","roomJid","getStropheStatus","setStropheStatus","status","isAnonymousConnection","getOptions","getRoom","sync","flush","data","_current","container","language","assets","messages","limit","remove","crop","message","nickname","body","roster","_setupTranslation","i18n","load","Translation","_registerObservers","on","Observer","Chat","AutojoinMissing","update","PresenceError","_registerWindowHandlers","Util","getIeVersion","document","focusin","Pane","Window","onFocus","focusout","onBlur","focus","blur","resize","fitTabs","_initToolbar","Toolbar","_delegateTooltips","delegate","Tooltip","show","resources","Parser","setEmoticonPath","html","Mustache","to_html","Template","pane","tooltipEmoticons","_","tooltipSound","tooltipAutoscroll","tooltipStatusmessage","tooltipAdministration","tooltipUsercount","assetsPath","tabs","rooms","modal","toolbar","soundcontrol","getCurrent","jidToId","MD5","hexdigest","escapeJid","getResourceFromJid","unescapeJid","unescapeNode","str","len","length","substr","parseAndCropXhtml","append","createHtml","get","setCookie","lifetime_days","exp","Date","setDate","getDate","cookie","toUTCString","cookieExists","getCookie","regex","RegExp","escape","matches","exec","deleteCookie","getPosLeftAccordingToWindowBounds","elem","pos","windowWidth","width","elemWidth","outerWidth","marginDiff","backgroundPositionAlignment","px","getPosTopAccordingToWindowBounds","windowHeight","height","elemHeight","outerHeight","localizedTime","dateTime","date","iso8601toDate","format","toDateString","timestamp","parse","isNaN","struct","minutesOffset","getTimezoneOffset","replace","isEmptyObject","obj","prop","hasOwnProperty","forceRedraw","css","display","setTimeout","ie","undef","v","div","createElement","all","getElementsByTagName","innerHTML","_emoticonPath","path","emoticons","plain","image","emotify","text","i","linkify","nl2br","maxLength","currentLength","el","j","tag","attribute","cssAttrs","attr","cssName","cssValue","nodeType","ElementType","NORMAL","nodeName","toLowerCase","XHTML","validTag","attributes","getAttribute","cssText","split","validCSS","push","join","childNodes","e","xmlTextNode","xmlGenerator","createDocumentFragment","appendChild","FRAGMENT","TEXT","nodeValue","substring","parseHTML","msg","sendIQ","$iq","to","c","os","navigator","userAgent","SetNickname","Array","roomNick","presence","conn","$pres","getUniqueId","send","Roster","xmlns","CLIENT","ROSTER","tree","pres","t","toString","up","generateCapsAttrs","Services","Autojoin","BOOKMARKS","isArray","Join","valueOf","ResetIgnoreList","getEscapedJid","PRIVACY","action","order","RemoveIgnoreList","GetIgnoreList","iq","iqId","PrivacyList","SetIgnoreListActive","GetJidIfAnonymous","getNick","MUC","muc","leave","xhtmlMsg","trim","IgnoreUnignore","userJid","addToOrRemoveFromPrivacyList","UpdatePrivacyList","currentUser","privacyList","getPrivacyList","index","Admin","UserAction","reason","itemObj","role","affiliation","MUC_ADMIN","SetSubject","subject","setTopic","ChatRoom","room","ChatRoster","setName","getName","setRoster","getRoster","items","add","getAll","ROLE_MODERATOR","AFFILIATION_OWNER","privacyLists","customData","previousNick","setJid","setNick","getRole","getAffiliation","isModerator","list","splice","setPrivacyLists","lists","isInPrivacyList","setCustomData","getCustomData","setPreviousNick","getPreviousNick","presetJid","Status","CONNECTED","ATTACHED","DISCONNECTED","AUTHFAIL","CONNECTING","DISCONNECTING","AUTHENTICATING","ERROR","CONNFAIL","children","stanza","item","PrivacyListError","fromJid","toJid","getBareJidFromJid","actor","roomName","find","code","identity","presenceType","nickAssign","nickChange","l","$status","tagName","error","bareRoomJid","isNoConferenceRoomJid","xhtmlChild","XHTML_IM","enableXHTML","xhtmlMessage","first","delay","DELAY","_showConnectedMessageModal","event","args","eventName","Modal","hide","showLoginForm","adminMessage","onInfoMessage","close","notifyPrivateChats","actionLabel","actorName","translationParams","Context","adminMessageReason","_action","_reason","evtData","PrivateRoom","setStatus","showEnterPasswordForm","showNicknameConflictForm","showError","setSubject","infoMessage","open","_hasFocus","_plainTitle","title","_unreadMessagesCount","autoscroll","hasFocus","increaseUnreadMessages","renderUnreadMessages","reduceUnreadMessages","num","clearUnreadMessages","count","unreadmessages","setFocusToForm","addTab","roomType","roomId","tab","privateUserChat","appendTo","click","tabClick","tabClose","getTab","removeTab","setActiveTab","addClass","removeClass","unreadElem","parseInt","currentRoomJid","scrollPosition","getPane","scrollTop","preventDefault","parent","allTabsClosed","availableWidth","innerWidth","tabsWidth","overflow","tabDiffToRealWidth","tabWidth","Math","floor","sender","time","toGMTString","appendToMessagePane","scrollToBottom","_supportsNativeAudio","showEmoticonsMenu","currentTarget","stopPropagation","onAutoscrollControlClick","a","canPlayType","onSoundControlClick","onStatusMessageControlClick","context","me","updateUsercount","usercount","playSound","onPlaySound","Audio","play","chatSoundPlayer","getElementById","SetVariable","control","hasClass","toggleClass","onScrollToStoredPosition","onScrollToBottom","showCloseControl","showSpinner","hideCloseControl","hideSpinner","stop","fadeIn","callback","fadeOut","keydown","which","form","_labelNickname","_labelUsername","_labelPassword","_loginSubmit","displayPassword","displayUsername","displayNickname","submit","username","val","enterPasswordForm","_label","_joinSubmit","nicknameConflictForm","replacements","displayError","_error","content","tooltip","target","offset","posLeft","left","posTop","top","mouseleave","menu","links","menulinks","getMenuLinks","clickHandler","link","class","label","element","initialMenuLinks","requiredPermission","private","ignore","ignoreUser","unignore","unignoreUser","kick","contextModalForm","_submit","ban","input","emoticon","messageCount","_messageSubmit","_userOnline","_roomSubject","openRooms","last","sliceMessagePane","slice","messagePane","roomPane","chatPane","addIgnoreIcon","removeIgnoreIcon","subPane","changeDataUserJidIfUserIsMe","roomElement","switchToRoom","messageForm","removeAttr","changeNick","roomTabElement","previousPrivateRoomJid","newPrivateRoomJid","previousPrivateRoomId","newPrivateRoomId","userId","usercountDiff","userElem","displayNick","tooltipRole","tooltipIgnored","userInserted","rosterPane","userSortCompare","toUpperCase","before","showJoinAnimation","replaceWith","opacity","userClick","leaveAnimation","rosterUserId","$rosterUserElem","is","joinAnimation","elementId","slideDown","animate","complete","slideUp","previousUserJid","renderEvtData","template","templateData","displayName","en","statusConnecting","statusConnected","statusDisconnecting","statusDisconnected","statusAuthfail","roomSubject","messageSubmit","labelUsername","labelNickname","labelPassword","loginSubmit","loginInvalid","reasonWas","kickActionLabel","youHaveBeenKickedBy","youHaveBeenKicked","banActionLabel","youHaveBeenBannedBy","youHaveBeenBanned","privateActionLabel","ignoreActionLabel","unignoreActionLabel","setSubjectActionLabel","administratorMessageSubject","userJoinedRoom","userLeftRoom","userHasBeenKickedFromRoom","userHasBeenBannedFromRoom","userChangedNick","presenceUnknownWarningSubject","presenceUnknownWarning","dateFormat","timeFormat","enterRoomPassword","enterRoomPasswordSubmit","passwordEnteredInvalid","nicknameConflict","errorMembersOnly","errorMaxOccupantsReached","errorAutojoinMissing","antiSpamMessage","de","fr","nl","es","cn","ja","sv","it","pt","pt_br","ru","ca"],"mappings":"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"} \ No newline at end of file
+{"version":3,"file":"candy.min.js","sources":["/candy.bundle.js"],"names":["Candy","self","$","about","name","version","init","service","options","viewClass","View","view","Core","core","jQuery","Strophe","_status","_connection","_service","_user","_rooms","_anonymousConnection","_options","autojoin","undefined","debug","disableWindowUnload","presencePriority","resource","_addNamespace","value","addNamespace","_addNamespaces","_getEscapedJidFromJid","jid","node","getNodeFromJid","domain","getDomainFromJid","escapeNode","extend","window","console","log","Function","prototype","bind","call","apply","arguments","Connection","rawInput","rawOutput","caps","onbeforeunload","onWindowUnload","registerEventHandlers","addHandler","Event","Jabber","Version","NS","VERSION","Presence","Message","Bookmarks","PRIVATE","Room","Disco","DISCO_INFO","disco","_onDiscoInfo","_onDiscoItems","DISCO_ITEMS","_delegateCapabilities","CAPS","connect","jidOrHost","password","nick","reset","triggerHandler","connection","indexOf","Connect","ChatUser","Login","attach","sid","rid","disconnect","connected","each","getRooms","Action","Leave","this","getJid","handler","ns","type","id","from","getUser","setUser","user","getConnection","removeRoom","roomJid","getStropheStatus","setStropheStatus","status","isAnonymousConnection","getOptions","getRoom","sync","flush","data","_current","container","language","assets","messages","limit","remove","crop","message","nickname","body","roster","_setupTranslation","i18n","load","Translation","_registerObservers","on","Observer","Chat","AutojoinMissing","update","PresenceError","_registerWindowHandlers","Util","getIeVersion","document","focusin","Pane","Window","onFocus","focusout","onBlur","focus","blur","resize","fitTabs","_initToolbar","Toolbar","_delegateTooltips","delegate","Tooltip","show","resources","Parser","setEmoticonPath","html","Mustache","to_html","Template","pane","tooltipEmoticons","_","tooltipSound","tooltipAutoscroll","tooltipStatusmessage","tooltipAdministration","tooltipUsercount","assetsPath","tabs","rooms","modal","toolbar","soundcontrol","getCurrent","jidToId","MD5","hexdigest","escapeJid","getResourceFromJid","unescapeJid","unescapeNode","str","len","length","substr","parseAndCropXhtml","append","createHtml","get","setCookie","lifetime_days","exp","Date","setDate","getDate","cookie","toUTCString","cookieExists","getCookie","regex","RegExp","escape","matches","exec","deleteCookie","getPosLeftAccordingToWindowBounds","elem","pos","windowWidth","width","elemWidth","outerWidth","marginDiff","backgroundPositionAlignment","px","getPosTopAccordingToWindowBounds","windowHeight","height","elemHeight","outerHeight","localizedTime","dateTime","date","iso8601toDate","format","toDateString","timestamp","parse","isNaN","struct","minutesOffset","getTimezoneOffset","replace","isEmptyObject","obj","prop","hasOwnProperty","forceRedraw","css","display","setTimeout","ie","undef","v","div","createElement","all","getElementsByTagName","innerHTML","_emoticonPath","path","emoticons","plain","image","emotify","text","i","linkify","nl2br","maxLength","currentLength","el","j","tag","attribute","cssAttrs","attr","cssName","cssValue","nodeType","ElementType","NORMAL","nodeName","toLowerCase","XHTML","validTag","attributes","getAttribute","cssText","split","validCSS","push","join","childNodes","e","xmlTextNode","xmlGenerator","createDocumentFragment","appendChild","FRAGMENT","TEXT","nodeValue","substring","parseHTML","msg","sendIQ","$iq","to","c","os","navigator","userAgent","SetNickname","Array","roomNick","presence","conn","$pres","getUniqueId","send","Roster","xmlns","CLIENT","ROSTER","tree","pres","t","toString","up","generateCapsAttrs","Services","Autojoin","BOOKMARKS","isArray","Join","valueOf","ResetIgnoreList","getEscapedJid","PRIVACY","action","order","RemoveIgnoreList","GetIgnoreList","iq","iqId","PrivacyList","SetIgnoreListActive","GetJidIfAnonymous","getNick","MUC","muc","leave","xhtmlMsg","trim","IgnoreUnignore","userJid","addToOrRemoveFromPrivacyList","UpdatePrivacyList","currentUser","privacyList","getPrivacyList","index","Admin","UserAction","reason","itemObj","role","affiliation","MUC_ADMIN","SetSubject","subject","setTopic","ChatRoom","room","ChatRoster","setName","getName","setRoster","getRoster","items","add","getAll","ROLE_MODERATOR","AFFILIATION_OWNER","privacyLists","customData","previousNick","setJid","setNick","getRole","getAffiliation","isModerator","list","splice","setPrivacyLists","lists","isInPrivacyList","setCustomData","getCustomData","setPreviousNick","getPreviousNick","presetJid","Status","CONNECTED","ATTACHED","DISCONNECTED","AUTHFAIL","CONNECTING","DISCONNECTING","AUTHENTICATING","ERROR","CONNFAIL","children","stanza","item","PrivacyListError","fromJid","toJid","getBareJidFromJid","actor","roomName","find","code","identity","presenceType","nickAssign","nickChange","l","$status","tagName","error","bareRoomJid","isNoConferenceRoomJid","xhtmlChild","XHTML_IM","enableXHTML","xhtmlMessage","first","delay","DELAY","_showConnectedMessageModal","event","args","eventName","Modal","hide","showLoginForm","adminMessage","onInfoMessage","close","notifyPrivateChats","actionLabel","actorName","translationParams","Context","adminMessageReason","_action","_reason","evtData","PrivateRoom","setStatus","showEnterPasswordForm","showNicknameConflictForm","showError","setSubject","infoMessage","open","_hasFocus","_plainTitle","title","_unreadMessagesCount","autoscroll","hasFocus","increaseUnreadMessages","renderUnreadMessages","reduceUnreadMessages","num","clearUnreadMessages","count","unreadmessages","setFocusToForm","addTab","roomType","roomId","tab","privateUserChat","appendTo","click","tabClick","tabClose","getTab","removeTab","setActiveTab","addClass","removeClass","unreadElem","parseInt","currentRoomJid","scrollPosition","getPane","scrollTop","preventDefault","parent","allTabsClosed","availableWidth","innerWidth","tabsWidth","overflow","tabDiffToRealWidth","tabWidth","Math","floor","sender","time","toGMTString","appendToMessagePane","scrollToBottom","_supportsNativeAudio","showEmoticonsMenu","currentTarget","stopPropagation","onAutoscrollControlClick","a","canPlayType","onSoundControlClick","onStatusMessageControlClick","context","me","updateUsercount","usercount","playSound","onPlaySound","Audio","play","chatSoundPlayer","getElementById","SetVariable","control","hasClass","toggleClass","onScrollToStoredPosition","onScrollToBottom","showCloseControl","showSpinner","hideCloseControl","hideSpinner","stop","fadeIn","callback","fadeOut","keydown","which","form","_labelNickname","_labelUsername","_labelPassword","_loginSubmit","displayPassword","displayUsername","displayNickname","submit","username","val","enterPasswordForm","_label","_joinSubmit","nicknameConflictForm","replacements","displayError","_error","content","tooltip","target","offset","posLeft","left","posTop","top","mouseleave","menu","links","menulinks","getMenuLinks","clickHandler","link","class","label","element","initialMenuLinks","requiredPermission","private","ignore","ignoreUser","unignore","unignoreUser","kick","contextModalForm","_submit","ban","input","emoticon","messageCount","_messageSubmit","_userOnline","_roomSubject","openRooms","last","sliceMessagePane","slice","messagePane","roomPane","chatPane","addIgnoreIcon","removeIgnoreIcon","subPane","changeDataUserJidIfUserIsMe","roomElement","switchToRoom","messageForm","removeAttr","changeNick","roomTabElement","previousPrivateRoomJid","newPrivateRoomJid","previousPrivateRoomId","newPrivateRoomId","userId","usercountDiff","userElem","displayNick","tooltipRole","tooltipIgnored","userInserted","rosterPane","userSortCompare","toUpperCase","before","showJoinAnimation","replaceWith","opacity","userClick","leaveAnimation","rosterUserId","$rosterUserElem","is","joinAnimation","elementId","slideDown","animate","complete","slideUp","previousUserJid","renderEvtData","template","templateData","displayName","en","statusConnecting","statusConnected","statusDisconnecting","statusDisconnected","statusAuthfail","roomSubject","messageSubmit","labelUsername","labelNickname","labelPassword","loginSubmit","loginInvalid","reasonWas","kickActionLabel","youHaveBeenKickedBy","youHaveBeenKicked","banActionLabel","youHaveBeenBannedBy","youHaveBeenBanned","privateActionLabel","ignoreActionLabel","unignoreActionLabel","setSubjectActionLabel","administratorMessageSubject","userJoinedRoom","userLeftRoom","userHasBeenKickedFromRoom","userHasBeenBannedFromRoom","userChangedNick","presenceUnknownWarningSubject","presenceUnknownWarning","dateFormat","timeFormat","enterRoomPassword","enterRoomPasswordSubmit","passwordEnteredInvalid","nicknameConflict","errorMembersOnly","errorMaxOccupantsReached","errorAutojoinMissing","antiSpamMessage","de","fr","nl","es","cn","ja","sv","it","pt","pt_br","ru","ca"],"mappings":"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"} \ No newline at end of file
diff --git a/src/view/observer.js b/src/view/observer.js
index 9e40ffd..5ee456a 100644
--- a/src/view/observer.js
+++ b/src/view/observer.js
@@ -201,7 +201,10 @@ Candy.View.Observer = (function(self, $) {
args.roomJid = Candy.Util.unescapeJid(args.roomJid);
// Initialize room if not yet existing
if(!Candy.View.Pane.Chat.rooms[args.roomJid]) {
- Candy.View.Pane.Room.init(args.roomJid, args.roomName);
+ if(Candy.View.Pane.Room.init(args.roomJid, args.roomName) === false) {
+ return false;
+ }
+
Candy.View.Pane.Room.show(args.roomJid);
}
Candy.View.Pane.Roster.update(args.roomJid, args.user, args.action, args.currentUser);
diff --git a/src/view/pane.js b/src/view/pane.js
index 01eb654..e7e611e 100644
--- a/src/view/pane.js
+++ b/src/view/pane.js
@@ -1554,7 +1554,9 @@ Candy.View.Pane = (function(self, $) {
return false;
}
if(!self.Chat.rooms[roomJid]) {
- self.Room.init(roomJid, roomName, 'chat');
+ if(self.Room.init(roomJid, roomName, 'chat') === false) {
+ return false;
+ }
}
if(switchToRoom) {
self.Room.show(roomJid);
@@ -2054,7 +2056,9 @@ Candy.View.Pane = (function(self, $) {
// Check if user is online and not myself
var room = Candy.Core.getRoom(roomJid);
if(room && name !== self.Room.getUser(Candy.View.getCurrent().roomJid).getNick() && room.getRoster().get(roomJid + '/' + name)) {
- Candy.View.Pane.PrivateRoom.open(roomJid + '/' + name, name, true);
+ if(Candy.View.Pane.PrivateRoom.open(roomJid + '/' + name, name, true) === false) {
+ return false;
+ }
}
});