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>2011-11-30 13:09:09 +0400
committerMichael Weibel <michael.weibel@gmail.com>2011-11-30 13:14:14 +0400
commit40df2dbeaac01b65f4a4ee447b8216a67b0d6d68 (patch)
tree31f0605c65dd3283b21a8cd70bc3679d4fd43d40
parent5463487ddafd8e1f1943043bdb77c67d96239e41 (diff)
Version 1.0.9
-rw-r--r--docs/files/candy-bundle-js.html24
-rw-r--r--docs/files/src/candy-js.html2
-rw-r--r--docs/files/src/core-js.html2
-rw-r--r--docs/files/src/core/action-js.html2
-rw-r--r--docs/files/src/core/chatRoom-js.html2
-rw-r--r--docs/files/src/core/chatRoster-js.html2
-rw-r--r--docs/files/src/core/chatUser-js.html6
-rw-r--r--docs/files/src/core/event-js.html2
-rw-r--r--docs/files/src/util-js.html2
-rw-r--r--docs/files/src/view-js.html2
-rw-r--r--docs/files/src/view/event-js.html2
-rw-r--r--docs/files/src/view/observer-js.html2
-rw-r--r--docs/files/src/view/pane-js.html16
-rw-r--r--docs/files/src/view/template-js.html2
-rw-r--r--docs/files/src/view/translation-js.html2
-rw-r--r--index.html6
16 files changed, 38 insertions, 38 deletions
diff --git a/docs/files/candy-bundle-js.html b/docs/files/candy-bundle-js.html
index c2740fa..8353d96 100644
--- a/docs/files/candy-bundle-js.html
+++ b/docs/files/candy-bundle-js.html
@@ -11,7 +11,7 @@ if (browserType) {document.write("<div class=" + browserType + ">");if (browserV
-<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="candy.js"></a>candy.js</h1><div class=CBody><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>Candy</td><td class=CDLDescription>Chats are not dead yet.</td></tr></table><h4 class=CHeading>Authors</h4><ul><li>Patrick Stadler <a href="#" onClick="location.href='mai' + 'lto:' + 'patrick' + '.stadler' + '@' + 'amiadog' + 'roup.com'; return false;" class=LEMail>patrick<span style="display: none">.nosp@m.</span>.stadler<span>@</span>amiadog<span style="display: none">.nosp@m.</span>roup.com</a></li><li>Michael Weibel <a href="#" onClick="location.href='mai' + 'lto:' + 'michael' + '.weibel' + '@' + 'amiadog' + 'roup.com'; return false;" class=LEMail>michael<span style="display: none">.nosp@m.</span>.weibel<span>@</span>amiadog<span style="display: none">.nosp@m.</span>roup.com</a></li></ul><h4 class=CHeading>Copyright</h4><p>&copy; 2011 Amiado Group AG.&nbsp; All rights reserved.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#candy.js" >candy.js</a></td><td class=SDescription></td></tr><tr class="SClass"><td class=SEntry><a href="#Candy" >Candy</a></td><td class=SDescription>Candy base class for initalizing the view and the core</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Variables" >Variables</a></td><td class=SDescription></td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#Candy.about" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">about</a></td><td class=SDescription>About candy</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.init" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">init</a></td><td class=SDescription>Init view &amp; core</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Files" >Files</a></td><td class=SDescription></td></tr><tr class="SFile SIndent2 SMarked"><td class=SEntry><a href="#core.js" >core.js</a></td><td class=SDescription></td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.Core" >Candy.Core</a></td><td class=SDescription>Candy Chat Core</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.Variables" >Variables</a></td><td class=SDescription></td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.autojoin" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">autojoin</a></td><td class=SDescription>If set to `true` try to get the bookmarks and autojoin the rooms (supported by Openfire). </td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.init" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">init</a></td><td class=SDescription>Initialize Core.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.connect" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">connect</a></td><td class=SDescription>Connect to the jabber host.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.attach" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')">attach</a></td><td class=SDescription>Attach an already binded &amp; connected session to the server</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.disconnect" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')">disconnect</a></td><td class=SDescription>Leave all rooms and disconnect</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.addHandler" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')">addHandler</a></td><td class=SDescription>Wrapper for Strophe.Connection.addHandler() to add a stanza handler for the connection.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.getUser" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')">getUser</a></td><td class=SDescription>Gets current user</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.setUser" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')">setUser</a></td><td class=SDescription>Set current user. </td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.getConnection" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')">getConnection</a></td><td class=SDescription>Gets Strophe connection</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.getRooms" id=link12 onMouseOver="ShowTip(event, 'tt12', 'link12')" onMouseOut="HideTip('tt12')">getRooms</a></td><td class=SDescription>Gets all joined rooms</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.isAnonymousConnection" id=link13 onMouseOver="ShowTip(event, 'tt13', 'link13')" onMouseOut="HideTip('tt13')">isAnonymousConnection</a></td><td class=SDescription>Returns true if <a href="#Candy.Core.connect" class=LFunction id=link14 onMouseOver="ShowTip(event, 'tt5', 'link14')" onMouseOut="HideTip('tt5')">Candy.Core.connect</a> was first called with a domain instead of a jid as the first param.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.getOptions" id=link15 onMouseOver="ShowTip(event, 'tt14', 'link15')" onMouseOut="HideTip('tt14')">getOptions</a></td><td class=SDescription>Gets options</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.getRoom" id=link16 onMouseOver="ShowTip(event, 'tt15', 'link16')" onMouseOut="HideTip('tt15')">getRoom</a></td><td class=SDescription>Gets a specific room</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.onWindowUnload" id=link17 onMouseOver="ShowTip(event, 'tt16', 'link17')" onMouseOut="HideTip('tt16')">onWindowUnload</a></td><td class=SDescription>window.onbeforeunload event which disconnects the client from the Jabber server.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.rawInput" id=link18 onMouseOver="ShowTip(event, 'tt17', 'link18')" onMouseOut="HideTip('tt17')">rawInput</a></td><td class=SDescription>(Overridden from Strophe.Connection.rawInput)</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.log" id=link19 onMouseOver="ShowTip(event, 'tt18', 'link19')" onMouseOut="HideTip('tt18')">log</a></td><td class=SDescription>Overridden to do something useful if debug is set to true.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.Files" >Files</a></td><td class=SDescription></td></tr><tr class="SFile SIndent2 SMarked"><td class=SEntry><a href="#view.js" >view.js</a></td><td class=SDescription></td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View" >Candy.View</a></td><td class=SDescription>The Candy View Class</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.init" id=link20 onMouseOver="ShowTip(event, 'tt19', 'link20')" onMouseOut="HideTip('tt19')">init</a></td><td class=SDescription>Initialize chat view (setup DOM, register handlers &amp; observers)</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.getCurrent" id=link21 onMouseOver="ShowTip(event, 'tt20', 'link21')" onMouseOut="HideTip('tt20')">getCurrent</a></td><td class=SDescription>Get current container &amp; roomJid in an object.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.getOptions" id=link22 onMouseOver="ShowTip(event, 'tt21', 'link22')" onMouseOut="HideTip('tt21')">getOptions</a></td><td class=SDescription>Gets options</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Files" >Files</a></td><td class=SDescription></td></tr><tr class="SFile SIndent2 SMarked"><td class=SEntry><a href="#util.js" >util.js</a></td><td class=SDescription></td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.Util" >Candy.Util</a></td><td class=SDescription>Candy utils</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Util.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Util.jidToId" id=link23 onMouseOver="ShowTip(event, 'tt22', 'link23')" onMouseOut="HideTip('tt22')">jidToId</a></td><td class=SDescription>Translates a jid to a MD5-Id</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Util.escapeJid" id=link24 onMouseOver="ShowTip(event, 'tt23', 'link24')" onMouseOut="HideTip('tt23')">escapeJid</a></td><td class=SDescription>Escapes a jid (node &amp; resource get escaped)</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Util.unescapeJid" id=link25 onMouseOver="ShowTip(event, 'tt24', 'link25')" onMouseOut="HideTip('tt24')">unescapeJid</a></td><td class=SDescription>Unescapes a jid (node &amp; resource get unescaped)</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Util.crop" id=link26 onMouseOver="ShowTip(event, 'tt25', 'link26')" onMouseOut="HideTip('tt25')">crop</a></td><td class=SDescription>Crop a string with the specified length</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Util.setCookie" id=link27 onMouseOver="ShowTip(event, 'tt26', 'link27')" onMouseOut="HideTip('tt26')">setCookie</a></td><td class=SDescription>Sets a new cookie</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Util.cookieExists" id=link28 onMouseOver="ShowTip(event, 'tt27', 'link28')" onMouseOut="HideTip('tt27')">cookieExists</a></td><td class=SDescription>Tests if a cookie with the given name exists</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Util.getCookie" id=link29 onMouseOver="ShowTip(event, 'tt28', 'link29')" onMouseOut="HideTip('tt28')">getCookie</a></td><td class=SDescription>Returns the cookie value if there&rsquo;s one with this name, otherwise returns undefined</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Util.deleteCookie" id=link30 onMouseOver="ShowTip(event, 'tt29', 'link30')" onMouseOut="HideTip('tt29')">deleteCookie</a></td><td class=SDescription>Deletes a cookie with the given name</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Util.getPosLeftAccordingToWindowBounds" id=link31 onMouseOver="ShowTip(event, 'tt30', 'link31')" onMouseOut="HideTip('tt30')">getPosLeftAccordingToWindowBounds</a></td><td class=SDescription>Fetches the window width and element width and checks if specified position + element width is bigger than the window width.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Util.getPosTopAccordingToWindowBounds" id=link32 onMouseOver="ShowTip(event, 'tt31', 'link32')" onMouseOut="HideTip('tt31')">getPosTopAccordingToWindowBounds</a></td><td class=SDescription>Fetches the window height and element height and checks if specified position + element height is bigger than the window height.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Util.localizedTime" id=link33 onMouseOver="ShowTip(event, 'tt32', 'link33')" onMouseOut="HideTip('tt32')">localizedTime</a></td><td class=SDescription>Localizes ISO-8610 Date with the time/dateformat specified in the translation.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Util.iso8610toDate" >iso8610toDate</a></td><td class=SDescription>Parses a ISO-8610 Date to a Date-Object.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Util.isEmptyObject" id=link34 onMouseOver="ShowTip(event, 'tt33', 'link34')" onMouseOut="HideTip('tt33')">isEmptyObject</a></td><td class=SDescription>IE7 doesn&rsquo;t work with jQuery.isEmptyObject (&lt;=1.5.1), workaround.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Util.forceRedraw" id=link35 onMouseOver="ShowTip(event, 'tt34', 'link35')" onMouseOut="HideTip('tt34')">forceRedraw</a></td><td class=SDescription>Fix IE7 not redrawing under some circumstances.</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.Util.Parser" >Candy.<wbr>Util.<wbr>Parser</a></td><td class=SDescription>Parser for emoticons, links and also supports escaping.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Util.Parser.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Util.Parser.setEmoticonPath" id=link36 onMouseOver="ShowTip(event, 'tt35', 'link36')" onMouseOut="HideTip('tt35')">setEmoticonPath</a></td><td class=SDescription>Set emoticons location.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Util.Parser.Variables" >Variables</a></td><td class=SDescription></td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#Candy.Util.Parser.emoticons" >emoticons</a></td><td class=SDescription>Array containing emoticons to be replaced by their images.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Util.Parser.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Util.Parser.emotify" id=link37 onMouseOver="ShowTip(event, 'tt36', 'link37')" onMouseOut="HideTip('tt36')">emotify</a></td><td class=SDescription>Replaces text-emoticons with their image equivalent.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Util.Parser.linkify" id=link38 onMouseOver="ShowTip(event, 'tt37', 'link38')" onMouseOut="HideTip('tt37')">linkify</a></td><td class=SDescription>Replaces URLs with a HTML-link.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Util.Parser.escape" id=link39 onMouseOver="ShowTip(event, 'tt38', 'link39')" onMouseOut="HideTip('tt38')">escape</a></td><td class=SDescription>Escapes a text using a jQuery function (like htmlspecialchars in PHP)</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Util.Parser.all" id=link40 onMouseOver="ShowTip(event, 'tt39', 'link40')" onMouseOut="HideTip('tt39')">all</a></td><td class=SDescription>Does everything of the parser: escaping, linkifying and emotifying.</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.Util.Observable" >Candy.<wbr>Util.<wbr>Observable</a></td><td class=SDescription>A class can be extended with the observable to be able to notify observers</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Util.Observable.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Util.Observable.addObserver" id=link41 onMouseOver="ShowTip(event, 'tt40', 'link41')" onMouseOut="HideTip('tt40')">addObserver</a></td><td class=SDescription>Add an observer to the observer list</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Util.Observable.deleteObserver" id=link42 onMouseOver="ShowTip(event, 'tt41', 'link42')" onMouseOut="HideTip('tt41')">deleteObserver</a></td><td class=SDescription>Delete observer from list</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Util.Observable.clearObservers" id=link43 onMouseOver="ShowTip(event, 'tt42', 'link43')" onMouseOut="HideTip('tt42')">clearObservers</a></td><td class=SDescription>Deletes all observers in list</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Util.Observable.notifyObservers" id=link44 onMouseOver="ShowTip(event, 'tt43', 'link44')" onMouseOut="HideTip('tt43')">notifyObservers</a></td><td class=SDescription>Notify all of its observers of a certain event.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Util.Observable.Files" >Files</a></td><td class=SDescription></td></tr><tr class="SFile SIndent2 SMarked"><td class=SEntry><a href="#action.js" >action.js</a></td><td class=SDescription></td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.Core.Action" >Candy.<wbr>Core.<wbr>Action</a></td><td class=SDescription>Chat Actions (basicly a abstraction of Jabber commands)</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.Core.Action.Jabber" >Candy.<wbr>Core.<wbr>Action.<wbr>Jabber</a></td><td class=SDescription>Jabber actions</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.Action.Jabber.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.Action.Jabber.Version" id=link45 onMouseOver="ShowTip(event, 'tt44', 'link45')" onMouseOut="HideTip('tt44')">Version</a></td><td class=SDescription>Replies to a version request</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.Action.Jabber.Roster" id=link46 onMouseOver="ShowTip(event, 'tt45', 'link46')" onMouseOut="HideTip('tt45')">Roster</a></td><td class=SDescription>Sends a request for a roster</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.Action.Jabber.Presence" id=link47 onMouseOver="ShowTip(event, 'tt46', 'link47')" onMouseOut="HideTip('tt46')">Presence</a></td><td class=SDescription>Sends a request for presence</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.Action.Jabber.Services" id=link48 onMouseOver="ShowTip(event, 'tt47', 'link48')" onMouseOut="HideTip('tt47')">Services</a></td><td class=SDescription>Sends a request for disco items</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.Action.Jabber.Autojoin" id=link49 onMouseOver="ShowTip(event, 'tt48', 'link49')" onMouseOut="HideTip('tt48')">Autojoin</a></td><td class=SDescription>When Candy.Core.getOptions().autojoin is true, request autojoin bookmarks (OpenFire)</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.Action.Jabber.ResetIgnoreList" id=link50 onMouseOver="ShowTip(event, 'tt49', 'link50')" onMouseOut="HideTip('tt49')">ResetIgnoreList</a></td><td class=SDescription>Create new ignore privacy list (and reset the old one, if it exists).</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.Action.Jabber.RemoveIgnoreList" id=link51 onMouseOver="ShowTip(event, 'tt50', 'link51')" onMouseOut="HideTip('tt50')">RemoveIgnoreList</a></td><td class=SDescription>Remove an existing ignore list.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.Action.Jabber.GetIgnoreList" id=link52 onMouseOver="ShowTip(event, 'tt51', 'link52')" onMouseOut="HideTip('tt51')">GetIgnoreList</a></td><td class=SDescription>Get existing ignore privacy list when connecting.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.Action.Jabber.SetIgnoreListActive" id=link53 onMouseOver="ShowTip(event, 'tt52', 'link53')" onMouseOut="HideTip('tt52')">SetIgnoreListActive</a></td><td class=SDescription>Set ignore privacy list active</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.Action.Jabber.GetJidIfAnonymous" id=link54 onMouseOver="ShowTip(event, 'tt53', 'link54')" onMouseOut="HideTip('tt53')">GetJidIfAnonymous</a></td><td class=SDescription>On anonymous login, initially we don&rsquo;t know the jid and as a result, Candy.Core._user doesn&rsquo;t have a jid. </td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.Core.Action.Jabber.Room" >Candy.<wbr>Core.<wbr>Action.<wbr>Jabber.Room</a></td><td class=SDescription>Room-specific commands</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.Action.Jabber.Room.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.Action.Jabber.Room.Join" id=link55 onMouseOver="ShowTip(event, 'tt54', 'link55')" onMouseOut="HideTip('tt54')">Join</a></td><td class=SDescription>Requests disco of specified room and joins afterwards.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.Action.Jabber.Room.Leave" id=link56 onMouseOver="ShowTip(event, 'tt55', 'link56')" onMouseOut="HideTip('tt55')">Leave</a></td><td class=SDescription>Leaves a room.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.Action.Jabber.Room.Disco" id=link57 onMouseOver="ShowTip(event, 'tt56', 'link57')" onMouseOut="HideTip('tt56')">Disco</a></td><td class=SDescription>Requests <a href="http://xmpp.org/extensions/xep-0045.html#disco-roominfo" class=LURL target=_top>disco info of a room</a>.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.Action.Jabber.Room.Message" id=link58 onMouseOver="ShowTip(event, 'tt57', 'link58')" onMouseOut="HideTip('tt57')">Message</a></td><td class=SDescription>Send message</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.Action.Jabber.Room.IgnoreUnignore" id=link59 onMouseOver="ShowTip(event, 'tt58', 'link59')" onMouseOut="HideTip('tt58')">IgnoreUnignore</a></td><td class=SDescription>Checks if the user is already ignoring the target user, if yes: unignore him, if no: ignore him.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.Action.Jabber.Room.UpdatePrivacyList" id=link60 onMouseOver="ShowTip(event, 'tt59', 'link60')" onMouseOut="HideTip('tt59')">UpdatePrivacyList</a></td><td class=SDescription>Updates privacy list according to the privacylist in the currentUser</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.Core.Action.Jabber.Room.Admin" >Candy.<wbr>Core.<wbr>Action.<wbr>Jabber.<wbr>Room.<wbr>Admin</a></td><td class=SDescription>Room administration commands</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.Action.Jabber.Room.Admin.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.Action.Jabber.Room.Admin.UserAction" id=link61 onMouseOver="ShowTip(event, 'tt60', 'link61')" onMouseOut="HideTip('tt60')">UserAction</a></td><td class=SDescription>Kick or ban a user</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.Action.Jabber.Room.Admin.SetSubject" id=link62 onMouseOver="ShowTip(event, 'tt61', 'link62')" onMouseOut="HideTip('tt61')">SetSubject</a></td><td class=SDescription>Sets subject (topic) of a room.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.Action.Jabber.Room.Admin.Files" >Files</a></td><td class=SDescription></td></tr><tr class="SFile SIndent2 SMarked"><td class=SEntry><a href="#chatRoom.js" >chatRoom.js</a></td><td class=SDescription></td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.Core.ChatRoom" >Candy.<wbr>Core.<wbr>ChatRoom</a></td><td class=SDescription>Candy Chat Room</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.ChatRoom.Variables" >Variables</a></td><td class=SDescription></td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.ChatRoom.room" id=link63 onMouseOver="ShowTip(event, 'tt62', 'link63')" onMouseOut="HideTip('tt62')">room</a></td><td class=SDescription>Object containing roomJid and name.</td></tr><tr class="SVariable SIndent2"><td class=SEntry><a href="#Candy.Core.ChatRoom.user" id=link64 onMouseOver="ShowTip(event, 'tt63', 'link64')" onMouseOut="HideTip('tt63')">user</a></td><td class=SDescription>Current local user of this room.</td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.ChatRoom.Roster" >Roster</a></td><td class=SDescription>Candy.Core.ChatRoster instance</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.ChatRoom.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.ChatRoom.setUser" id=link65 onMouseOver="ShowTip(event, 'tt64', 'link65')" onMouseOut="HideTip('tt64')">setUser</a></td><td class=SDescription>Set user of this room.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.ChatRoom.getUser" id=link66 onMouseOver="ShowTip(event, 'tt65', 'link66')" onMouseOut="HideTip('tt65')">getUser</a></td><td class=SDescription>Get current local user</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.ChatRoom.getJid" id=link67 onMouseOver="ShowTip(event, 'tt66', 'link67')" onMouseOut="HideTip('tt66')">getJid</a></td><td class=SDescription>Get room jid</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.ChatRoom.setName" id=link68 onMouseOver="ShowTip(event, 'tt67', 'link68')" onMouseOut="HideTip('tt67')">setName</a></td><td class=SDescription>Set room name</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.ChatRoom.getName" id=link69 onMouseOver="ShowTip(event, 'tt68', 'link69')" onMouseOut="HideTip('tt68')">getName</a></td><td class=SDescription>Get room name</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.ChatRoom.setRoster" id=link70 onMouseOver="ShowTip(event, 'tt69', 'link70')" onMouseOut="HideTip('tt69')">setRoster</a></td><td class=SDescription>Set roster of room</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.ChatRoom.getRoster" id=link71 onMouseOver="ShowTip(event, 'tt70', 'link71')" onMouseOut="HideTip('tt70')">getRoster</a></td><td class=SDescription>Get roster</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.ChatRoom.Files" >Files</a></td><td class=SDescription></td></tr><tr class="SFile SIndent2 SMarked"><td class=SEntry><a href="#chatRoster.js" >chatRoster.js</a></td><td class=SDescription></td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.Core.ChatRoster" >Candy.<wbr>Core.<wbr>ChatRoster</a></td><td class=SDescription>Chat Roster</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.ChatRoster.Variables" >Variables</a></td><td class=SDescription></td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.ChatRoster.items" id=link72 onMouseOver="ShowTip(event, 'tt71', 'link72')" onMouseOut="HideTip('tt71')">items</a></td><td class=SDescription>Roster items</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.ChatRoster.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.ChatRoster.add" id=link73 onMouseOver="ShowTip(event, 'tt72', 'link73')" onMouseOut="HideTip('tt72')">add</a></td><td class=SDescription>Add user to roster</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.ChatRoster.remove" id=link74 onMouseOver="ShowTip(event, 'tt73', 'link74')" onMouseOut="HideTip('tt73')">remove</a></td><td class=SDescription>Remove user from roster</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.ChatRoster.get" id=link75 onMouseOver="ShowTip(event, 'tt74', 'link75')" onMouseOut="HideTip('tt74')">get</a></td><td class=SDescription>Get user from roster</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.ChatRoster.getAll" id=link76 onMouseOver="ShowTip(event, 'tt75', 'link76')" onMouseOut="HideTip('tt75')">getAll</a></td><td class=SDescription>Get all items</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.ChatRoster.Files" >Files</a></td><td class=SDescription></td></tr><tr class="SFile SIndent2 SMarked"><td class=SEntry><a href="#chatUser.js" >chatUser.js</a></td><td class=SDescription></td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.Core.ChatUser" >Candy.<wbr>Core.<wbr>ChatUser</a></td><td class=SDescription>Chat User</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.ChatUser.Constants" >Constants</a></td><td class=SDescription></td></tr><tr class="SConstant SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.ChatUser.ROLE_MODERATOR" >ROLE_MODERATOR</a></td><td class=SDescription>Moderator role</td></tr><tr class="SConstant SIndent2"><td class=SEntry><a href="#Candy.Core.ChatUser.AFFILIATION_OWNER" >AFFILIATION_OWNER</a></td><td class=SDescription>Affiliation owner</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.ChatUser.Variables" >Variables</a></td><td class=SDescription></td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.ChatUser.data" id=link77 onMouseOver="ShowTip(event, 'tt76', 'link77')" onMouseOut="HideTip('tt76')">data</a></td><td class=SDescription></td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.ChatUser.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.ChatUser.getJid" id=link78 onMouseOver="ShowTip(event, 'tt77', 'link78')" onMouseOut="HideTip('tt77')">getJid</a></td><td class=SDescription>Gets an unescaped user jid</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.ChatUser.getEscapedJid" id=link79 onMouseOver="ShowTip(event, 'tt78', 'link79')" onMouseOut="HideTip('tt78')">getEscapedJid</a></td><td class=SDescription>Escapes the user&rsquo;s jid (node &amp; resource get escaped)</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.ChatUser.getNick" id=link80 onMouseOver="ShowTip(event, 'tt79', 'link80')" onMouseOut="HideTip('tt79')">getNick</a></td><td class=SDescription>Gets user nick</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.ChatUser.getRole" id=link81 onMouseOver="ShowTip(event, 'tt80', 'link81')" onMouseOut="HideTip('tt80')">getRole</a></td><td class=SDescription>Gets user role</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.ChatUser.getAffiliation" id=link82 onMouseOver="ShowTip(event, 'tt81', 'link82')" onMouseOut="HideTip('tt81')">getAffiliation</a></td><td class=SDescription>Gets user affiliation</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.ChatUser.isModerator" id=link83 onMouseOver="ShowTip(event, 'tt82', 'link83')" onMouseOut="HideTip('tt82')">isModerator</a></td><td class=SDescription>Check if user is moderator. </td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.ChatUser.addToOrRemoveFromPrivacyList" id=link84 onMouseOver="ShowTip(event, 'tt83', 'link84')" onMouseOut="HideTip('tt83')">addToOrRemoveFromPrivacyList</a></td><td class=SDescription>Convenience function for adding/removing users from ignore list.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.ChatUser.getPrivacyList" id=link85 onMouseOver="ShowTip(event, 'tt84', 'link85')" onMouseOut="HideTip('tt84')">getPrivacyList</a></td><td class=SDescription>Returns the privacy list of the listname of the param.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.ChatUser.isInPrivacyList" id=link86 onMouseOver="ShowTip(event, 'tt85', 'link86')" onMouseOut="HideTip('tt85')">isInPrivacyList</a></td><td class=SDescription>Tests if this user ignores the user provided by jid.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.ChatUser.setCustomData" id=link87 onMouseOver="ShowTip(event, 'tt86', 'link87')" onMouseOut="HideTip('tt86')">setCustomData</a></td><td class=SDescription>Stores custom data</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.ChatUser.getCustomData" id=link88 onMouseOver="ShowTip(event, 'tt87', 'link88')" onMouseOut="HideTip('tt87')">getCustomData</a></td><td class=SDescription>Retrieve custom data</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.ChatUser.Files" >Files</a></td><td class=SDescription></td></tr><tr class="SFile SIndent2 SMarked"><td class=SEntry><a href="#event.js" >event.js</a></td><td class=SDescription></td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.Core.Event" >Candy.<wbr>Core.<wbr>Event</a></td><td class=SDescription>Chat Events</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.Event.Enumerations" >Enumerations</a></td><td class=SDescription></td></tr><tr class="SEnumeration SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.Event.KEYS" >KEYS</a></td><td class=SDescription>Observer keys</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.Core.Event.Strophe" >Candy.<wbr>Core.<wbr>Event.<wbr>Strophe</a></td><td class=SDescription>Strophe-related events</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.Event.Strophe.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.Event.Strophe.Connect" id=link89 onMouseOver="ShowTip(event, 'tt88', 'link89')" onMouseOut="HideTip('tt88')">Connect</a></td><td class=SDescription>Acts on strophe status events and notifies view.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.Event.Strophe.Login" id=link90 onMouseOver="ShowTip(event, 'tt89', 'link90')" onMouseOut="HideTip('tt89')">Login</a></td><td class=SDescription>Notify view that the login window should be displayed</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.Core.Event.Jabber" >Candy.<wbr>Core.<wbr>Event.<wbr>Jabber</a></td><td class=SDescription>Jabber related events</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.Event.Jabber.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.Event.Jabber.Version" id=link91 onMouseOver="ShowTip(event, 'tt90', 'link91')" onMouseOut="HideTip('tt90')">Version</a></td><td class=SDescription>Responds to a version request</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.Event.Jabber.Presence" id=link92 onMouseOver="ShowTip(event, 'tt91', 'link92')" onMouseOut="HideTip('tt91')">Presence</a></td><td class=SDescription>Acts on a presence event</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.Event.Jabber.Bookmarks" id=link93 onMouseOver="ShowTip(event, 'tt92', 'link93')" onMouseOut="HideTip('tt92')">Bookmarks</a></td><td class=SDescription>Acts on a bookmarks event. </td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.Event.Jabber.PrivacyList" id=link94 onMouseOver="ShowTip(event, 'tt93', 'link94')" onMouseOut="HideTip('tt93')">PrivacyList</a></td><td class=SDescription>Acts on a privacy list event and sets up the current privacy list of this user.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.Event.Jabber.PrivacyListError" id=link95 onMouseOver="ShowTip(event, 'tt94', 'link95')" onMouseOut="HideTip('tt94')">PrivacyListError</a></td><td class=SDescription>Acts when a privacy list error has been received.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.Event.Jabber.Message" id=link96 onMouseOver="ShowTip(event, 'tt95', 'link96')" onMouseOut="HideTip('tt95')">Message</a></td><td class=SDescription>Acts on room, admin and server messages and notifies the view if required.</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.Core.Event.Jabber.Room" >Candy.<wbr>Core.<wbr>Event.<wbr>Jabber.Room</a></td><td class=SDescription>Room specific events</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.Event.Jabber.Room.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.Event.Jabber.Room.Leave" id=link97 onMouseOver="ShowTip(event, 'tt96', 'link97')" onMouseOut="HideTip('tt96')">Leave</a></td><td class=SDescription>Leaves a room and cleans up related data and notifies view.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.Event.Jabber.Room.Disco" id=link98 onMouseOver="ShowTip(event, 'tt97', 'link98')" onMouseOut="HideTip('tt97')">Disco</a></td><td class=SDescription>Sets informations to rooms according to the disco info received.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.Event.Jabber.Room.Presence" id=link99 onMouseOver="ShowTip(event, 'tt98', 'link99')" onMouseOut="HideTip('tt98')">Presence</a></td><td class=SDescription>Acts on various presence messages (room leaving, room joining, error presence) and notifies view.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.Event.Jabber.Room.PresenceError" id=link100 onMouseOver="ShowTip(event, 'tt99', 'link100')" onMouseOut="HideTip('tt99')">PresenceError</a></td><td class=SDescription>Acts when a presence of type error has been retrieved.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.Event.Jabber.Room.Message" id=link101 onMouseOver="ShowTip(event, 'tt100', 'link101')" onMouseOut="HideTip('tt100')">Message</a></td><td class=SDescription>Acts on various message events (subject changed, private chat message, multi-user chat message) and notifies view.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.Event.Jabber.Room.Files" >Files</a></td><td class=SDescription></td></tr><tr class="SFile SIndent2 SMarked"><td class=SEntry><a href="#event.js" >event.js</a></td><td class=SDescription></td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Event" >Candy.<wbr>View.<wbr>Event</a></td><td class=SDescription>Empty hooks to capture events and inject custom code.</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Event.Chat" >Candy.<wbr>View.<wbr>Event.Chat</a></td><td class=SDescription>Chat-related events</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Event.Chat.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Event.Chat.onAdminMessage" id=link102 onMouseOver="ShowTip(event, 'tt101', 'link102')" onMouseOut="HideTip('tt101')">onAdminMessage</a></td><td class=SDescription>Called when receiving admin messages</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Event.Chat.onDisconnect" id=link103 onMouseOver="ShowTip(event, 'tt102', 'link103')" onMouseOut="HideTip('tt102')">onDisconnect</a></td><td class=SDescription>Called when client disconnects</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Event.Chat.onAuthfail" id=link104 onMouseOver="ShowTip(event, 'tt103', 'link104')" onMouseOut="HideTip('tt103')">onAuthfail</a></td><td class=SDescription>Called when authentication fails</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Event.Room" >Candy.<wbr>View.<wbr>Event.Room</a></td><td class=SDescription>Room-related events</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Event.Room.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Event.Room.onAdd" id=link105 onMouseOver="ShowTip(event, 'tt104', 'link105')" onMouseOut="HideTip('tt104')">onAdd</a></td><td class=SDescription>Called when a new room gets added</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Event.Room.onShow" id=link106 onMouseOver="ShowTip(event, 'tt105', 'link106')" onMouseOut="HideTip('tt105')">onShow</a></td><td class=SDescription>Called when a room gets shown</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Event.Room.onHide" id=link107 onMouseOver="ShowTip(event, 'tt106', 'link107')" onMouseOut="HideTip('tt106')">onHide</a></td><td class=SDescription>Called when a room gets hidden</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Event.Room.onSubjectChange" id=link108 onMouseOver="ShowTip(event, 'tt107', 'link108')" onMouseOut="HideTip('tt107')">onSubjectChange</a></td><td class=SDescription>Called when a subject of a room gets changed</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Event.Room.onClose" id=link109 onMouseOver="ShowTip(event, 'tt108', 'link109')" onMouseOut="HideTip('tt108')">onClose</a></td><td class=SDescription>Called after a room has been left/closed</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Event.Room.onPresenceChange" id=link110 onMouseOver="ShowTip(event, 'tt109', 'link110')" onMouseOut="HideTip('tt109')">onPresenceChange</a></td><td class=SDescription>Called when presence of user changes (kick, ban)</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Event.Roster" >Candy.<wbr>View.<wbr>Event.<wbr>Roster</a></td><td class=SDescription>Roster-related events</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Event.Roster.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Event.Roster.onUpdate" id=link111 onMouseOver="ShowTip(event, 'tt110', 'link111')" onMouseOut="HideTip('tt110')">onUpdate</a></td><td class=SDescription>Called after a user have been added to the roster</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Event.Roster.onContextMenu" id=link112 onMouseOver="ShowTip(event, 'tt111', 'link112')" onMouseOut="HideTip('tt111')">onContextMenu</a></td><td class=SDescription>Called when a user clicks on the action menu arrow. </td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Event.Roster.afterContextMenu" id=link113 onMouseOver="ShowTip(event, 'tt112', 'link113')" onMouseOut="HideTip('tt112')">afterContextMenu</a></td><td class=SDescription>Called when after a the context menu is rendered</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Event.Message" >Candy.<wbr>View.<wbr>Event.<wbr>Message</a></td><td class=SDescription>Message-related events</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Event.Message.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Event.Message.beforeShow" id=link114 onMouseOver="ShowTip(event, 'tt113', 'link114')" onMouseOut="HideTip('tt113')">beforeShow</a></td><td class=SDescription>Called before a new message will be shown.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Event.Message.onShow" id=link115 onMouseOver="ShowTip(event, 'tt114', 'link115')" onMouseOut="HideTip('tt114')">onShow</a></td><td class=SDescription>Called after a new message has been shown</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Event.Message.beforeSend" id=link116 onMouseOver="ShowTip(event, 'tt115', 'link116')" onMouseOut="HideTip('tt115')">beforeSend</a></td><td class=SDescription>Called before a message get sent</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Observer" >Candy.<wbr>View.<wbr>Observer</a></td><td class=SDescription>Observes Candy core events</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Observer.Chat" >Candy.<wbr>View.<wbr>Observer.Chat</a></td><td class=SDescription>Chat events</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Observer.Chat.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Observer.Chat.update" id=link117 onMouseOver="ShowTip(event, 'tt116', 'link117')" onMouseOut="HideTip('tt116')">update</a></td><td class=SDescription>The update method gets called whenever an event to which &ldquo;Chat&rdquo; is subscribed.</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Observer.Presence" >Candy.<wbr>View.<wbr>Observer.<wbr>Presence</a></td><td class=SDescription>Presence update events</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Observer.Presence.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Observer.Presence.update" id=link118 onMouseOver="ShowTip(event, 'tt117', 'link118')" onMouseOut="HideTip('tt117')">update</a></td><td class=SDescription>Every presence update gets dispatched from this method.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Observer.Presence.notifyPrivateChats" id=link119 onMouseOver="ShowTip(event, 'tt118', 'link119')" onMouseOut="HideTip('tt118')">notifyPrivateChats</a></td><td class=SDescription>Notify private user chats if existing</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Observer.PresenceError" >Candy.<wbr>View.<wbr>Observer.<wbr>PresenceError</a></td><td class=SDescription>Presence error events</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Observer.PresenceError.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Observer.PresenceError.update" id=link120 onMouseOver="ShowTip(event, 'tt119', 'link120')" onMouseOut="HideTip('tt119')">update</a></td><td class=SDescription>Presence errors get handled in this method</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Observer.Message" >Candy.<wbr>View.<wbr>Observer.<wbr>Message</a></td><td class=SDescription>Message related events</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Observer.Message.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Observer.Message.update" id=link121 onMouseOver="ShowTip(event, 'tt120', 'link121')" onMouseOut="HideTip('tt120')">update</a></td><td class=SDescription>Messages received get dispatched from this method.</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Observer.Login" >Candy.<wbr>View.<wbr>Observer.<wbr>Login</a></td><td class=SDescription>Handles when display login window should appear</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Observer.Login.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Observer.Login.update" id=link122 onMouseOver="ShowTip(event, 'tt121', 'link122')" onMouseOut="HideTip('tt121')">update</a></td><td class=SDescription>The login event gets dispatched to this method</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Pane" >Candy.<wbr>View.Pane</a></td><td class=SDescription>Candy view pane handles everything regarding DOM updates etc.</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Pane.Window" >Candy.<wbr>View.<wbr>Pane.<wbr>Window</a></td><td class=SDescription>Window related view updates</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Pane.Window.Variables" >Variables</a></td><td class=SDescription></td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Window.autoscroll" id=link123 onMouseOver="ShowTip(event, 'tt122', 'link123')" onMouseOut="HideTip('tt122')">autoscroll</a></td><td class=SDescription>Boolean whether autoscroll is enabled</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Pane.Window.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Window.hasFocus" id=link124 onMouseOver="ShowTip(event, 'tt123', 'link124')" onMouseOut="HideTip('tt123')">hasFocus</a></td><td class=SDescription>Checks if window has focus</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Window.increaseUnreadMessages" id=link125 onMouseOver="ShowTip(event, 'tt124', 'link125')" onMouseOut="HideTip('tt124')">increaseUnreadMessages</a></td><td class=SDescription>Increases unread message count in window title by one.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Window.reduceUnreadMessages" id=link126 onMouseOver="ShowTip(event, 'tt125', 'link126')" onMouseOut="HideTip('tt125')">reduceUnreadMessages</a></td><td class=SDescription>Reduce unread message count in window title by `num`.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Window.clearUnreadMessages" id=link127 onMouseOver="ShowTip(event, 'tt126', 'link127')" onMouseOut="HideTip('tt126')">clearUnreadMessages</a></td><td class=SDescription>Clear unread message count in window title.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Window.renderUnreadMessages" id=link128 onMouseOver="ShowTip(event, 'tt127', 'link128')" onMouseOut="HideTip('tt127')">renderUnreadMessages</a></td><td class=SDescription>Update window title to show message count.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Window.onFocus" id=link129 onMouseOver="ShowTip(event, 'tt128', 'link129')" onMouseOut="HideTip('tt128')">onFocus</a></td><td class=SDescription>Window focus event handler.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Window.onBlur" id=link130 onMouseOver="ShowTip(event, 'tt129', 'link130')" onMouseOut="HideTip('tt129')">onBlur</a></td><td class=SDescription>Window blur event handler.</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Pane.Chat" >Candy.<wbr>View.<wbr>Pane.Chat</a></td><td class=SDescription>Chat-View related view updates</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Pane.Chat.Variables" >Variables</a></td><td class=SDescription></td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Chat.rooms" id=link131 onMouseOver="ShowTip(event, 'tt130', 'link131')" onMouseOut="HideTip('tt130')">rooms</a></td><td class=SDescription>Contains opened room elements</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Pane.Chat.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Chat.addTab" id=link132 onMouseOver="ShowTip(event, 'tt131', 'link132')" onMouseOut="HideTip('tt131')">addTab</a></td><td class=SDescription>Add a tab to the chat pane.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Chat.getTab" id=link133 onMouseOver="ShowTip(event, 'tt132', 'link133')" onMouseOut="HideTip('tt132')">getTab</a></td><td class=SDescription>Get tab by JID.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Chat.removeTab" id=link134 onMouseOver="ShowTip(event, 'tt133', 'link134')" onMouseOut="HideTip('tt133')">removeTab</a></td><td class=SDescription>Remove tab element.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Chat.setActiveTab" id=link135 onMouseOver="ShowTip(event, 'tt134', 'link135')" onMouseOut="HideTip('tt134')">setActiveTab</a></td><td class=SDescription>Set the active tab.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Chat.increaseUnreadMessages" id=link136 onMouseOver="ShowTip(event, 'tt135', 'link136')" onMouseOut="HideTip('tt135')">increaseUnreadMessages</a></td><td class=SDescription>Increase unread message count in a tab by one.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Chat.clearUnreadMessages" id=link137 onMouseOver="ShowTip(event, 'tt136', 'link137')" onMouseOut="HideTip('tt136')">clearUnreadMessages</a></td><td class=SDescription>Clear unread message count in a tab.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Chat.tabClick" id=link138 onMouseOver="ShowTip(event, 'tt137', 'link138')" onMouseOut="HideTip('tt137')">tabClick</a></td><td class=SDescription>Tab click event: show the room associated with the tab and stops the event from doing the default.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Chat.tabClose" id=link139 onMouseOver="ShowTip(event, 'tt138', 'link139')" onMouseOut="HideTip('tt138')">tabClose</a></td><td class=SDescription>Tab close (click) event: Leave the room (groupchat) or simply close the tab (chat).</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Chat.allTabsClosed" id=link140 onMouseOver="ShowTip(event, 'tt139', 'link140')" onMouseOut="HideTip('tt139')">allTabsClosed</a></td><td class=SDescription>All tabs closed event: Disconnect from service. </td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Chat.fitTabs" id=link141 onMouseOver="ShowTip(event, 'tt140', 'link141')" onMouseOut="HideTip('tt140')">fitTabs</a></td><td class=SDescription>Fit tab size according to window size</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Chat.updateToolbar" id=link142 onMouseOver="ShowTip(event, 'tt141', 'link142')" onMouseOut="HideTip('tt141')">updateToolbar</a></td><td class=SDescription>Show toolbar</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Chat.adminMessage" id=link143 onMouseOver="ShowTip(event, 'tt142', 'link143')" onMouseOut="HideTip('tt142')">adminMessage</a></td><td class=SDescription>Display admin message</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Chat.infoMessage" id=link144 onMouseOver="ShowTip(event, 'tt143', 'link144')" onMouseOut="HideTip('tt143')">infoMessage</a></td><td class=SDescription>Display info message. </td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Chat.onInfoMessage" id=link145 onMouseOver="ShowTip(event, 'tt144', 'link145')" onMouseOut="HideTip('tt144')">onInfoMessage</a></td><td class=SDescription>Display info message. </td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Pane.Toolbar" >Candy.<wbr>View.<wbr>Pane.<wbr>Toolbar</a></td><td class=SDescription>Chat toolbar for things like emoticons toolbar, room management etc.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Pane.Toolbar.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Toolbar.show" id=link146 onMouseOver="ShowTip(event, 'tt145', 'link146')" onMouseOut="HideTip('tt145')">show</a></td><td class=SDescription>Show toolbar.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Toolbar.hide" id=link147 onMouseOver="ShowTip(event, 'tt146', 'link147')" onMouseOut="HideTip('tt146')">hide</a></td><td class=SDescription>Hide toolbar.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Toolbar.playSound" id=link148 onMouseOver="ShowTip(event, 'tt147', 'link148')" onMouseOut="HideTip('tt147')">playSound</a></td><td class=SDescription>Play sound (default method).</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Toolbar.onPlaySound" id=link149 onMouseOver="ShowTip(event, 'tt148', 'link149')" onMouseOut="HideTip('tt148')">onPlaySound</a></td><td class=SDescription>Sound play event handler.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Toolbar.onSoundControlClick" id=link150 onMouseOver="ShowTip(event, 'tt149', 'link150')" onMouseOut="HideTip('tt149')">onSoundControlClick</a></td><td class=SDescription>Sound control click event handler.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Toolbar.onAutoscrollControlClick" id=link151 onMouseOver="ShowTip(event, 'tt150', 'link151')" onMouseOut="HideTip('tt150')">onAutoscrollControlClick</a></td><td class=SDescription>Autoscroll control event handler.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Toolbar.onStatusMessageControlClick" id=link152 onMouseOver="ShowTip(event, 'tt151', 'link152')" onMouseOut="HideTip('tt151')">onStatusMessageControlClick</a></td><td class=SDescription>Status message control event handler.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Toolbar.updateUserCount" >updateUserCount</a></td><td class=SDescription>Update usercount element with count.</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Pane.Modal" >Candy.<wbr>View.<wbr>Pane.<wbr>Modal</a></td><td class=SDescription>Modal window</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Pane.Modal.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Modal.show" id=link153 onMouseOver="ShowTip(event, 'tt152', 'link153')" onMouseOut="HideTip('tt152')">show</a></td><td class=SDescription>Display modal window</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Modal.hide" id=link154 onMouseOver="ShowTip(event, 'tt153', 'link154')" onMouseOut="HideTip('tt153')">hide</a></td><td class=SDescription>Hide modal window</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Modal.showSpinner" id=link155 onMouseOver="ShowTip(event, 'tt154', 'link155')" onMouseOut="HideTip('tt154')">showSpinner</a></td><td class=SDescription>Show loading spinner</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Modal.hideSpinner" id=link156 onMouseOver="ShowTip(event, 'tt155', 'link156')" onMouseOut="HideTip('tt155')">hideSpinner</a></td><td class=SDescription>Hide loading spinner</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Modal.showCloseControl" id=link157 onMouseOver="ShowTip(event, 'tt156', 'link157')" onMouseOut="HideTip('tt156')">showCloseControl</a></td><td class=SDescription>Show a close button</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Modal.hideCloseControl" id=link158 onMouseOver="ShowTip(event, 'tt157', 'link158')" onMouseOut="HideTip('tt157')">hideCloseControl</a></td><td class=SDescription>Hide the close button</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Modal.showLoginForm" id=link159 onMouseOver="ShowTip(event, 'tt158', 'link159')" onMouseOut="HideTip('tt158')">showLoginForm</a></td><td class=SDescription>Show the login form modal</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Modal.showEnterPasswordForm" id=link160 onMouseOver="ShowTip(event, 'tt159', 'link160')" onMouseOut="HideTip('tt159')">showEnterPasswordForm</a></td><td class=SDescription>Shows a form for entering room password</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Modal.showNicknameConflictForm" id=link161 onMouseOver="ShowTip(event, 'tt160', 'link161')" onMouseOut="HideTip('tt160')">showNicknameConflictForm</a></td><td class=SDescription>Shows a form indicating that the nickname is already taken and for chosing a new nickname</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Modal.showError" id=link162 onMouseOver="ShowTip(event, 'tt161', 'link162')" onMouseOut="HideTip('tt161')">showError</a></td><td class=SDescription>Show modal containing error message</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Pane.Tooltip" >Candy.<wbr>View.<wbr>Pane.<wbr>Tooltip</a></td><td class=SDescription>Class to display tooltips over specific elements</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Pane.Tooltip.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Tooltip.show" id=link163 onMouseOver="ShowTip(event, 'tt162', 'link163')" onMouseOut="HideTip('tt162')">show</a></td><td class=SDescription>Show a tooltip on event.currentTarget with content specified or content within the target&rsquo;s attribute data-tooltip.</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Pane.Context" >Candy.<wbr>View.<wbr>Pane.<wbr>Context</a></td><td class=SDescription>Context menu for actions and settings</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Pane.Context.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Context.init" id=link164 onMouseOver="ShowTip(event, 'tt163', 'link164')" onMouseOut="HideTip('tt163')">init</a></td><td class=SDescription>Initialize context menu and setup mouseleave handler.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Context.show" id=link165 onMouseOver="ShowTip(event, 'tt164', 'link165')" onMouseOut="HideTip('tt164')">show</a></td><td class=SDescription>Show context menu (positions it according to the window height/width)</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Context.getMenuLinks" id=link166 onMouseOver="ShowTip(event, 'tt165', 'link166')" onMouseOut="HideTip('tt165')">getMenuLinks</a></td><td class=SDescription>Extends <a href="#Candy.View.Pane.Context.initialMenuLinks" class=LFunction id=link167 onMouseOver="ShowTip(event, 'tt166', 'link167')" onMouseOut="HideTip('tt166')">initialMenuLinks</a> with <a href="#Candy.View.Event.Roster.onContextMenu" class=LFunction id=link168 onMouseOver="ShowTip(event, 'tt111', 'link168')" onMouseOut="HideTip('tt111')">Candy.View.Event.Roster.onContextMenu</a> links and returns those.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Context.initialMenuLinks" id=link169 onMouseOver="ShowTip(event, 'tt166', 'link169')" onMouseOut="HideTip('tt166')">initialMenuLinks</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Context.showEmoticonsMenu" id=link170 onMouseOver="ShowTip(event, 'tt167', 'link170')" onMouseOut="HideTip('tt167')">showEmoticonsMenu</a></td><td class=SDescription>Shows the special emoticons menu</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Pane.Room" >Candy.<wbr>View.<wbr>Pane.Room</a></td><td class=SDescription>Everything which belongs to room view things belongs here.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Pane.Room.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Room.init" id=link171 onMouseOver="ShowTip(event, 'tt168', 'link171')" onMouseOut="HideTip('tt168')">init</a></td><td class=SDescription>Initialize a new room and inserts the room html into the DOM</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Room.show" id=link172 onMouseOver="ShowTip(event, 'tt169', 'link172')" onMouseOut="HideTip('tt169')">show</a></td><td class=SDescription>Show a specific room and hides the other rooms (if there are any)</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Room.setSubject" id=link173 onMouseOver="ShowTip(event, 'tt170', 'link173')" onMouseOut="HideTip('tt170')">setSubject</a></td><td class=SDescription>Called when someone changes the subject in the channel</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Room.close" id=link174 onMouseOver="ShowTip(event, 'tt171', 'link174')" onMouseOut="HideTip('tt171')">close</a></td><td class=SDescription>Close a room and remove everything in the DOM belonging to this room.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Room.appendToMessagePane" id=link175 onMouseOver="ShowTip(event, 'tt172', 'link175')" onMouseOut="HideTip('tt172')">appendToMessagePane</a></td><td class=SDescription>Append a new message to the message pane.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Room.sliceMessagePane" id=link176 onMouseOver="ShowTip(event, 'tt173', 'link176')" onMouseOut="HideTip('tt173')">sliceMessagePane</a></td><td class=SDescription>Slices the message pane after the max amount of messages specified in the Candy View options (limit setting).</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Room.scrollToBottom" id=link177 onMouseOver="ShowTip(event, 'tt174', 'link177')" onMouseOut="HideTip('tt174')">scrollToBottom</a></td><td class=SDescription>Scroll to bottom wrapper for <a href="#Candy.View.Pane.Room.onScrollToBottom" class=LFunction id=link178 onMouseOver="ShowTip(event, 'tt175', 'link178')" onMouseOut="HideTip('tt175')">onScrollToBottom</a> to be able to disable it by overwriting the function.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Room.onScrollToBottom" id=link179 onMouseOver="ShowTip(event, 'tt175', 'link179')" onMouseOut="HideTip('tt175')">onScrollToBottom</a></td><td class=SDescription>Scrolls to the latest message received/sent.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Room.onScrollToStoredPosition" id=link180 onMouseOver="ShowTip(event, 'tt176', 'link180')" onMouseOut="HideTip('tt176')">onScrollToStoredPosition</a></td><td class=SDescription>When autoscroll is off, the position where the scrollbar is has to be stored for each room, because it otherwise goes to the top in the message window.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Room.setFocusToForm" id=link181 onMouseOver="ShowTip(event, 'tt177', 'link181')" onMouseOut="HideTip('tt177')">setFocusToForm</a></td><td class=SDescription>Set focus to the message input field within the message form.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Room.setUser" id=link182 onMouseOver="ShowTip(event, 'tt178', 'link182')" onMouseOut="HideTip('tt178')">setUser</a></td><td class=SDescription>Sets or updates the current user in the specified room (called by &lt;Candy.View.Pane.Roster.update&gt;) and set specific informations (roles and affiliations) on the room tab (chat-pane).</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Room.getUser" id=link183 onMouseOver="ShowTip(event, 'tt179', 'link183')" onMouseOut="HideTip('tt179')">getUser</a></td><td class=SDescription>Get the current user in the room specified with the jid</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Room.ignoreUser" id=link184 onMouseOver="ShowTip(event, 'tt180', 'link184')" onMouseOut="HideTip('tt180')">ignoreUser</a></td><td class=SDescription>Ignore specified user and add the ignore icon to the roster item of the user</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Room.unignoreUser" id=link185 onMouseOver="ShowTip(event, 'tt181', 'link185')" onMouseOut="HideTip('tt181')">unignoreUser</a></td><td class=SDescription>Unignore an ignored user and remove the ignore icon of the roster item.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Room.addIgnoreIcon" id=link186 onMouseOver="ShowTip(event, 'tt182', 'link186')" onMouseOut="HideTip('tt182')">addIgnoreIcon</a></td><td class=SDescription>Add the ignore icon to the roster item of the specified user</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Room.removeIgnoreIcon" id=link187 onMouseOver="ShowTip(event, 'tt183', 'link187')" onMouseOut="HideTip('tt183')">removeIgnoreIcon</a></td><td class=SDescription>Remove the ignore icon to the roster item of the specified user</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Room.getPane" id=link188 onMouseOver="ShowTip(event, 'tt184', 'link188')" onMouseOut="HideTip('tt184')">getPane</a></td><td class=SDescription>Get the chat room pane or a subPane of it (if subPane is specified)</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Pane.PrivateRoom" >Candy.<wbr>View.<wbr>Pane.<wbr>PrivateRoom</a></td><td class=SDescription>Private room handling</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Pane.PrivateRoom.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.PrivateRoom.open" id=link189 onMouseOver="ShowTip(event, 'tt185', 'link189')" onMouseOut="HideTip('tt185')">open</a></td><td class=SDescription>Opens a new private room</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.PrivateRoom.setStatus" id=link190 onMouseOver="ShowTip(event, 'tt186', 'link190')" onMouseOut="HideTip('tt186')">setStatus</a></td><td class=SDescription>Set offline or online status for private rooms (when one of the participants leaves the room)</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.PrivateRoom.update" id=link191 onMouseOver="ShowTip(event, 'tt187', 'link191')" onMouseOut="HideTip('tt187')">update</a></td><td class=SDescription>Called by <a href="#Candy.View.Observer.Presence.update" class=LFunction id=link192 onMouseOver="ShowTip(event, 'tt117', 'link192')" onMouseOut="HideTip('tt117')">Candy.View.Observer.Presence.update</a> to update the roster if needed. </td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.PrivateRoom.userClick" id=link193 onMouseOver="ShowTip(event, 'tt188', 'link193')" onMouseOut="HideTip('tt188')">userClick</a></td><td class=SDescription>Click handler for opening a private room</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.PrivateRoom.joinAnimation" id=link194 onMouseOver="ShowTip(event, 'tt189', 'link194')" onMouseOut="HideTip('tt189')">joinAnimation</a></td><td class=SDescription>Animates specified elementId on join</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.PrivateRoom.leaveAnimation" id=link195 onMouseOver="ShowTip(event, 'tt190', 'link195')" onMouseOut="HideTip('tt190')">leaveAnimation</a></td><td class=SDescription>Leave animation for specified element id and removes the DOM element on completion.</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Pane.Message" >Candy.<wbr>View.<wbr>Pane.<wbr>Message</a></td><td class=SDescription>Message submit/show handling</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Pane.Message.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Message.submit" id=link196 onMouseOver="ShowTip(event, 'tt191', 'link196')" onMouseOut="HideTip('tt191')">submit</a></td><td class=SDescription>on submit handler for message field sends the message to the server and if it&rsquo;s a private chat, shows the message immediately because the server doesn&rsquo;t send back those message.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Message.show" id=link197 onMouseOver="ShowTip(event, 'tt192', 'link197')" onMouseOut="HideTip('tt192')">show</a></td><td class=SDescription>Show a message in the message pane</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Pane.Message.Files" >Files</a></td><td class=SDescription></td></tr><tr class="SFile SIndent2 SMarked"><td class=SEntry><a href="#template.js" >template.js</a></td><td class=SDescription></td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Template" >Candy.<wbr>View.<wbr>Template</a></td><td class=SDescription>Contains mustache.js templates</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Template.Files" >Files</a></td><td class=SDescription></td></tr><tr class="SFile SIndent2 SMarked"><td class=SEntry><a href="#translation.js" >translation.js</a></td><td class=SDescription></td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Translation" >Candy.<wbr>View.<wbr>Translation</a></td><td class=SDescription>Contains translations</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
+<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="candy.js"></a>candy.js</h1><div class=CBody><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>Candy</td><td class=CDLDescription>Chats are not dead yet.</td></tr></table><h4 class=CHeading>Authors</h4><ul><li>Patrick Stadler <a href="#" onClick="location.href='mai' + 'lto:' + 'patrick' + '.stadler' + '@' + 'gmai' + 'l.com'; return false;" class=LEMail>patrick<span style="display: none">.nosp@m.</span>.stadler<span>@</span>gmai<span style="display: none">.nosp@m.</span>l.com</a></li><li>Michael Weibel <a href="#" onClick="location.href='mai' + 'lto:' + 'michael' + '.weibel' + '@' + 'gmai' + 'l.com'; return false;" class=LEMail>michael<span style="display: none">.nosp@m.</span>.weibel<span>@</span>gmai<span style="display: none">.nosp@m.</span>l.com</a></li></ul><h4 class=CHeading>Copyright</h4><p>&copy; 2011 Amiado Group AG.&nbsp; All rights reserved.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#candy.js" >candy.js</a></td><td class=SDescription></td></tr><tr class="SClass"><td class=SEntry><a href="#Candy" >Candy</a></td><td class=SDescription>Candy base class for initalizing the view and the core</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Variables" >Variables</a></td><td class=SDescription></td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#Candy.about" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">about</a></td><td class=SDescription>About candy</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.init" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">init</a></td><td class=SDescription>Init view &amp; core</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Files" >Files</a></td><td class=SDescription></td></tr><tr class="SFile SIndent2 SMarked"><td class=SEntry><a href="#core.js" >core.js</a></td><td class=SDescription></td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.Core" >Candy.Core</a></td><td class=SDescription>Candy Chat Core</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.Variables" >Variables</a></td><td class=SDescription></td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.autojoin" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">autojoin</a></td><td class=SDescription>If set to `true` try to get the bookmarks and autojoin the rooms (supported by Openfire). </td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.init" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">init</a></td><td class=SDescription>Initialize Core.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.connect" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">connect</a></td><td class=SDescription>Connect to the jabber host.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.attach" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')">attach</a></td><td class=SDescription>Attach an already binded &amp; connected session to the server</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.disconnect" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')">disconnect</a></td><td class=SDescription>Leave all rooms and disconnect</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.addHandler" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')">addHandler</a></td><td class=SDescription>Wrapper for Strophe.Connection.addHandler() to add a stanza handler for the connection.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.getUser" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')">getUser</a></td><td class=SDescription>Gets current user</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.setUser" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')">setUser</a></td><td class=SDescription>Set current user. </td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.getConnection" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')">getConnection</a></td><td class=SDescription>Gets Strophe connection</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.getRooms" id=link12 onMouseOver="ShowTip(event, 'tt12', 'link12')" onMouseOut="HideTip('tt12')">getRooms</a></td><td class=SDescription>Gets all joined rooms</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.isAnonymousConnection" id=link13 onMouseOver="ShowTip(event, 'tt13', 'link13')" onMouseOut="HideTip('tt13')">isAnonymousConnection</a></td><td class=SDescription>Returns true if <a href="#Candy.Core.connect" class=LFunction id=link14 onMouseOver="ShowTip(event, 'tt5', 'link14')" onMouseOut="HideTip('tt5')">Candy.Core.connect</a> was first called with a domain instead of a jid as the first param.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.getOptions" id=link15 onMouseOver="ShowTip(event, 'tt14', 'link15')" onMouseOut="HideTip('tt14')">getOptions</a></td><td class=SDescription>Gets options</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.getRoom" id=link16 onMouseOver="ShowTip(event, 'tt15', 'link16')" onMouseOut="HideTip('tt15')">getRoom</a></td><td class=SDescription>Gets a specific room</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.onWindowUnload" id=link17 onMouseOver="ShowTip(event, 'tt16', 'link17')" onMouseOut="HideTip('tt16')">onWindowUnload</a></td><td class=SDescription>window.onbeforeunload event which disconnects the client from the Jabber server.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.rawInput" id=link18 onMouseOver="ShowTip(event, 'tt17', 'link18')" onMouseOut="HideTip('tt17')">rawInput</a></td><td class=SDescription>(Overridden from Strophe.Connection.rawInput)</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.log" id=link19 onMouseOver="ShowTip(event, 'tt18', 'link19')" onMouseOut="HideTip('tt18')">log</a></td><td class=SDescription>Overridden to do something useful if debug is set to true.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.Files" >Files</a></td><td class=SDescription></td></tr><tr class="SFile SIndent2 SMarked"><td class=SEntry><a href="#view.js" >view.js</a></td><td class=SDescription></td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View" >Candy.View</a></td><td class=SDescription>The Candy View Class</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.init" id=link20 onMouseOver="ShowTip(event, 'tt19', 'link20')" onMouseOut="HideTip('tt19')">init</a></td><td class=SDescription>Initialize chat view (setup DOM, register handlers &amp; observers)</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.getCurrent" id=link21 onMouseOver="ShowTip(event, 'tt20', 'link21')" onMouseOut="HideTip('tt20')">getCurrent</a></td><td class=SDescription>Get current container &amp; roomJid in an object.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.getOptions" id=link22 onMouseOver="ShowTip(event, 'tt21', 'link22')" onMouseOut="HideTip('tt21')">getOptions</a></td><td class=SDescription>Gets options</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Files" >Files</a></td><td class=SDescription></td></tr><tr class="SFile SIndent2 SMarked"><td class=SEntry><a href="#util.js" >util.js</a></td><td class=SDescription></td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.Util" >Candy.Util</a></td><td class=SDescription>Candy utils</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Util.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Util.jidToId" id=link23 onMouseOver="ShowTip(event, 'tt22', 'link23')" onMouseOut="HideTip('tt22')">jidToId</a></td><td class=SDescription>Translates a jid to a MD5-Id</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Util.escapeJid" id=link24 onMouseOver="ShowTip(event, 'tt23', 'link24')" onMouseOut="HideTip('tt23')">escapeJid</a></td><td class=SDescription>Escapes a jid (node &amp; resource get escaped)</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Util.unescapeJid" id=link25 onMouseOver="ShowTip(event, 'tt24', 'link25')" onMouseOut="HideTip('tt24')">unescapeJid</a></td><td class=SDescription>Unescapes a jid (node &amp; resource get unescaped)</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Util.crop" id=link26 onMouseOver="ShowTip(event, 'tt25', 'link26')" onMouseOut="HideTip('tt25')">crop</a></td><td class=SDescription>Crop a string with the specified length</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Util.setCookie" id=link27 onMouseOver="ShowTip(event, 'tt26', 'link27')" onMouseOut="HideTip('tt26')">setCookie</a></td><td class=SDescription>Sets a new cookie</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Util.cookieExists" id=link28 onMouseOver="ShowTip(event, 'tt27', 'link28')" onMouseOut="HideTip('tt27')">cookieExists</a></td><td class=SDescription>Tests if a cookie with the given name exists</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Util.getCookie" id=link29 onMouseOver="ShowTip(event, 'tt28', 'link29')" onMouseOut="HideTip('tt28')">getCookie</a></td><td class=SDescription>Returns the cookie value if there&rsquo;s one with this name, otherwise returns undefined</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Util.deleteCookie" id=link30 onMouseOver="ShowTip(event, 'tt29', 'link30')" onMouseOut="HideTip('tt29')">deleteCookie</a></td><td class=SDescription>Deletes a cookie with the given name</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Util.getPosLeftAccordingToWindowBounds" id=link31 onMouseOver="ShowTip(event, 'tt30', 'link31')" onMouseOut="HideTip('tt30')">getPosLeftAccordingToWindowBounds</a></td><td class=SDescription>Fetches the window width and element width and checks if specified position + element width is bigger than the window width.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Util.getPosTopAccordingToWindowBounds" id=link32 onMouseOver="ShowTip(event, 'tt31', 'link32')" onMouseOut="HideTip('tt31')">getPosTopAccordingToWindowBounds</a></td><td class=SDescription>Fetches the window height and element height and checks if specified position + element height is bigger than the window height.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Util.localizedTime" id=link33 onMouseOver="ShowTip(event, 'tt32', 'link33')" onMouseOut="HideTip('tt32')">localizedTime</a></td><td class=SDescription>Localizes ISO-8610 Date with the time/dateformat specified in the translation.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Util.iso8610toDate" >iso8610toDate</a></td><td class=SDescription>Parses a ISO-8610 Date to a Date-Object.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Util.isEmptyObject" id=link34 onMouseOver="ShowTip(event, 'tt33', 'link34')" onMouseOut="HideTip('tt33')">isEmptyObject</a></td><td class=SDescription>IE7 doesn&rsquo;t work with jQuery.isEmptyObject (&lt;=1.5.1), workaround.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Util.forceRedraw" id=link35 onMouseOver="ShowTip(event, 'tt34', 'link35')" onMouseOut="HideTip('tt34')">forceRedraw</a></td><td class=SDescription>Fix IE7 not redrawing under some circumstances.</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.Util.Parser" >Candy.<wbr>Util.<wbr>Parser</a></td><td class=SDescription>Parser for emoticons, links and also supports escaping.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Util.Parser.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Util.Parser.setEmoticonPath" id=link36 onMouseOver="ShowTip(event, 'tt35', 'link36')" onMouseOut="HideTip('tt35')">setEmoticonPath</a></td><td class=SDescription>Set emoticons location.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Util.Parser.Variables" >Variables</a></td><td class=SDescription></td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#Candy.Util.Parser.emoticons" >emoticons</a></td><td class=SDescription>Array containing emoticons to be replaced by their images.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Util.Parser.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Util.Parser.emotify" id=link37 onMouseOver="ShowTip(event, 'tt36', 'link37')" onMouseOut="HideTip('tt36')">emotify</a></td><td class=SDescription>Replaces text-emoticons with their image equivalent.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Util.Parser.linkify" id=link38 onMouseOver="ShowTip(event, 'tt37', 'link38')" onMouseOut="HideTip('tt37')">linkify</a></td><td class=SDescription>Replaces URLs with a HTML-link.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Util.Parser.escape" id=link39 onMouseOver="ShowTip(event, 'tt38', 'link39')" onMouseOut="HideTip('tt38')">escape</a></td><td class=SDescription>Escapes a text using a jQuery function (like htmlspecialchars in PHP)</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Util.Parser.all" id=link40 onMouseOver="ShowTip(event, 'tt39', 'link40')" onMouseOut="HideTip('tt39')">all</a></td><td class=SDescription>Does everything of the parser: escaping, linkifying and emotifying.</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.Util.Observable" >Candy.<wbr>Util.<wbr>Observable</a></td><td class=SDescription>A class can be extended with the observable to be able to notify observers</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Util.Observable.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Util.Observable.addObserver" id=link41 onMouseOver="ShowTip(event, 'tt40', 'link41')" onMouseOut="HideTip('tt40')">addObserver</a></td><td class=SDescription>Add an observer to the observer list</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Util.Observable.deleteObserver" id=link42 onMouseOver="ShowTip(event, 'tt41', 'link42')" onMouseOut="HideTip('tt41')">deleteObserver</a></td><td class=SDescription>Delete observer from list</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Util.Observable.clearObservers" id=link43 onMouseOver="ShowTip(event, 'tt42', 'link43')" onMouseOut="HideTip('tt42')">clearObservers</a></td><td class=SDescription>Deletes all observers in list</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Util.Observable.notifyObservers" id=link44 onMouseOver="ShowTip(event, 'tt43', 'link44')" onMouseOut="HideTip('tt43')">notifyObservers</a></td><td class=SDescription>Notify all of its observers of a certain event.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Util.Observable.Files" >Files</a></td><td class=SDescription></td></tr><tr class="SFile SIndent2 SMarked"><td class=SEntry><a href="#action.js" >action.js</a></td><td class=SDescription></td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.Core.Action" >Candy.<wbr>Core.<wbr>Action</a></td><td class=SDescription>Chat Actions (basicly a abstraction of Jabber commands)</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.Core.Action.Jabber" >Candy.<wbr>Core.<wbr>Action.<wbr>Jabber</a></td><td class=SDescription>Jabber actions</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.Action.Jabber.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.Action.Jabber.Version" id=link45 onMouseOver="ShowTip(event, 'tt44', 'link45')" onMouseOut="HideTip('tt44')">Version</a></td><td class=SDescription>Replies to a version request</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.Action.Jabber.Roster" id=link46 onMouseOver="ShowTip(event, 'tt45', 'link46')" onMouseOut="HideTip('tt45')">Roster</a></td><td class=SDescription>Sends a request for a roster</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.Action.Jabber.Presence" id=link47 onMouseOver="ShowTip(event, 'tt46', 'link47')" onMouseOut="HideTip('tt46')">Presence</a></td><td class=SDescription>Sends a request for presence</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.Action.Jabber.Services" id=link48 onMouseOver="ShowTip(event, 'tt47', 'link48')" onMouseOut="HideTip('tt47')">Services</a></td><td class=SDescription>Sends a request for disco items</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.Action.Jabber.Autojoin" id=link49 onMouseOver="ShowTip(event, 'tt48', 'link49')" onMouseOut="HideTip('tt48')">Autojoin</a></td><td class=SDescription>When Candy.Core.getOptions().autojoin is true, request autojoin bookmarks (OpenFire)</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.Action.Jabber.ResetIgnoreList" id=link50 onMouseOver="ShowTip(event, 'tt49', 'link50')" onMouseOut="HideTip('tt49')">ResetIgnoreList</a></td><td class=SDescription>Create new ignore privacy list (and reset the old one, if it exists).</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.Action.Jabber.RemoveIgnoreList" id=link51 onMouseOver="ShowTip(event, 'tt50', 'link51')" onMouseOut="HideTip('tt50')">RemoveIgnoreList</a></td><td class=SDescription>Remove an existing ignore list.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.Action.Jabber.GetIgnoreList" id=link52 onMouseOver="ShowTip(event, 'tt51', 'link52')" onMouseOut="HideTip('tt51')">GetIgnoreList</a></td><td class=SDescription>Get existing ignore privacy list when connecting.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.Action.Jabber.SetIgnoreListActive" id=link53 onMouseOver="ShowTip(event, 'tt52', 'link53')" onMouseOut="HideTip('tt52')">SetIgnoreListActive</a></td><td class=SDescription>Set ignore privacy list active</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.Action.Jabber.GetJidIfAnonymous" id=link54 onMouseOver="ShowTip(event, 'tt53', 'link54')" onMouseOut="HideTip('tt53')">GetJidIfAnonymous</a></td><td class=SDescription>On anonymous login, initially we don&rsquo;t know the jid and as a result, Candy.Core._user doesn&rsquo;t have a jid. </td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.Core.Action.Jabber.Room" >Candy.<wbr>Core.<wbr>Action.<wbr>Jabber.Room</a></td><td class=SDescription>Room-specific commands</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.Action.Jabber.Room.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.Action.Jabber.Room.Join" id=link55 onMouseOver="ShowTip(event, 'tt54', 'link55')" onMouseOut="HideTip('tt54')">Join</a></td><td class=SDescription>Requests disco of specified room and joins afterwards.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.Action.Jabber.Room.Leave" id=link56 onMouseOver="ShowTip(event, 'tt55', 'link56')" onMouseOut="HideTip('tt55')">Leave</a></td><td class=SDescription>Leaves a room.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.Action.Jabber.Room.Disco" id=link57 onMouseOver="ShowTip(event, 'tt56', 'link57')" onMouseOut="HideTip('tt56')">Disco</a></td><td class=SDescription>Requests <a href="http://xmpp.org/extensions/xep-0045.html#disco-roominfo" class=LURL target=_top>disco info of a room</a>.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.Action.Jabber.Room.Message" id=link58 onMouseOver="ShowTip(event, 'tt57', 'link58')" onMouseOut="HideTip('tt57')">Message</a></td><td class=SDescription>Send message</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.Action.Jabber.Room.IgnoreUnignore" id=link59 onMouseOver="ShowTip(event, 'tt58', 'link59')" onMouseOut="HideTip('tt58')">IgnoreUnignore</a></td><td class=SDescription>Checks if the user is already ignoring the target user, if yes: unignore him, if no: ignore him.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.Action.Jabber.Room.UpdatePrivacyList" id=link60 onMouseOver="ShowTip(event, 'tt59', 'link60')" onMouseOut="HideTip('tt59')">UpdatePrivacyList</a></td><td class=SDescription>Updates privacy list according to the privacylist in the currentUser</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.Core.Action.Jabber.Room.Admin" >Candy.<wbr>Core.<wbr>Action.<wbr>Jabber.<wbr>Room.<wbr>Admin</a></td><td class=SDescription>Room administration commands</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.Action.Jabber.Room.Admin.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.Action.Jabber.Room.Admin.UserAction" id=link61 onMouseOver="ShowTip(event, 'tt60', 'link61')" onMouseOut="HideTip('tt60')">UserAction</a></td><td class=SDescription>Kick or ban a user</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.Action.Jabber.Room.Admin.SetSubject" id=link62 onMouseOver="ShowTip(event, 'tt61', 'link62')" onMouseOut="HideTip('tt61')">SetSubject</a></td><td class=SDescription>Sets subject (topic) of a room.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.Action.Jabber.Room.Admin.Files" >Files</a></td><td class=SDescription></td></tr><tr class="SFile SIndent2 SMarked"><td class=SEntry><a href="#chatRoom.js" >chatRoom.js</a></td><td class=SDescription></td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.Core.ChatRoom" >Candy.<wbr>Core.<wbr>ChatRoom</a></td><td class=SDescription>Candy Chat Room</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.ChatRoom.Variables" >Variables</a></td><td class=SDescription></td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.ChatRoom.room" id=link63 onMouseOver="ShowTip(event, 'tt62', 'link63')" onMouseOut="HideTip('tt62')">room</a></td><td class=SDescription>Object containing roomJid and name.</td></tr><tr class="SVariable SIndent2"><td class=SEntry><a href="#Candy.Core.ChatRoom.user" id=link64 onMouseOver="ShowTip(event, 'tt63', 'link64')" onMouseOut="HideTip('tt63')">user</a></td><td class=SDescription>Current local user of this room.</td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.ChatRoom.Roster" >Roster</a></td><td class=SDescription>Candy.Core.ChatRoster instance</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.ChatRoom.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.ChatRoom.setUser" id=link65 onMouseOver="ShowTip(event, 'tt64', 'link65')" onMouseOut="HideTip('tt64')">setUser</a></td><td class=SDescription>Set user of this room.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.ChatRoom.getUser" id=link66 onMouseOver="ShowTip(event, 'tt65', 'link66')" onMouseOut="HideTip('tt65')">getUser</a></td><td class=SDescription>Get current local user</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.ChatRoom.getJid" id=link67 onMouseOver="ShowTip(event, 'tt66', 'link67')" onMouseOut="HideTip('tt66')">getJid</a></td><td class=SDescription>Get room jid</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.ChatRoom.setName" id=link68 onMouseOver="ShowTip(event, 'tt67', 'link68')" onMouseOut="HideTip('tt67')">setName</a></td><td class=SDescription>Set room name</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.ChatRoom.getName" id=link69 onMouseOver="ShowTip(event, 'tt68', 'link69')" onMouseOut="HideTip('tt68')">getName</a></td><td class=SDescription>Get room name</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.ChatRoom.setRoster" id=link70 onMouseOver="ShowTip(event, 'tt69', 'link70')" onMouseOut="HideTip('tt69')">setRoster</a></td><td class=SDescription>Set roster of room</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.ChatRoom.getRoster" id=link71 onMouseOver="ShowTip(event, 'tt70', 'link71')" onMouseOut="HideTip('tt70')">getRoster</a></td><td class=SDescription>Get roster</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.ChatRoom.Files" >Files</a></td><td class=SDescription></td></tr><tr class="SFile SIndent2 SMarked"><td class=SEntry><a href="#chatRoster.js" >chatRoster.js</a></td><td class=SDescription></td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.Core.ChatRoster" >Candy.<wbr>Core.<wbr>ChatRoster</a></td><td class=SDescription>Chat Roster</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.ChatRoster.Variables" >Variables</a></td><td class=SDescription></td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.ChatRoster.items" id=link72 onMouseOver="ShowTip(event, 'tt71', 'link72')" onMouseOut="HideTip('tt71')">items</a></td><td class=SDescription>Roster items</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.ChatRoster.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.ChatRoster.add" id=link73 onMouseOver="ShowTip(event, 'tt72', 'link73')" onMouseOut="HideTip('tt72')">add</a></td><td class=SDescription>Add user to roster</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.ChatRoster.remove" id=link74 onMouseOver="ShowTip(event, 'tt73', 'link74')" onMouseOut="HideTip('tt73')">remove</a></td><td class=SDescription>Remove user from roster</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.ChatRoster.get" id=link75 onMouseOver="ShowTip(event, 'tt74', 'link75')" onMouseOut="HideTip('tt74')">get</a></td><td class=SDescription>Get user from roster</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.ChatRoster.getAll" id=link76 onMouseOver="ShowTip(event, 'tt75', 'link76')" onMouseOut="HideTip('tt75')">getAll</a></td><td class=SDescription>Get all items</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.ChatRoster.Files" >Files</a></td><td class=SDescription></td></tr><tr class="SFile SIndent2 SMarked"><td class=SEntry><a href="#chatUser.js" >chatUser.js</a></td><td class=SDescription></td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.Core.ChatUser" >Candy.<wbr>Core.<wbr>ChatUser</a></td><td class=SDescription>Chat User</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.ChatUser.Constants" >Constants</a></td><td class=SDescription></td></tr><tr class="SConstant SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.ChatUser.ROLE_MODERATOR" >ROLE_MODERATOR</a></td><td class=SDescription>Moderator role</td></tr><tr class="SConstant SIndent2"><td class=SEntry><a href="#Candy.Core.ChatUser.AFFILIATION_OWNER" >AFFILIATION_OWNER</a></td><td class=SDescription>Affiliation owner</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.ChatUser.Variables" >Variables</a></td><td class=SDescription></td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.ChatUser.data" id=link77 onMouseOver="ShowTip(event, 'tt76', 'link77')" onMouseOut="HideTip('tt76')">data</a></td><td class=SDescription></td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.ChatUser.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.ChatUser.getJid" id=link78 onMouseOver="ShowTip(event, 'tt77', 'link78')" onMouseOut="HideTip('tt77')">getJid</a></td><td class=SDescription>Gets an unescaped user jid</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.ChatUser.getEscapedJid" id=link79 onMouseOver="ShowTip(event, 'tt78', 'link79')" onMouseOut="HideTip('tt78')">getEscapedJid</a></td><td class=SDescription>Escapes the user&rsquo;s jid (node &amp; resource get escaped)</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.ChatUser.getNick" id=link80 onMouseOver="ShowTip(event, 'tt79', 'link80')" onMouseOut="HideTip('tt79')">getNick</a></td><td class=SDescription>Gets user nick</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.ChatUser.getRole" id=link81 onMouseOver="ShowTip(event, 'tt80', 'link81')" onMouseOut="HideTip('tt80')">getRole</a></td><td class=SDescription>Gets user role</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.ChatUser.getAffiliation" id=link82 onMouseOver="ShowTip(event, 'tt81', 'link82')" onMouseOut="HideTip('tt81')">getAffiliation</a></td><td class=SDescription>Gets user affiliation</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.ChatUser.isModerator" id=link83 onMouseOver="ShowTip(event, 'tt82', 'link83')" onMouseOut="HideTip('tt82')">isModerator</a></td><td class=SDescription>Check if user is moderator. </td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.ChatUser.addToOrRemoveFromPrivacyList" id=link84 onMouseOver="ShowTip(event, 'tt83', 'link84')" onMouseOut="HideTip('tt83')">addToOrRemoveFromPrivacyList</a></td><td class=SDescription>Convenience function for adding/removing users from ignore list.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.ChatUser.getPrivacyList" id=link85 onMouseOver="ShowTip(event, 'tt84', 'link85')" onMouseOut="HideTip('tt84')">getPrivacyList</a></td><td class=SDescription>Returns the privacy list of the listname of the param.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.ChatUser.isInPrivacyList" id=link86 onMouseOver="ShowTip(event, 'tt85', 'link86')" onMouseOut="HideTip('tt85')">isInPrivacyList</a></td><td class=SDescription>Tests if this user ignores the user provided by jid.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.ChatUser.setCustomData" id=link87 onMouseOver="ShowTip(event, 'tt86', 'link87')" onMouseOut="HideTip('tt86')">setCustomData</a></td><td class=SDescription>Stores custom data</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.ChatUser.getCustomData" id=link88 onMouseOver="ShowTip(event, 'tt87', 'link88')" onMouseOut="HideTip('tt87')">getCustomData</a></td><td class=SDescription>Retrieve custom data</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.ChatUser.Files" >Files</a></td><td class=SDescription></td></tr><tr class="SFile SIndent2 SMarked"><td class=SEntry><a href="#event.js" >event.js</a></td><td class=SDescription></td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.Core.Event" >Candy.<wbr>Core.<wbr>Event</a></td><td class=SDescription>Chat Events</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.Event.Enumerations" >Enumerations</a></td><td class=SDescription></td></tr><tr class="SEnumeration SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.Event.KEYS" >KEYS</a></td><td class=SDescription>Observer keys</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.Core.Event.Strophe" >Candy.<wbr>Core.<wbr>Event.<wbr>Strophe</a></td><td class=SDescription>Strophe-related events</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.Event.Strophe.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.Event.Strophe.Connect" id=link89 onMouseOver="ShowTip(event, 'tt88', 'link89')" onMouseOut="HideTip('tt88')">Connect</a></td><td class=SDescription>Acts on strophe status events and notifies view.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.Event.Strophe.Login" id=link90 onMouseOver="ShowTip(event, 'tt89', 'link90')" onMouseOut="HideTip('tt89')">Login</a></td><td class=SDescription>Notify view that the login window should be displayed</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.Core.Event.Jabber" >Candy.<wbr>Core.<wbr>Event.<wbr>Jabber</a></td><td class=SDescription>Jabber related events</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.Event.Jabber.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.Event.Jabber.Version" id=link91 onMouseOver="ShowTip(event, 'tt90', 'link91')" onMouseOut="HideTip('tt90')">Version</a></td><td class=SDescription>Responds to a version request</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.Event.Jabber.Presence" id=link92 onMouseOver="ShowTip(event, 'tt91', 'link92')" onMouseOut="HideTip('tt91')">Presence</a></td><td class=SDescription>Acts on a presence event</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.Event.Jabber.Bookmarks" id=link93 onMouseOver="ShowTip(event, 'tt92', 'link93')" onMouseOut="HideTip('tt92')">Bookmarks</a></td><td class=SDescription>Acts on a bookmarks event. </td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.Event.Jabber.PrivacyList" id=link94 onMouseOver="ShowTip(event, 'tt93', 'link94')" onMouseOut="HideTip('tt93')">PrivacyList</a></td><td class=SDescription>Acts on a privacy list event and sets up the current privacy list of this user.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.Event.Jabber.PrivacyListError" id=link95 onMouseOver="ShowTip(event, 'tt94', 'link95')" onMouseOut="HideTip('tt94')">PrivacyListError</a></td><td class=SDescription>Acts when a privacy list error has been received.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.Event.Jabber.Message" id=link96 onMouseOver="ShowTip(event, 'tt95', 'link96')" onMouseOut="HideTip('tt95')">Message</a></td><td class=SDescription>Acts on room, admin and server messages and notifies the view if required.</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.Core.Event.Jabber.Room" >Candy.<wbr>Core.<wbr>Event.<wbr>Jabber.Room</a></td><td class=SDescription>Room specific events</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.Event.Jabber.Room.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.Event.Jabber.Room.Leave" id=link97 onMouseOver="ShowTip(event, 'tt96', 'link97')" onMouseOut="HideTip('tt96')">Leave</a></td><td class=SDescription>Leaves a room and cleans up related data and notifies view.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.Event.Jabber.Room.Disco" id=link98 onMouseOver="ShowTip(event, 'tt97', 'link98')" onMouseOut="HideTip('tt97')">Disco</a></td><td class=SDescription>Sets informations to rooms according to the disco info received.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.Event.Jabber.Room.Presence" id=link99 onMouseOver="ShowTip(event, 'tt98', 'link99')" onMouseOut="HideTip('tt98')">Presence</a></td><td class=SDescription>Acts on various presence messages (room leaving, room joining, error presence) and notifies view.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.Event.Jabber.Room.PresenceError" id=link100 onMouseOver="ShowTip(event, 'tt99', 'link100')" onMouseOut="HideTip('tt99')">PresenceError</a></td><td class=SDescription>Acts when a presence of type error has been retrieved.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.Event.Jabber.Room.Message" id=link101 onMouseOver="ShowTip(event, 'tt100', 'link101')" onMouseOut="HideTip('tt100')">Message</a></td><td class=SDescription>Acts on various message events (subject changed, private chat message, multi-user chat message) and notifies view.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.Event.Jabber.Room.Files" >Files</a></td><td class=SDescription></td></tr><tr class="SFile SIndent2 SMarked"><td class=SEntry><a href="#event.js" >event.js</a></td><td class=SDescription></td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Event" >Candy.<wbr>View.<wbr>Event</a></td><td class=SDescription>Empty hooks to capture events and inject custom code.</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Event.Chat" >Candy.<wbr>View.<wbr>Event.Chat</a></td><td class=SDescription>Chat-related events</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Event.Chat.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Event.Chat.onAdminMessage" id=link102 onMouseOver="ShowTip(event, 'tt101', 'link102')" onMouseOut="HideTip('tt101')">onAdminMessage</a></td><td class=SDescription>Called when receiving admin messages</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Event.Chat.onDisconnect" id=link103 onMouseOver="ShowTip(event, 'tt102', 'link103')" onMouseOut="HideTip('tt102')">onDisconnect</a></td><td class=SDescription>Called when client disconnects</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Event.Chat.onAuthfail" id=link104 onMouseOver="ShowTip(event, 'tt103', 'link104')" onMouseOut="HideTip('tt103')">onAuthfail</a></td><td class=SDescription>Called when authentication fails</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Event.Room" >Candy.<wbr>View.<wbr>Event.Room</a></td><td class=SDescription>Room-related events</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Event.Room.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Event.Room.onAdd" id=link105 onMouseOver="ShowTip(event, 'tt104', 'link105')" onMouseOut="HideTip('tt104')">onAdd</a></td><td class=SDescription>Called when a new room gets added</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Event.Room.onShow" id=link106 onMouseOver="ShowTip(event, 'tt105', 'link106')" onMouseOut="HideTip('tt105')">onShow</a></td><td class=SDescription>Called when a room gets shown</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Event.Room.onHide" id=link107 onMouseOver="ShowTip(event, 'tt106', 'link107')" onMouseOut="HideTip('tt106')">onHide</a></td><td class=SDescription>Called when a room gets hidden</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Event.Room.onSubjectChange" id=link108 onMouseOver="ShowTip(event, 'tt107', 'link108')" onMouseOut="HideTip('tt107')">onSubjectChange</a></td><td class=SDescription>Called when a subject of a room gets changed</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Event.Room.onClose" id=link109 onMouseOver="ShowTip(event, 'tt108', 'link109')" onMouseOut="HideTip('tt108')">onClose</a></td><td class=SDescription>Called after a room has been left/closed</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Event.Room.onPresenceChange" id=link110 onMouseOver="ShowTip(event, 'tt109', 'link110')" onMouseOut="HideTip('tt109')">onPresenceChange</a></td><td class=SDescription>Called when presence of user changes (kick, ban)</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Event.Roster" >Candy.<wbr>View.<wbr>Event.<wbr>Roster</a></td><td class=SDescription>Roster-related events</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Event.Roster.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Event.Roster.onUpdate" id=link111 onMouseOver="ShowTip(event, 'tt110', 'link111')" onMouseOut="HideTip('tt110')">onUpdate</a></td><td class=SDescription>Called after a user have been added to the roster</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Event.Roster.onContextMenu" id=link112 onMouseOver="ShowTip(event, 'tt111', 'link112')" onMouseOut="HideTip('tt111')">onContextMenu</a></td><td class=SDescription>Called when a user clicks on the action menu arrow. </td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Event.Roster.afterContextMenu" id=link113 onMouseOver="ShowTip(event, 'tt112', 'link113')" onMouseOut="HideTip('tt112')">afterContextMenu</a></td><td class=SDescription>Called when after a the context menu is rendered</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Event.Message" >Candy.<wbr>View.<wbr>Event.<wbr>Message</a></td><td class=SDescription>Message-related events</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Event.Message.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Event.Message.beforeShow" id=link114 onMouseOver="ShowTip(event, 'tt113', 'link114')" onMouseOut="HideTip('tt113')">beforeShow</a></td><td class=SDescription>Called before a new message will be shown.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Event.Message.onShow" id=link115 onMouseOver="ShowTip(event, 'tt114', 'link115')" onMouseOut="HideTip('tt114')">onShow</a></td><td class=SDescription>Called after a new message has been shown</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Event.Message.beforeSend" id=link116 onMouseOver="ShowTip(event, 'tt115', 'link116')" onMouseOut="HideTip('tt115')">beforeSend</a></td><td class=SDescription>Called before a message get sent</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Observer" >Candy.<wbr>View.<wbr>Observer</a></td><td class=SDescription>Observes Candy core events</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Observer.Chat" >Candy.<wbr>View.<wbr>Observer.Chat</a></td><td class=SDescription>Chat events</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Observer.Chat.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Observer.Chat.update" id=link117 onMouseOver="ShowTip(event, 'tt116', 'link117')" onMouseOut="HideTip('tt116')">update</a></td><td class=SDescription>The update method gets called whenever an event to which &ldquo;Chat&rdquo; is subscribed.</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Observer.Presence" >Candy.<wbr>View.<wbr>Observer.<wbr>Presence</a></td><td class=SDescription>Presence update events</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Observer.Presence.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Observer.Presence.update" id=link118 onMouseOver="ShowTip(event, 'tt117', 'link118')" onMouseOut="HideTip('tt117')">update</a></td><td class=SDescription>Every presence update gets dispatched from this method.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Observer.Presence.notifyPrivateChats" id=link119 onMouseOver="ShowTip(event, 'tt118', 'link119')" onMouseOut="HideTip('tt118')">notifyPrivateChats</a></td><td class=SDescription>Notify private user chats if existing</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Observer.PresenceError" >Candy.<wbr>View.<wbr>Observer.<wbr>PresenceError</a></td><td class=SDescription>Presence error events</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Observer.PresenceError.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Observer.PresenceError.update" id=link120 onMouseOver="ShowTip(event, 'tt119', 'link120')" onMouseOut="HideTip('tt119')">update</a></td><td class=SDescription>Presence errors get handled in this method</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Observer.Message" >Candy.<wbr>View.<wbr>Observer.<wbr>Message</a></td><td class=SDescription>Message related events</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Observer.Message.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Observer.Message.update" id=link121 onMouseOver="ShowTip(event, 'tt120', 'link121')" onMouseOut="HideTip('tt120')">update</a></td><td class=SDescription>Messages received get dispatched from this method.</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Observer.Login" >Candy.<wbr>View.<wbr>Observer.<wbr>Login</a></td><td class=SDescription>Handles when display login window should appear</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Observer.Login.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Observer.Login.update" id=link122 onMouseOver="ShowTip(event, 'tt121', 'link122')" onMouseOut="HideTip('tt121')">update</a></td><td class=SDescription>The login event gets dispatched to this method</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Pane" >Candy.<wbr>View.Pane</a></td><td class=SDescription>Candy view pane handles everything regarding DOM updates etc.</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Pane.Window" >Candy.<wbr>View.<wbr>Pane.<wbr>Window</a></td><td class=SDescription>Window related view updates</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Pane.Window.Variables" >Variables</a></td><td class=SDescription></td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Window.autoscroll" id=link123 onMouseOver="ShowTip(event, 'tt122', 'link123')" onMouseOut="HideTip('tt122')">autoscroll</a></td><td class=SDescription>Boolean whether autoscroll is enabled</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Pane.Window.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Window.hasFocus" id=link124 onMouseOver="ShowTip(event, 'tt123', 'link124')" onMouseOut="HideTip('tt123')">hasFocus</a></td><td class=SDescription>Checks if window has focus</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Window.increaseUnreadMessages" id=link125 onMouseOver="ShowTip(event, 'tt124', 'link125')" onMouseOut="HideTip('tt124')">increaseUnreadMessages</a></td><td class=SDescription>Increases unread message count in window title by one.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Window.reduceUnreadMessages" id=link126 onMouseOver="ShowTip(event, 'tt125', 'link126')" onMouseOut="HideTip('tt125')">reduceUnreadMessages</a></td><td class=SDescription>Reduce unread message count in window title by `num`.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Window.clearUnreadMessages" id=link127 onMouseOver="ShowTip(event, 'tt126', 'link127')" onMouseOut="HideTip('tt126')">clearUnreadMessages</a></td><td class=SDescription>Clear unread message count in window title.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Window.renderUnreadMessages" id=link128 onMouseOver="ShowTip(event, 'tt127', 'link128')" onMouseOut="HideTip('tt127')">renderUnreadMessages</a></td><td class=SDescription>Update window title to show message count.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Window.onFocus" id=link129 onMouseOver="ShowTip(event, 'tt128', 'link129')" onMouseOut="HideTip('tt128')">onFocus</a></td><td class=SDescription>Window focus event handler.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Window.onBlur" id=link130 onMouseOver="ShowTip(event, 'tt129', 'link130')" onMouseOut="HideTip('tt129')">onBlur</a></td><td class=SDescription>Window blur event handler.</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Pane.Chat" >Candy.<wbr>View.<wbr>Pane.Chat</a></td><td class=SDescription>Chat-View related view updates</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Pane.Chat.Variables" >Variables</a></td><td class=SDescription></td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Chat.rooms" id=link131 onMouseOver="ShowTip(event, 'tt130', 'link131')" onMouseOut="HideTip('tt130')">rooms</a></td><td class=SDescription>Contains opened room elements</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Pane.Chat.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Chat.addTab" id=link132 onMouseOver="ShowTip(event, 'tt131', 'link132')" onMouseOut="HideTip('tt131')">addTab</a></td><td class=SDescription>Add a tab to the chat pane.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Chat.getTab" id=link133 onMouseOver="ShowTip(event, 'tt132', 'link133')" onMouseOut="HideTip('tt132')">getTab</a></td><td class=SDescription>Get tab by JID.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Chat.removeTab" id=link134 onMouseOver="ShowTip(event, 'tt133', 'link134')" onMouseOut="HideTip('tt133')">removeTab</a></td><td class=SDescription>Remove tab element.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Chat.setActiveTab" id=link135 onMouseOver="ShowTip(event, 'tt134', 'link135')" onMouseOut="HideTip('tt134')">setActiveTab</a></td><td class=SDescription>Set the active tab.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Chat.increaseUnreadMessages" id=link136 onMouseOver="ShowTip(event, 'tt135', 'link136')" onMouseOut="HideTip('tt135')">increaseUnreadMessages</a></td><td class=SDescription>Increase unread message count in a tab by one.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Chat.clearUnreadMessages" id=link137 onMouseOver="ShowTip(event, 'tt136', 'link137')" onMouseOut="HideTip('tt136')">clearUnreadMessages</a></td><td class=SDescription>Clear unread message count in a tab.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Chat.tabClick" id=link138 onMouseOver="ShowTip(event, 'tt137', 'link138')" onMouseOut="HideTip('tt137')">tabClick</a></td><td class=SDescription>Tab click event: show the room associated with the tab and stops the event from doing the default.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Chat.tabClose" id=link139 onMouseOver="ShowTip(event, 'tt138', 'link139')" onMouseOut="HideTip('tt138')">tabClose</a></td><td class=SDescription>Tab close (click) event: Leave the room (groupchat) or simply close the tab (chat).</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Chat.allTabsClosed" id=link140 onMouseOver="ShowTip(event, 'tt139', 'link140')" onMouseOut="HideTip('tt139')">allTabsClosed</a></td><td class=SDescription>All tabs closed event: Disconnect from service. </td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Chat.fitTabs" id=link141 onMouseOver="ShowTip(event, 'tt140', 'link141')" onMouseOut="HideTip('tt140')">fitTabs</a></td><td class=SDescription>Fit tab size according to window size</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Chat.updateToolbar" id=link142 onMouseOver="ShowTip(event, 'tt141', 'link142')" onMouseOut="HideTip('tt141')">updateToolbar</a></td><td class=SDescription>Show toolbar</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Chat.adminMessage" id=link143 onMouseOver="ShowTip(event, 'tt142', 'link143')" onMouseOut="HideTip('tt142')">adminMessage</a></td><td class=SDescription>Display admin message</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Chat.infoMessage" id=link144 onMouseOver="ShowTip(event, 'tt143', 'link144')" onMouseOut="HideTip('tt143')">infoMessage</a></td><td class=SDescription>Display info message. </td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Chat.onInfoMessage" id=link145 onMouseOver="ShowTip(event, 'tt144', 'link145')" onMouseOut="HideTip('tt144')">onInfoMessage</a></td><td class=SDescription>Display info message. </td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Pane.Toolbar" >Candy.<wbr>View.<wbr>Pane.<wbr>Toolbar</a></td><td class=SDescription>Chat toolbar for things like emoticons toolbar, room management etc.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Pane.Toolbar.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Toolbar.show" id=link146 onMouseOver="ShowTip(event, 'tt145', 'link146')" onMouseOut="HideTip('tt145')">show</a></td><td class=SDescription>Show toolbar.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Toolbar.hide" id=link147 onMouseOver="ShowTip(event, 'tt146', 'link147')" onMouseOut="HideTip('tt146')">hide</a></td><td class=SDescription>Hide toolbar.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Toolbar.playSound" id=link148 onMouseOver="ShowTip(event, 'tt147', 'link148')" onMouseOut="HideTip('tt147')">playSound</a></td><td class=SDescription>Play sound (default method).</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Toolbar.onPlaySound" id=link149 onMouseOver="ShowTip(event, 'tt148', 'link149')" onMouseOut="HideTip('tt148')">onPlaySound</a></td><td class=SDescription>Sound play event handler.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Toolbar.onSoundControlClick" id=link150 onMouseOver="ShowTip(event, 'tt149', 'link150')" onMouseOut="HideTip('tt149')">onSoundControlClick</a></td><td class=SDescription>Sound control click event handler.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Toolbar.onAutoscrollControlClick" id=link151 onMouseOver="ShowTip(event, 'tt150', 'link151')" onMouseOut="HideTip('tt150')">onAutoscrollControlClick</a></td><td class=SDescription>Autoscroll control event handler.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Toolbar.onStatusMessageControlClick" id=link152 onMouseOver="ShowTip(event, 'tt151', 'link152')" onMouseOut="HideTip('tt151')">onStatusMessageControlClick</a></td><td class=SDescription>Status message control event handler.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Toolbar.updateUserCount" >updateUserCount</a></td><td class=SDescription>Update usercount element with count.</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Pane.Modal" >Candy.<wbr>View.<wbr>Pane.<wbr>Modal</a></td><td class=SDescription>Modal window</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Pane.Modal.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Modal.show" id=link153 onMouseOver="ShowTip(event, 'tt152', 'link153')" onMouseOut="HideTip('tt152')">show</a></td><td class=SDescription>Display modal window</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Modal.hide" id=link154 onMouseOver="ShowTip(event, 'tt153', 'link154')" onMouseOut="HideTip('tt153')">hide</a></td><td class=SDescription>Hide modal window</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Modal.showSpinner" id=link155 onMouseOver="ShowTip(event, 'tt154', 'link155')" onMouseOut="HideTip('tt154')">showSpinner</a></td><td class=SDescription>Show loading spinner</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Modal.hideSpinner" id=link156 onMouseOver="ShowTip(event, 'tt155', 'link156')" onMouseOut="HideTip('tt155')">hideSpinner</a></td><td class=SDescription>Hide loading spinner</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Modal.showCloseControl" id=link157 onMouseOver="ShowTip(event, 'tt156', 'link157')" onMouseOut="HideTip('tt156')">showCloseControl</a></td><td class=SDescription>Show a close button</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Modal.hideCloseControl" id=link158 onMouseOver="ShowTip(event, 'tt157', 'link158')" onMouseOut="HideTip('tt157')">hideCloseControl</a></td><td class=SDescription>Hide the close button</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Modal.showLoginForm" id=link159 onMouseOver="ShowTip(event, 'tt158', 'link159')" onMouseOut="HideTip('tt158')">showLoginForm</a></td><td class=SDescription>Show the login form modal</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Modal.showEnterPasswordForm" id=link160 onMouseOver="ShowTip(event, 'tt159', 'link160')" onMouseOut="HideTip('tt159')">showEnterPasswordForm</a></td><td class=SDescription>Shows a form for entering room password</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Modal.showNicknameConflictForm" id=link161 onMouseOver="ShowTip(event, 'tt160', 'link161')" onMouseOut="HideTip('tt160')">showNicknameConflictForm</a></td><td class=SDescription>Shows a form indicating that the nickname is already taken and for chosing a new nickname</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Modal.showError" id=link162 onMouseOver="ShowTip(event, 'tt161', 'link162')" onMouseOut="HideTip('tt161')">showError</a></td><td class=SDescription>Show modal containing error message</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Pane.Tooltip" >Candy.<wbr>View.<wbr>Pane.<wbr>Tooltip</a></td><td class=SDescription>Class to display tooltips over specific elements</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Pane.Tooltip.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Tooltip.show" id=link163 onMouseOver="ShowTip(event, 'tt162', 'link163')" onMouseOut="HideTip('tt162')">show</a></td><td class=SDescription>Show a tooltip on event.currentTarget with content specified or content within the target&rsquo;s attribute data-tooltip.</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Pane.Context" >Candy.<wbr>View.<wbr>Pane.<wbr>Context</a></td><td class=SDescription>Context menu for actions and settings</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Pane.Context.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Context.init" id=link164 onMouseOver="ShowTip(event, 'tt163', 'link164')" onMouseOut="HideTip('tt163')">init</a></td><td class=SDescription>Initialize context menu and setup mouseleave handler.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Context.show" id=link165 onMouseOver="ShowTip(event, 'tt164', 'link165')" onMouseOut="HideTip('tt164')">show</a></td><td class=SDescription>Show context menu (positions it according to the window height/width)</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Context.getMenuLinks" id=link166 onMouseOver="ShowTip(event, 'tt165', 'link166')" onMouseOut="HideTip('tt165')">getMenuLinks</a></td><td class=SDescription>Extends <a href="#Candy.View.Pane.Context.initialMenuLinks" class=LFunction id=link167 onMouseOver="ShowTip(event, 'tt166', 'link167')" onMouseOut="HideTip('tt166')">initialMenuLinks</a> with <a href="#Candy.View.Event.Roster.onContextMenu" class=LFunction id=link168 onMouseOver="ShowTip(event, 'tt111', 'link168')" onMouseOut="HideTip('tt111')">Candy.View.Event.Roster.onContextMenu</a> links and returns those.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Context.initialMenuLinks" id=link169 onMouseOver="ShowTip(event, 'tt166', 'link169')" onMouseOut="HideTip('tt166')">initialMenuLinks</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Context.showEmoticonsMenu" id=link170 onMouseOver="ShowTip(event, 'tt167', 'link170')" onMouseOut="HideTip('tt167')">showEmoticonsMenu</a></td><td class=SDescription>Shows the special emoticons menu</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Pane.Room" >Candy.<wbr>View.<wbr>Pane.Room</a></td><td class=SDescription>Everything which belongs to room view things belongs here.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Pane.Room.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Room.init" id=link171 onMouseOver="ShowTip(event, 'tt168', 'link171')" onMouseOut="HideTip('tt168')">init</a></td><td class=SDescription>Initialize a new room and inserts the room html into the DOM</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Room.show" id=link172 onMouseOver="ShowTip(event, 'tt169', 'link172')" onMouseOut="HideTip('tt169')">show</a></td><td class=SDescription>Show a specific room and hides the other rooms (if there are any)</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Room.setSubject" id=link173 onMouseOver="ShowTip(event, 'tt170', 'link173')" onMouseOut="HideTip('tt170')">setSubject</a></td><td class=SDescription>Called when someone changes the subject in the channel</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Room.close" id=link174 onMouseOver="ShowTip(event, 'tt171', 'link174')" onMouseOut="HideTip('tt171')">close</a></td><td class=SDescription>Close a room and remove everything in the DOM belonging to this room.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Room.appendToMessagePane" id=link175 onMouseOver="ShowTip(event, 'tt172', 'link175')" onMouseOut="HideTip('tt172')">appendToMessagePane</a></td><td class=SDescription>Append a new message to the message pane.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Room.sliceMessagePane" id=link176 onMouseOver="ShowTip(event, 'tt173', 'link176')" onMouseOut="HideTip('tt173')">sliceMessagePane</a></td><td class=SDescription>Slices the message pane after the max amount of messages specified in the Candy View options (limit setting).</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Room.scrollToBottom" id=link177 onMouseOver="ShowTip(event, 'tt174', 'link177')" onMouseOut="HideTip('tt174')">scrollToBottom</a></td><td class=SDescription>Scroll to bottom wrapper for <a href="#Candy.View.Pane.Room.onScrollToBottom" class=LFunction id=link178 onMouseOver="ShowTip(event, 'tt175', 'link178')" onMouseOut="HideTip('tt175')">onScrollToBottom</a> to be able to disable it by overwriting the function.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Room.onScrollToBottom" id=link179 onMouseOver="ShowTip(event, 'tt175', 'link179')" onMouseOut="HideTip('tt175')">onScrollToBottom</a></td><td class=SDescription>Scrolls to the latest message received/sent.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Room.onScrollToStoredPosition" id=link180 onMouseOver="ShowTip(event, 'tt176', 'link180')" onMouseOut="HideTip('tt176')">onScrollToStoredPosition</a></td><td class=SDescription>When autoscroll is off, the position where the scrollbar is has to be stored for each room, because it otherwise goes to the top in the message window.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Room.setFocusToForm" id=link181 onMouseOver="ShowTip(event, 'tt177', 'link181')" onMouseOut="HideTip('tt177')">setFocusToForm</a></td><td class=SDescription>Set focus to the message input field within the message form.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Room.setUser" id=link182 onMouseOver="ShowTip(event, 'tt178', 'link182')" onMouseOut="HideTip('tt178')">setUser</a></td><td class=SDescription>Sets or updates the current user in the specified room (called by &lt;Candy.View.Pane.Roster.update&gt;) and set specific informations (roles and affiliations) on the room tab (chat-pane).</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Room.getUser" id=link183 onMouseOver="ShowTip(event, 'tt179', 'link183')" onMouseOut="HideTip('tt179')">getUser</a></td><td class=SDescription>Get the current user in the room specified with the jid</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Room.ignoreUser" id=link184 onMouseOver="ShowTip(event, 'tt180', 'link184')" onMouseOut="HideTip('tt180')">ignoreUser</a></td><td class=SDescription>Ignore specified user and add the ignore icon to the roster item of the user</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Room.unignoreUser" id=link185 onMouseOver="ShowTip(event, 'tt181', 'link185')" onMouseOut="HideTip('tt181')">unignoreUser</a></td><td class=SDescription>Unignore an ignored user and remove the ignore icon of the roster item.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Room.addIgnoreIcon" id=link186 onMouseOver="ShowTip(event, 'tt182', 'link186')" onMouseOut="HideTip('tt182')">addIgnoreIcon</a></td><td class=SDescription>Add the ignore icon to the roster item of the specified user</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Room.removeIgnoreIcon" id=link187 onMouseOver="ShowTip(event, 'tt183', 'link187')" onMouseOut="HideTip('tt183')">removeIgnoreIcon</a></td><td class=SDescription>Remove the ignore icon to the roster item of the specified user</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Room.getPane" id=link188 onMouseOver="ShowTip(event, 'tt184', 'link188')" onMouseOut="HideTip('tt184')">getPane</a></td><td class=SDescription>Get the chat room pane or a subPane of it (if subPane is specified)</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Pane.PrivateRoom" >Candy.<wbr>View.<wbr>Pane.<wbr>PrivateRoom</a></td><td class=SDescription>Private room handling</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Pane.PrivateRoom.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.PrivateRoom.open" id=link189 onMouseOver="ShowTip(event, 'tt185', 'link189')" onMouseOut="HideTip('tt185')">open</a></td><td class=SDescription>Opens a new private room</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.PrivateRoom.setStatus" id=link190 onMouseOver="ShowTip(event, 'tt186', 'link190')" onMouseOut="HideTip('tt186')">setStatus</a></td><td class=SDescription>Set offline or online status for private rooms (when one of the participants leaves the room)</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.PrivateRoom.update" id=link191 onMouseOver="ShowTip(event, 'tt187', 'link191')" onMouseOut="HideTip('tt187')">update</a></td><td class=SDescription>Called by <a href="#Candy.View.Observer.Presence.update" class=LFunction id=link192 onMouseOver="ShowTip(event, 'tt117', 'link192')" onMouseOut="HideTip('tt117')">Candy.View.Observer.Presence.update</a> to update the roster if needed. </td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.PrivateRoom.userClick" id=link193 onMouseOver="ShowTip(event, 'tt188', 'link193')" onMouseOut="HideTip('tt188')">userClick</a></td><td class=SDescription>Click handler for opening a private room</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.PrivateRoom.joinAnimation" id=link194 onMouseOver="ShowTip(event, 'tt189', 'link194')" onMouseOut="HideTip('tt189')">joinAnimation</a></td><td class=SDescription>Animates specified elementId on join</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.PrivateRoom.leaveAnimation" id=link195 onMouseOver="ShowTip(event, 'tt190', 'link195')" onMouseOut="HideTip('tt190')">leaveAnimation</a></td><td class=SDescription>Leave animation for specified element id and removes the DOM element on completion.</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Pane.Message" >Candy.<wbr>View.<wbr>Pane.<wbr>Message</a></td><td class=SDescription>Message submit/show handling</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Pane.Message.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Message.submit" id=link196 onMouseOver="ShowTip(event, 'tt191', 'link196')" onMouseOut="HideTip('tt191')">submit</a></td><td class=SDescription>on submit handler for message field sends the message to the server and if it&rsquo;s a private chat, shows the message immediately because the server doesn&rsquo;t send back those message.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Message.show" id=link197 onMouseOver="ShowTip(event, 'tt192', 'link197')" onMouseOut="HideTip('tt192')">show</a></td><td class=SDescription>Show a message in the message pane</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Pane.Message.Files" >Files</a></td><td class=SDescription></td></tr><tr class="SFile SIndent2 SMarked"><td class=SEntry><a href="#template.js" >template.js</a></td><td class=SDescription></td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Template" >Candy.<wbr>View.<wbr>Template</a></td><td class=SDescription>Contains mustache.js templates</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Template.Files" >Files</a></td><td class=SDescription></td></tr><tr class="SFile SIndent2 SMarked"><td class=SEntry><a href="#translation.js" >translation.js</a></td><td class=SDescription></td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Translation" >Candy.<wbr>View.<wbr>Translation</a></td><td class=SDescription>Contains translations</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
<div class="CClass"><div class=CTopic><h2 class=CTitle><a name="Candy"></a>Candy</h2><div class=CBody><p>Candy base class for initalizing the view and the core</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>(Candy) self</td><td class=CDLDescription>itself</td></tr><tr><td class=CDLEntry>(jQuery) $</td><td class=CDLDescription>jQuery</td></tr></table><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SGroup"><td class=SEntry><a href="#Candy.Variables" >Variables</a></td><td class=SDescription></td></tr><tr class="SVariable SIndent1 SMarked"><td class=SEntry><a href="#Candy.about" id=link198 onMouseOver="ShowTip(event, 'tt1', 'link198')" onMouseOut="HideTip('tt1')">about</a></td><td class=SDescription>About candy</td></tr><tr class="SGroup"><td class=SEntry><a href="#Candy.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Candy.init" id=link199 onMouseOver="ShowTip(event, 'tt2', 'link199')" onMouseOut="HideTip('tt2')">init</a></td><td class=SDescription>Init view &amp; core</td></tr><tr class="SGroup"><td class=SEntry><a href="#Candy.Files" >Files</a></td><td class=SDescription></td></tr><tr class="SFile SIndent1 SMarked"><td class=SEntry><a href="#core.js" >core.js</a></td><td class=SDescription></td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
@@ -25,7 +25,7 @@ if (browserType) {document.write("<div class=" + browserType + ">");if (browserV
<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Candy.Files"></a>Files</h3></div></div>
-<div class="CFile"><div class=CTopic><h3 class=CTitle><a name="core.js"></a>core.js</h3><div class=CBody><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>Candy</td><td class=CDLDescription>Chats are not dead yet.</td></tr></table><h4 class=CHeading>Authors</h4><ul><li>Patrick Stadler <a href="#" onClick="location.href='mai' + 'lto:' + 'patrick' + '.stadler' + '@' + 'amiadog' + 'roup.com'; return false;" class=LEMail>patrick<span style="display: none">.nosp@m.</span>.stadler<span>@</span>amiadog<span style="display: none">.nosp@m.</span>roup.com</a></li><li>Michael Weibel <a href="#" onClick="location.href='mai' + 'lto:' + 'michael' + '.weibel' + '@' + 'amiadog' + 'roup.com'; return false;" class=LEMail>michael<span style="display: none">.nosp@m.</span>.weibel<span>@</span>amiadog<span style="display: none">.nosp@m.</span>roup.com</a></li></ul><h4 class=CHeading>Copyright</h4><p>&copy; 2011 Amiado Group AG.&nbsp; All rights reserved.</p></div></div></div>
+<div class="CFile"><div class=CTopic><h3 class=CTitle><a name="core.js"></a>core.js</h3><div class=CBody><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>Candy</td><td class=CDLDescription>Chats are not dead yet.</td></tr></table><h4 class=CHeading>Authors</h4><ul><li>Patrick Stadler <a href="#" onClick="location.href='mai' + 'lto:' + 'patrick' + '.stadler' + '@' + 'gmai' + 'l.com'; return false;" class=LEMail>patrick<span style="display: none">.nosp@m.</span>.stadler<span>@</span>gmai<span style="display: none">.nosp@m.</span>l.com</a></li><li>Michael Weibel <a href="#" onClick="location.href='mai' + 'lto:' + 'michael' + '.weibel' + '@' + 'gmai' + 'l.com'; return false;" class=LEMail>michael<span style="display: none">.nosp@m.</span>.weibel<span>@</span>gmai<span style="display: none">.nosp@m.</span>l.com</a></li></ul><h4 class=CHeading>Copyright</h4><p>&copy; 2011 Amiado Group AG.&nbsp; All rights reserved.</p></div></div></div>
<div class="CClass"><div class=CTopic><h2 class=CTitle><a name="Candy.Core"></a>Candy.Core</h2><div class=CBody><p>Candy Chat Core</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>(Candy.Core) self</td><td class=CDLDescription>itself</td></tr><tr><td class=CDLEntry>(Strophe) Strophe</td><td class=CDLDescription>Strophe JS</td></tr><tr><td class=CDLEntry>(jQuery) $</td><td class=CDLDescription>jQuery</td></tr></table><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SGroup"><td class=SEntry><a href="#Candy.Core.Variables" >Variables</a></td><td class=SDescription></td></tr><tr class="SVariable SIndent1 SMarked"><td class=SEntry><a href="#Candy.Core.autojoin" id=link200 onMouseOver="ShowTip(event, 'tt3', 'link200')" onMouseOut="HideTip('tt3')">autojoin</a></td><td class=SDescription>If set to `true` try to get the bookmarks and autojoin the rooms (supported by Openfire). </td></tr><tr class="SGroup"><td class=SEntry><a href="#Candy.Core.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Candy.Core.init" id=link201 onMouseOver="ShowTip(event, 'tt4', 'link201')" onMouseOut="HideTip('tt4')">init</a></td><td class=SDescription>Initialize Core.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#Candy.Core.connect" id=link202 onMouseOver="ShowTip(event, 'tt5', 'link202')" onMouseOut="HideTip('tt5')">connect</a></td><td class=SDescription>Connect to the jabber host.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Candy.Core.attach" id=link203 onMouseOver="ShowTip(event, 'tt6', 'link203')" onMouseOut="HideTip('tt6')">attach</a></td><td class=SDescription>Attach an already binded &amp; connected session to the server</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#Candy.Core.disconnect" id=link204 onMouseOver="ShowTip(event, 'tt7', 'link204')" onMouseOut="HideTip('tt7')">disconnect</a></td><td class=SDescription>Leave all rooms and disconnect</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Candy.Core.addHandler" id=link205 onMouseOver="ShowTip(event, 'tt8', 'link205')" onMouseOut="HideTip('tt8')">addHandler</a></td><td class=SDescription>Wrapper for Strophe.Connection.addHandler() to add a stanza handler for the connection.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#Candy.Core.getUser" id=link206 onMouseOver="ShowTip(event, 'tt9', 'link206')" onMouseOut="HideTip('tt9')">getUser</a></td><td class=SDescription>Gets current user</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Candy.Core.setUser" id=link207 onMouseOver="ShowTip(event, 'tt10', 'link207')" onMouseOut="HideTip('tt10')">setUser</a></td><td class=SDescription>Set current user. </td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#Candy.Core.getConnection" id=link208 onMouseOver="ShowTip(event, 'tt11', 'link208')" onMouseOut="HideTip('tt11')">getConnection</a></td><td class=SDescription>Gets Strophe connection</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Candy.Core.getRooms" id=link209 onMouseOver="ShowTip(event, 'tt12', 'link209')" onMouseOut="HideTip('tt12')">getRooms</a></td><td class=SDescription>Gets all joined rooms</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#Candy.Core.isAnonymousConnection" id=link210 onMouseOver="ShowTip(event, 'tt13', 'link210')" onMouseOut="HideTip('tt13')">isAnonymousConnection</a></td><td class=SDescription>Returns true if <a href="#Candy.Core.connect" class=LFunction id=link211 onMouseOver="ShowTip(event, 'tt5', 'link211')" onMouseOut="HideTip('tt5')">Candy.Core.connect</a> was first called with a domain instead of a jid as the first param.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Candy.Core.getOptions" id=link212 onMouseOver="ShowTip(event, 'tt14', 'link212')" onMouseOut="HideTip('tt14')">getOptions</a></td><td class=SDescription>Gets options</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#Candy.Core.getRoom" id=link213 onMouseOver="ShowTip(event, 'tt15', 'link213')" onMouseOut="HideTip('tt15')">getRoom</a></td><td class=SDescription>Gets a specific room</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Candy.Core.onWindowUnload" id=link214 onMouseOver="ShowTip(event, 'tt16', 'link214')" onMouseOut="HideTip('tt16')">onWindowUnload</a></td><td class=SDescription>window.onbeforeunload event which disconnects the client from the Jabber server.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#Candy.Core.rawInput" id=link215 onMouseOver="ShowTip(event, 'tt17', 'link215')" onMouseOut="HideTip('tt17')">rawInput</a></td><td class=SDescription>(Overridden from Strophe.Connection.rawInput)</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Candy.Core.log" id=link216 onMouseOver="ShowTip(event, 'tt18', 'link216')" onMouseOut="HideTip('tt18')">log</a></td><td class=SDescription>Overridden to do something useful if debug is set to true.</td></tr><tr class="SGroup"><td class=SEntry><a href="#Candy.Core.Files" >Files</a></td><td class=SDescription></td></tr><tr class="SFile SIndent1 SMarked"><td class=SEntry><a href="#view.js" >view.js</a></td><td class=SDescription></td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
@@ -67,7 +67,7 @@ if (browserType) {document.write("<div class=" + browserType + ">");if (browserV
<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Candy.Core.Files"></a>Files</h3></div></div>
-<div class="CFile"><div class=CTopic><h3 class=CTitle><a name="view.js"></a>view.js</h3><div class=CBody><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>Candy</td><td class=CDLDescription>Chats are not dead yet.</td></tr></table><h4 class=CHeading>Authors</h4><ul><li>Patrick Stadler <a href="#" onClick="location.href='mai' + 'lto:' + 'patrick' + '.stadler' + '@' + 'amiadog' + 'roup.com'; return false;" class=LEMail>patrick<span style="display: none">.nosp@m.</span>.stadler<span>@</span>amiadog<span style="display: none">.nosp@m.</span>roup.com</a></li><li>Michael Weibel <a href="#" onClick="location.href='mai' + 'lto:' + 'michael' + '.weibel' + '@' + 'amiadog' + 'roup.com'; return false;" class=LEMail>michael<span style="display: none">.nosp@m.</span>.weibel<span>@</span>amiadog<span style="display: none">.nosp@m.</span>roup.com</a></li></ul><h4 class=CHeading>Copyright</h4><p>&copy; 2011 Amiado Group AG.&nbsp; All rights reserved.</p></div></div></div>
+<div class="CFile"><div class=CTopic><h3 class=CTitle><a name="view.js"></a>view.js</h3><div class=CBody><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>Candy</td><td class=CDLDescription>Chats are not dead yet.</td></tr></table><h4 class=CHeading>Authors</h4><ul><li>Patrick Stadler <a href="#" onClick="location.href='mai' + 'lto:' + 'patrick' + '.stadler' + '@' + 'gmai' + 'l.com'; return false;" class=LEMail>patrick<span style="display: none">.nosp@m.</span>.stadler<span>@</span>gmai<span style="display: none">.nosp@m.</span>l.com</a></li><li>Michael Weibel <a href="#" onClick="location.href='mai' + 'lto:' + 'michael' + '.weibel' + '@' + 'gmai' + 'l.com'; return false;" class=LEMail>michael<span style="display: none">.nosp@m.</span>.weibel<span>@</span>gmai<span style="display: none">.nosp@m.</span>l.com</a></li></ul><h4 class=CHeading>Copyright</h4><p>&copy; 2011 Amiado Group AG.&nbsp; All rights reserved.</p></div></div></div>
<div class="CClass"><div class=CTopic><h2 class=CTitle><a name="Candy.View"></a>Candy.View</h2><div class=CBody><p>The Candy View Class</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>(Candy.View) self</td><td class=CDLDescription>itself</td></tr><tr><td class=CDLEntry>(jQuery) $</td><td class=CDLDescription>jQuery</td></tr></table><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SGroup"><td class=SEntry><a href="#Candy.View.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Candy.View.init" id=link219 onMouseOver="ShowTip(event, 'tt19', 'link219')" onMouseOut="HideTip('tt19')">init</a></td><td class=SDescription>Initialize chat view (setup DOM, register handlers &amp; observers)</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#Candy.View.getCurrent" id=link220 onMouseOver="ShowTip(event, 'tt20', 'link220')" onMouseOut="HideTip('tt20')">getCurrent</a></td><td class=SDescription>Get current container &amp; roomJid in an object.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Candy.View.getOptions" id=link221 onMouseOver="ShowTip(event, 'tt21', 'link221')" onMouseOut="HideTip('tt21')">getOptions</a></td><td class=SDescription>Gets options</td></tr><tr class="SGroup"><td class=SEntry><a href="#Candy.View.Files" >Files</a></td><td class=SDescription></td></tr><tr class="SFile SIndent1 SMarked"><td class=SEntry><a href="#util.js" >util.js</a></td><td class=SDescription></td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
@@ -81,7 +81,7 @@ if (browserType) {document.write("<div class=" + browserType + ">");if (browserV
<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Candy.View.Files"></a>Files</h3></div></div>
-<div class="CFile"><div class=CTopic><h3 class=CTitle><a name="util.js"></a>util.js</h3><div class=CBody><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>Candy</td><td class=CDLDescription>Chats are not dead yet.</td></tr></table><h4 class=CHeading>Authors</h4><ul><li>Patrick Stadler <a href="#" onClick="location.href='mai' + 'lto:' + 'patrick' + '.stadler' + '@' + 'amiadog' + 'roup.com'; return false;" class=LEMail>patrick<span style="display: none">.nosp@m.</span>.stadler<span>@</span>amiadog<span style="display: none">.nosp@m.</span>roup.com</a></li><li>Michael Weibel <a href="#" onClick="location.href='mai' + 'lto:' + 'michael' + '.weibel' + '@' + 'amiadog' + 'roup.com'; return false;" class=LEMail>michael<span style="display: none">.nosp@m.</span>.weibel<span>@</span>amiadog<span style="display: none">.nosp@m.</span>roup.com</a></li></ul><h4 class=CHeading>Copyright</h4><p>&copy; 2011 Amiado Group AG.&nbsp; All rights reserved.</p></div></div></div>
+<div class="CFile"><div class=CTopic><h3 class=CTitle><a name="util.js"></a>util.js</h3><div class=CBody><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>Candy</td><td class=CDLDescription>Chats are not dead yet.</td></tr></table><h4 class=CHeading>Authors</h4><ul><li>Patrick Stadler <a href="#" onClick="location.href='mai' + 'lto:' + 'patrick' + '.stadler' + '@' + 'gmai' + 'l.com'; return false;" class=LEMail>patrick<span style="display: none">.nosp@m.</span>.stadler<span>@</span>gmai<span style="display: none">.nosp@m.</span>l.com</a></li><li>Michael Weibel <a href="#" onClick="location.href='mai' + 'lto:' + 'michael' + '.weibel' + '@' + 'gmai' + 'l.com'; return false;" class=LEMail>michael<span style="display: none">.nosp@m.</span>.weibel<span>@</span>gmai<span style="display: none">.nosp@m.</span>l.com</a></li></ul><h4 class=CHeading>Copyright</h4><p>&copy; 2011 Amiado Group AG.&nbsp; All rights reserved.</p></div></div></div>
<div class="CClass"><div class=CTopic><h2 class=CTitle><a name="Candy.Util"></a>Candy.Util</h2><div class=CBody><p>Candy utils</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>(Candy.Util) self</td><td class=CDLDescription>itself</td></tr><tr><td class=CDLEntry>(jQuery) $</td><td class=CDLDescription>jQuery</td></tr></table><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SGroup"><td class=SEntry><a href="#Candy.Util.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Candy.Util.jidToId" id=link222 onMouseOver="ShowTip(event, 'tt22', 'link222')" onMouseOut="HideTip('tt22')">jidToId</a></td><td class=SDescription>Translates a jid to a MD5-Id</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#Candy.Util.escapeJid" id=link223 onMouseOver="ShowTip(event, 'tt23', 'link223')" onMouseOut="HideTip('tt23')">escapeJid</a></td><td class=SDescription>Escapes a jid (node &amp; resource get escaped)</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Candy.Util.unescapeJid" id=link224 onMouseOver="ShowTip(event, 'tt24', 'link224')" onMouseOut="HideTip('tt24')">unescapeJid</a></td><td class=SDescription>Unescapes a jid (node &amp; resource get unescaped)</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#Candy.Util.crop" id=link225 onMouseOver="ShowTip(event, 'tt25', 'link225')" onMouseOut="HideTip('tt25')">crop</a></td><td class=SDescription>Crop a string with the specified length</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Candy.Util.setCookie" id=link226 onMouseOver="ShowTip(event, 'tt26', 'link226')" onMouseOut="HideTip('tt26')">setCookie</a></td><td class=SDescription>Sets a new cookie</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#Candy.Util.cookieExists" id=link227 onMouseOver="ShowTip(event, 'tt27', 'link227')" onMouseOut="HideTip('tt27')">cookieExists</a></td><td class=SDescription>Tests if a cookie with the given name exists</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Candy.Util.getCookie" id=link228 onMouseOver="ShowTip(event, 'tt28', 'link228')" onMouseOut="HideTip('tt28')">getCookie</a></td><td class=SDescription>Returns the cookie value if there&rsquo;s one with this name, otherwise returns undefined</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#Candy.Util.deleteCookie" id=link229 onMouseOver="ShowTip(event, 'tt29', 'link229')" onMouseOut="HideTip('tt29')">deleteCookie</a></td><td class=SDescription>Deletes a cookie with the given name</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Candy.Util.getPosLeftAccordingToWindowBounds" id=link230 onMouseOver="ShowTip(event, 'tt30', 'link230')" onMouseOut="HideTip('tt30')">getPosLeftAccordingToWindowBounds</a></td><td class=SDescription>Fetches the window width and element width and checks if specified position + element width is bigger than the window width.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#Candy.Util.getPosTopAccordingToWindowBounds" id=link231 onMouseOver="ShowTip(event, 'tt31', 'link231')" onMouseOut="HideTip('tt31')">getPosTopAccordingToWindowBounds</a></td><td class=SDescription>Fetches the window height and element height and checks if specified position + element height is bigger than the window height.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Candy.Util.localizedTime" id=link232 onMouseOver="ShowTip(event, 'tt32', 'link232')" onMouseOut="HideTip('tt32')">localizedTime</a></td><td class=SDescription>Localizes ISO-8610 Date with the time/dateformat specified in the translation.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#Candy.Util.iso8610toDate" >iso8610toDate</a></td><td class=SDescription>Parses a ISO-8610 Date to a Date-Object.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Candy.Util.isEmptyObject" id=link233 onMouseOver="ShowTip(event, 'tt33', 'link233')" onMouseOut="HideTip('tt33')">isEmptyObject</a></td><td class=SDescription>IE7 doesn&rsquo;t work with jQuery.isEmptyObject (&lt;=1.5.1), workaround.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#Candy.Util.forceRedraw" id=link234 onMouseOver="ShowTip(event, 'tt34', 'link234')" onMouseOut="HideTip('tt34')">forceRedraw</a></td><td class=SDescription>Fix IE7 not redrawing under some circumstances.</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
@@ -149,7 +149,7 @@ if (browserType) {document.write("<div class=" + browserType + ">");if (browserV
<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Candy.Util.Observable.Files"></a>Files</h3></div></div>
-<div class="CFile"><div class=CTopic><h3 class=CTitle><a name="action.js"></a>action.js</h3><div class=CBody><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>Candy</td><td class=CDLDescription>Chats are not dead yet.</td></tr></table><h4 class=CHeading>Authors</h4><ul><li>Patrick Stadler <a href="#" onClick="location.href='mai' + 'lto:' + 'patrick' + '.stadler' + '@' + 'amiadog' + 'roup.com'; return false;" class=LEMail>patrick<span style="display: none">.nosp@m.</span>.stadler<span>@</span>amiadog<span style="display: none">.nosp@m.</span>roup.com</a></li><li>Michael Weibel <a href="#" onClick="location.href='mai' + 'lto:' + 'michael' + '.weibel' + '@' + 'amiadog' + 'roup.com'; return false;" class=LEMail>michael<span style="display: none">.nosp@m.</span>.weibel<span>@</span>amiadog<span style="display: none">.nosp@m.</span>roup.com</a></li></ul><h4 class=CHeading>Copyright</h4><p>&copy; 2011 Amiado Group AG.&nbsp; All rights reserved.</p></div></div></div>
+<div class="CFile"><div class=CTopic><h3 class=CTitle><a name="action.js"></a>action.js</h3><div class=CBody><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>Candy</td><td class=CDLDescription>Chats are not dead yet.</td></tr></table><h4 class=CHeading>Authors</h4><ul><li>Patrick Stadler <a href="#" onClick="location.href='mai' + 'lto:' + 'patrick' + '.stadler' + '@' + 'gmai' + 'l.com'; return false;" class=LEMail>patrick<span style="display: none">.nosp@m.</span>.stadler<span>@</span>gmai<span style="display: none">.nosp@m.</span>l.com</a></li><li>Michael Weibel <a href="#" onClick="location.href='mai' + 'lto:' + 'michael' + '.weibel' + '@' + 'gmai' + 'l.com'; return false;" class=LEMail>michael<span style="display: none">.nosp@m.</span>.weibel<span>@</span>gmai<span style="display: none">.nosp@m.</span>l.com</a></li></ul><h4 class=CHeading>Copyright</h4><p>&copy; 2011 Amiado Group AG.&nbsp; All rights reserved.</p></div></div></div>
<div class="CClass"><div class=CTopic><h2 class=CTitle><a name="Candy.Core.Action"></a>Candy.<wbr>Core.<wbr>Action</h2><div class=CBody><p>Chat Actions (basicly a abstraction of Jabber commands)</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>(Candy.Core.Action) self</td><td class=CDLDescription>itself</td></tr><tr><td class=CDLEntry>(Strophe) Strophe</td><td class=CDLDescription>Strophe</td></tr><tr><td class=CDLEntry>(jQuery) $</td><td class=CDLDescription>jQuery</td></tr></table></div></div></div>
@@ -203,7 +203,7 @@ if (browserType) {document.write("<div class=" + browserType + ">");if (browserV
<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Candy.Core.Action.Jabber.Room.Admin.Files"></a>Files</h3></div></div>
-<div class="CFile"><div class=CTopic><h3 class=CTitle><a name="chatRoom.js"></a>chatRoom.js</h3><div class=CBody><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>Candy</td><td class=CDLDescription>Chats are not dead yet.</td></tr></table><h4 class=CHeading>Authors</h4><ul><li>Patrick Stadler <a href="#" onClick="location.href='mai' + 'lto:' + 'patrick' + '.stadler' + '@' + 'amiadog' + 'roup.com'; return false;" class=LEMail>patrick<span style="display: none">.nosp@m.</span>.stadler<span>@</span>amiadog<span style="display: none">.nosp@m.</span>roup.com</a></li><li>Michael Weibel <a href="#" onClick="location.href='mai' + 'lto:' + 'michael' + '.weibel' + '@' + 'amiadog' + 'roup.com'; return false;" class=LEMail>michael<span style="display: none">.nosp@m.</span>.weibel<span>@</span>amiadog<span style="display: none">.nosp@m.</span>roup.com</a></li></ul><h4 class=CHeading>Copyright</h4><p>&copy; 2011 Amiado Group AG.&nbsp; All rights reserved.</p></div></div></div>
+<div class="CFile"><div class=CTopic><h3 class=CTitle><a name="chatRoom.js"></a>chatRoom.js</h3><div class=CBody><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>Candy</td><td class=CDLDescription>Chats are not dead yet.</td></tr></table><h4 class=CHeading>Authors</h4><ul><li>Patrick Stadler <a href="#" onClick="location.href='mai' + 'lto:' + 'patrick' + '.stadler' + '@' + 'gmai' + 'l.com'; return false;" class=LEMail>patrick<span style="display: none">.nosp@m.</span>.stadler<span>@</span>gmai<span style="display: none">.nosp@m.</span>l.com</a></li><li>Michael Weibel <a href="#" onClick="location.href='mai' + 'lto:' + 'michael' + '.weibel' + '@' + 'gmai' + 'l.com'; return false;" class=LEMail>michael<span style="display: none">.nosp@m.</span>.weibel<span>@</span>gmai<span style="display: none">.nosp@m.</span>l.com</a></li></ul><h4 class=CHeading>Copyright</h4><p>&copy; 2011 Amiado Group AG.&nbsp; All rights reserved.</p></div></div></div>
<div class="CClass"><div class=CTopic><h2 class=CTitle><a name="Candy.Core.ChatRoom"></a>Candy.<wbr>Core.<wbr>ChatRoom</h2><div class=CBody><p>Candy Chat Room</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>(String) roomJid</td><td class=CDLDescription>Room jid</td></tr></table><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SGroup"><td class=SEntry><a href="#Candy.Core.ChatRoom.Variables" >Variables</a></td><td class=SDescription></td></tr><tr class="SVariable SIndent1 SMarked"><td class=SEntry><a href="#Candy.Core.ChatRoom.room" id=link262 onMouseOver="ShowTip(event, 'tt62', 'link262')" onMouseOut="HideTip('tt62')">room</a></td><td class=SDescription>Object containing roomJid and name.</td></tr><tr class="SVariable SIndent1"><td class=SEntry><a href="#Candy.Core.ChatRoom.user" id=link263 onMouseOver="ShowTip(event, 'tt63', 'link263')" onMouseOut="HideTip('tt63')">user</a></td><td class=SDescription>Current local user of this room.</td></tr><tr class="SVariable SIndent1 SMarked"><td class=SEntry><a href="#Candy.Core.ChatRoom.Roster" >Roster</a></td><td class=SDescription>Candy.Core.ChatRoster instance</td></tr><tr class="SGroup"><td class=SEntry><a href="#Candy.Core.ChatRoom.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Candy.Core.ChatRoom.setUser" id=link264 onMouseOver="ShowTip(event, 'tt64', 'link264')" onMouseOut="HideTip('tt64')">setUser</a></td><td class=SDescription>Set user of this room.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#Candy.Core.ChatRoom.getUser" id=link265 onMouseOver="ShowTip(event, 'tt65', 'link265')" onMouseOut="HideTip('tt65')">getUser</a></td><td class=SDescription>Get current local user</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Candy.Core.ChatRoom.getJid" id=link266 onMouseOver="ShowTip(event, 'tt66', 'link266')" onMouseOut="HideTip('tt66')">getJid</a></td><td class=SDescription>Get room jid</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#Candy.Core.ChatRoom.setName" id=link267 onMouseOver="ShowTip(event, 'tt67', 'link267')" onMouseOut="HideTip('tt67')">setName</a></td><td class=SDescription>Set room name</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Candy.Core.ChatRoom.getName" id=link268 onMouseOver="ShowTip(event, 'tt68', 'link268')" onMouseOut="HideTip('tt68')">getName</a></td><td class=SDescription>Get room name</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#Candy.Core.ChatRoom.setRoster" id=link269 onMouseOver="ShowTip(event, 'tt69', 'link269')" onMouseOut="HideTip('tt69')">setRoster</a></td><td class=SDescription>Set roster of room</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Candy.Core.ChatRoom.getRoster" id=link270 onMouseOver="ShowTip(event, 'tt70', 'link270')" onMouseOut="HideTip('tt70')">getRoster</a></td><td class=SDescription>Get roster</td></tr><tr class="SGroup"><td class=SEntry><a href="#Candy.Core.ChatRoom.Files" >Files</a></td><td class=SDescription></td></tr><tr class="SFile SIndent1 SMarked"><td class=SEntry><a href="#chatRoster.js" >chatRoster.js</a></td><td class=SDescription></td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
@@ -233,7 +233,7 @@ if (browserType) {document.write("<div class=" + browserType + ">");if (browserV
<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Candy.Core.ChatRoom.Files"></a>Files</h3></div></div>
-<div class="CFile"><div class=CTopic><h3 class=CTitle><a name="chatRoster.js"></a>chatRoster.js</h3><div class=CBody><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>Candy</td><td class=CDLDescription>Chats are not dead yet.</td></tr></table><h4 class=CHeading>Authors</h4><ul><li>Patrick Stadler <a href="#" onClick="location.href='mai' + 'lto:' + 'patrick' + '.stadler' + '@' + 'amiadog' + 'roup.com'; return false;" class=LEMail>patrick<span style="display: none">.nosp@m.</span>.stadler<span>@</span>amiadog<span style="display: none">.nosp@m.</span>roup.com</a></li><li>Michael Weibel <a href="#" onClick="location.href='mai' + 'lto:' + 'michael' + '.weibel' + '@' + 'amiadog' + 'roup.com'; return false;" class=LEMail>michael<span style="display: none">.nosp@m.</span>.weibel<span>@</span>amiadog<span style="display: none">.nosp@m.</span>roup.com</a></li></ul><h4 class=CHeading>Copyright</h4><p>&copy; 2011 Amiado Group AG.&nbsp; All rights reserved.</p></div></div></div>
+<div class="CFile"><div class=CTopic><h3 class=CTitle><a name="chatRoster.js"></a>chatRoster.js</h3><div class=CBody><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>Candy</td><td class=CDLDescription>Chats are not dead yet.</td></tr></table><h4 class=CHeading>Authors</h4><ul><li>Patrick Stadler <a href="#" onClick="location.href='mai' + 'lto:' + 'patrick' + '.stadler' + '@' + 'gmai' + 'l.com'; return false;" class=LEMail>patrick<span style="display: none">.nosp@m.</span>.stadler<span>@</span>gmai<span style="display: none">.nosp@m.</span>l.com</a></li><li>Michael Weibel <a href="#" onClick="location.href='mai' + 'lto:' + 'michael' + '.weibel' + '@' + 'gmai' + 'l.com'; return false;" class=LEMail>michael<span style="display: none">.nosp@m.</span>.weibel<span>@</span>gmai<span style="display: none">.nosp@m.</span>l.com</a></li></ul><h4 class=CHeading>Copyright</h4><p>&copy; 2011 Amiado Group AG.&nbsp; All rights reserved.</p></div></div></div>
<div class="CClass"><div class=CTopic><h2 class=CTitle><a name="Candy.Core.ChatRoster"></a>Candy.<wbr>Core.<wbr>ChatRoster</h2><div class=CBody><p>Chat Roster</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SGroup"><td class=SEntry><a href="#Candy.Core.ChatRoster.Variables" >Variables</a></td><td class=SDescription></td></tr><tr class="SVariable SIndent1 SMarked"><td class=SEntry><a href="#Candy.Core.ChatRoster.items" id=link271 onMouseOver="ShowTip(event, 'tt71', 'link271')" onMouseOut="HideTip('tt71')">items</a></td><td class=SDescription>Roster items</td></tr><tr class="SGroup"><td class=SEntry><a href="#Candy.Core.ChatRoster.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Candy.Core.ChatRoster.add" id=link272 onMouseOver="ShowTip(event, 'tt72', 'link272')" onMouseOut="HideTip('tt72')">add</a></td><td class=SDescription>Add user to roster</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#Candy.Core.ChatRoster.remove" id=link273 onMouseOver="ShowTip(event, 'tt73', 'link273')" onMouseOut="HideTip('tt73')">remove</a></td><td class=SDescription>Remove user from roster</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Candy.Core.ChatRoster.get" id=link274 onMouseOver="ShowTip(event, 'tt74', 'link274')" onMouseOut="HideTip('tt74')">get</a></td><td class=SDescription>Get user from roster</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#Candy.Core.ChatRoster.getAll" id=link275 onMouseOver="ShowTip(event, 'tt75', 'link275')" onMouseOut="HideTip('tt75')">getAll</a></td><td class=SDescription>Get all items</td></tr><tr class="SGroup"><td class=SEntry><a href="#Candy.Core.ChatRoster.Files" >Files</a></td><td class=SDescription></td></tr><tr class="SFile SIndent1 SMarked"><td class=SEntry><a href="#chatUser.js" >chatUser.js</a></td><td class=SDescription></td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
@@ -253,7 +253,7 @@ if (browserType) {document.write("<div class=" + browserType + ">");if (browserV
<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Candy.Core.ChatRoster.Files"></a>Files</h3></div></div>
-<div class="CFile"><div class=CTopic><h3 class=CTitle><a name="chatUser.js"></a>chatUser.js</h3><div class=CBody><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>Candy</td><td class=CDLDescription>Chats are not dead yet.</td></tr></table><h4 class=CHeading>Authors</h4><ul><li>Patrick Stadler <a href="#" onClick="location.href='mai' + 'lto:' + 'patrick' + '.stadler' + '@' + 'amiadog' + 'roup.com'; return false;" class=LEMail>patrick<span style="display: none">.nosp@m.</span>.stadler<span>@</span>amiadog<span style="display: none">.nosp@m.</span>roup.com</a></li><li>Michael Weibel <a href="#" onClick="location.href='mai' + 'lto:' + 'michael' + '.weibel' + '@' + 'amiadog' + 'roup.com'; return false;" class=LEMail>michael<span style="display: none">.nosp@m.</span>.weibel<span>@</span>amiadog<span style="display: none">.nosp@m.</span>roup.com</a></li></ul><h4 class=CHeading>Copyright</h4><p>&copy; 2011 Amiado Group AG.&nbsp; All rights reserved.</p></div></div></div>
+<div class="CFile"><div class=CTopic><h3 class=CTitle><a name="chatUser.js"></a>chatUser.js</h3><div class=CBody><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>Candy</td><td class=CDLDescription>Chats are not dead yet.</td></tr></table><h4 class=CHeading>Authors</h4><ul><li>Patrick Stadler <a href="#" onClick="location.href='mai' + 'lto:' + 'patrick' + '.stadler' + '@' + 'gmai' + 'l.com'; return false;" class=LEMail>patrick<span style="display: none">.nosp@m.</span>.stadler<span>@</span>gmai<span style="display: none">.nosp@m.</span>l.com</a></li><li>Michael Weibel <a href="#" onClick="location.href='mai' + 'lto:' + 'michael' + '.weibel' + '@' + 'gmai' + 'l.com'; return false;" class=LEMail>michael<span style="display: none">.nosp@m.</span>.weibel<span>@</span>gmai<span style="display: none">.nosp@m.</span>l.com</a></li></ul><h4 class=CHeading>Copyright</h4><p>&copy; 2011 Amiado Group AG.&nbsp; All rights reserved.</p></div></div></div>
<div class="CClass"><div class=CTopic><h2 class=CTitle><a name="Candy.Core.ChatUser"></a>Candy.<wbr>Core.<wbr>ChatUser</h2><div class=CBody><p>Chat User</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SGroup"><td class=SEntry><a href="#Candy.Core.ChatUser.Constants" >Constants</a></td><td class=SDescription></td></tr><tr class="SConstant SIndent1 SMarked"><td class=SEntry><a href="#Candy.Core.ChatUser.ROLE_MODERATOR" >ROLE_MODERATOR</a></td><td class=SDescription>Moderator role</td></tr><tr class="SConstant SIndent1"><td class=SEntry><a href="#Candy.Core.ChatUser.AFFILIATION_OWNER" >AFFILIATION_OWNER</a></td><td class=SDescription>Affiliation owner</td></tr><tr class="SGroup"><td class=SEntry><a href="#Candy.Core.ChatUser.Variables" >Variables</a></td><td class=SDescription></td></tr><tr class="SVariable SIndent1 SMarked"><td class=SEntry><a href="#Candy.Core.ChatUser.data" id=link276 onMouseOver="ShowTip(event, 'tt76', 'link276')" onMouseOut="HideTip('tt76')">data</a></td><td class=SDescription></td></tr><tr class="SGroup"><td class=SEntry><a href="#Candy.Core.ChatUser.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Candy.Core.ChatUser.getJid" id=link277 onMouseOver="ShowTip(event, 'tt77', 'link277')" onMouseOut="HideTip('tt77')">getJid</a></td><td class=SDescription>Gets an unescaped user jid</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#Candy.Core.ChatUser.getEscapedJid" id=link278 onMouseOver="ShowTip(event, 'tt78', 'link278')" onMouseOut="HideTip('tt78')">getEscapedJid</a></td><td class=SDescription>Escapes the user&rsquo;s jid (node &amp; resource get escaped)</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Candy.Core.ChatUser.getNick" id=link279 onMouseOver="ShowTip(event, 'tt79', 'link279')" onMouseOut="HideTip('tt79')">getNick</a></td><td class=SDescription>Gets user nick</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#Candy.Core.ChatUser.getRole" id=link280 onMouseOver="ShowTip(event, 'tt80', 'link280')" onMouseOut="HideTip('tt80')">getRole</a></td><td class=SDescription>Gets user role</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Candy.Core.ChatUser.getAffiliation" id=link281 onMouseOver="ShowTip(event, 'tt81', 'link281')" onMouseOut="HideTip('tt81')">getAffiliation</a></td><td class=SDescription>Gets user affiliation</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#Candy.Core.ChatUser.isModerator" id=link282 onMouseOver="ShowTip(event, 'tt82', 'link282')" onMouseOut="HideTip('tt82')">isModerator</a></td><td class=SDescription>Check if user is moderator. </td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Candy.Core.ChatUser.addToOrRemoveFromPrivacyList" id=link283 onMouseOver="ShowTip(event, 'tt83', 'link283')" onMouseOut="HideTip('tt83')">addToOrRemoveFromPrivacyList</a></td><td class=SDescription>Convenience function for adding/removing users from ignore list.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#Candy.Core.ChatUser.getPrivacyList" id=link284 onMouseOver="ShowTip(event, 'tt84', 'link284')" onMouseOut="HideTip('tt84')">getPrivacyList</a></td><td class=SDescription>Returns the privacy list of the listname of the param.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Candy.Core.ChatUser.isInPrivacyList" id=link285 onMouseOver="ShowTip(event, 'tt85', 'link285')" onMouseOut="HideTip('tt85')">isInPrivacyList</a></td><td class=SDescription>Tests if this user ignores the user provided by jid.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#Candy.Core.ChatUser.setCustomData" id=link286 onMouseOver="ShowTip(event, 'tt86', 'link286')" onMouseOut="HideTip('tt86')">setCustomData</a></td><td class=SDescription>Stores custom data</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Candy.Core.ChatUser.getCustomData" id=link287 onMouseOver="ShowTip(event, 'tt87', 'link287')" onMouseOut="HideTip('tt87')">getCustomData</a></td><td class=SDescription>Retrieve custom data</td></tr><tr class="SGroup"><td class=SEntry><a href="#Candy.Core.ChatUser.Files" >Files</a></td><td class=SDescription></td></tr><tr class="SFile SIndent1 SMarked"><td class=SEntry><a href="#event.js" >event.js</a></td><td class=SDescription></td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
@@ -293,7 +293,7 @@ if (browserType) {document.write("<div class=" + browserType + ">");if (browserV
<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Candy.Core.ChatUser.Files"></a>Files</h3></div></div>
-<div class="CFile"><div class=CTopic><h3 class=CTitle><a name="event.js"></a>event.js</h3><div class=CBody><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>Candy</td><td class=CDLDescription>Chats are not dead yet.</td></tr></table><h4 class=CHeading>Authors</h4><ul><li>Patrick Stadler <a href="#" onClick="location.href='mai' + 'lto:' + 'patrick' + '.stadler' + '@' + 'amiadog' + 'roup.com'; return false;" class=LEMail>patrick<span style="display: none">.nosp@m.</span>.stadler<span>@</span>amiadog<span style="display: none">.nosp@m.</span>roup.com</a></li><li>Michael Weibel <a href="#" onClick="location.href='mai' + 'lto:' + 'michael' + '.weibel' + '@' + 'amiadog' + 'roup.com'; return false;" class=LEMail>michael<span style="display: none">.nosp@m.</span>.weibel<span>@</span>amiadog<span style="display: none">.nosp@m.</span>roup.com</a></li></ul><h4 class=CHeading>Copyright</h4><p>&copy; 2011 Amiado Group AG.&nbsp; All rights reserved.</p></div></div></div>
+<div class="CFile"><div class=CTopic><h3 class=CTitle><a name="event.js"></a>event.js</h3><div class=CBody><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>Candy</td><td class=CDLDescription>Chats are not dead yet.</td></tr></table><h4 class=CHeading>Authors</h4><ul><li>Patrick Stadler <a href="#" onClick="location.href='mai' + 'lto:' + 'patrick' + '.stadler' + '@' + 'gmai' + 'l.com'; return false;" class=LEMail>patrick<span style="display: none">.nosp@m.</span>.stadler<span>@</span>gmai<span style="display: none">.nosp@m.</span>l.com</a></li><li>Michael Weibel <a href="#" onClick="location.href='mai' + 'lto:' + 'michael' + '.weibel' + '@' + 'gmai' + 'l.com'; return false;" class=LEMail>michael<span style="display: none">.nosp@m.</span>.weibel<span>@</span>gmai<span style="display: none">.nosp@m.</span>l.com</a></li></ul><h4 class=CHeading>Copyright</h4><p>&copy; 2011 Amiado Group AG.&nbsp; All rights reserved.</p></div></div></div>
<div class="CClass"><div class=CTopic><h2 class=CTitle><a name="Candy.Core.Event"></a>Candy.<wbr>Core.<wbr>Event</h2><div class=CBody><p>Chat Events</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>(Candy.Core.Event) self</td><td class=CDLDescription>itself</td></tr><tr><td class=CDLEntry>(Strophe) Strophe</td><td class=CDLDescription>Strophe</td></tr><tr><td class=CDLEntry>(jQuery) $</td><td class=CDLDescription>jQuery</td></tr><tr><td class=CDLEntry>(Candy.Util.Observable) observable</td><td class=CDLDescription>Observable to mixin</td></tr></table><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SGroup"><td class=SEntry><a href="#Candy.Core.Event.Enumerations" >Enumerations</a></td><td class=SDescription></td></tr><tr class="SEnumeration SIndent1 SMarked"><td class=SEntry><a href="#Candy.Core.Event.KEYS" >KEYS</a></td><td class=SDescription>Observer keys</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
@@ -341,7 +341,7 @@ if (browserType) {document.write("<div class=" + browserType + ">");if (browserV
<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Candy.Core.Event.Jabber.Room.Files"></a>Files</h3></div></div>
-<div class="CFile"><div class=CTopic><h3 class=CTitle><a name="event.js"></a>event.js</h3><div class=CBody><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>Candy</td><td class=CDLDescription>Chats are not dead yet.</td></tr></table><h4 class=CHeading>Authors</h4><ul><li>Patrick Stadler <a href="#" onClick="location.href='mai' + 'lto:' + 'patrick' + '.stadler' + '@' + 'amiadog' + 'roup.com'; return false;" class=LEMail>patrick<span style="display: none">.nosp@m.</span>.stadler<span>@</span>amiadog<span style="display: none">.nosp@m.</span>roup.com</a></li><li>Michael Weibel <a href="#" onClick="location.href='mai' + 'lto:' + 'michael' + '.weibel' + '@' + 'amiadog' + 'roup.com'; return false;" class=LEMail>michael<span style="display: none">.nosp@m.</span>.weibel<span>@</span>amiadog<span style="display: none">.nosp@m.</span>roup.com</a></li></ul><h4 class=CHeading>Copyright</h4><p>&copy; 2011 Amiado Group AG.&nbsp; All rights reserved.</p></div></div></div>
+<div class="CFile"><div class=CTopic><h3 class=CTitle><a name="event.js"></a>event.js</h3><div class=CBody><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>Candy</td><td class=CDLDescription>Chats are not dead yet.</td></tr></table><h4 class=CHeading>Authors</h4><ul><li>Patrick Stadler <a href="#" onClick="location.href='mai' + 'lto:' + 'patrick' + '.stadler' + '@' + 'gmai' + 'l.com'; return false;" class=LEMail>patrick<span style="display: none">.nosp@m.</span>.stadler<span>@</span>gmai<span style="display: none">.nosp@m.</span>l.com</a></li><li>Michael Weibel <a href="#" onClick="location.href='mai' + 'lto:' + 'michael' + '.weibel' + '@' + 'gmai' + 'l.com'; return false;" class=LEMail>michael<span style="display: none">.nosp@m.</span>.weibel<span>@</span>gmai<span style="display: none">.nosp@m.</span>l.com</a></li></ul><h4 class=CHeading>Copyright</h4><p>&copy; 2011 Amiado Group AG.&nbsp; All rights reserved.</p></div></div></div>
<div class="CClass"><div class=CTopic><h2 class=CTitle><a name="Candy.View.Event"></a>Candy.<wbr>View.<wbr>Event</h2><div class=CBody><p>Empty hooks to capture events and inject custom code.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>(Candy.View.Event) self</td><td class=CDLDescription>itself</td></tr><tr><td class=CDLEntry>(jQuery) $</td><td class=CDLDescription>jQuery</td></tr></table></div></div></div>
@@ -613,13 +613,13 @@ if (browserType) {document.write("<div class=" + browserType + ">");if (browserV
<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Candy.View.Pane.Message.Files"></a>Files</h3></div></div>
-<div class="CFile"><div class=CTopic><h3 class=CTitle><a name="template.js"></a>template.js</h3><div class=CBody><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>Candy</td><td class=CDLDescription>Chats are not dead yet.</td></tr></table><h4 class=CHeading>Authors</h4><ul><li>Patrick Stadler <a href="#" onClick="location.href='mai' + 'lto:' + 'patrick' + '.stadler' + '@' + 'amiadog' + 'roup.com'; return false;" class=LEMail>patrick<span style="display: none">.nosp@m.</span>.stadler<span>@</span>amiadog<span style="display: none">.nosp@m.</span>roup.com</a></li><li>Michael Weibel <a href="#" onClick="location.href='mai' + 'lto:' + 'michael' + '.weibel' + '@' + 'amiadog' + 'roup.com'; return false;" class=LEMail>michael<span style="display: none">.nosp@m.</span>.weibel<span>@</span>amiadog<span style="display: none">.nosp@m.</span>roup.com</a></li></ul><h4 class=CHeading>Copyright</h4><p>&copy; 2011 Amiado Group AG.&nbsp; All rights reserved.</p></div></div></div>
+<div class="CFile"><div class=CTopic><h3 class=CTitle><a name="template.js"></a>template.js</h3><div class=CBody><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>Candy</td><td class=CDLDescription>Chats are not dead yet.</td></tr></table><h4 class=CHeading>Authors</h4><ul><li>Patrick Stadler <a href="#" onClick="location.href='mai' + 'lto:' + 'patrick' + '.stadler' + '@' + 'gmai' + 'l.com'; return false;" class=LEMail>patrick<span style="display: none">.nosp@m.</span>.stadler<span>@</span>gmai<span style="display: none">.nosp@m.</span>l.com</a></li><li>Michael Weibel <a href="#" onClick="location.href='mai' + 'lto:' + 'michael' + '.weibel' + '@' + 'gmai' + 'l.com'; return false;" class=LEMail>michael<span style="display: none">.nosp@m.</span>.weibel<span>@</span>gmai<span style="display: none">.nosp@m.</span>l.com</a></li></ul><h4 class=CHeading>Copyright</h4><p>&copy; 2011 Amiado Group AG.&nbsp; All rights reserved.</p></div></div></div>
<div class="CClass"><div class=CTopic><h2 class=CTitle><a name="Candy.View.Template"></a>Candy.<wbr>View.<wbr>Template</h2><div class=CBody><p>Contains mustache.js templates</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SGroup"><td class=SEntry><a href="#Candy.View.Template.Files" >Files</a></td><td class=SDescription></td></tr><tr class="SFile SIndent1 SMarked"><td class=SEntry><a href="#translation.js" >translation.js</a></td><td class=SDescription></td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Candy.View.Template.Files"></a>Files</h3></div></div>
-<div class="CFile"><div class=CTopic><h3 class=CTitle><a name="translation.js"></a>translation.js</h3><div class=CBody><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>Candy</td><td class=CDLDescription>Chats are not dead yet.</td></tr></table><h4 class=CHeading>Authors</h4><ul><li>Patrick Stadler <a href="#" onClick="location.href='mai' + 'lto:' + 'patrick' + '.stadler' + '@' + 'amiadog' + 'roup.com'; return false;" class=LEMail>patrick<span style="display: none">.nosp@m.</span>.stadler<span>@</span>amiadog<span style="display: none">.nosp@m.</span>roup.com</a></li><li>Michael Weibel <a href="#" onClick="location.href='mai' + 'lto:' + 'michael' + '.weibel' + '@' + 'amiadog' + 'roup.com'; return false;" class=LEMail>michael<span style="display: none">.nosp@m.</span>.weibel<span>@</span>amiadog<span style="display: none">.nosp@m.</span>roup.com</a></li></ul><h4 class=CHeading>Copyright</h4><p>&copy; 2011 Amiado Group AG.&nbsp; All rights reserved.</p></div></div></div>
+<div class="CFile"><div class=CTopic><h3 class=CTitle><a name="translation.js"></a>translation.js</h3><div class=CBody><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>Candy</td><td class=CDLDescription>Chats are not dead yet.</td></tr></table><h4 class=CHeading>Authors</h4><ul><li>Patrick Stadler <a href="#" onClick="location.href='mai' + 'lto:' + 'patrick' + '.stadler' + '@' + 'gmai' + 'l.com'; return false;" class=LEMail>patrick<span style="display: none">.nosp@m.</span>.stadler<span>@</span>gmai<span style="display: none">.nosp@m.</span>l.com</a></li><li>Michael Weibel <a href="#" onClick="location.href='mai' + 'lto:' + 'michael' + '.weibel' + '@' + 'gmai' + 'l.com'; return false;" class=LEMail>michael<span style="display: none">.nosp@m.</span>.weibel<span>@</span>gmai<span style="display: none">.nosp@m.</span>l.com</a></li></ul><h4 class=CHeading>Copyright</h4><p>&copy; 2011 Amiado Group AG.&nbsp; All rights reserved.</p></div></div></div>
<div class="CClass"><div class=CTopic><h2 class=CTitle><a name="Candy.View.Translation"></a>Candy.<wbr>View.<wbr>Translation</h2><div class=CBody><p>Contains translations</p></div></div></div>
diff --git a/docs/files/src/candy-js.html b/docs/files/src/candy-js.html
index fb3e16d..6532a81 100644
--- a/docs/files/src/candy-js.html
+++ b/docs/files/src/candy-js.html
@@ -11,7 +11,7 @@ if (browserType) {document.write("<div class=" + browserType + ">");if (browserV
-<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="candy.js"></a>candy.js</h1><div class=CBody><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>Candy</td><td class=CDLDescription>Chats are not dead yet.</td></tr></table><h4 class=CHeading>Authors</h4><ul><li>Patrick Stadler <a href="#" onClick="location.href='mai' + 'lto:' + 'patrick' + '.stadler' + '@' + 'amiadog' + 'roup.com'; return false;" class=LEMail>patrick<span style="display: none">.nosp@m.</span>.stadler<span>@</span>amiadog<span style="display: none">.nosp@m.</span>roup.com</a></li><li>Michael Weibel <a href="#" onClick="location.href='mai' + 'lto:' + 'michael' + '.weibel' + '@' + 'amiadog' + 'roup.com'; return false;" class=LEMail>michael<span style="display: none">.nosp@m.</span>.weibel<span>@</span>amiadog<span style="display: none">.nosp@m.</span>roup.com</a></li></ul><h4 class=CHeading>Copyright</h4><p>&copy; 2011 Amiado Group AG.&nbsp; All rights reserved.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#candy.js" >candy.js</a></td><td class=SDescription></td></tr><tr class="SClass"><td class=SEntry><a href="#Candy" >Candy</a></td><td class=SDescription>Candy base class for initalizing the view and the core</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Variables" >Variables</a></td><td class=SDescription></td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#Candy.about" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">about</a></td><td class=SDescription>About candy</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.init" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">init</a></td><td class=SDescription>Init view &amp; core</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
+<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="candy.js"></a>candy.js</h1><div class=CBody><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>Candy</td><td class=CDLDescription>Chats are not dead yet.</td></tr></table><h4 class=CHeading>Authors</h4><ul><li>Patrick Stadler <a href="#" onClick="location.href='mai' + 'lto:' + 'patrick' + '.stadler' + '@' + 'gmai' + 'l.com'; return false;" class=LEMail>patrick<span style="display: none">.nosp@m.</span>.stadler<span>@</span>gmai<span style="display: none">.nosp@m.</span>l.com</a></li><li>Michael Weibel <a href="#" onClick="location.href='mai' + 'lto:' + 'michael' + '.weibel' + '@' + 'gmai' + 'l.com'; return false;" class=LEMail>michael<span style="display: none">.nosp@m.</span>.weibel<span>@</span>gmai<span style="display: none">.nosp@m.</span>l.com</a></li></ul><h4 class=CHeading>Copyright</h4><p>&copy; 2011 Amiado Group AG.&nbsp; All rights reserved.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#candy.js" >candy.js</a></td><td class=SDescription></td></tr><tr class="SClass"><td class=SEntry><a href="#Candy" >Candy</a></td><td class=SDescription>Candy base class for initalizing the view and the core</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Variables" >Variables</a></td><td class=SDescription></td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#Candy.about" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">about</a></td><td class=SDescription>About candy</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.init" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">init</a></td><td class=SDescription>Init view &amp; core</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
<div class="CClass"><div class=CTopic><h2 class=CTitle><a name="Candy"></a>Candy</h2><div class=CBody><p>Candy base class for initalizing the view and the core</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>(Candy) self</td><td class=CDLDescription>itself</td></tr><tr><td class=CDLEntry>(jQuery) $</td><td class=CDLDescription>jQuery</td></tr></table><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SGroup"><td class=SEntry><a href="#Candy.Variables" >Variables</a></td><td class=SDescription></td></tr><tr class="SVariable SIndent1 SMarked"><td class=SEntry><a href="#Candy.about" id=link3 onMouseOver="ShowTip(event, 'tt1', 'link3')" onMouseOut="HideTip('tt1')">about</a></td><td class=SDescription>About candy</td></tr><tr class="SGroup"><td class=SEntry><a href="#Candy.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Candy.init" id=link4 onMouseOver="ShowTip(event, 'tt2', 'link4')" onMouseOut="HideTip('tt2')">init</a></td><td class=SDescription>Init view &amp; core</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
diff --git a/docs/files/src/core-js.html b/docs/files/src/core-js.html
index 27f8285..766d7b7 100644
--- a/docs/files/src/core-js.html
+++ b/docs/files/src/core-js.html
@@ -11,7 +11,7 @@ if (browserType) {document.write("<div class=" + browserType + ">");if (browserV
-<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="core.js"></a>core.js</h1><div class=CBody><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>Candy</td><td class=CDLDescription>Chats are not dead yet.</td></tr></table><h4 class=CHeading>Authors</h4><ul><li>Patrick Stadler <a href="#" onClick="location.href='mai' + 'lto:' + 'patrick' + '.stadler' + '@' + 'amiadog' + 'roup.com'; return false;" class=LEMail>patrick<span style="display: none">.nosp@m.</span>.stadler<span>@</span>amiadog<span style="display: none">.nosp@m.</span>roup.com</a></li><li>Michael Weibel <a href="#" onClick="location.href='mai' + 'lto:' + 'michael' + '.weibel' + '@' + 'amiadog' + 'roup.com'; return false;" class=LEMail>michael<span style="display: none">.nosp@m.</span>.weibel<span>@</span>amiadog<span style="display: none">.nosp@m.</span>roup.com</a></li></ul><h4 class=CHeading>Copyright</h4><p>&copy; 2011 Amiado Group AG.&nbsp; All rights reserved.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#core.js" >core.js</a></td><td class=SDescription></td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.Core" >Candy.Core</a></td><td class=SDescription>Candy Chat Core</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.Variables" >Variables</a></td><td class=SDescription></td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.autojoin" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">autojoin</a></td><td class=SDescription>If set to `true` try to get the bookmarks and autojoin the rooms (supported by Openfire). </td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.init" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">init</a></td><td class=SDescription>Initialize Core.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.connect" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">connect</a></td><td class=SDescription>Connect to the jabber host.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.attach" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">attach</a></td><td class=SDescription>Attach an already binded &amp; connected session to the server</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.disconnect" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">disconnect</a></td><td class=SDescription>Leave all rooms and disconnect</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.addHandler" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')">addHandler</a></td><td class=SDescription>Wrapper for Strophe.Connection.addHandler() to add a stanza handler for the connection.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.getUser" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')">getUser</a></td><td class=SDescription>Gets current user</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.setUser" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')">setUser</a></td><td class=SDescription>Set current user. </td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.getConnection" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')">getConnection</a></td><td class=SDescription>Gets Strophe connection</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.getRooms" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')">getRooms</a></td><td class=SDescription>Gets all joined rooms</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.isAnonymousConnection" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')">isAnonymousConnection</a></td><td class=SDescription>Returns true if <a href="#Candy.Core.connect" class=LFunction id=link12 onMouseOver="ShowTip(event, 'tt3', 'link12')" onMouseOut="HideTip('tt3')">Candy.Core.connect</a> was first called with a domain instead of a jid as the first param.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.getOptions" id=link13 onMouseOver="ShowTip(event, 'tt12', 'link13')" onMouseOut="HideTip('tt12')">getOptions</a></td><td class=SDescription>Gets options</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.getRoom" id=link14 onMouseOver="ShowTip(event, 'tt13', 'link14')" onMouseOut="HideTip('tt13')">getRoom</a></td><td class=SDescription>Gets a specific room</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.onWindowUnload" id=link15 onMouseOver="ShowTip(event, 'tt14', 'link15')" onMouseOut="HideTip('tt14')">onWindowUnload</a></td><td class=SDescription>window.onbeforeunload event which disconnects the client from the Jabber server.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.rawInput" id=link16 onMouseOver="ShowTip(event, 'tt15', 'link16')" onMouseOut="HideTip('tt15')">rawInput</a></td><td class=SDescription>(Overridden from Strophe.Connection.rawInput)</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.log" id=link17 onMouseOver="ShowTip(event, 'tt16', 'link17')" onMouseOut="HideTip('tt16')">log</a></td><td class=SDescription>Overridden to do something useful if debug is set to true.</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
+<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="core.js"></a>core.js</h1><div class=CBody><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>Candy</td><td class=CDLDescription>Chats are not dead yet.</td></tr></table><h4 class=CHeading>Authors</h4><ul><li>Patrick Stadler <a href="#" onClick="location.href='mai' + 'lto:' + 'patrick' + '.stadler' + '@' + 'gmai' + 'l.com'; return false;" class=LEMail>patrick<span style="display: none">.nosp@m.</span>.stadler<span>@</span>gmai<span style="display: none">.nosp@m.</span>l.com</a></li><li>Michael Weibel <a href="#" onClick="location.href='mai' + 'lto:' + 'michael' + '.weibel' + '@' + 'gmai' + 'l.com'; return false;" class=LEMail>michael<span style="display: none">.nosp@m.</span>.weibel<span>@</span>gmai<span style="display: none">.nosp@m.</span>l.com</a></li></ul><h4 class=CHeading>Copyright</h4><p>&copy; 2011 Amiado Group AG.&nbsp; All rights reserved.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#core.js" >core.js</a></td><td class=SDescription></td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.Core" >Candy.Core</a></td><td class=SDescription>Candy Chat Core</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.Variables" >Variables</a></td><td class=SDescription></td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.autojoin" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">autojoin</a></td><td class=SDescription>If set to `true` try to get the bookmarks and autojoin the rooms (supported by Openfire). </td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.init" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">init</a></td><td class=SDescription>Initialize Core.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.connect" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">connect</a></td><td class=SDescription>Connect to the jabber host.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.attach" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">attach</a></td><td class=SDescription>Attach an already binded &amp; connected session to the server</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.disconnect" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">disconnect</a></td><td class=SDescription>Leave all rooms and disconnect</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.addHandler" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')">addHandler</a></td><td class=SDescription>Wrapper for Strophe.Connection.addHandler() to add a stanza handler for the connection.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.getUser" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')">getUser</a></td><td class=SDescription>Gets current user</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.setUser" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')">setUser</a></td><td class=SDescription>Set current user. </td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.getConnection" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')">getConnection</a></td><td class=SDescription>Gets Strophe connection</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.getRooms" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')">getRooms</a></td><td class=SDescription>Gets all joined rooms</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.isAnonymousConnection" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')">isAnonymousConnection</a></td><td class=SDescription>Returns true if <a href="#Candy.Core.connect" class=LFunction id=link12 onMouseOver="ShowTip(event, 'tt3', 'link12')" onMouseOut="HideTip('tt3')">Candy.Core.connect</a> was first called with a domain instead of a jid as the first param.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.getOptions" id=link13 onMouseOver="ShowTip(event, 'tt12', 'link13')" onMouseOut="HideTip('tt12')">getOptions</a></td><td class=SDescription>Gets options</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.getRoom" id=link14 onMouseOver="ShowTip(event, 'tt13', 'link14')" onMouseOut="HideTip('tt13')">getRoom</a></td><td class=SDescription>Gets a specific room</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.onWindowUnload" id=link15 onMouseOver="ShowTip(event, 'tt14', 'link15')" onMouseOut="HideTip('tt14')">onWindowUnload</a></td><td class=SDescription>window.onbeforeunload event which disconnects the client from the Jabber server.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.rawInput" id=link16 onMouseOver="ShowTip(event, 'tt15', 'link16')" onMouseOut="HideTip('tt15')">rawInput</a></td><td class=SDescription>(Overridden from Strophe.Connection.rawInput)</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.log" id=link17 onMouseOver="ShowTip(event, 'tt16', 'link17')" onMouseOut="HideTip('tt16')">log</a></td><td class=SDescription>Overridden to do something useful if debug is set to true.</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
<div class="CClass"><div class=CTopic><h2 class=CTitle><a name="Candy.Core"></a>Candy.Core</h2><div class=CBody><p>Candy Chat Core</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>(Candy.Core) self</td><td class=CDLDescription>itself</td></tr><tr><td class=CDLEntry>(Strophe) Strophe</td><td class=CDLDescription>Strophe JS</td></tr><tr><td class=CDLEntry>(jQuery) $</td><td class=CDLDescription>jQuery</td></tr></table><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SGroup"><td class=SEntry><a href="#Candy.Core.Variables" >Variables</a></td><td class=SDescription></td></tr><tr class="SVariable SIndent1 SMarked"><td class=SEntry><a href="#Candy.Core.autojoin" id=link18 onMouseOver="ShowTip(event, 'tt1', 'link18')" onMouseOut="HideTip('tt1')">autojoin</a></td><td class=SDescription>If set to `true` try to get the bookmarks and autojoin the rooms (supported by Openfire). </td></tr><tr class="SGroup"><td class=SEntry><a href="#Candy.Core.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Candy.Core.init" id=link19 onMouseOver="ShowTip(event, 'tt2', 'link19')" onMouseOut="HideTip('tt2')">init</a></td><td class=SDescription>Initialize Core.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#Candy.Core.connect" id=link20 onMouseOver="ShowTip(event, 'tt3', 'link20')" onMouseOut="HideTip('tt3')">connect</a></td><td class=SDescription>Connect to the jabber host.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Candy.Core.attach" id=link21 onMouseOver="ShowTip(event, 'tt4', 'link21')" onMouseOut="HideTip('tt4')">attach</a></td><td class=SDescription>Attach an already binded &amp; connected session to the server</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#Candy.Core.disconnect" id=link22 onMouseOver="ShowTip(event, 'tt5', 'link22')" onMouseOut="HideTip('tt5')">disconnect</a></td><td class=SDescription>Leave all rooms and disconnect</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Candy.Core.addHandler" id=link23 onMouseOver="ShowTip(event, 'tt6', 'link23')" onMouseOut="HideTip('tt6')">addHandler</a></td><td class=SDescription>Wrapper for Strophe.Connection.addHandler() to add a stanza handler for the connection.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#Candy.Core.getUser" id=link24 onMouseOver="ShowTip(event, 'tt7', 'link24')" onMouseOut="HideTip('tt7')">getUser</a></td><td class=SDescription>Gets current user</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Candy.Core.setUser" id=link25 onMouseOver="ShowTip(event, 'tt8', 'link25')" onMouseOut="HideTip('tt8')">setUser</a></td><td class=SDescription>Set current user. </td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#Candy.Core.getConnection" id=link26 onMouseOver="ShowTip(event, 'tt9', 'link26')" onMouseOut="HideTip('tt9')">getConnection</a></td><td class=SDescription>Gets Strophe connection</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Candy.Core.getRooms" id=link27 onMouseOver="ShowTip(event, 'tt10', 'link27')" onMouseOut="HideTip('tt10')">getRooms</a></td><td class=SDescription>Gets all joined rooms</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#Candy.Core.isAnonymousConnection" id=link28 onMouseOver="ShowTip(event, 'tt11', 'link28')" onMouseOut="HideTip('tt11')">isAnonymousConnection</a></td><td class=SDescription>Returns true if <a href="#Candy.Core.connect" class=LFunction id=link29 onMouseOver="ShowTip(event, 'tt3', 'link29')" onMouseOut="HideTip('tt3')">Candy.Core.connect</a> was first called with a domain instead of a jid as the first param.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Candy.Core.getOptions" id=link30 onMouseOver="ShowTip(event, 'tt12', 'link30')" onMouseOut="HideTip('tt12')">getOptions</a></td><td class=SDescription>Gets options</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#Candy.Core.getRoom" id=link31 onMouseOver="ShowTip(event, 'tt13', 'link31')" onMouseOut="HideTip('tt13')">getRoom</a></td><td class=SDescription>Gets a specific room</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Candy.Core.onWindowUnload" id=link32 onMouseOver="ShowTip(event, 'tt14', 'link32')" onMouseOut="HideTip('tt14')">onWindowUnload</a></td><td class=SDescription>window.onbeforeunload event which disconnects the client from the Jabber server.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#Candy.Core.rawInput" id=link33 onMouseOver="ShowTip(event, 'tt15', 'link33')" onMouseOut="HideTip('tt15')">rawInput</a></td><td class=SDescription>(Overridden from Strophe.Connection.rawInput)</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Candy.Core.log" id=link34 onMouseOver="ShowTip(event, 'tt16', 'link34')" onMouseOut="HideTip('tt16')">log</a></td><td class=SDescription>Overridden to do something useful if debug is set to true.</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
diff --git a/docs/files/src/core/action-js.html b/docs/files/src/core/action-js.html
index 5642e93..7c8c6f6 100644
--- a/docs/files/src/core/action-js.html
+++ b/docs/files/src/core/action-js.html
@@ -11,7 +11,7 @@ if (browserType) {document.write("<div class=" + browserType + ">");if (browserV
-<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="action.js"></a>action.js</h1><div class=CBody><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>Candy</td><td class=CDLDescription>Chats are not dead yet.</td></tr></table><h4 class=CHeading>Authors</h4><ul><li>Patrick Stadler <a href="#" onClick="location.href='mai' + 'lto:' + 'patrick' + '.stadler' + '@' + 'amiadog' + 'roup.com'; return false;" class=LEMail>patrick<span style="display: none">.nosp@m.</span>.stadler<span>@</span>amiadog<span style="display: none">.nosp@m.</span>roup.com</a></li><li>Michael Weibel <a href="#" onClick="location.href='mai' + 'lto:' + 'michael' + '.weibel' + '@' + 'amiadog' + 'roup.com'; return false;" class=LEMail>michael<span style="display: none">.nosp@m.</span>.weibel<span>@</span>amiadog<span style="display: none">.nosp@m.</span>roup.com</a></li></ul><h4 class=CHeading>Copyright</h4><p>&copy; 2011 Amiado Group AG.&nbsp; All rights reserved.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#action.js" >action.js</a></td><td class=SDescription></td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.Core.Action" >Candy.<wbr>Core.<wbr>Action</a></td><td class=SDescription>Chat Actions (basicly a abstraction of Jabber commands)</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.Core.Action.Jabber" >Candy.<wbr>Core.<wbr>Action.<wbr>Jabber</a></td><td class=SDescription>Jabber actions</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.Action.Jabber.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.Action.Jabber.Version" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">Version</a></td><td class=SDescription>Replies to a version request</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.Action.Jabber.Roster" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">Roster</a></td><td class=SDescription>Sends a request for a roster</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.Action.Jabber.Presence" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">Presence</a></td><td class=SDescription>Sends a request for presence</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.Action.Jabber.Services" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">Services</a></td><td class=SDescription>Sends a request for disco items</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.Action.Jabber.Autojoin" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">Autojoin</a></td><td class=SDescription>When Candy.Core.getOptions().autojoin is true, request autojoin bookmarks (OpenFire)</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.Action.Jabber.ResetIgnoreList" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')">ResetIgnoreList</a></td><td class=SDescription>Create new ignore privacy list (and reset the old one, if it exists).</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.Action.Jabber.RemoveIgnoreList" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')">RemoveIgnoreList</a></td><td class=SDescription>Remove an existing ignore list.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.Action.Jabber.GetIgnoreList" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')">GetIgnoreList</a></td><td class=SDescription>Get existing ignore privacy list when connecting.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.Action.Jabber.SetIgnoreListActive" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')">SetIgnoreListActive</a></td><td class=SDescription>Set ignore privacy list active</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.Action.Jabber.GetJidIfAnonymous" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')">GetJidIfAnonymous</a></td><td class=SDescription>On anonymous login, initially we don&rsquo;t know the jid and as a result, Candy.Core._user doesn&rsquo;t have a jid. </td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.Core.Action.Jabber.Room" >Candy.<wbr>Core.<wbr>Action.<wbr>Jabber.Room</a></td><td class=SDescription>Room-specific commands</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.Action.Jabber.Room.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.Action.Jabber.Room.Join" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')">Join</a></td><td class=SDescription>Requests disco of specified room and joins afterwards.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.Action.Jabber.Room.Leave" id=link12 onMouseOver="ShowTip(event, 'tt12', 'link12')" onMouseOut="HideTip('tt12')">Leave</a></td><td class=SDescription>Leaves a room.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.Action.Jabber.Room.Disco" id=link13 onMouseOver="ShowTip(event, 'tt13', 'link13')" onMouseOut="HideTip('tt13')">Disco</a></td><td class=SDescription>Requests <a href="http://xmpp.org/extensions/xep-0045.html#disco-roominfo" class=LURL target=_top>disco info of a room</a>.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.Action.Jabber.Room.Message" id=link14 onMouseOver="ShowTip(event, 'tt14', 'link14')" onMouseOut="HideTip('tt14')">Message</a></td><td class=SDescription>Send message</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.Action.Jabber.Room.IgnoreUnignore" id=link15 onMouseOver="ShowTip(event, 'tt15', 'link15')" onMouseOut="HideTip('tt15')">IgnoreUnignore</a></td><td class=SDescription>Checks if the user is already ignoring the target user, if yes: unignore him, if no: ignore him.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.Action.Jabber.Room.UpdatePrivacyList" id=link16 onMouseOver="ShowTip(event, 'tt16', 'link16')" onMouseOut="HideTip('tt16')">UpdatePrivacyList</a></td><td class=SDescription>Updates privacy list according to the privacylist in the currentUser</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.Core.Action.Jabber.Room.Admin" >Candy.<wbr>Core.<wbr>Action.<wbr>Jabber.<wbr>Room.<wbr>Admin</a></td><td class=SDescription>Room administration commands</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.Action.Jabber.Room.Admin.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.Action.Jabber.Room.Admin.UserAction" id=link17 onMouseOver="ShowTip(event, 'tt17', 'link17')" onMouseOut="HideTip('tt17')">UserAction</a></td><td class=SDescription>Kick or ban a user</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.Action.Jabber.Room.Admin.SetSubject" id=link18 onMouseOver="ShowTip(event, 'tt18', 'link18')" onMouseOut="HideTip('tt18')">SetSubject</a></td><td class=SDescription>Sets subject (topic) of a room.</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
+<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="action.js"></a>action.js</h1><div class=CBody><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>Candy</td><td class=CDLDescription>Chats are not dead yet.</td></tr></table><h4 class=CHeading>Authors</h4><ul><li>Patrick Stadler <a href="#" onClick="location.href='mai' + 'lto:' + 'patrick' + '.stadler' + '@' + 'gmai' + 'l.com'; return false;" class=LEMail>patrick<span style="display: none">.nosp@m.</span>.stadler<span>@</span>gmai<span style="display: none">.nosp@m.</span>l.com</a></li><li>Michael Weibel <a href="#" onClick="location.href='mai' + 'lto:' + 'michael' + '.weibel' + '@' + 'gmai' + 'l.com'; return false;" class=LEMail>michael<span style="display: none">.nosp@m.</span>.weibel<span>@</span>gmai<span style="display: none">.nosp@m.</span>l.com</a></li></ul><h4 class=CHeading>Copyright</h4><p>&copy; 2011 Amiado Group AG.&nbsp; All rights reserved.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#action.js" >action.js</a></td><td class=SDescription></td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.Core.Action" >Candy.<wbr>Core.<wbr>Action</a></td><td class=SDescription>Chat Actions (basicly a abstraction of Jabber commands)</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.Core.Action.Jabber" >Candy.<wbr>Core.<wbr>Action.<wbr>Jabber</a></td><td class=SDescription>Jabber actions</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.Action.Jabber.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.Action.Jabber.Version" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">Version</a></td><td class=SDescription>Replies to a version request</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.Action.Jabber.Roster" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">Roster</a></td><td class=SDescription>Sends a request for a roster</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.Action.Jabber.Presence" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">Presence</a></td><td class=SDescription>Sends a request for presence</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.Action.Jabber.Services" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">Services</a></td><td class=SDescription>Sends a request for disco items</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.Action.Jabber.Autojoin" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">Autojoin</a></td><td class=SDescription>When Candy.Core.getOptions().autojoin is true, request autojoin bookmarks (OpenFire)</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.Action.Jabber.ResetIgnoreList" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')">ResetIgnoreList</a></td><td class=SDescription>Create new ignore privacy list (and reset the old one, if it exists).</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.Action.Jabber.RemoveIgnoreList" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')">RemoveIgnoreList</a></td><td class=SDescription>Remove an existing ignore list.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.Action.Jabber.GetIgnoreList" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')">GetIgnoreList</a></td><td class=SDescription>Get existing ignore privacy list when connecting.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.Action.Jabber.SetIgnoreListActive" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')">SetIgnoreListActive</a></td><td class=SDescription>Set ignore privacy list active</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.Action.Jabber.GetJidIfAnonymous" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')">GetJidIfAnonymous</a></td><td class=SDescription>On anonymous login, initially we don&rsquo;t know the jid and as a result, Candy.Core._user doesn&rsquo;t have a jid. </td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.Core.Action.Jabber.Room" >Candy.<wbr>Core.<wbr>Action.<wbr>Jabber.Room</a></td><td class=SDescription>Room-specific commands</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.Action.Jabber.Room.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.Action.Jabber.Room.Join" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')">Join</a></td><td class=SDescription>Requests disco of specified room and joins afterwards.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.Action.Jabber.Room.Leave" id=link12 onMouseOver="ShowTip(event, 'tt12', 'link12')" onMouseOut="HideTip('tt12')">Leave</a></td><td class=SDescription>Leaves a room.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.Action.Jabber.Room.Disco" id=link13 onMouseOver="ShowTip(event, 'tt13', 'link13')" onMouseOut="HideTip('tt13')">Disco</a></td><td class=SDescription>Requests <a href="http://xmpp.org/extensions/xep-0045.html#disco-roominfo" class=LURL target=_top>disco info of a room</a>.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.Action.Jabber.Room.Message" id=link14 onMouseOver="ShowTip(event, 'tt14', 'link14')" onMouseOut="HideTip('tt14')">Message</a></td><td class=SDescription>Send message</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.Action.Jabber.Room.IgnoreUnignore" id=link15 onMouseOver="ShowTip(event, 'tt15', 'link15')" onMouseOut="HideTip('tt15')">IgnoreUnignore</a></td><td class=SDescription>Checks if the user is already ignoring the target user, if yes: unignore him, if no: ignore him.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.Action.Jabber.Room.UpdatePrivacyList" id=link16 onMouseOver="ShowTip(event, 'tt16', 'link16')" onMouseOut="HideTip('tt16')">UpdatePrivacyList</a></td><td class=SDescription>Updates privacy list according to the privacylist in the currentUser</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.Core.Action.Jabber.Room.Admin" >Candy.<wbr>Core.<wbr>Action.<wbr>Jabber.<wbr>Room.<wbr>Admin</a></td><td class=SDescription>Room administration commands</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.Action.Jabber.Room.Admin.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.Action.Jabber.Room.Admin.UserAction" id=link17 onMouseOver="ShowTip(event, 'tt17', 'link17')" onMouseOut="HideTip('tt17')">UserAction</a></td><td class=SDescription>Kick or ban a user</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.Action.Jabber.Room.Admin.SetSubject" id=link18 onMouseOver="ShowTip(event, 'tt18', 'link18')" onMouseOut="HideTip('tt18')">SetSubject</a></td><td class=SDescription>Sets subject (topic) of a room.</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
<div class="CClass"><div class=CTopic><h2 class=CTitle><a name="Candy.Core.Action"></a>Candy.<wbr>Core.<wbr>Action</h2><div class=CBody><p>Chat Actions (basicly a abstraction of Jabber commands)</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>(Candy.Core.Action) self</td><td class=CDLDescription>itself</td></tr><tr><td class=CDLEntry>(Strophe) Strophe</td><td class=CDLDescription>Strophe</td></tr><tr><td class=CDLEntry>(jQuery) $</td><td class=CDLDescription>jQuery</td></tr></table></div></div></div>
diff --git a/docs/files/src/core/chatRoom-js.html b/docs/files/src/core/chatRoom-js.html
index 9da678d..5da4047 100644
--- a/docs/files/src/core/chatRoom-js.html
+++ b/docs/files/src/core/chatRoom-js.html
@@ -11,7 +11,7 @@ if (browserType) {document.write("<div class=" + browserType + ">");if (browserV
-<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="chatRoom.js"></a>chatRoom.js</h1><div class=CBody><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>Candy</td><td class=CDLDescription>Chats are not dead yet.</td></tr></table><h4 class=CHeading>Authors</h4><ul><li>Patrick Stadler <a href="#" onClick="location.href='mai' + 'lto:' + 'patrick' + '.stadler' + '@' + 'amiadog' + 'roup.com'; return false;" class=LEMail>patrick<span style="display: none">.nosp@m.</span>.stadler<span>@</span>amiadog<span style="display: none">.nosp@m.</span>roup.com</a></li><li>Michael Weibel <a href="#" onClick="location.href='mai' + 'lto:' + 'michael' + '.weibel' + '@' + 'amiadog' + 'roup.com'; return false;" class=LEMail>michael<span style="display: none">.nosp@m.</span>.weibel<span>@</span>amiadog<span style="display: none">.nosp@m.</span>roup.com</a></li></ul><h4 class=CHeading>Copyright</h4><p>&copy; 2011 Amiado Group AG.&nbsp; All rights reserved.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#chatRoom.js" >chatRoom.js</a></td><td class=SDescription></td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.Core.ChatRoom" >Candy.<wbr>Core.<wbr>ChatRoom</a></td><td class=SDescription>Candy Chat Room</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.ChatRoom.Variables" >Variables</a></td><td class=SDescription></td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.ChatRoom.room" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">room</a></td><td class=SDescription>Object containing roomJid and name.</td></tr><tr class="SVariable SIndent2"><td class=SEntry><a href="#Candy.Core.ChatRoom.user" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">user</a></td><td class=SDescription>Current local user of this room.</td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.ChatRoom.Roster" >Roster</a></td><td class=SDescription>Candy.Core.ChatRoster instance</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.ChatRoom.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.ChatRoom.setUser" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">setUser</a></td><td class=SDescription>Set user of this room.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.ChatRoom.getUser" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">getUser</a></td><td class=SDescription>Get current local user</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.ChatRoom.getJid" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">getJid</a></td><td class=SDescription>Get room jid</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.ChatRoom.setName" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')">setName</a></td><td class=SDescription>Set room name</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.ChatRoom.getName" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')">getName</a></td><td class=SDescription>Get room name</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.ChatRoom.setRoster" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')">setRoster</a></td><td class=SDescription>Set roster of room</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.ChatRoom.getRoster" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')">getRoster</a></td><td class=SDescription>Get roster</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
+<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="chatRoom.js"></a>chatRoom.js</h1><div class=CBody><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>Candy</td><td class=CDLDescription>Chats are not dead yet.</td></tr></table><h4 class=CHeading>Authors</h4><ul><li>Patrick Stadler <a href="#" onClick="location.href='mai' + 'lto:' + 'patrick' + '.stadler' + '@' + 'gmai' + 'l.com'; return false;" class=LEMail>patrick<span style="display: none">.nosp@m.</span>.stadler<span>@</span>gmai<span style="display: none">.nosp@m.</span>l.com</a></li><li>Michael Weibel <a href="#" onClick="location.href='mai' + 'lto:' + 'michael' + '.weibel' + '@' + 'gmai' + 'l.com'; return false;" class=LEMail>michael<span style="display: none">.nosp@m.</span>.weibel<span>@</span>gmai<span style="display: none">.nosp@m.</span>l.com</a></li></ul><h4 class=CHeading>Copyright</h4><p>&copy; 2011 Amiado Group AG.&nbsp; All rights reserved.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#chatRoom.js" >chatRoom.js</a></td><td class=SDescription></td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.Core.ChatRoom" >Candy.<wbr>Core.<wbr>ChatRoom</a></td><td class=SDescription>Candy Chat Room</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.ChatRoom.Variables" >Variables</a></td><td class=SDescription></td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.ChatRoom.room" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">room</a></td><td class=SDescription>Object containing roomJid and name.</td></tr><tr class="SVariable SIndent2"><td class=SEntry><a href="#Candy.Core.ChatRoom.user" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">user</a></td><td class=SDescription>Current local user of this room.</td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.ChatRoom.Roster" >Roster</a></td><td class=SDescription>Candy.Core.ChatRoster instance</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.ChatRoom.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.ChatRoom.setUser" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">setUser</a></td><td class=SDescription>Set user of this room.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.ChatRoom.getUser" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">getUser</a></td><td class=SDescription>Get current local user</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.ChatRoom.getJid" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">getJid</a></td><td class=SDescription>Get room jid</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.ChatRoom.setName" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')">setName</a></td><td class=SDescription>Set room name</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.ChatRoom.getName" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')">getName</a></td><td class=SDescription>Get room name</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.ChatRoom.setRoster" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')">setRoster</a></td><td class=SDescription>Set roster of room</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.ChatRoom.getRoster" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')">getRoster</a></td><td class=SDescription>Get roster</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
<div class="CClass"><div class=CTopic><h2 class=CTitle><a name="Candy.Core.ChatRoom"></a>Candy.<wbr>Core.<wbr>ChatRoom</h2><div class=CBody><p>Candy Chat Room</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>(String) roomJid</td><td class=CDLDescription>Room jid</td></tr></table><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SGroup"><td class=SEntry><a href="#Candy.Core.ChatRoom.Variables" >Variables</a></td><td class=SDescription></td></tr><tr class="SVariable SIndent1 SMarked"><td class=SEntry><a href="#Candy.Core.ChatRoom.room" id=link10 onMouseOver="ShowTip(event, 'tt1', 'link10')" onMouseOut="HideTip('tt1')">room</a></td><td class=SDescription>Object containing roomJid and name.</td></tr><tr class="SVariable SIndent1"><td class=SEntry><a href="#Candy.Core.ChatRoom.user" id=link11 onMouseOver="ShowTip(event, 'tt2', 'link11')" onMouseOut="HideTip('tt2')">user</a></td><td class=SDescription>Current local user of this room.</td></tr><tr class="SVariable SIndent1 SMarked"><td class=SEntry><a href="#Candy.Core.ChatRoom.Roster" >Roster</a></td><td class=SDescription>Candy.Core.ChatRoster instance</td></tr><tr class="SGroup"><td class=SEntry><a href="#Candy.Core.ChatRoom.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Candy.Core.ChatRoom.setUser" id=link12 onMouseOver="ShowTip(event, 'tt3', 'link12')" onMouseOut="HideTip('tt3')">setUser</a></td><td class=SDescription>Set user of this room.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#Candy.Core.ChatRoom.getUser" id=link13 onMouseOver="ShowTip(event, 'tt4', 'link13')" onMouseOut="HideTip('tt4')">getUser</a></td><td class=SDescription>Get current local user</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Candy.Core.ChatRoom.getJid" id=link14 onMouseOver="ShowTip(event, 'tt5', 'link14')" onMouseOut="HideTip('tt5')">getJid</a></td><td class=SDescription>Get room jid</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#Candy.Core.ChatRoom.setName" id=link15 onMouseOver="ShowTip(event, 'tt6', 'link15')" onMouseOut="HideTip('tt6')">setName</a></td><td class=SDescription>Set room name</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Candy.Core.ChatRoom.getName" id=link16 onMouseOver="ShowTip(event, 'tt7', 'link16')" onMouseOut="HideTip('tt7')">getName</a></td><td class=SDescription>Get room name</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#Candy.Core.ChatRoom.setRoster" id=link17 onMouseOver="ShowTip(event, 'tt8', 'link17')" onMouseOut="HideTip('tt8')">setRoster</a></td><td class=SDescription>Set roster of room</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Candy.Core.ChatRoom.getRoster" id=link18 onMouseOver="ShowTip(event, 'tt9', 'link18')" onMouseOut="HideTip('tt9')">getRoster</a></td><td class=SDescription>Get roster</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
diff --git a/docs/files/src/core/chatRoster-js.html b/docs/files/src/core/chatRoster-js.html
index 53fdca0..c9e3fff 100644
--- a/docs/files/src/core/chatRoster-js.html
+++ b/docs/files/src/core/chatRoster-js.html
@@ -11,7 +11,7 @@ if (browserType) {document.write("<div class=" + browserType + ">");if (browserV
-<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="chatRoster.js"></a>chatRoster.js</h1><div class=CBody><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>Candy</td><td class=CDLDescription>Chats are not dead yet.</td></tr></table><h4 class=CHeading>Authors</h4><ul><li>Patrick Stadler <a href="#" onClick="location.href='mai' + 'lto:' + 'patrick' + '.stadler' + '@' + 'amiadog' + 'roup.com'; return false;" class=LEMail>patrick<span style="display: none">.nosp@m.</span>.stadler<span>@</span>amiadog<span style="display: none">.nosp@m.</span>roup.com</a></li><li>Michael Weibel <a href="#" onClick="location.href='mai' + 'lto:' + 'michael' + '.weibel' + '@' + 'amiadog' + 'roup.com'; return false;" class=LEMail>michael<span style="display: none">.nosp@m.</span>.weibel<span>@</span>amiadog<span style="display: none">.nosp@m.</span>roup.com</a></li></ul><h4 class=CHeading>Copyright</h4><p>&copy; 2011 Amiado Group AG.&nbsp; All rights reserved.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#chatRoster.js" >chatRoster.js</a></td><td class=SDescription></td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.Core.ChatRoster" >Candy.<wbr>Core.<wbr>ChatRoster</a></td><td class=SDescription>Chat Roster</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.ChatRoster.Variables" >Variables</a></td><td class=SDescription></td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.ChatRoster.items" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">items</a></td><td class=SDescription>Roster items</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.ChatRoster.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.ChatRoster.add" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">add</a></td><td class=SDescription>Add user to roster</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.ChatRoster.remove" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">remove</a></td><td class=SDescription>Remove user from roster</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.ChatRoster.get" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">get</a></td><td class=SDescription>Get user from roster</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.ChatRoster.getAll" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">getAll</a></td><td class=SDescription>Get all items</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
+<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="chatRoster.js"></a>chatRoster.js</h1><div class=CBody><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>Candy</td><td class=CDLDescription>Chats are not dead yet.</td></tr></table><h4 class=CHeading>Authors</h4><ul><li>Patrick Stadler <a href="#" onClick="location.href='mai' + 'lto:' + 'patrick' + '.stadler' + '@' + 'gmai' + 'l.com'; return false;" class=LEMail>patrick<span style="display: none">.nosp@m.</span>.stadler<span>@</span>gmai<span style="display: none">.nosp@m.</span>l.com</a></li><li>Michael Weibel <a href="#" onClick="location.href='mai' + 'lto:' + 'michael' + '.weibel' + '@' + 'gmai' + 'l.com'; return false;" class=LEMail>michael<span style="display: none">.nosp@m.</span>.weibel<span>@</span>gmai<span style="display: none">.nosp@m.</span>l.com</a></li></ul><h4 class=CHeading>Copyright</h4><p>&copy; 2011 Amiado Group AG.&nbsp; All rights reserved.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#chatRoster.js" >chatRoster.js</a></td><td class=SDescription></td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.Core.ChatRoster" >Candy.<wbr>Core.<wbr>ChatRoster</a></td><td class=SDescription>Chat Roster</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.ChatRoster.Variables" >Variables</a></td><td class=SDescription></td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.ChatRoster.items" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">items</a></td><td class=SDescription>Roster items</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.ChatRoster.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.ChatRoster.add" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">add</a></td><td class=SDescription>Add user to roster</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.ChatRoster.remove" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">remove</a></td><td class=SDescription>Remove user from roster</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.ChatRoster.get" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">get</a></td><td class=SDescription>Get user from roster</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.ChatRoster.getAll" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">getAll</a></td><td class=SDescription>Get all items</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
<div class="CClass"><div class=CTopic><h2 class=CTitle><a name="Candy.Core.ChatRoster"></a>Candy.<wbr>Core.<wbr>ChatRoster</h2><div class=CBody><p>Chat Roster</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SGroup"><td class=SEntry><a href="#Candy.Core.ChatRoster.Variables" >Variables</a></td><td class=SDescription></td></tr><tr class="SVariable SIndent1 SMarked"><td class=SEntry><a href="#Candy.Core.ChatRoster.items" id=link6 onMouseOver="ShowTip(event, 'tt1', 'link6')" onMouseOut="HideTip('tt1')">items</a></td><td class=SDescription>Roster items</td></tr><tr class="SGroup"><td class=SEntry><a href="#Candy.Core.ChatRoster.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Candy.Core.ChatRoster.add" id=link7 onMouseOver="ShowTip(event, 'tt2', 'link7')" onMouseOut="HideTip('tt2')">add</a></td><td class=SDescription>Add user to roster</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#Candy.Core.ChatRoster.remove" id=link8 onMouseOver="ShowTip(event, 'tt3', 'link8')" onMouseOut="HideTip('tt3')">remove</a></td><td class=SDescription>Remove user from roster</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Candy.Core.ChatRoster.get" id=link9 onMouseOver="ShowTip(event, 'tt4', 'link9')" onMouseOut="HideTip('tt4')">get</a></td><td class=SDescription>Get user from roster</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#Candy.Core.ChatRoster.getAll" id=link10 onMouseOver="ShowTip(event, 'tt5', 'link10')" onMouseOut="HideTip('tt5')">getAll</a></td><td class=SDescription>Get all items</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
diff --git a/docs/files/src/core/chatUser-js.html b/docs/files/src/core/chatUser-js.html
index 93f965a..d40130a 100644
--- a/docs/files/src/core/chatUser-js.html
+++ b/docs/files/src/core/chatUser-js.html
@@ -11,7 +11,7 @@ if (browserType) {document.write("<div class=" + browserType + ">");if (browserV
-<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="chatUser.js"></a>chatUser.js</h1><div class=CBody><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>Candy</td><td class=CDLDescription>Chats are not dead yet.</td></tr></table><h4 class=CHeading>Authors</h4><ul><li>Patrick Stadler <a href="#" onClick="location.href='mai' + 'lto:' + 'patrick' + '.stadler' + '@' + 'amiadog' + 'roup.com'; return false;" class=LEMail>patrick<span style="display: none">.nosp@m.</span>.stadler<span>@</span>amiadog<span style="display: none">.nosp@m.</span>roup.com</a></li><li>Michael Weibel <a href="#" onClick="location.href='mai' + 'lto:' + 'michael' + '.weibel' + '@' + 'amiadog' + 'roup.com'; return false;" class=LEMail>michael<span style="display: none">.nosp@m.</span>.weibel<span>@</span>amiadog<span style="display: none">.nosp@m.</span>roup.com</a></li></ul><h4 class=CHeading>Copyright</h4><p>&copy; 2011 Amiado Group AG.&nbsp; All rights reserved.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#chatUser.js" >chatUser.js</a></td><td class=SDescription></td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.Core.ChatUser" >Candy.<wbr>Core.<wbr>ChatUser</a></td><td class=SDescription>Chat User</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.ChatUser.Constants" >Constants</a></td><td class=SDescription></td></tr><tr class="SConstant SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.ChatUser.ROLE_MODERATOR" >ROLE_MODERATOR</a></td><td class=SDescription>Moderator role</td></tr><tr class="SConstant SIndent2"><td class=SEntry><a href="#Candy.Core.ChatUser.AFFILIATION_OWNER" >AFFILIATION_OWNER</a></td><td class=SDescription>Affiliation owner</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.ChatUser.Variables" >Variables</a></td><td class=SDescription></td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.ChatUser.data" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">data</a></td><td class=SDescription></td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.ChatUser.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.ChatUser.getJid" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">getJid</a></td><td class=SDescription>Gets an unescaped user jid</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.ChatUser.getEscapedJid" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">getEscapedJid</a></td><td class=SDescription>Escapes the user&rsquo;s jid (node &amp; resource get escaped)</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.ChatUser.getNick" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">getNick</a></td><td class=SDescription>Gets user nick</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.ChatUser.getRole" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">getRole</a></td><td class=SDescription>Gets user role</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.ChatUser.getAffiliation" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')">getAffiliation</a></td><td class=SDescription>Gets user affiliation</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.ChatUser.isModerator" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')">isModerator</a></td><td class=SDescription>Check if user is moderator. </td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.ChatUser.addToOrRemoveFromPrivacyList" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')">addToOrRemoveFromPrivacyList</a></td><td class=SDescription>Convenience function for adding/removing users from ignore list.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.ChatUser.getPrivacyList" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')">getPrivacyList</a></td><td class=SDescription>Returns the privacy list of the listname of the param.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.ChatUser.isInPrivacyList" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')">isInPrivacyList</a></td><td class=SDescription>Tests if this user ignores the user provided by jid.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.ChatUser.setCustomData" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')">setCustomData</a></td><td class=SDescription>Stores custom data</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.ChatUser.getCustomData" id=link12 onMouseOver="ShowTip(event, 'tt12', 'link12')" onMouseOut="HideTip('tt12')">getCustomData</a></td><td class=SDescription>Retrieve custom data</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
+<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="chatUser.js"></a>chatUser.js</h1><div class=CBody><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>Candy</td><td class=CDLDescription>Chats are not dead yet.</td></tr></table><h4 class=CHeading>Authors</h4><ul><li>Patrick Stadler <a href="#" onClick="location.href='mai' + 'lto:' + 'patrick' + '.stadler' + '@' + 'gmai' + 'l.com'; return false;" class=LEMail>patrick<span style="display: none">.nosp@m.</span>.stadler<span>@</span>gmai<span style="display: none">.nosp@m.</span>l.com</a></li><li>Michael Weibel <a href="#" onClick="location.href='mai' + 'lto:' + 'michael' + '.weibel' + '@' + 'gmai' + 'l.com'; return false;" class=LEMail>michael<span style="display: none">.nosp@m.</span>.weibel<span>@</span>gmai<span style="display: none">.nosp@m.</span>l.com</a></li></ul><h4 class=CHeading>Copyright</h4><p>&copy; 2011 Amiado Group AG.&nbsp; All rights reserved.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#chatUser.js" >chatUser.js</a></td><td class=SDescription></td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.Core.ChatUser" >Candy.<wbr>Core.<wbr>ChatUser</a></td><td class=SDescription>Chat User</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.ChatUser.Constants" >Constants</a></td><td class=SDescription></td></tr><tr class="SConstant SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.ChatUser.ROLE_MODERATOR" >ROLE_MODERATOR</a></td><td class=SDescription>Moderator role</td></tr><tr class="SConstant SIndent2"><td class=SEntry><a href="#Candy.Core.ChatUser.AFFILIATION_OWNER" >AFFILIATION_OWNER</a></td><td class=SDescription>Affiliation owner</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.ChatUser.Variables" >Variables</a></td><td class=SDescription></td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.ChatUser.data" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">data</a></td><td class=SDescription></td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.ChatUser.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.ChatUser.getJid" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">getJid</a></td><td class=SDescription>Gets an unescaped user jid</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.ChatUser.getEscapedJid" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">getEscapedJid</a></td><td class=SDescription>Escapes the user&rsquo;s jid (node &amp; resource get escaped)</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.ChatUser.getNick" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">getNick</a></td><td class=SDescription>Gets user nick</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.ChatUser.getRole" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">getRole</a></td><td class=SDescription>Gets user role</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.ChatUser.getAffiliation" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')">getAffiliation</a></td><td class=SDescription>Gets user affiliation</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.ChatUser.isModerator" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')">isModerator</a></td><td class=SDescription>Check if user is moderator. </td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.ChatUser.addToOrRemoveFromPrivacyList" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')">addToOrRemoveFromPrivacyList</a></td><td class=SDescription>Convenience function for adding/removing users from ignore list.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.ChatUser.getPrivacyList" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')">getPrivacyList</a></td><td class=SDescription>Returns the privacy list of the listname of the param.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.ChatUser.isInPrivacyList" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')">isInPrivacyList</a></td><td class=SDescription>Tests if this user ignores the user provided by jid.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.ChatUser.setCustomData" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')">setCustomData</a></td><td class=SDescription>Stores custom data</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.ChatUser.getCustomData" id=link12 onMouseOver="ShowTip(event, 'tt12', 'link12')" onMouseOut="HideTip('tt12')">getCustomData</a></td><td class=SDescription>Retrieve custom data</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
<div class="CClass"><div class=CTopic><h2 class=CTitle><a name="Candy.Core.ChatUser"></a>Candy.<wbr>Core.<wbr>ChatUser</h2><div class=CBody><p>Chat User</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SGroup"><td class=SEntry><a href="#Candy.Core.ChatUser.Constants" >Constants</a></td><td class=SDescription></td></tr><tr class="SConstant SIndent1 SMarked"><td class=SEntry><a href="#Candy.Core.ChatUser.ROLE_MODERATOR" >ROLE_MODERATOR</a></td><td class=SDescription>Moderator role</td></tr><tr class="SConstant SIndent1"><td class=SEntry><a href="#Candy.Core.ChatUser.AFFILIATION_OWNER" >AFFILIATION_OWNER</a></td><td class=SDescription>Affiliation owner</td></tr><tr class="SGroup"><td class=SEntry><a href="#Candy.Core.ChatUser.Variables" >Variables</a></td><td class=SDescription></td></tr><tr class="SVariable SIndent1 SMarked"><td class=SEntry><a href="#Candy.Core.ChatUser.data" id=link13 onMouseOver="ShowTip(event, 'tt1', 'link13')" onMouseOut="HideTip('tt1')">data</a></td><td class=SDescription></td></tr><tr class="SGroup"><td class=SEntry><a href="#Candy.Core.ChatUser.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Candy.Core.ChatUser.getJid" id=link14 onMouseOver="ShowTip(event, 'tt2', 'link14')" onMouseOut="HideTip('tt2')">getJid</a></td><td class=SDescription>Gets an unescaped user jid</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#Candy.Core.ChatUser.getEscapedJid" id=link15 onMouseOver="ShowTip(event, 'tt3', 'link15')" onMouseOut="HideTip('tt3')">getEscapedJid</a></td><td class=SDescription>Escapes the user&rsquo;s jid (node &amp; resource get escaped)</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Candy.Core.ChatUser.getNick" id=link16 onMouseOver="ShowTip(event, 'tt4', 'link16')" onMouseOut="HideTip('tt4')">getNick</a></td><td class=SDescription>Gets user nick</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#Candy.Core.ChatUser.getRole" id=link17 onMouseOver="ShowTip(event, 'tt5', 'link17')" onMouseOut="HideTip('tt5')">getRole</a></td><td class=SDescription>Gets user role</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Candy.Core.ChatUser.getAffiliation" id=link18 onMouseOver="ShowTip(event, 'tt6', 'link18')" onMouseOut="HideTip('tt6')">getAffiliation</a></td><td class=SDescription>Gets user affiliation</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#Candy.Core.ChatUser.isModerator" id=link19 onMouseOver="ShowTip(event, 'tt7', 'link19')" onMouseOut="HideTip('tt7')">isModerator</a></td><td class=SDescription>Check if user is moderator. </td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Candy.Core.ChatUser.addToOrRemoveFromPrivacyList" id=link20 onMouseOver="ShowTip(event, 'tt8', 'link20')" onMouseOut="HideTip('tt8')">addToOrRemoveFromPrivacyList</a></td><td class=SDescription>Convenience function for adding/removing users from ignore list.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#Candy.Core.ChatUser.getPrivacyList" id=link21 onMouseOver="ShowTip(event, 'tt9', 'link21')" onMouseOut="HideTip('tt9')">getPrivacyList</a></td><td class=SDescription>Returns the privacy list of the listname of the param.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Candy.Core.ChatUser.isInPrivacyList" id=link22 onMouseOver="ShowTip(event, 'tt10', 'link22')" onMouseOut="HideTip('tt10')">isInPrivacyList</a></td><td class=SDescription>Tests if this user ignores the user provided by jid.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#Candy.Core.ChatUser.setCustomData" id=link23 onMouseOver="ShowTip(event, 'tt11', 'link23')" onMouseOut="HideTip('tt11')">setCustomData</a></td><td class=SDescription>Stores custom data</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Candy.Core.ChatUser.getCustomData" id=link24 onMouseOver="ShowTip(event, 'tt12', 'link24')" onMouseOut="HideTip('tt12')">getCustomData</a></td><td class=SDescription>Retrieve custom data</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
@@ -27,9 +27,9 @@ if (browserType) {document.write("<div class=" + browserType + ">");if (browserV
<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Candy.Core.ChatUser.Functions"></a>Functions</h3></div></div>
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="Candy.Core.ChatUser.getJid"></a>getJid</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">this.getJid = function()</td></tr></table></blockquote><p>Gets an unescaped user jid</p><h4 class=CHeading>See</h4><p><a href="../util-js.html#Candy.Util.unescapeJid" class=LFunction id=link25 onMouseOver="ShowTip(event, 'tt13', 'link25')" onMouseOut="HideTip('tt13')">Candy.Util.unescapeJid</a></p><h4 class=CHeading>Returns</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>(String)</td><td class=CDLDescription>jid</td></tr></table></div></div></div>
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="Candy.Core.ChatUser.getJid"></a>getJid</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">this.getJid = function()</td></tr></table></blockquote><p>Gets an unescaped user jid</p><h4 class=CHeading>See</h4><p><a href="../../candy-bundle-js.html#Candy.Util.unescapeJid" class=LFunction id=link25 onMouseOver="ShowTip(event, 'tt13', 'link25')" onMouseOut="HideTip('tt13')">Candy.Util.unescapeJid</a></p><h4 class=CHeading>Returns</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>(String)</td><td class=CDLDescription>jid</td></tr></table></div></div></div>
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="Candy.Core.ChatUser.getEscapedJid"></a>getEscapedJid</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">this.getEscapedJid = function()</td></tr></table></blockquote><p>Escapes the user&rsquo;s jid (node &amp; resource get escaped)</p><h4 class=CHeading>See</h4><p><a href="../util-js.html#Candy.Util.escapeJid" class=LFunction id=link26 onMouseOver="ShowTip(event, 'tt14', 'link26')" onMouseOut="HideTip('tt14')">Candy.Util.escapeJid</a></p><h4 class=CHeading>Returns</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>(String)</td><td class=CDLDescription>escaped jid</td></tr></table></div></div></div>
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="Candy.Core.ChatUser.getEscapedJid"></a>getEscapedJid</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">this.getEscapedJid = function()</td></tr></table></blockquote><p>Escapes the user&rsquo;s jid (node &amp; resource get escaped)</p><h4 class=CHeading>See</h4><p><a href="../../candy-bundle-js.html#Candy.Util.escapeJid" class=LFunction id=link26 onMouseOver="ShowTip(event, 'tt14', 'link26')" onMouseOut="HideTip('tt14')">Candy.Util.escapeJid</a></p><h4 class=CHeading>Returns</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>(String)</td><td class=CDLDescription>escaped jid</td></tr></table></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="Candy.Core.ChatUser.getNick"></a>getNick</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">this.getNick = function()</td></tr></table></blockquote><p>Gets user nick</p><h4 class=CHeading>Returns</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>(String)</td><td class=CDLDescription>nick</td></tr></table></div></div></div>
diff --git a/docs/files/src/core/event-js.html b/docs/files/src/core/event-js.html
index 4d53299..3901c77 100644
--- a/docs/files/src/core/event-js.html
+++ b/docs/files/src/core/event-js.html
@@ -11,7 +11,7 @@ if (browserType) {document.write("<div class=" + browserType + ">");if (browserV
-<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="event.js"></a>event.js</h1><div class=CBody><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>Candy</td><td class=CDLDescription>Chats are not dead yet.</td></tr></table><h4 class=CHeading>Authors</h4><ul><li>Patrick Stadler <a href="#" onClick="location.href='mai' + 'lto:' + 'patrick' + '.stadler' + '@' + 'amiadog' + 'roup.com'; return false;" class=LEMail>patrick<span style="display: none">.nosp@m.</span>.stadler<span>@</span>amiadog<span style="display: none">.nosp@m.</span>roup.com</a></li><li>Michael Weibel <a href="#" onClick="location.href='mai' + 'lto:' + 'michael' + '.weibel' + '@' + 'amiadog' + 'roup.com'; return false;" class=LEMail>michael<span style="display: none">.nosp@m.</span>.weibel<span>@</span>amiadog<span style="display: none">.nosp@m.</span>roup.com</a></li></ul><h4 class=CHeading>Copyright</h4><p>&copy; 2011 Amiado Group AG.&nbsp; All rights reserved.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#event.js" >event.js</a></td><td class=SDescription></td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.Core.Event" >Candy.<wbr>Core.<wbr>Event</a></td><td class=SDescription>Chat Events</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.Event.Enumerations" >Enumerations</a></td><td class=SDescription></td></tr><tr class="SEnumeration SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.Event.KEYS" >KEYS</a></td><td class=SDescription>Observer keys</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.Core.Event.Strophe" >Candy.<wbr>Core.<wbr>Event.<wbr>Strophe</a></td><td class=SDescription>Strophe-related events</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.Event.Strophe.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.Event.Strophe.Connect" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">Connect</a></td><td class=SDescription>Acts on strophe status events and notifies view.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.Event.Strophe.Login" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">Login</a></td><td class=SDescription>Notify view that the login window should be displayed</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.Core.Event.Jabber" >Candy.<wbr>Core.<wbr>Event.<wbr>Jabber</a></td><td class=SDescription>Jabber related events</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.Event.Jabber.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.Event.Jabber.Version" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">Version</a></td><td class=SDescription>Responds to a version request</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.Event.Jabber.Presence" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">Presence</a></td><td class=SDescription>Acts on a presence event</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.Event.Jabber.Bookmarks" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">Bookmarks</a></td><td class=SDescription>Acts on a bookmarks event. </td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.Event.Jabber.PrivacyList" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')">PrivacyList</a></td><td class=SDescription>Acts on a privacy list event and sets up the current privacy list of this user.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.Event.Jabber.PrivacyListError" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')">PrivacyListError</a></td><td class=SDescription>Acts when a privacy list error has been received.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.Event.Jabber.Message" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')">Message</a></td><td class=SDescription>Acts on room, admin and server messages and notifies the view if required.</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.Core.Event.Jabber.Room" >Candy.<wbr>Core.<wbr>Event.<wbr>Jabber.Room</a></td><td class=SDescription>Room specific events</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.Event.Jabber.Room.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.Event.Jabber.Room.Leave" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')">Leave</a></td><td class=SDescription>Leaves a room and cleans up related data and notifies view.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.Event.Jabber.Room.Disco" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')">Disco</a></td><td class=SDescription>Sets informations to rooms according to the disco info received.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.Event.Jabber.Room.Presence" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')">Presence</a></td><td class=SDescription>Acts on various presence messages (room leaving, room joining, error presence) and notifies view.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.Event.Jabber.Room.PresenceError" id=link12 onMouseOver="ShowTip(event, 'tt12', 'link12')" onMouseOut="HideTip('tt12')">PresenceError</a></td><td class=SDescription>Acts when a presence of type error has been retrieved.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.Event.Jabber.Room.Message" id=link13 onMouseOver="ShowTip(event, 'tt13', 'link13')" onMouseOut="HideTip('tt13')">Message</a></td><td class=SDescription>Acts on various message events (subject changed, private chat message, multi-user chat message) and notifies view.</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
+<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="event.js"></a>event.js</h1><div class=CBody><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>Candy</td><td class=CDLDescription>Chats are not dead yet.</td></tr></table><h4 class=CHeading>Authors</h4><ul><li>Patrick Stadler <a href="#" onClick="location.href='mai' + 'lto:' + 'patrick' + '.stadler' + '@' + 'gmai' + 'l.com'; return false;" class=LEMail>patrick<span style="display: none">.nosp@m.</span>.stadler<span>@</span>gmai<span style="display: none">.nosp@m.</span>l.com</a></li><li>Michael Weibel <a href="#" onClick="location.href='mai' + 'lto:' + 'michael' + '.weibel' + '@' + 'gmai' + 'l.com'; return false;" class=LEMail>michael<span style="display: none">.nosp@m.</span>.weibel<span>@</span>gmai<span style="display: none">.nosp@m.</span>l.com</a></li></ul><h4 class=CHeading>Copyright</h4><p>&copy; 2011 Amiado Group AG.&nbsp; All rights reserved.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#event.js" >event.js</a></td><td class=SDescription></td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.Core.Event" >Candy.<wbr>Core.<wbr>Event</a></td><td class=SDescription>Chat Events</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.Event.Enumerations" >Enumerations</a></td><td class=SDescription></td></tr><tr class="SEnumeration SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.Event.KEYS" >KEYS</a></td><td class=SDescription>Observer keys</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.Core.Event.Strophe" >Candy.<wbr>Core.<wbr>Event.<wbr>Strophe</a></td><td class=SDescription>Strophe-related events</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.Event.Strophe.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.Event.Strophe.Connect" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">Connect</a></td><td class=SDescription>Acts on strophe status events and notifies view.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.Event.Strophe.Login" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">Login</a></td><td class=SDescription>Notify view that the login window should be displayed</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.Core.Event.Jabber" >Candy.<wbr>Core.<wbr>Event.<wbr>Jabber</a></td><td class=SDescription>Jabber related events</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.Event.Jabber.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.Event.Jabber.Version" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">Version</a></td><td class=SDescription>Responds to a version request</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.Event.Jabber.Presence" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">Presence</a></td><td class=SDescription>Acts on a presence event</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.Event.Jabber.Bookmarks" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">Bookmarks</a></td><td class=SDescription>Acts on a bookmarks event. </td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.Event.Jabber.PrivacyList" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')">PrivacyList</a></td><td class=SDescription>Acts on a privacy list event and sets up the current privacy list of this user.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.Event.Jabber.PrivacyListError" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')">PrivacyListError</a></td><td class=SDescription>Acts when a privacy list error has been received.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.Event.Jabber.Message" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')">Message</a></td><td class=SDescription>Acts on room, admin and server messages and notifies the view if required.</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.Core.Event.Jabber.Room" >Candy.<wbr>Core.<wbr>Event.<wbr>Jabber.Room</a></td><td class=SDescription>Room specific events</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Core.Event.Jabber.Room.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.Event.Jabber.Room.Leave" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')">Leave</a></td><td class=SDescription>Leaves a room and cleans up related data and notifies view.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.Event.Jabber.Room.Disco" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')">Disco</a></td><td class=SDescription>Sets informations to rooms according to the disco info received.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.Event.Jabber.Room.Presence" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')">Presence</a></td><td class=SDescription>Acts on various presence messages (room leaving, room joining, error presence) and notifies view.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Core.Event.Jabber.Room.PresenceError" id=link12 onMouseOver="ShowTip(event, 'tt12', 'link12')" onMouseOut="HideTip('tt12')">PresenceError</a></td><td class=SDescription>Acts when a presence of type error has been retrieved.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Core.Event.Jabber.Room.Message" id=link13 onMouseOver="ShowTip(event, 'tt13', 'link13')" onMouseOut="HideTip('tt13')">Message</a></td><td class=SDescription>Acts on various message events (subject changed, private chat message, multi-user chat message) and notifies view.</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
<div class="CClass"><div class=CTopic><h2 class=CTitle><a name="Candy.Core.Event"></a>Candy.<wbr>Core.<wbr>Event</h2><div class=CBody><p>Chat Events</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>(Candy.Core.Event) self</td><td class=CDLDescription>itself</td></tr><tr><td class=CDLEntry>(Strophe) Strophe</td><td class=CDLDescription>Strophe</td></tr><tr><td class=CDLEntry>(jQuery) $</td><td class=CDLDescription>jQuery</td></tr><tr><td class=CDLEntry>(Candy.Util.Observable) observable</td><td class=CDLDescription>Observable to mixin</td></tr></table><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SGroup"><td class=SEntry><a href="#Candy.Core.Event.Enumerations" >Enumerations</a></td><td class=SDescription></td></tr><tr class="SEnumeration SIndent1 SMarked"><td class=SEntry><a href="#Candy.Core.Event.KEYS" >KEYS</a></td><td class=SDescription>Observer keys</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
diff --git a/docs/files/src/util-js.html b/docs/files/src/util-js.html
index 28e7d30..69654eb 100644
--- a/docs/files/src/util-js.html
+++ b/docs/files/src/util-js.html
@@ -11,7 +11,7 @@ if (browserType) {document.write("<div class=" + browserType + ">");if (browserV
-<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="util.js"></a>util.js</h1><div class=CBody><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>Candy</td><td class=CDLDescription>Chats are not dead yet.</td></tr></table><h4 class=CHeading>Authors</h4><ul><li>Patrick Stadler <a href="#" onClick="location.href='mai' + 'lto:' + 'patrick' + '.stadler' + '@' + 'amiadog' + 'roup.com'; return false;" class=LEMail>patrick<span style="display: none">.nosp@m.</span>.stadler<span>@</span>amiadog<span style="display: none">.nosp@m.</span>roup.com</a></li><li>Michael Weibel <a href="#" onClick="location.href='mai' + 'lto:' + 'michael' + '.weibel' + '@' + 'amiadog' + 'roup.com'; return false;" class=LEMail>michael<span style="display: none">.nosp@m.</span>.weibel<span>@</span>amiadog<span style="display: none">.nosp@m.</span>roup.com</a></li></ul><h4 class=CHeading>Copyright</h4><p>&copy; 2011 Amiado Group AG.&nbsp; All rights reserved.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#util.js" >util.js</a></td><td class=SDescription></td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.Util" >Candy.Util</a></td><td class=SDescription>Candy utils</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Util.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Util.jidToId" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">jidToId</a></td><td class=SDescription>Translates a jid to a MD5-Id</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Util.escapeJid" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">escapeJid</a></td><td class=SDescription>Escapes a jid (node &amp; resource get escaped)</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Util.unescapeJid" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">unescapeJid</a></td><td class=SDescription>Unescapes a jid (node &amp; resource get unescaped)</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Util.crop" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">crop</a></td><td class=SDescription>Crop a string with the specified length</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Util.setCookie" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">setCookie</a></td><td class=SDescription>Sets a new cookie</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Util.cookieExists" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')">cookieExists</a></td><td class=SDescription>Tests if a cookie with the given name exists</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Util.getCookie" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')">getCookie</a></td><td class=SDescription>Returns the cookie value if there&rsquo;s one with this name, otherwise returns undefined</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Util.deleteCookie" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')">deleteCookie</a></td><td class=SDescription>Deletes a cookie with the given name</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Util.getPosLeftAccordingToWindowBounds" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')">getPosLeftAccordingToWindowBounds</a></td><td class=SDescription>Fetches the window width and element width and checks if specified position + element width is bigger than the window width.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Util.getPosTopAccordingToWindowBounds" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')">getPosTopAccordingToWindowBounds</a></td><td class=SDescription>Fetches the window height and element height and checks if specified position + element height is bigger than the window height.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Util.localizedTime" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')">localizedTime</a></td><td class=SDescription>Localizes ISO-8610 Date with the time/dateformat specified in the translation.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Util.iso8610toDate" >iso8610toDate</a></td><td class=SDescription>Parses a ISO-8610 Date to a Date-Object.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Util.isEmptyObject" id=link12 onMouseOver="ShowTip(event, 'tt12', 'link12')" onMouseOut="HideTip('tt12')">isEmptyObject</a></td><td class=SDescription>IE7 doesn&rsquo;t work with jQuery.isEmptyObject (&lt;=1.5.1), workaround.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Util.forceRedraw" id=link13 onMouseOver="ShowTip(event, 'tt13', 'link13')" onMouseOut="HideTip('tt13')">forceRedraw</a></td><td class=SDescription>Fix IE7 not redrawing under some circumstances.</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.Util.Parser" >Candy.<wbr>Util.<wbr>Parser</a></td><td class=SDescription>Parser for emoticons, links and also supports escaping.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Util.Parser.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Util.Parser.setEmoticonPath" id=link14 onMouseOver="ShowTip(event, 'tt14', 'link14')" onMouseOut="HideTip('tt14')">setEmoticonPath</a></td><td class=SDescription>Set emoticons location.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Util.Parser.Variables" >Variables</a></td><td class=SDescription></td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#Candy.Util.Parser.emoticons" >emoticons</a></td><td class=SDescription>Array containing emoticons to be replaced by their images.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Util.Parser.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Util.Parser.emotify" id=link15 onMouseOver="ShowTip(event, 'tt15', 'link15')" onMouseOut="HideTip('tt15')">emotify</a></td><td class=SDescription>Replaces text-emoticons with their image equivalent.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Util.Parser.linkify" id=link16 onMouseOver="ShowTip(event, 'tt16', 'link16')" onMouseOut="HideTip('tt16')">linkify</a></td><td class=SDescription>Replaces URLs with a HTML-link.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Util.Parser.escape" id=link17 onMouseOver="ShowTip(event, 'tt17', 'link17')" onMouseOut="HideTip('tt17')">escape</a></td><td class=SDescription>Escapes a text using a jQuery function (like htmlspecialchars in PHP)</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Util.Parser.all" id=link18 onMouseOver="ShowTip(event, 'tt18', 'link18')" onMouseOut="HideTip('tt18')">all</a></td><td class=SDescription>Does everything of the parser: escaping, linkifying and emotifying.</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.Util.Observable" >Candy.<wbr>Util.<wbr>Observable</a></td><td class=SDescription>A class can be extended with the observable to be able to notify observers</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Util.Observable.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Util.Observable.addObserver" id=link19 onMouseOver="ShowTip(event, 'tt19', 'link19')" onMouseOut="HideTip('tt19')">addObserver</a></td><td class=SDescription>Add an observer to the observer list</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Util.Observable.deleteObserver" id=link20 onMouseOver="ShowTip(event, 'tt20', 'link20')" onMouseOut="HideTip('tt20')">deleteObserver</a></td><td class=SDescription>Delete observer from list</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Util.Observable.clearObservers" id=link21 onMouseOver="ShowTip(event, 'tt21', 'link21')" onMouseOut="HideTip('tt21')">clearObservers</a></td><td class=SDescription>Deletes all observers in list</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Util.Observable.notifyObservers" id=link22 onMouseOver="ShowTip(event, 'tt22', 'link22')" onMouseOut="HideTip('tt22')">notifyObservers</a></td><td class=SDescription>Notify all of its observers of a certain event.</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
+<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="util.js"></a>util.js</h1><div class=CBody><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>Candy</td><td class=CDLDescription>Chats are not dead yet.</td></tr></table><h4 class=CHeading>Authors</h4><ul><li>Patrick Stadler <a href="#" onClick="location.href='mai' + 'lto:' + 'patrick' + '.stadler' + '@' + 'gmai' + 'l.com'; return false;" class=LEMail>patrick<span style="display: none">.nosp@m.</span>.stadler<span>@</span>gmai<span style="display: none">.nosp@m.</span>l.com</a></li><li>Michael Weibel <a href="#" onClick="location.href='mai' + 'lto:' + 'michael' + '.weibel' + '@' + 'gmai' + 'l.com'; return false;" class=LEMail>michael<span style="display: none">.nosp@m.</span>.weibel<span>@</span>gmai<span style="display: none">.nosp@m.</span>l.com</a></li></ul><h4 class=CHeading>Copyright</h4><p>&copy; 2011 Amiado Group AG.&nbsp; All rights reserved.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#util.js" >util.js</a></td><td class=SDescription></td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.Util" >Candy.Util</a></td><td class=SDescription>Candy utils</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Util.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Util.jidToId" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">jidToId</a></td><td class=SDescription>Translates a jid to a MD5-Id</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Util.escapeJid" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">escapeJid</a></td><td class=SDescription>Escapes a jid (node &amp; resource get escaped)</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Util.unescapeJid" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">unescapeJid</a></td><td class=SDescription>Unescapes a jid (node &amp; resource get unescaped)</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Util.crop" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">crop</a></td><td class=SDescription>Crop a string with the specified length</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Util.setCookie" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">setCookie</a></td><td class=SDescription>Sets a new cookie</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Util.cookieExists" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')">cookieExists</a></td><td class=SDescription>Tests if a cookie with the given name exists</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Util.getCookie" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')">getCookie</a></td><td class=SDescription>Returns the cookie value if there&rsquo;s one with this name, otherwise returns undefined</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Util.deleteCookie" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')">deleteCookie</a></td><td class=SDescription>Deletes a cookie with the given name</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Util.getPosLeftAccordingToWindowBounds" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')">getPosLeftAccordingToWindowBounds</a></td><td class=SDescription>Fetches the window width and element width and checks if specified position + element width is bigger than the window width.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Util.getPosTopAccordingToWindowBounds" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')">getPosTopAccordingToWindowBounds</a></td><td class=SDescription>Fetches the window height and element height and checks if specified position + element height is bigger than the window height.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Util.localizedTime" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')">localizedTime</a></td><td class=SDescription>Localizes ISO-8610 Date with the time/dateformat specified in the translation.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Util.iso8610toDate" >iso8610toDate</a></td><td class=SDescription>Parses a ISO-8610 Date to a Date-Object.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Util.isEmptyObject" id=link12 onMouseOver="ShowTip(event, 'tt12', 'link12')" onMouseOut="HideTip('tt12')">isEmptyObject</a></td><td class=SDescription>IE7 doesn&rsquo;t work with jQuery.isEmptyObject (&lt;=1.5.1), workaround.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Util.forceRedraw" id=link13 onMouseOver="ShowTip(event, 'tt13', 'link13')" onMouseOut="HideTip('tt13')">forceRedraw</a></td><td class=SDescription>Fix IE7 not redrawing under some circumstances.</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.Util.Parser" >Candy.<wbr>Util.<wbr>Parser</a></td><td class=SDescription>Parser for emoticons, links and also supports escaping.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Util.Parser.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Util.Parser.setEmoticonPath" id=link14 onMouseOver="ShowTip(event, 'tt14', 'link14')" onMouseOut="HideTip('tt14')">setEmoticonPath</a></td><td class=SDescription>Set emoticons location.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Util.Parser.Variables" >Variables</a></td><td class=SDescription></td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#Candy.Util.Parser.emoticons" >emoticons</a></td><td class=SDescription>Array containing emoticons to be replaced by their images.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Util.Parser.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Util.Parser.emotify" id=link15 onMouseOver="ShowTip(event, 'tt15', 'link15')" onMouseOut="HideTip('tt15')">emotify</a></td><td class=SDescription>Replaces text-emoticons with their image equivalent.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Util.Parser.linkify" id=link16 onMouseOver="ShowTip(event, 'tt16', 'link16')" onMouseOut="HideTip('tt16')">linkify</a></td><td class=SDescription>Replaces URLs with a HTML-link.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Util.Parser.escape" id=link17 onMouseOver="ShowTip(event, 'tt17', 'link17')" onMouseOut="HideTip('tt17')">escape</a></td><td class=SDescription>Escapes a text using a jQuery function (like htmlspecialchars in PHP)</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Util.Parser.all" id=link18 onMouseOver="ShowTip(event, 'tt18', 'link18')" onMouseOut="HideTip('tt18')">all</a></td><td class=SDescription>Does everything of the parser: escaping, linkifying and emotifying.</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.Util.Observable" >Candy.<wbr>Util.<wbr>Observable</a></td><td class=SDescription>A class can be extended with the observable to be able to notify observers</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.Util.Observable.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Util.Observable.addObserver" id=link19 onMouseOver="ShowTip(event, 'tt19', 'link19')" onMouseOut="HideTip('tt19')">addObserver</a></td><td class=SDescription>Add an observer to the observer list</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Util.Observable.deleteObserver" id=link20 onMouseOver="ShowTip(event, 'tt20', 'link20')" onMouseOut="HideTip('tt20')">deleteObserver</a></td><td class=SDescription>Delete observer from list</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.Util.Observable.clearObservers" id=link21 onMouseOver="ShowTip(event, 'tt21', 'link21')" onMouseOut="HideTip('tt21')">clearObservers</a></td><td class=SDescription>Deletes all observers in list</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.Util.Observable.notifyObservers" id=link22 onMouseOver="ShowTip(event, 'tt22', 'link22')" onMouseOut="HideTip('tt22')">notifyObservers</a></td><td class=SDescription>Notify all of its observers of a certain event.</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
<div class="CClass"><div class=CTopic><h2 class=CTitle><a name="Candy.Util"></a>Candy.Util</h2><div class=CBody><p>Candy utils</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>(Candy.Util) self</td><td class=CDLDescription>itself</td></tr><tr><td class=CDLEntry>(jQuery) $</td><td class=CDLDescription>jQuery</td></tr></table><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SGroup"><td class=SEntry><a href="#Candy.Util.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Candy.Util.jidToId" id=link23 onMouseOver="ShowTip(event, 'tt1', 'link23')" onMouseOut="HideTip('tt1')">jidToId</a></td><td class=SDescription>Translates a jid to a MD5-Id</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#Candy.Util.escapeJid" id=link24 onMouseOver="ShowTip(event, 'tt2', 'link24')" onMouseOut="HideTip('tt2')">escapeJid</a></td><td class=SDescription>Escapes a jid (node &amp; resource get escaped)</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Candy.Util.unescapeJid" id=link25 onMouseOver="ShowTip(event, 'tt3', 'link25')" onMouseOut="HideTip('tt3')">unescapeJid</a></td><td class=SDescription>Unescapes a jid (node &amp; resource get unescaped)</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#Candy.Util.crop" id=link26 onMouseOver="ShowTip(event, 'tt4', 'link26')" onMouseOut="HideTip('tt4')">crop</a></td><td class=SDescription>Crop a string with the specified length</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Candy.Util.setCookie" id=link27 onMouseOver="ShowTip(event, 'tt5', 'link27')" onMouseOut="HideTip('tt5')">setCookie</a></td><td class=SDescription>Sets a new cookie</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#Candy.Util.cookieExists" id=link28 onMouseOver="ShowTip(event, 'tt6', 'link28')" onMouseOut="HideTip('tt6')">cookieExists</a></td><td class=SDescription>Tests if a cookie with the given name exists</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Candy.Util.getCookie" id=link29 onMouseOver="ShowTip(event, 'tt7', 'link29')" onMouseOut="HideTip('tt7')">getCookie</a></td><td class=SDescription>Returns the cookie value if there&rsquo;s one with this name, otherwise returns undefined</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#Candy.Util.deleteCookie" id=link30 onMouseOver="ShowTip(event, 'tt8', 'link30')" onMouseOut="HideTip('tt8')">deleteCookie</a></td><td class=SDescription>Deletes a cookie with the given name</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Candy.Util.getPosLeftAccordingToWindowBounds" id=link31 onMouseOver="ShowTip(event, 'tt9', 'link31')" onMouseOut="HideTip('tt9')">getPosLeftAccordingToWindowBounds</a></td><td class=SDescription>Fetches the window width and element width and checks if specified position + element width is bigger than the window width.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#Candy.Util.getPosTopAccordingToWindowBounds" id=link32 onMouseOver="ShowTip(event, 'tt10', 'link32')" onMouseOut="HideTip('tt10')">getPosTopAccordingToWindowBounds</a></td><td class=SDescription>Fetches the window height and element height and checks if specified position + element height is bigger than the window height.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Candy.Util.localizedTime" id=link33 onMouseOver="ShowTip(event, 'tt11', 'link33')" onMouseOut="HideTip('tt11')">localizedTime</a></td><td class=SDescription>Localizes ISO-8610 Date with the time/dateformat specified in the translation.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#Candy.Util.iso8610toDate" >iso8610toDate</a></td><td class=SDescription>Parses a ISO-8610 Date to a Date-Object.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Candy.Util.isEmptyObject" id=link34 onMouseOver="ShowTip(event, 'tt12', 'link34')" onMouseOut="HideTip('tt12')">isEmptyObject</a></td><td class=SDescription>IE7 doesn&rsquo;t work with jQuery.isEmptyObject (&lt;=1.5.1), workaround.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#Candy.Util.forceRedraw" id=link35 onMouseOver="ShowTip(event, 'tt13', 'link35')" onMouseOut="HideTip('tt13')">forceRedraw</a></td><td class=SDescription>Fix IE7 not redrawing under some circumstances.</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
diff --git a/docs/files/src/view-js.html b/docs/files/src/view-js.html
index cbd2efb..775fb61 100644
--- a/docs/files/src/view-js.html
+++ b/docs/files/src/view-js.html
@@ -11,7 +11,7 @@ if (browserType) {document.write("<div class=" + browserType + ">");if (browserV
-<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="view.js"></a>view.js</h1><div class=CBody><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>Candy</td><td class=CDLDescription>Chats are not dead yet.</td></tr></table><h4 class=CHeading>Authors</h4><ul><li>Patrick Stadler <a href="#" onClick="location.href='mai' + 'lto:' + 'patrick' + '.stadler' + '@' + 'amiadog' + 'roup.com'; return false;" class=LEMail>patrick<span style="display: none">.nosp@m.</span>.stadler<span>@</span>amiadog<span style="display: none">.nosp@m.</span>roup.com</a></li><li>Michael Weibel <a href="#" onClick="location.href='mai' + 'lto:' + 'michael' + '.weibel' + '@' + 'amiadog' + 'roup.com'; return false;" class=LEMail>michael<span style="display: none">.nosp@m.</span>.weibel<span>@</span>amiadog<span style="display: none">.nosp@m.</span>roup.com</a></li></ul><h4 class=CHeading>Copyright</h4><p>&copy; 2011 Amiado Group AG.&nbsp; All rights reserved.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#view.js" >view.js</a></td><td class=SDescription></td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View" >Candy.View</a></td><td class=SDescription>The Candy View Class</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.init" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">init</a></td><td class=SDescription>Initialize chat view (setup DOM, register handlers &amp; observers)</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.getCurrent" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">getCurrent</a></td><td class=SDescription>Get current container &amp; roomJid in an object.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.getOptions" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">getOptions</a></td><td class=SDescription>Gets options</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
+<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="view.js"></a>view.js</h1><div class=CBody><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>Candy</td><td class=CDLDescription>Chats are not dead yet.</td></tr></table><h4 class=CHeading>Authors</h4><ul><li>Patrick Stadler <a href="#" onClick="location.href='mai' + 'lto:' + 'patrick' + '.stadler' + '@' + 'gmai' + 'l.com'; return false;" class=LEMail>patrick<span style="display: none">.nosp@m.</span>.stadler<span>@</span>gmai<span style="display: none">.nosp@m.</span>l.com</a></li><li>Michael Weibel <a href="#" onClick="location.href='mai' + 'lto:' + 'michael' + '.weibel' + '@' + 'gmai' + 'l.com'; return false;" class=LEMail>michael<span style="display: none">.nosp@m.</span>.weibel<span>@</span>gmai<span style="display: none">.nosp@m.</span>l.com</a></li></ul><h4 class=CHeading>Copyright</h4><p>&copy; 2011 Amiado Group AG.&nbsp; All rights reserved.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#view.js" >view.js</a></td><td class=SDescription></td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View" >Candy.View</a></td><td class=SDescription>The Candy View Class</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.init" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">init</a></td><td class=SDescription>Initialize chat view (setup DOM, register handlers &amp; observers)</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.getCurrent" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">getCurrent</a></td><td class=SDescription>Get current container &amp; roomJid in an object.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.getOptions" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">getOptions</a></td><td class=SDescription>Gets options</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
<div class="CClass"><div class=CTopic><h2 class=CTitle><a name="Candy.View"></a>Candy.View</h2><div class=CBody><p>The Candy View Class</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>(Candy.View) self</td><td class=CDLDescription>itself</td></tr><tr><td class=CDLEntry>(jQuery) $</td><td class=CDLDescription>jQuery</td></tr></table><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SGroup"><td class=SEntry><a href="#Candy.View.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Candy.View.init" id=link4 onMouseOver="ShowTip(event, 'tt1', 'link4')" onMouseOut="HideTip('tt1')">init</a></td><td class=SDescription>Initialize chat view (setup DOM, register handlers &amp; observers)</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#Candy.View.getCurrent" id=link5 onMouseOver="ShowTip(event, 'tt2', 'link5')" onMouseOut="HideTip('tt2')">getCurrent</a></td><td class=SDescription>Get current container &amp; roomJid in an object.</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Candy.View.getOptions" id=link6 onMouseOver="ShowTip(event, 'tt3', 'link6')" onMouseOut="HideTip('tt3')">getOptions</a></td><td class=SDescription>Gets options</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
diff --git a/docs/files/src/view/event-js.html b/docs/files/src/view/event-js.html
index 82dbd4f..489749d 100644
--- a/docs/files/src/view/event-js.html
+++ b/docs/files/src/view/event-js.html
@@ -11,7 +11,7 @@ if (browserType) {document.write("<div class=" + browserType + ">");if (browserV
-<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="event.js"></a>event.js</h1><div class=CBody><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>Candy</td><td class=CDLDescription>Chats are not dead yet.</td></tr></table><h4 class=CHeading>Authors</h4><ul><li>Patrick Stadler <a href="#" onClick="location.href='mai' + 'lto:' + 'patrick' + '.stadler' + '@' + 'amiadog' + 'roup.com'; return false;" class=LEMail>patrick<span style="display: none">.nosp@m.</span>.stadler<span>@</span>amiadog<span style="display: none">.nosp@m.</span>roup.com</a></li><li>Michael Weibel <a href="#" onClick="location.href='mai' + 'lto:' + 'michael' + '.weibel' + '@' + 'amiadog' + 'roup.com'; return false;" class=LEMail>michael<span style="display: none">.nosp@m.</span>.weibel<span>@</span>amiadog<span style="display: none">.nosp@m.</span>roup.com</a></li></ul><h4 class=CHeading>Copyright</h4><p>&copy; 2011 Amiado Group AG.&nbsp; All rights reserved.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#event.js" >event.js</a></td><td class=SDescription></td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Event" >Candy.<wbr>View.<wbr>Event</a></td><td class=SDescription>Empty hooks to capture events and inject custom code.</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Event.Chat" >Candy.<wbr>View.<wbr>Event.Chat</a></td><td class=SDescription>Chat-related events</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Event.Chat.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Event.Chat.onAdminMessage" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">onAdminMessage</a></td><td class=SDescription>Called when receiving admin messages</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Event.Chat.onDisconnect" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">onDisconnect</a></td><td class=SDescription>Called when client disconnects</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Event.Chat.onAuthfail" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">onAuthfail</a></td><td class=SDescription>Called when authentication fails</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Event.Room" >Candy.<wbr>View.<wbr>Event.Room</a></td><td class=SDescription>Room-related events</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Event.Room.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Event.Room.onAdd" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">onAdd</a></td><td class=SDescription>Called when a new room gets added</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Event.Room.onShow" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">onShow</a></td><td class=SDescription>Called when a room gets shown</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Event.Room.onHide" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')">onHide</a></td><td class=SDescription>Called when a room gets hidden</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Event.Room.onSubjectChange" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')">onSubjectChange</a></td><td class=SDescription>Called when a subject of a room gets changed</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Event.Room.onClose" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')">onClose</a></td><td class=SDescription>Called after a room has been left/closed</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Event.Room.onPresenceChange" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')">onPresenceChange</a></td><td class=SDescription>Called when presence of user changes (kick, ban)</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Event.Roster" >Candy.<wbr>View.<wbr>Event.<wbr>Roster</a></td><td class=SDescription>Roster-related events</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Event.Roster.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Event.Roster.onUpdate" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')">onUpdate</a></td><td class=SDescription>Called after a user have been added to the roster</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Event.Roster.onContextMenu" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')">onContextMenu</a></td><td class=SDescription>Called when a user clicks on the action menu arrow. </td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Event.Roster.afterContextMenu" id=link12 onMouseOver="ShowTip(event, 'tt12', 'link12')" onMouseOut="HideTip('tt12')">afterContextMenu</a></td><td class=SDescription>Called when after a the context menu is rendered</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Event.Message" >Candy.<wbr>View.<wbr>Event.<wbr>Message</a></td><td class=SDescription>Message-related events</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Event.Message.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Event.Message.beforeShow" id=link13 onMouseOver="ShowTip(event, 'tt13', 'link13')" onMouseOut="HideTip('tt13')">beforeShow</a></td><td class=SDescription>Called before a new message will be shown.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Event.Message.onShow" id=link14 onMouseOver="ShowTip(event, 'tt14', 'link14')" onMouseOut="HideTip('tt14')">onShow</a></td><td class=SDescription>Called after a new message has been shown</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Event.Message.beforeSend" id=link15 onMouseOver="ShowTip(event, 'tt15', 'link15')" onMouseOut="HideTip('tt15')">beforeSend</a></td><td class=SDescription>Called before a message get sent</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
+<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="event.js"></a>event.js</h1><div class=CBody><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>Candy</td><td class=CDLDescription>Chats are not dead yet.</td></tr></table><h4 class=CHeading>Authors</h4><ul><li>Patrick Stadler <a href="#" onClick="location.href='mai' + 'lto:' + 'patrick' + '.stadler' + '@' + 'gmai' + 'l.com'; return false;" class=LEMail>patrick<span style="display: none">.nosp@m.</span>.stadler<span>@</span>gmai<span style="display: none">.nosp@m.</span>l.com</a></li><li>Michael Weibel <a href="#" onClick="location.href='mai' + 'lto:' + 'michael' + '.weibel' + '@' + 'gmai' + 'l.com'; return false;" class=LEMail>michael<span style="display: none">.nosp@m.</span>.weibel<span>@</span>gmai<span style="display: none">.nosp@m.</span>l.com</a></li></ul><h4 class=CHeading>Copyright</h4><p>&copy; 2011 Amiado Group AG.&nbsp; All rights reserved.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#event.js" >event.js</a></td><td class=SDescription></td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Event" >Candy.<wbr>View.<wbr>Event</a></td><td class=SDescription>Empty hooks to capture events and inject custom code.</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Event.Chat" >Candy.<wbr>View.<wbr>Event.Chat</a></td><td class=SDescription>Chat-related events</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Event.Chat.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Event.Chat.onAdminMessage" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">onAdminMessage</a></td><td class=SDescription>Called when receiving admin messages</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Event.Chat.onDisconnect" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">onDisconnect</a></td><td class=SDescription>Called when client disconnects</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Event.Chat.onAuthfail" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">onAuthfail</a></td><td class=SDescription>Called when authentication fails</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Event.Room" >Candy.<wbr>View.<wbr>Event.Room</a></td><td class=SDescription>Room-related events</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Event.Room.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Event.Room.onAdd" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">onAdd</a></td><td class=SDescription>Called when a new room gets added</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Event.Room.onShow" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">onShow</a></td><td class=SDescription>Called when a room gets shown</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Event.Room.onHide" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')">onHide</a></td><td class=SDescription>Called when a room gets hidden</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Event.Room.onSubjectChange" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')">onSubjectChange</a></td><td class=SDescription>Called when a subject of a room gets changed</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Event.Room.onClose" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')">onClose</a></td><td class=SDescription>Called after a room has been left/closed</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Event.Room.onPresenceChange" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')">onPresenceChange</a></td><td class=SDescription>Called when presence of user changes (kick, ban)</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Event.Roster" >Candy.<wbr>View.<wbr>Event.<wbr>Roster</a></td><td class=SDescription>Roster-related events</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Event.Roster.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Event.Roster.onUpdate" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')">onUpdate</a></td><td class=SDescription>Called after a user have been added to the roster</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Event.Roster.onContextMenu" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')">onContextMenu</a></td><td class=SDescription>Called when a user clicks on the action menu arrow. </td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Event.Roster.afterContextMenu" id=link12 onMouseOver="ShowTip(event, 'tt12', 'link12')" onMouseOut="HideTip('tt12')">afterContextMenu</a></td><td class=SDescription>Called when after a the context menu is rendered</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Event.Message" >Candy.<wbr>View.<wbr>Event.<wbr>Message</a></td><td class=SDescription>Message-related events</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Event.Message.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Event.Message.beforeShow" id=link13 onMouseOver="ShowTip(event, 'tt13', 'link13')" onMouseOut="HideTip('tt13')">beforeShow</a></td><td class=SDescription>Called before a new message will be shown.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Event.Message.onShow" id=link14 onMouseOver="ShowTip(event, 'tt14', 'link14')" onMouseOut="HideTip('tt14')">onShow</a></td><td class=SDescription>Called after a new message has been shown</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Event.Message.beforeSend" id=link15 onMouseOver="ShowTip(event, 'tt15', 'link15')" onMouseOut="HideTip('tt15')">beforeSend</a></td><td class=SDescription>Called before a message get sent</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
<div class="CClass"><div class=CTopic><h2 class=CTitle><a name="Candy.View.Event"></a>Candy.<wbr>View.<wbr>Event</h2><div class=CBody><p>Empty hooks to capture events and inject custom code.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>(Candy.View.Event) self</td><td class=CDLDescription>itself</td></tr><tr><td class=CDLEntry>(jQuery) $</td><td class=CDLDescription>jQuery</td></tr></table></div></div></div>
diff --git a/docs/files/src/view/observer-js.html b/docs/files/src/view/observer-js.html
index c0b6930..6244acd 100644
--- a/docs/files/src/view/observer-js.html
+++ b/docs/files/src/view/observer-js.html
@@ -11,7 +11,7 @@ if (browserType) {document.write("<div class=" + browserType + ">");if (browserV
-<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="observer.js"></a>observer.js</h1><div class=CBody><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>Candy</td><td class=CDLDescription>Chats are not dead yet.</td></tr></table><h4 class=CHeading>Authors</h4><ul><li>Patrick Stadler <a href="#" onClick="location.href='mai' + 'lto:' + 'patrick' + '.stadler' + '@' + 'amiadog' + 'roup.com'; return false;" class=LEMail>patrick<span style="display: none">.nosp@m.</span>.stadler<span>@</span>amiadog<span style="display: none">.nosp@m.</span>roup.com</a></li><li>Michael Weibel <a href="#" onClick="location.href='mai' + 'lto:' + 'michael' + '.weibel' + '@' + 'amiadog' + 'roup.com'; return false;" class=LEMail>michael<span style="display: none">.nosp@m.</span>.weibel<span>@</span>amiadog<span style="display: none">.nosp@m.</span>roup.com</a></li></ul><h4 class=CHeading>Copyright</h4><p>&copy; 2011 Amiado Group AG.&nbsp; All rights reserved.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#observer.js" >observer.js</a></td><td class=SDescription></td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Observer" >Candy.<wbr>View.<wbr>Observer</a></td><td class=SDescription>Observes Candy core events</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Observer.Chat" >Candy.<wbr>View.<wbr>Observer.Chat</a></td><td class=SDescription>Chat events</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Observer.Chat.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Observer.Chat.update" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">update</a></td><td class=SDescription>The update method gets called whenever an event to which &ldquo;Chat&rdquo; is subscribed.</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Observer.Presence" >Candy.<wbr>View.<wbr>Observer.<wbr>Presence</a></td><td class=SDescription>Presence update events</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Observer.Presence.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Observer.Presence.update" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">update</a></td><td class=SDescription>Every presence update gets dispatched from this method.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Observer.Presence.notifyPrivateChats" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">notifyPrivateChats</a></td><td class=SDescription>Notify private user chats if existing</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Observer.PresenceError" >Candy.<wbr>View.<wbr>Observer.<wbr>PresenceError</a></td><td class=SDescription>Presence error events</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Observer.PresenceError.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Observer.PresenceError.update" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">update</a></td><td class=SDescription>Presence errors get handled in this method</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Observer.Message" >Candy.<wbr>View.<wbr>Observer.<wbr>Message</a></td><td class=SDescription>Message related events</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Observer.Message.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Observer.Message.update" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">update</a></td><td class=SDescription>Messages received get dispatched from this method.</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Observer.Login" >Candy.<wbr>View.<wbr>Observer.<wbr>Login</a></td><td class=SDescription>Handles when display login window should appear</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Observer.Login.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Observer.Login.update" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')">update</a></td><td class=SDescription>The login event gets dispatched to this method</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
+<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="observer.js"></a>observer.js</h1><div class=CBody><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>Candy</td><td class=CDLDescription>Chats are not dead yet.</td></tr></table><h4 class=CHeading>Authors</h4><ul><li>Patrick Stadler <a href="#" onClick="location.href='mai' + 'lto:' + 'patrick' + '.stadler' + '@' + 'gmai' + 'l.com'; return false;" class=LEMail>patrick<span style="display: none">.nosp@m.</span>.stadler<span>@</span>gmai<span style="display: none">.nosp@m.</span>l.com</a></li><li>Michael Weibel <a href="#" onClick="location.href='mai' + 'lto:' + 'michael' + '.weibel' + '@' + 'gmai' + 'l.com'; return false;" class=LEMail>michael<span style="display: none">.nosp@m.</span>.weibel<span>@</span>gmai<span style="display: none">.nosp@m.</span>l.com</a></li></ul><h4 class=CHeading>Copyright</h4><p>&copy; 2011 Amiado Group AG.&nbsp; All rights reserved.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#observer.js" >observer.js</a></td><td class=SDescription></td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Observer" >Candy.<wbr>View.<wbr>Observer</a></td><td class=SDescription>Observes Candy core events</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Observer.Chat" >Candy.<wbr>View.<wbr>Observer.Chat</a></td><td class=SDescription>Chat events</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Observer.Chat.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Observer.Chat.update" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">update</a></td><td class=SDescription>The update method gets called whenever an event to which &ldquo;Chat&rdquo; is subscribed.</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Observer.Presence" >Candy.<wbr>View.<wbr>Observer.<wbr>Presence</a></td><td class=SDescription>Presence update events</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Observer.Presence.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Observer.Presence.update" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">update</a></td><td class=SDescription>Every presence update gets dispatched from this method.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Observer.Presence.notifyPrivateChats" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">notifyPrivateChats</a></td><td class=SDescription>Notify private user chats if existing</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Observer.PresenceError" >Candy.<wbr>View.<wbr>Observer.<wbr>PresenceError</a></td><td class=SDescription>Presence error events</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Observer.PresenceError.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Observer.PresenceError.update" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">update</a></td><td class=SDescription>Presence errors get handled in this method</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Observer.Message" >Candy.<wbr>View.<wbr>Observer.<wbr>Message</a></td><td class=SDescription>Message related events</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Observer.Message.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Observer.Message.update" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">update</a></td><td class=SDescription>Messages received get dispatched from this method.</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Observer.Login" >Candy.<wbr>View.<wbr>Observer.<wbr>Login</a></td><td class=SDescription>Handles when display login window should appear</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Observer.Login.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Observer.Login.update" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')">update</a></td><td class=SDescription>The login event gets dispatched to this method</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
<div class="CClass"><div class=CTopic><h2 class=CTitle><a name="Candy.View.Observer"></a>Candy.<wbr>View.<wbr>Observer</h2><div class=CBody><p>Observes Candy core events</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>(Candy.View.Observer) self</td><td class=CDLDescription>itself</td></tr><tr><td class=CDLEntry>(jQuery) $</td><td class=CDLDescription>jQuery</td></tr></table></div></div></div>
diff --git a/docs/files/src/view/pane-js.html b/docs/files/src/view/pane-js.html
index 7a9503a..246a48e 100644
--- a/docs/files/src/view/pane-js.html
+++ b/docs/files/src/view/pane-js.html
@@ -11,7 +11,7 @@ if (browserType) {document.write("<div class=" + browserType + ">");if (browserV
-<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="pane.js"></a>pane.js</h1><div class=CBody><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>Candy</td><td class=CDLDescription>Chats are not dead yet.</td></tr></table><h4 class=CHeading>Authors</h4><ul><li>Patrick Stadler <a href="#" onClick="location.href='mai' + 'lto:' + 'patrick' + '.stadler' + '@' + 'amiadog' + 'roup.com'; return false;" class=LEMail>patrick<span style="display: none">.nosp@m.</span>.stadler<span>@</span>amiadog<span style="display: none">.nosp@m.</span>roup.com</a></li><li>Michael Weibel <a href="#" onClick="location.href='mai' + 'lto:' + 'michael' + '.weibel' + '@' + 'amiadog' + 'roup.com'; return false;" class=LEMail>michael<span style="display: none">.nosp@m.</span>.weibel<span>@</span>amiadog<span style="display: none">.nosp@m.</span>roup.com</a></li></ul><h4 class=CHeading>Copyright</h4><p>&copy; 2011 Amiado Group AG.&nbsp; All rights reserved.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#pane.js" >pane.js</a></td><td class=SDescription></td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Pane" >Candy.<wbr>View.Pane</a></td><td class=SDescription>Candy view pane handles everything regarding DOM updates etc.</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Pane.Window" >Candy.<wbr>View.<wbr>Pane.<wbr>Window</a></td><td class=SDescription>Window related view updates</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Pane.Window.Variables" >Variables</a></td><td class=SDescription></td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Window.autoscroll" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">autoscroll</a></td><td class=SDescription>Boolean whether autoscroll is enabled</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Pane.Window.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Window.hasFocus" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">hasFocus</a></td><td class=SDescription>Checks if window has focus</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Window.increaseUnreadMessages" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">increaseUnreadMessages</a></td><td class=SDescription>Increases unread message count in window title by one.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Window.reduceUnreadMessages" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">reduceUnreadMessages</a></td><td class=SDescription>Reduce unread message count in window title by `num`.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Window.clearUnreadMessages" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">clearUnreadMessages</a></td><td class=SDescription>Clear unread message count in window title.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Window.renderUnreadMessages" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')">renderUnreadMessages</a></td><td class=SDescription>Update window title to show message count.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Window.onFocus" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')">onFocus</a></td><td class=SDescription>Window focus event handler.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Window.onBlur" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')">onBlur</a></td><td class=SDescription>Window blur event handler.</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Pane.Chat" >Candy.<wbr>View.<wbr>Pane.Chat</a></td><td class=SDescription>Chat-View related view updates</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Pane.Chat.Variables" >Variables</a></td><td class=SDescription></td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Chat.rooms" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')">rooms</a></td><td class=SDescription>Contains opened room elements</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Pane.Chat.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Chat.addTab" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')">addTab</a></td><td class=SDescription>Add a tab to the chat pane.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Chat.getTab" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')">getTab</a></td><td class=SDescription>Get tab by JID.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Chat.removeTab" id=link12 onMouseOver="ShowTip(event, 'tt12', 'link12')" onMouseOut="HideTip('tt12')">removeTab</a></td><td class=SDescription>Remove tab element.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Chat.setActiveTab" id=link13 onMouseOver="ShowTip(event, 'tt13', 'link13')" onMouseOut="HideTip('tt13')">setActiveTab</a></td><td class=SDescription>Set the active tab.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Chat.increaseUnreadMessages" id=link14 onMouseOver="ShowTip(event, 'tt14', 'link14')" onMouseOut="HideTip('tt14')">increaseUnreadMessages</a></td><td class=SDescription>Increase unread message count in a tab by one.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Chat.clearUnreadMessages" id=link15 onMouseOver="ShowTip(event, 'tt15', 'link15')" onMouseOut="HideTip('tt15')">clearUnreadMessages</a></td><td class=SDescription>Clear unread message count in a tab.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Chat.tabClick" id=link16 onMouseOver="ShowTip(event, 'tt16', 'link16')" onMouseOut="HideTip('tt16')">tabClick</a></td><td class=SDescription>Tab click event: show the room associated with the tab and stops the event from doing the default.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Chat.tabClose" id=link17 onMouseOver="ShowTip(event, 'tt17', 'link17')" onMouseOut="HideTip('tt17')">tabClose</a></td><td class=SDescription>Tab close (click) event: Leave the room (groupchat) or simply close the tab (chat).</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Chat.allTabsClosed" id=link18 onMouseOver="ShowTip(event, 'tt18', 'link18')" onMouseOut="HideTip('tt18')">allTabsClosed</a></td><td class=SDescription>All tabs closed event: Disconnect from service. </td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Chat.fitTabs" id=link19 onMouseOver="ShowTip(event, 'tt19', 'link19')" onMouseOut="HideTip('tt19')">fitTabs</a></td><td class=SDescription>Fit tab size according to window size</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Chat.updateToolbar" id=link20 onMouseOver="ShowTip(event, 'tt20', 'link20')" onMouseOut="HideTip('tt20')">updateToolbar</a></td><td class=SDescription>Show toolbar</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Chat.adminMessage" id=link21 onMouseOver="ShowTip(event, 'tt21', 'link21')" onMouseOut="HideTip('tt21')">adminMessage</a></td><td class=SDescription>Display admin message</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Chat.infoMessage" id=link22 onMouseOver="ShowTip(event, 'tt22', 'link22')" onMouseOut="HideTip('tt22')">infoMessage</a></td><td class=SDescription>Display info message. </td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Chat.onInfoMessage" id=link23 onMouseOver="ShowTip(event, 'tt23', 'link23')" onMouseOut="HideTip('tt23')">onInfoMessage</a></td><td class=SDescription>Display info message. </td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Pane.Toolbar" >Candy.<wbr>View.<wbr>Pane.<wbr>Toolbar</a></td><td class=SDescription>Chat toolbar for things like emoticons toolbar, room management etc.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Pane.Toolbar.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Toolbar.show" id=link24 onMouseOver="ShowTip(event, 'tt24', 'link24')" onMouseOut="HideTip('tt24')">show</a></td><td class=SDescription>Show toolbar.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Toolbar.hide" id=link25 onMouseOver="ShowTip(event, 'tt25', 'link25')" onMouseOut="HideTip('tt25')">hide</a></td><td class=SDescription>Hide toolbar.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Toolbar.playSound" id=link26 onMouseOver="ShowTip(event, 'tt26', 'link26')" onMouseOut="HideTip('tt26')">playSound</a></td><td class=SDescription>Play sound (default method).</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Toolbar.onPlaySound" id=link27 onMouseOver="ShowTip(event, 'tt27', 'link27')" onMouseOut="HideTip('tt27')">onPlaySound</a></td><td class=SDescription>Sound play event handler.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Toolbar.onSoundControlClick" id=link28 onMouseOver="ShowTip(event, 'tt28', 'link28')" onMouseOut="HideTip('tt28')">onSoundControlClick</a></td><td class=SDescription>Sound control click event handler.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Toolbar.onAutoscrollControlClick" id=link29 onMouseOver="ShowTip(event, 'tt29', 'link29')" onMouseOut="HideTip('tt29')">onAutoscrollControlClick</a></td><td class=SDescription>Autoscroll control event handler.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Toolbar.onStatusMessageControlClick" id=link30 onMouseOver="ShowTip(event, 'tt30', 'link30')" onMouseOut="HideTip('tt30')">onStatusMessageControlClick</a></td><td class=SDescription>Status message control event handler.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Toolbar.updateUserCount" >updateUserCount</a></td><td class=SDescription>Update usercount element with count.</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Pane.Modal" >Candy.<wbr>View.<wbr>Pane.<wbr>Modal</a></td><td class=SDescription>Modal window</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Pane.Modal.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Modal.show" id=link31 onMouseOver="ShowTip(event, 'tt31', 'link31')" onMouseOut="HideTip('tt31')">show</a></td><td class=SDescription>Display modal window</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Modal.hide" id=link32 onMouseOver="ShowTip(event, 'tt32', 'link32')" onMouseOut="HideTip('tt32')">hide</a></td><td class=SDescription>Hide modal window</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Modal.showSpinner" id=link33 onMouseOver="ShowTip(event, 'tt33', 'link33')" onMouseOut="HideTip('tt33')">showSpinner</a></td><td class=SDescription>Show loading spinner</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Modal.hideSpinner" id=link34 onMouseOver="ShowTip(event, 'tt34', 'link34')" onMouseOut="HideTip('tt34')">hideSpinner</a></td><td class=SDescription>Hide loading spinner</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Modal.showCloseControl" id=link35 onMouseOver="ShowTip(event, 'tt35', 'link35')" onMouseOut="HideTip('tt35')">showCloseControl</a></td><td class=SDescription>Show a close button</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Modal.hideCloseControl" id=link36 onMouseOver="ShowTip(event, 'tt36', 'link36')" onMouseOut="HideTip('tt36')">hideCloseControl</a></td><td class=SDescription>Hide the close button</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Modal.showLoginForm" id=link37 onMouseOver="ShowTip(event, 'tt37', 'link37')" onMouseOut="HideTip('tt37')">showLoginForm</a></td><td class=SDescription>Show the login form modal</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Modal.showEnterPasswordForm" id=link38 onMouseOver="ShowTip(event, 'tt38', 'link38')" onMouseOut="HideTip('tt38')">showEnterPasswordForm</a></td><td class=SDescription>Shows a form for entering room password</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Modal.showNicknameConflictForm" id=link39 onMouseOver="ShowTip(event, 'tt39', 'link39')" onMouseOut="HideTip('tt39')">showNicknameConflictForm</a></td><td class=SDescription>Shows a form indicating that the nickname is already taken and for chosing a new nickname</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Modal.showError" id=link40 onMouseOver="ShowTip(event, 'tt40', 'link40')" onMouseOut="HideTip('tt40')">showError</a></td><td class=SDescription>Show modal containing error message</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Pane.Tooltip" >Candy.<wbr>View.<wbr>Pane.<wbr>Tooltip</a></td><td class=SDescription>Class to display tooltips over specific elements</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Pane.Tooltip.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Tooltip.show" id=link41 onMouseOver="ShowTip(event, 'tt41', 'link41')" onMouseOut="HideTip('tt41')">show</a></td><td class=SDescription>Show a tooltip on event.currentTarget with content specified or content within the target&rsquo;s attribute data-tooltip.</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Pane.Context" >Candy.<wbr>View.<wbr>Pane.<wbr>Context</a></td><td class=SDescription>Context menu for actions and settings</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Pane.Context.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Context.init" id=link42 onMouseOver="ShowTip(event, 'tt42', 'link42')" onMouseOut="HideTip('tt42')">init</a></td><td class=SDescription>Initialize context menu and setup mouseleave handler.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Context.show" id=link43 onMouseOver="ShowTip(event, 'tt43', 'link43')" onMouseOut="HideTip('tt43')">show</a></td><td class=SDescription>Show context menu (positions it according to the window height/width)</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Context.getMenuLinks" id=link44 onMouseOver="ShowTip(event, 'tt44', 'link44')" onMouseOut="HideTip('tt44')">getMenuLinks</a></td><td class=SDescription>Extends <a href="#Candy.View.Pane.Context.initialMenuLinks" class=LFunction id=link45 onMouseOver="ShowTip(event, 'tt45', 'link45')" onMouseOut="HideTip('tt45')">initialMenuLinks</a> with <a href="../../candy-bundle-js.html#Candy.View.Event.Roster.onContextMenu" class=LFunction id=link46 onMouseOver="ShowTip(event, 'tt46', 'link46')" onMouseOut="HideTip('tt46')">Candy.View.Event.Roster.onContextMenu</a> links and returns those.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Context.initialMenuLinks" id=link47 onMouseOver="ShowTip(event, 'tt45', 'link47')" onMouseOut="HideTip('tt45')">initialMenuLinks</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Context.showEmoticonsMenu" id=link48 onMouseOver="ShowTip(event, 'tt47', 'link48')" onMouseOut="HideTip('tt47')">showEmoticonsMenu</a></td><td class=SDescription>Shows the special emoticons menu</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Pane.Room" >Candy.<wbr>View.<wbr>Pane.Room</a></td><td class=SDescription>Everything which belongs to room view things belongs here.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Pane.Room.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Room.init" id=link49 onMouseOver="ShowTip(event, 'tt48', 'link49')" onMouseOut="HideTip('tt48')">init</a></td><td class=SDescription>Initialize a new room and inserts the room html into the DOM</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Room.show" id=link50 onMouseOver="ShowTip(event, 'tt49', 'link50')" onMouseOut="HideTip('tt49')">show</a></td><td class=SDescription>Show a specific room and hides the other rooms (if there are any)</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Room.setSubject" id=link51 onMouseOver="ShowTip(event, 'tt50', 'link51')" onMouseOut="HideTip('tt50')">setSubject</a></td><td class=SDescription>Called when someone changes the subject in the channel</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Room.close" id=link52 onMouseOver="ShowTip(event, 'tt51', 'link52')" onMouseOut="HideTip('tt51')">close</a></td><td class=SDescription>Close a room and remove everything in the DOM belonging to this room.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Room.appendToMessagePane" id=link53 onMouseOver="ShowTip(event, 'tt52', 'link53')" onMouseOut="HideTip('tt52')">appendToMessagePane</a></td><td class=SDescription>Append a new message to the message pane.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Room.sliceMessagePane" id=link54 onMouseOver="ShowTip(event, 'tt53', 'link54')" onMouseOut="HideTip('tt53')">sliceMessagePane</a></td><td class=SDescription>Slices the message pane after the max amount of messages specified in the Candy View options (limit setting).</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Room.scrollToBottom" id=link55 onMouseOver="ShowTip(event, 'tt54', 'link55')" onMouseOut="HideTip('tt54')">scrollToBottom</a></td><td class=SDescription>Scroll to bottom wrapper for <a href="#Candy.View.Pane.Room.onScrollToBottom" class=LFunction id=link56 onMouseOver="ShowTip(event, 'tt55', 'link56')" onMouseOut="HideTip('tt55')">onScrollToBottom</a> to be able to disable it by overwriting the function.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Room.onScrollToBottom" id=link57 onMouseOver="ShowTip(event, 'tt55', 'link57')" onMouseOut="HideTip('tt55')">onScrollToBottom</a></td><td class=SDescription>Scrolls to the latest message received/sent.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Room.onScrollToStoredPosition" id=link58 onMouseOver="ShowTip(event, 'tt56', 'link58')" onMouseOut="HideTip('tt56')">onScrollToStoredPosition</a></td><td class=SDescription>When autoscroll is off, the position where the scrollbar is has to be stored for each room, because it otherwise goes to the top in the message window.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Room.setFocusToForm" id=link59 onMouseOver="ShowTip(event, 'tt57', 'link59')" onMouseOut="HideTip('tt57')">setFocusToForm</a></td><td class=SDescription>Set focus to the message input field within the message form.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Room.setUser" id=link60 onMouseOver="ShowTip(event, 'tt58', 'link60')" onMouseOut="HideTip('tt58')">setUser</a></td><td class=SDescription>Sets or updates the current user in the specified room (called by &lt;Candy.View.Pane.Roster.update&gt;) and set specific informations (roles and affiliations) on the room tab (chat-pane).</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Room.getUser" id=link61 onMouseOver="ShowTip(event, 'tt59', 'link61')" onMouseOut="HideTip('tt59')">getUser</a></td><td class=SDescription>Get the current user in the room specified with the jid</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Room.ignoreUser" id=link62 onMouseOver="ShowTip(event, 'tt60', 'link62')" onMouseOut="HideTip('tt60')">ignoreUser</a></td><td class=SDescription>Ignore specified user and add the ignore icon to the roster item of the user</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Room.unignoreUser" id=link63 onMouseOver="ShowTip(event, 'tt61', 'link63')" onMouseOut="HideTip('tt61')">unignoreUser</a></td><td class=SDescription>Unignore an ignored user and remove the ignore icon of the roster item.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Room.addIgnoreIcon" id=link64 onMouseOver="ShowTip(event, 'tt62', 'link64')" onMouseOut="HideTip('tt62')">addIgnoreIcon</a></td><td class=SDescription>Add the ignore icon to the roster item of the specified user</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Room.removeIgnoreIcon" id=link65 onMouseOver="ShowTip(event, 'tt63', 'link65')" onMouseOut="HideTip('tt63')">removeIgnoreIcon</a></td><td class=SDescription>Remove the ignore icon to the roster item of the specified user</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Room.getPane" id=link66 onMouseOver="ShowTip(event, 'tt64', 'link66')" onMouseOut="HideTip('tt64')">getPane</a></td><td class=SDescription>Get the chat room pane or a subPane of it (if subPane is specified)</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Pane.PrivateRoom" >Candy.<wbr>View.<wbr>Pane.<wbr>PrivateRoom</a></td><td class=SDescription>Private room handling</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Pane.PrivateRoom.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.PrivateRoom.open" id=link67 onMouseOver="ShowTip(event, 'tt65', 'link67')" onMouseOut="HideTip('tt65')">open</a></td><td class=SDescription>Opens a new private room</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.PrivateRoom.setStatus" id=link68 onMouseOver="ShowTip(event, 'tt66', 'link68')" onMouseOut="HideTip('tt66')">setStatus</a></td><td class=SDescription>Set offline or online status for private rooms (when one of the participants leaves the room)</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.PrivateRoom.update" id=link69 onMouseOver="ShowTip(event, 'tt67', 'link69')" onMouseOut="HideTip('tt67')">update</a></td><td class=SDescription>Called by <a href="observer-js.html#Candy.View.Observer.Presence.update" class=LFunction id=link70 onMouseOver="ShowTip(event, 'tt68', 'link70')" onMouseOut="HideTip('tt68')">Candy.View.Observer.Presence.update</a> to update the roster if needed. </td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.PrivateRoom.userClick" id=link71 onMouseOver="ShowTip(event, 'tt69', 'link71')" onMouseOut="HideTip('tt69')">userClick</a></td><td class=SDescription>Click handler for opening a private room</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.PrivateRoom.joinAnimation" id=link72 onMouseOver="ShowTip(event, 'tt70', 'link72')" onMouseOut="HideTip('tt70')">joinAnimation</a></td><td class=SDescription>Animates specified elementId on join</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.PrivateRoom.leaveAnimation" id=link73 onMouseOver="ShowTip(event, 'tt71', 'link73')" onMouseOut="HideTip('tt71')">leaveAnimation</a></td><td class=SDescription>Leave animation for specified element id and removes the DOM element on completion.</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Pane.Message" >Candy.<wbr>View.<wbr>Pane.<wbr>Message</a></td><td class=SDescription>Message submit/show handling</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Pane.Message.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Message.submit" id=link74 onMouseOver="ShowTip(event, 'tt72', 'link74')" onMouseOut="HideTip('tt72')">submit</a></td><td class=SDescription>on submit handler for message field sends the message to the server and if it&rsquo;s a private chat, shows the message immediately because the server doesn&rsquo;t send back those message.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Message.show" id=link75 onMouseOver="ShowTip(event, 'tt73', 'link75')" onMouseOut="HideTip('tt73')">show</a></td><td class=SDescription>Show a message in the message pane</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
+<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="pane.js"></a>pane.js</h1><div class=CBody><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>Candy</td><td class=CDLDescription>Chats are not dead yet.</td></tr></table><h4 class=CHeading>Authors</h4><ul><li>Patrick Stadler <a href="#" onClick="location.href='mai' + 'lto:' + 'patrick' + '.stadler' + '@' + 'gmai' + 'l.com'; return false;" class=LEMail>patrick<span style="display: none">.nosp@m.</span>.stadler<span>@</span>gmai<span style="display: none">.nosp@m.</span>l.com</a></li><li>Michael Weibel <a href="#" onClick="location.href='mai' + 'lto:' + 'michael' + '.weibel' + '@' + 'gmai' + 'l.com'; return false;" class=LEMail>michael<span style="display: none">.nosp@m.</span>.weibel<span>@</span>gmai<span style="display: none">.nosp@m.</span>l.com</a></li></ul><h4 class=CHeading>Copyright</h4><p>&copy; 2011 Amiado Group AG.&nbsp; All rights reserved.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#pane.js" >pane.js</a></td><td class=SDescription></td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Pane" >Candy.<wbr>View.Pane</a></td><td class=SDescription>Candy view pane handles everything regarding DOM updates etc.</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Pane.Window" >Candy.<wbr>View.<wbr>Pane.<wbr>Window</a></td><td class=SDescription>Window related view updates</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Pane.Window.Variables" >Variables</a></td><td class=SDescription></td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Window.autoscroll" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">autoscroll</a></td><td class=SDescription>Boolean whether autoscroll is enabled</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Pane.Window.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Window.hasFocus" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">hasFocus</a></td><td class=SDescription>Checks if window has focus</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Window.increaseUnreadMessages" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">increaseUnreadMessages</a></td><td class=SDescription>Increases unread message count in window title by one.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Window.reduceUnreadMessages" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">reduceUnreadMessages</a></td><td class=SDescription>Reduce unread message count in window title by `num`.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Window.clearUnreadMessages" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">clearUnreadMessages</a></td><td class=SDescription>Clear unread message count in window title.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Window.renderUnreadMessages" id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')">renderUnreadMessages</a></td><td class=SDescription>Update window title to show message count.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Window.onFocus" id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')">onFocus</a></td><td class=SDescription>Window focus event handler.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Window.onBlur" id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')">onBlur</a></td><td class=SDescription>Window blur event handler.</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Pane.Chat" >Candy.<wbr>View.<wbr>Pane.Chat</a></td><td class=SDescription>Chat-View related view updates</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Pane.Chat.Variables" >Variables</a></td><td class=SDescription></td></tr><tr class="SVariable SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Chat.rooms" id=link9 onMouseOver="ShowTip(event, 'tt9', 'link9')" onMouseOut="HideTip('tt9')">rooms</a></td><td class=SDescription>Contains opened room elements</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Pane.Chat.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Chat.addTab" id=link10 onMouseOver="ShowTip(event, 'tt10', 'link10')" onMouseOut="HideTip('tt10')">addTab</a></td><td class=SDescription>Add a tab to the chat pane.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Chat.getTab" id=link11 onMouseOver="ShowTip(event, 'tt11', 'link11')" onMouseOut="HideTip('tt11')">getTab</a></td><td class=SDescription>Get tab by JID.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Chat.removeTab" id=link12 onMouseOver="ShowTip(event, 'tt12', 'link12')" onMouseOut="HideTip('tt12')">removeTab</a></td><td class=SDescription>Remove tab element.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Chat.setActiveTab" id=link13 onMouseOver="ShowTip(event, 'tt13', 'link13')" onMouseOut="HideTip('tt13')">setActiveTab</a></td><td class=SDescription>Set the active tab.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Chat.increaseUnreadMessages" id=link14 onMouseOver="ShowTip(event, 'tt14', 'link14')" onMouseOut="HideTip('tt14')">increaseUnreadMessages</a></td><td class=SDescription>Increase unread message count in a tab by one.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Chat.clearUnreadMessages" id=link15 onMouseOver="ShowTip(event, 'tt15', 'link15')" onMouseOut="HideTip('tt15')">clearUnreadMessages</a></td><td class=SDescription>Clear unread message count in a tab.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Chat.tabClick" id=link16 onMouseOver="ShowTip(event, 'tt16', 'link16')" onMouseOut="HideTip('tt16')">tabClick</a></td><td class=SDescription>Tab click event: show the room associated with the tab and stops the event from doing the default.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Chat.tabClose" id=link17 onMouseOver="ShowTip(event, 'tt17', 'link17')" onMouseOut="HideTip('tt17')">tabClose</a></td><td class=SDescription>Tab close (click) event: Leave the room (groupchat) or simply close the tab (chat).</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Chat.allTabsClosed" id=link18 onMouseOver="ShowTip(event, 'tt18', 'link18')" onMouseOut="HideTip('tt18')">allTabsClosed</a></td><td class=SDescription>All tabs closed event: Disconnect from service. </td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Chat.fitTabs" id=link19 onMouseOver="ShowTip(event, 'tt19', 'link19')" onMouseOut="HideTip('tt19')">fitTabs</a></td><td class=SDescription>Fit tab size according to window size</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Chat.updateToolbar" id=link20 onMouseOver="ShowTip(event, 'tt20', 'link20')" onMouseOut="HideTip('tt20')">updateToolbar</a></td><td class=SDescription>Show toolbar</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Chat.adminMessage" id=link21 onMouseOver="ShowTip(event, 'tt21', 'link21')" onMouseOut="HideTip('tt21')">adminMessage</a></td><td class=SDescription>Display admin message</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Chat.infoMessage" id=link22 onMouseOver="ShowTip(event, 'tt22', 'link22')" onMouseOut="HideTip('tt22')">infoMessage</a></td><td class=SDescription>Display info message. </td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Chat.onInfoMessage" id=link23 onMouseOver="ShowTip(event, 'tt23', 'link23')" onMouseOut="HideTip('tt23')">onInfoMessage</a></td><td class=SDescription>Display info message. </td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Pane.Toolbar" >Candy.<wbr>View.<wbr>Pane.<wbr>Toolbar</a></td><td class=SDescription>Chat toolbar for things like emoticons toolbar, room management etc.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Pane.Toolbar.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Toolbar.show" id=link24 onMouseOver="ShowTip(event, 'tt24', 'link24')" onMouseOut="HideTip('tt24')">show</a></td><td class=SDescription>Show toolbar.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Toolbar.hide" id=link25 onMouseOver="ShowTip(event, 'tt25', 'link25')" onMouseOut="HideTip('tt25')">hide</a></td><td class=SDescription>Hide toolbar.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Toolbar.playSound" id=link26 onMouseOver="ShowTip(event, 'tt26', 'link26')" onMouseOut="HideTip('tt26')">playSound</a></td><td class=SDescription>Play sound (default method).</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Toolbar.onPlaySound" id=link27 onMouseOver="ShowTip(event, 'tt27', 'link27')" onMouseOut="HideTip('tt27')">onPlaySound</a></td><td class=SDescription>Sound play event handler.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Toolbar.onSoundControlClick" id=link28 onMouseOver="ShowTip(event, 'tt28', 'link28')" onMouseOut="HideTip('tt28')">onSoundControlClick</a></td><td class=SDescription>Sound control click event handler.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Toolbar.onAutoscrollControlClick" id=link29 onMouseOver="ShowTip(event, 'tt29', 'link29')" onMouseOut="HideTip('tt29')">onAutoscrollControlClick</a></td><td class=SDescription>Autoscroll control event handler.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Toolbar.onStatusMessageControlClick" id=link30 onMouseOver="ShowTip(event, 'tt30', 'link30')" onMouseOut="HideTip('tt30')">onStatusMessageControlClick</a></td><td class=SDescription>Status message control event handler.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Toolbar.updateUserCount" >updateUserCount</a></td><td class=SDescription>Update usercount element with count.</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Pane.Modal" >Candy.<wbr>View.<wbr>Pane.<wbr>Modal</a></td><td class=SDescription>Modal window</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Pane.Modal.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Modal.show" id=link31 onMouseOver="ShowTip(event, 'tt31', 'link31')" onMouseOut="HideTip('tt31')">show</a></td><td class=SDescription>Display modal window</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Modal.hide" id=link32 onMouseOver="ShowTip(event, 'tt32', 'link32')" onMouseOut="HideTip('tt32')">hide</a></td><td class=SDescription>Hide modal window</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Modal.showSpinner" id=link33 onMouseOver="ShowTip(event, 'tt33', 'link33')" onMouseOut="HideTip('tt33')">showSpinner</a></td><td class=SDescription>Show loading spinner</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Modal.hideSpinner" id=link34 onMouseOver="ShowTip(event, 'tt34', 'link34')" onMouseOut="HideTip('tt34')">hideSpinner</a></td><td class=SDescription>Hide loading spinner</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Modal.showCloseControl" id=link35 onMouseOver="ShowTip(event, 'tt35', 'link35')" onMouseOut="HideTip('tt35')">showCloseControl</a></td><td class=SDescription>Show a close button</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Modal.hideCloseControl" id=link36 onMouseOver="ShowTip(event, 'tt36', 'link36')" onMouseOut="HideTip('tt36')">hideCloseControl</a></td><td class=SDescription>Hide the close button</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Modal.showLoginForm" id=link37 onMouseOver="ShowTip(event, 'tt37', 'link37')" onMouseOut="HideTip('tt37')">showLoginForm</a></td><td class=SDescription>Show the login form modal</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Modal.showEnterPasswordForm" id=link38 onMouseOver="ShowTip(event, 'tt38', 'link38')" onMouseOut="HideTip('tt38')">showEnterPasswordForm</a></td><td class=SDescription>Shows a form for entering room password</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Modal.showNicknameConflictForm" id=link39 onMouseOver="ShowTip(event, 'tt39', 'link39')" onMouseOut="HideTip('tt39')">showNicknameConflictForm</a></td><td class=SDescription>Shows a form indicating that the nickname is already taken and for chosing a new nickname</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Modal.showError" id=link40 onMouseOver="ShowTip(event, 'tt40', 'link40')" onMouseOut="HideTip('tt40')">showError</a></td><td class=SDescription>Show modal containing error message</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Pane.Tooltip" >Candy.<wbr>View.<wbr>Pane.<wbr>Tooltip</a></td><td class=SDescription>Class to display tooltips over specific elements</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Pane.Tooltip.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Tooltip.show" id=link41 onMouseOver="ShowTip(event, 'tt41', 'link41')" onMouseOut="HideTip('tt41')">show</a></td><td class=SDescription>Show a tooltip on event.currentTarget with content specified or content within the target&rsquo;s attribute data-tooltip.</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Pane.Context" >Candy.<wbr>View.<wbr>Pane.<wbr>Context</a></td><td class=SDescription>Context menu for actions and settings</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Pane.Context.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Context.init" id=link42 onMouseOver="ShowTip(event, 'tt42', 'link42')" onMouseOut="HideTip('tt42')">init</a></td><td class=SDescription>Initialize context menu and setup mouseleave handler.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Context.show" id=link43 onMouseOver="ShowTip(event, 'tt43', 'link43')" onMouseOut="HideTip('tt43')">show</a></td><td class=SDescription>Show context menu (positions it according to the window height/width)</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Context.getMenuLinks" id=link44 onMouseOver="ShowTip(event, 'tt44', 'link44')" onMouseOut="HideTip('tt44')">getMenuLinks</a></td><td class=SDescription>Extends <a href="#Candy.View.Pane.Context.initialMenuLinks" class=LFunction id=link45 onMouseOver="ShowTip(event, 'tt45', 'link45')" onMouseOut="HideTip('tt45')">initialMenuLinks</a> with <a href="event-js.html#Candy.View.Event.Roster.onContextMenu" class=LFunction id=link46 onMouseOver="ShowTip(event, 'tt46', 'link46')" onMouseOut="HideTip('tt46')">Candy.View.Event.Roster.onContextMenu</a> links and returns those.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Context.initialMenuLinks" id=link47 onMouseOver="ShowTip(event, 'tt45', 'link47')" onMouseOut="HideTip('tt45')">initialMenuLinks</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Context.showEmoticonsMenu" id=link48 onMouseOver="ShowTip(event, 'tt47', 'link48')" onMouseOut="HideTip('tt47')">showEmoticonsMenu</a></td><td class=SDescription>Shows the special emoticons menu</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Pane.Room" >Candy.<wbr>View.<wbr>Pane.Room</a></td><td class=SDescription>Everything which belongs to room view things belongs here.</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Pane.Room.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Room.init" id=link49 onMouseOver="ShowTip(event, 'tt48', 'link49')" onMouseOut="HideTip('tt48')">init</a></td><td class=SDescription>Initialize a new room and inserts the room html into the DOM</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Room.show" id=link50 onMouseOver="ShowTip(event, 'tt49', 'link50')" onMouseOut="HideTip('tt49')">show</a></td><td class=SDescription>Show a specific room and hides the other rooms (if there are any)</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Room.setSubject" id=link51 onMouseOver="ShowTip(event, 'tt50', 'link51')" onMouseOut="HideTip('tt50')">setSubject</a></td><td class=SDescription>Called when someone changes the subject in the channel</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Room.close" id=link52 onMouseOver="ShowTip(event, 'tt51', 'link52')" onMouseOut="HideTip('tt51')">close</a></td><td class=SDescription>Close a room and remove everything in the DOM belonging to this room.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Room.appendToMessagePane" id=link53 onMouseOver="ShowTip(event, 'tt52', 'link53')" onMouseOut="HideTip('tt52')">appendToMessagePane</a></td><td class=SDescription>Append a new message to the message pane.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Room.sliceMessagePane" id=link54 onMouseOver="ShowTip(event, 'tt53', 'link54')" onMouseOut="HideTip('tt53')">sliceMessagePane</a></td><td class=SDescription>Slices the message pane after the max amount of messages specified in the Candy View options (limit setting).</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Room.scrollToBottom" id=link55 onMouseOver="ShowTip(event, 'tt54', 'link55')" onMouseOut="HideTip('tt54')">scrollToBottom</a></td><td class=SDescription>Scroll to bottom wrapper for <a href="#Candy.View.Pane.Room.onScrollToBottom" class=LFunction id=link56 onMouseOver="ShowTip(event, 'tt55', 'link56')" onMouseOut="HideTip('tt55')">onScrollToBottom</a> to be able to disable it by overwriting the function.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Room.onScrollToBottom" id=link57 onMouseOver="ShowTip(event, 'tt55', 'link57')" onMouseOut="HideTip('tt55')">onScrollToBottom</a></td><td class=SDescription>Scrolls to the latest message received/sent.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Room.onScrollToStoredPosition" id=link58 onMouseOver="ShowTip(event, 'tt56', 'link58')" onMouseOut="HideTip('tt56')">onScrollToStoredPosition</a></td><td class=SDescription>When autoscroll is off, the position where the scrollbar is has to be stored for each room, because it otherwise goes to the top in the message window.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Room.setFocusToForm" id=link59 onMouseOver="ShowTip(event, 'tt57', 'link59')" onMouseOut="HideTip('tt57')">setFocusToForm</a></td><td class=SDescription>Set focus to the message input field within the message form.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Room.setUser" id=link60 onMouseOver="ShowTip(event, 'tt58', 'link60')" onMouseOut="HideTip('tt58')">setUser</a></td><td class=SDescription>Sets or updates the current user in the specified room (called by &lt;Candy.View.Pane.Roster.update&gt;) and set specific informations (roles and affiliations) on the room tab (chat-pane).</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Room.getUser" id=link61 onMouseOver="ShowTip(event, 'tt59', 'link61')" onMouseOut="HideTip('tt59')">getUser</a></td><td class=SDescription>Get the current user in the room specified with the jid</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Room.ignoreUser" id=link62 onMouseOver="ShowTip(event, 'tt60', 'link62')" onMouseOut="HideTip('tt60')">ignoreUser</a></td><td class=SDescription>Ignore specified user and add the ignore icon to the roster item of the user</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Room.unignoreUser" id=link63 onMouseOver="ShowTip(event, 'tt61', 'link63')" onMouseOut="HideTip('tt61')">unignoreUser</a></td><td class=SDescription>Unignore an ignored user and remove the ignore icon of the roster item.</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Room.addIgnoreIcon" id=link64 onMouseOver="ShowTip(event, 'tt62', 'link64')" onMouseOut="HideTip('tt62')">addIgnoreIcon</a></td><td class=SDescription>Add the ignore icon to the roster item of the specified user</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Room.removeIgnoreIcon" id=link65 onMouseOver="ShowTip(event, 'tt63', 'link65')" onMouseOut="HideTip('tt63')">removeIgnoreIcon</a></td><td class=SDescription>Remove the ignore icon to the roster item of the specified user</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Room.getPane" id=link66 onMouseOver="ShowTip(event, 'tt64', 'link66')" onMouseOut="HideTip('tt64')">getPane</a></td><td class=SDescription>Get the chat room pane or a subPane of it (if subPane is specified)</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Pane.PrivateRoom" >Candy.<wbr>View.<wbr>Pane.<wbr>PrivateRoom</a></td><td class=SDescription>Private room handling</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Pane.PrivateRoom.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.PrivateRoom.open" id=link67 onMouseOver="ShowTip(event, 'tt65', 'link67')" onMouseOut="HideTip('tt65')">open</a></td><td class=SDescription>Opens a new private room</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.PrivateRoom.setStatus" id=link68 onMouseOver="ShowTip(event, 'tt66', 'link68')" onMouseOut="HideTip('tt66')">setStatus</a></td><td class=SDescription>Set offline or online status for private rooms (when one of the participants leaves the room)</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.PrivateRoom.update" id=link69 onMouseOver="ShowTip(event, 'tt67', 'link69')" onMouseOut="HideTip('tt67')">update</a></td><td class=SDescription>Called by <a href="../../candy-bundle-js.html#Candy.View.Observer.Presence.update" class=LFunction id=link70 onMouseOver="ShowTip(event, 'tt68', 'link70')" onMouseOut="HideTip('tt68')">Candy.View.Observer.Presence.update</a> to update the roster if needed. </td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.PrivateRoom.userClick" id=link71 onMouseOver="ShowTip(event, 'tt69', 'link71')" onMouseOut="HideTip('tt69')">userClick</a></td><td class=SDescription>Click handler for opening a private room</td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.PrivateRoom.joinAnimation" id=link72 onMouseOver="ShowTip(event, 'tt70', 'link72')" onMouseOut="HideTip('tt70')">joinAnimation</a></td><td class=SDescription>Animates specified elementId on join</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.PrivateRoom.leaveAnimation" id=link73 onMouseOver="ShowTip(event, 'tt71', 'link73')" onMouseOut="HideTip('tt71')">leaveAnimation</a></td><td class=SDescription>Leave animation for specified element id and removes the DOM element on completion.</td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Pane.Message" >Candy.<wbr>View.<wbr>Pane.<wbr>Message</a></td><td class=SDescription>Message submit/show handling</td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#Candy.View.Pane.Message.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Message.submit" id=link74 onMouseOver="ShowTip(event, 'tt72', 'link74')" onMouseOut="HideTip('tt72')">submit</a></td><td class=SDescription>on submit handler for message field sends the message to the server and if it&rsquo;s a private chat, shows the message immediately because the server doesn&rsquo;t send back those message.</td></tr><tr class="SFunction SIndent2"><td class=SEntry><a href="#Candy.View.Pane.Message.show" id=link75 onMouseOver="ShowTip(event, 'tt73', 'link75')" onMouseOut="HideTip('tt73')">show</a></td><td class=SDescription>Show a message in the message pane</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
<div class="CClass"><div class=CTopic><h2 class=CTitle><a name="Candy.View.Pane"></a>Candy.<wbr>View.Pane</h2><div class=CBody><p>Candy view pane handles everything regarding DOM updates etc.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>(Candy.View.Pane) self</td><td class=CDLDescription>itself</td></tr><tr><td class=CDLEntry>(jQuery) $</td><td class=CDLDescription>jQuery</td></tr></table></div></div></div>
@@ -123,15 +123,15 @@ if (browserType) {document.write("<div class=" + browserType + ">");if (browserV
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="Candy.View.Pane.Tooltip.show"></a>show</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>show: function(</td><td class="PParameter prettyprint " nowrap>event,</td></tr><tr><td></td><td class="PParameter prettyprint " nowrap>content</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Show a tooltip on event.currentTarget with content specified or content within the target&rsquo;s attribute data-tooltip.</p><p>On mouseleave on the target, hide the tooltip.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>(Event) event</td><td class=CDLDescription>Triggered event</td></tr><tr><td class=CDLEntry>(String) content</td><td class=CDLDescription>Content to display [optional]</td></tr></table></div></div></div>
-<div class="CClass"><div class=CTopic><h2 class=CTitle><a name="Candy.View.Pane.Context"></a>Candy.<wbr>View.<wbr>Pane.<wbr>Context</h2><div class=CBody><p>Context menu for actions and settings</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SGroup"><td class=SEntry><a href="#Candy.View.Pane.Context.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Context.init" id=link121 onMouseOver="ShowTip(event, 'tt42', 'link121')" onMouseOut="HideTip('tt42')">init</a></td><td class=SDescription>Initialize context menu and setup mouseleave handler.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#Candy.View.Pane.Context.show" id=link122 onMouseOver="ShowTip(event, 'tt43', 'link122')" onMouseOut="HideTip('tt43')">show</a></td><td class=SDescription>Show context menu (positions it according to the window height/width)</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Context.getMenuLinks" id=link123 onMouseOver="ShowTip(event, 'tt44', 'link123')" onMouseOut="HideTip('tt44')">getMenuLinks</a></td><td class=SDescription>Extends <a href="#Candy.View.Pane.Context.initialMenuLinks" class=LFunction id=link124 onMouseOver="ShowTip(event, 'tt45', 'link124')" onMouseOut="HideTip('tt45')">initialMenuLinks</a> with <a href="../../candy-bundle-js.html#Candy.View.Event.Roster.onContextMenu" class=LFunction id=link125 onMouseOver="ShowTip(event, 'tt46', 'link125')" onMouseOut="HideTip('tt46')">Candy.View.Event.Roster.onContextMenu</a> links and returns those.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#Candy.View.Pane.Context.initialMenuLinks" id=link126 onMouseOver="ShowTip(event, 'tt45', 'link126')" onMouseOut="HideTip('tt45')">initialMenuLinks</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Context.showEmoticonsMenu" id=link127 onMouseOver="ShowTip(event, 'tt47', 'link127')" onMouseOut="HideTip('tt47')">showEmoticonsMenu</a></td><td class=SDescription>Shows the special emoticons menu</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
+<div class="CClass"><div class=CTopic><h2 class=CTitle><a name="Candy.View.Pane.Context"></a>Candy.<wbr>View.<wbr>Pane.<wbr>Context</h2><div class=CBody><p>Context menu for actions and settings</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SGroup"><td class=SEntry><a href="#Candy.View.Pane.Context.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Context.init" id=link121 onMouseOver="ShowTip(event, 'tt42', 'link121')" onMouseOut="HideTip('tt42')">init</a></td><td class=SDescription>Initialize context menu and setup mouseleave handler.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#Candy.View.Pane.Context.show" id=link122 onMouseOver="ShowTip(event, 'tt43', 'link122')" onMouseOut="HideTip('tt43')">show</a></td><td class=SDescription>Show context menu (positions it according to the window height/width)</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Context.getMenuLinks" id=link123 onMouseOver="ShowTip(event, 'tt44', 'link123')" onMouseOut="HideTip('tt44')">getMenuLinks</a></td><td class=SDescription>Extends <a href="#Candy.View.Pane.Context.initialMenuLinks" class=LFunction id=link124 onMouseOver="ShowTip(event, 'tt45', 'link124')" onMouseOut="HideTip('tt45')">initialMenuLinks</a> with <a href="event-js.html#Candy.View.Event.Roster.onContextMenu" class=LFunction id=link125 onMouseOver="ShowTip(event, 'tt46', 'link125')" onMouseOut="HideTip('tt46')">Candy.View.Event.Roster.onContextMenu</a> links and returns those.</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#Candy.View.Pane.Context.initialMenuLinks" id=link126 onMouseOver="ShowTip(event, 'tt45', 'link126')" onMouseOut="HideTip('tt45')">initialMenuLinks</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Candy.View.Pane.Context.showEmoticonsMenu" id=link127 onMouseOver="ShowTip(event, 'tt47', 'link127')" onMouseOut="HideTip('tt47')">showEmoticonsMenu</a></td><td class=SDescription>Shows the special emoticons menu</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Candy.View.Pane.Context.Functions"></a>Functions</h3></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="Candy.View.Pane.Context.init"></a>init</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">init: function()</td></tr></table></blockquote><p>Initialize context menu and setup mouseleave handler.</p></div></div></div>
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="Candy.View.Pane.Context.show"></a>show</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>show: function(</td><td class="PParameter prettyprint " nowrap>elem,</td></tr><tr><td></td><td class="PParameter prettyprint " nowrap>roomJid,</td></tr><tr><td></td><td class="PParameter prettyprint " nowrap>user</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Show context menu (positions it according to the window height/width)</p><h4 class=CHeading>Uses</h4><p><a href="#Candy.View.Pane.Context.getMenuLinks" class=LFunction id=link128 onMouseOver="ShowTip(event, 'tt44', 'link128')" onMouseOut="HideTip('tt44')">getMenuLinks</a> for getting menulinks the user has access to <a href="../util-js.html#Candy.Util.getPosLeftAccordingToWindowBounds" class=LFunction id=link129 onMouseOver="ShowTip(event, 'tt74', 'link129')" onMouseOut="HideTip('tt74')">Candy.Util.getPosLeftAccordingToWindowBounds</a> for positioning <a href="../util-js.html#Candy.Util.getPosTopAccordingToWindowBounds" class=LFunction id=link130 onMouseOver="ShowTip(event, 'tt75', 'link130')" onMouseOut="HideTip('tt75')">Candy.Util.getPosTopAccordingToWindowBounds</a> for positioning</p><h4 class=CHeading>Calls</h4><p><a href="../../candy-bundle-js.html#Candy.View.Event.Roster.afterContextMenu" class=LFunction id=link131 onMouseOver="ShowTip(event, 'tt76', 'link131')" onMouseOut="HideTip('tt76')">Candy.View.Event.Roster.afterContextMenu</a> after showing the context menu</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>(Element) elem</td><td class=CDLDescription>On which element it should be shown</td></tr><tr><td class=CDLEntry>(String) roomJid</td><td class=CDLDescription>Room Jid of the room it should be shown</td></tr><tr><td class=CDLEntry>(Candy.Core.chatUser) user</td><td class=CDLDescription>User</td></tr></table></div></div></div>
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="Candy.View.Pane.Context.show"></a>show</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>show: function(</td><td class="PParameter prettyprint " nowrap>elem,</td></tr><tr><td></td><td class="PParameter prettyprint " nowrap>roomJid,</td></tr><tr><td></td><td class="PParameter prettyprint " nowrap>user</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Show context menu (positions it according to the window height/width)</p><h4 class=CHeading>Uses</h4><p><a href="#Candy.View.Pane.Context.getMenuLinks" class=LFunction id=link128 onMouseOver="ShowTip(event, 'tt44', 'link128')" onMouseOut="HideTip('tt44')">getMenuLinks</a> for getting menulinks the user has access to <a href="../../candy-bundle-js.html#Candy.Util.getPosLeftAccordingToWindowBounds" class=LFunction id=link129 onMouseOver="ShowTip(event, 'tt74', 'link129')" onMouseOut="HideTip('tt74')">Candy.Util.getPosLeftAccordingToWindowBounds</a> for positioning <a href="../../candy-bundle-js.html#Candy.Util.getPosTopAccordingToWindowBounds" class=LFunction id=link130 onMouseOver="ShowTip(event, 'tt75', 'link130')" onMouseOut="HideTip('tt75')">Candy.Util.getPosTopAccordingToWindowBounds</a> for positioning</p><h4 class=CHeading>Calls</h4><p><a href="event-js.html#Candy.View.Event.Roster.afterContextMenu" class=LFunction id=link131 onMouseOver="ShowTip(event, 'tt76', 'link131')" onMouseOut="HideTip('tt76')">Candy.View.Event.Roster.afterContextMenu</a> after showing the context menu</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>(Element) elem</td><td class=CDLDescription>On which element it should be shown</td></tr><tr><td class=CDLEntry>(String) roomJid</td><td class=CDLDescription>Room Jid of the room it should be shown</td></tr><tr><td class=CDLEntry>(Candy.Core.chatUser) user</td><td class=CDLDescription>User</td></tr></table></div></div></div>
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="Candy.View.Pane.Context.getMenuLinks"></a>getMenuLinks</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>getMenuLinks: function(</td><td class="PParameter prettyprint " nowrap>roomJid,</td></tr><tr><td></td><td class="PParameter prettyprint " nowrap>user,</td></tr><tr><td></td><td class="PParameter prettyprint " nowrap>elem</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Extends <a href="#Candy.View.Pane.Context.initialMenuLinks" class=LFunction id=link132 onMouseOver="ShowTip(event, 'tt45', 'link132')" onMouseOut="HideTip('tt45')">initialMenuLinks</a> with <a href="../../candy-bundle-js.html#Candy.View.Event.Roster.onContextMenu" class=LFunction id=link133 onMouseOver="ShowTip(event, 'tt46', 'link133')" onMouseOut="HideTip('tt46')">Candy.View.Event.Roster.onContextMenu</a> links and returns those.</p><h4 class=CHeading>Returns</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>(Object)</td><td class=CDLDescription>object containing the extended menulinks.</td></tr></table></div></div></div>
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="Candy.View.Pane.Context.getMenuLinks"></a>getMenuLinks</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>getMenuLinks: function(</td><td class="PParameter prettyprint " nowrap>roomJid,</td></tr><tr><td></td><td class="PParameter prettyprint " nowrap>user,</td></tr><tr><td></td><td class="PParameter prettyprint " nowrap>elem</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Extends <a href="#Candy.View.Pane.Context.initialMenuLinks" class=LFunction id=link132 onMouseOver="ShowTip(event, 'tt45', 'link132')" onMouseOut="HideTip('tt45')">initialMenuLinks</a> with <a href="event-js.html#Candy.View.Event.Roster.onContextMenu" class=LFunction id=link133 onMouseOver="ShowTip(event, 'tt46', 'link133')" onMouseOut="HideTip('tt46')">Candy.View.Event.Roster.onContextMenu</a> links and returns those.</p><h4 class=CHeading>Returns</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>(Object)</td><td class=CDLDescription>object containing the extended menulinks.</td></tr></table></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="Candy.View.Pane.Context.initialMenuLinks"></a>initialMenuLinks</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">initialMenuLinks: function()</td></tr></table></blockquote><h4 class=CHeading>Returns initial menulinks.&nbsp; The following are initial</h4><ul><li>Private Chat</li><li>Ignore</li><li>Unignore</li><li>Kick</li><li>Ban</li><li>Change Subject</li></ul><h4 class=CHeading>Returns</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>(Object)</td><td class=CDLDescription>object containing those menulinks</td></tr></table></div></div></div>
@@ -141,7 +141,7 @@ if (browserType) {document.write("<div class=" + browserType + ">");if (browserV
<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Candy.View.Pane.Room.Functions"></a>Functions</h3></div></div>
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="Candy.View.Pane.Room.init"></a>init</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>init: function(</td><td class="PParameter prettyprint " nowrap>roomJid,</td></tr><tr><td></td><td class="PParameter prettyprint " nowrap>roomName,</td></tr><tr><td></td><td class="PParameter prettyprint " nowrap>roomType</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Initialize a new room and inserts the room html into the DOM</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>(String) roomJid</td><td class=CDLDescription>Room JID</td></tr><tr><td class=CDLEntry>(String) roomName</td><td class=CDLDescription>Room name</td></tr><tr><td class=CDLEntry>(String) roomType</td><td class=CDLDescription>Type: either &ldquo;groupchat&rdquo; or &ldquo;chat&rdquo; (private chat)</td></tr></table><h4 class=CHeading>Uses</h4><ul><li><a href="../util-js.html#Candy.Util.jidToId" class=LFunction id=link152 onMouseOver="ShowTip(event, 'tt77', 'link152')" onMouseOut="HideTip('tt77')">Candy.Util.jidToId</a></li><li><a href="#Candy.View.Pane.Chat.addTab" class=LFunction id=link153 onMouseOver="ShowTip(event, 'tt10', 'link153')" onMouseOut="HideTip('tt10')">Candy.View.Pane.Chat.addTab</a></li><li><a href="#Candy.View.Pane.Room.getPane" class=LFunction id=link154 onMouseOver="ShowTip(event, 'tt64', 'link154')" onMouseOut="HideTip('tt64')">getPane</a></li></ul><h4 class=CHeading>Calls</h4><ul><li><a href="../../candy-bundle-js.html#Candy.View.Event.Room.onAdd" class=LFunction id=link155 onMouseOver="ShowTip(event, 'tt78', 'link155')" onMouseOut="HideTip('tt78')">Candy.View.Event.Room.onAdd</a></li></ul><h4 class=CHeading>Returns</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>(String)</td><td class=CDLDescription>the room id of the element created.</td></tr></table></div></div></div>
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="Candy.View.Pane.Room.init"></a>init</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>init: function(</td><td class="PParameter prettyprint " nowrap>roomJid,</td></tr><tr><td></td><td class="PParameter prettyprint " nowrap>roomName,</td></tr><tr><td></td><td class="PParameter prettyprint " nowrap>roomType</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Initialize a new room and inserts the room html into the DOM</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>(String) roomJid</td><td class=CDLDescription>Room JID</td></tr><tr><td class=CDLEntry>(String) roomName</td><td class=CDLDescription>Room name</td></tr><tr><td class=CDLEntry>(String) roomType</td><td class=CDLDescription>Type: either &ldquo;groupchat&rdquo; or &ldquo;chat&rdquo; (private chat)</td></tr></table><h4 class=CHeading>Uses</h4><ul><li><a href="../../candy-bundle-js.html#Candy.Util.jidToId" class=LFunction id=link152 onMouseOver="ShowTip(event, 'tt77', 'link152')" onMouseOut="HideTip('tt77')">Candy.Util.jidToId</a></li><li><a href="#Candy.View.Pane.Chat.addTab" class=LFunction id=link153 onMouseOver="ShowTip(event, 'tt10', 'link153')" onMouseOut="HideTip('tt10')">Candy.View.Pane.Chat.addTab</a></li><li><a href="#Candy.View.Pane.Room.getPane" class=LFunction id=link154 onMouseOver="ShowTip(event, 'tt64', 'link154')" onMouseOut="HideTip('tt64')">getPane</a></li></ul><h4 class=CHeading>Calls</h4><ul><li><a href="event-js.html#Candy.View.Event.Room.onAdd" class=LFunction id=link155 onMouseOver="ShowTip(event, 'tt78', 'link155')" onMouseOut="HideTip('tt78')">Candy.View.Event.Room.onAdd</a></li></ul><h4 class=CHeading>Returns</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>(String)</td><td class=CDLDescription>the room id of the element created.</td></tr></table></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="Candy.View.Pane.Room.show"></a>show</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>show: function(</td><td class="PParameter prettyprint " nowrap>roomJid</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Show a specific room and hides the other rooms (if there are any)</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>(String) roomJid</td><td class=CDLDescription>room jid to show</td></tr></table></div></div></div>
@@ -175,15 +175,15 @@ if (browserType) {document.write("<div class=" + browserType + ">");if (browserV
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="Candy.View.Pane.Room.getPane"></a>getPane</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>getPane: function(</td><td class="PParameter prettyprint " nowrap>roomJid,</td></tr><tr><td></td><td class="PParameter prettyprint " nowrap>subPane</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Get the chat room pane or a subPane of it (if subPane is specified)</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>(String) roomJid</td><td class=CDLDescription>Room in which the pane lies</td></tr><tr><td class=CDLEntry>(String) subPane</td><td class=CDLDescription>Sub pane of the chat room pane if needed [optional]</td></tr></table></div></div></div>
-<div class="CClass"><div class=CTopic><h2 class=CTitle><a name="Candy.View.Pane.PrivateRoom"></a>Candy.<wbr>View.<wbr>Pane.<wbr>PrivateRoom</h2><div class=CBody><p>Private room handling</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SGroup"><td class=SEntry><a href="#Candy.View.Pane.PrivateRoom.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Candy.View.Pane.PrivateRoom.open" id=link158 onMouseOver="ShowTip(event, 'tt65', 'link158')" onMouseOut="HideTip('tt65')">open</a></td><td class=SDescription>Opens a new private room</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#Candy.View.Pane.PrivateRoom.setStatus" id=link159 onMouseOver="ShowTip(event, 'tt66', 'link159')" onMouseOut="HideTip('tt66')">setStatus</a></td><td class=SDescription>Set offline or online status for private rooms (when one of the participants leaves the room)</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Candy.View.Pane.PrivateRoom.update" id=link160 onMouseOver="ShowTip(event, 'tt67', 'link160')" onMouseOut="HideTip('tt67')">update</a></td><td class=SDescription>Called by <a href="observer-js.html#Candy.View.Observer.Presence.update" class=LFunction id=link161 onMouseOver="ShowTip(event, 'tt68', 'link161')" onMouseOut="HideTip('tt68')">Candy.View.Observer.Presence.update</a> to update the roster if needed. </td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#Candy.View.Pane.PrivateRoom.userClick" id=link162 onMouseOver="ShowTip(event, 'tt69', 'link162')" onMouseOut="HideTip('tt69')">userClick</a></td><td class=SDescription>Click handler for opening a private room</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Candy.View.Pane.PrivateRoom.joinAnimation" id=link163 onMouseOver="ShowTip(event, 'tt70', 'link163')" onMouseOut="HideTip('tt70')">joinAnimation</a></td><td class=SDescription>Animates specified elementId on join</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#Candy.View.Pane.PrivateRoom.leaveAnimation" id=link164 onMouseOver="ShowTip(event, 'tt71', 'link164')" onMouseOut="HideTip('tt71')">leaveAnimation</a></td><td class=SDescription>Leave animation for specified element id and removes the DOM element on completion.</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
+<div class="CClass"><div class=CTopic><h2 class=CTitle><a name="Candy.View.Pane.PrivateRoom"></a>Candy.<wbr>View.<wbr>Pane.<wbr>PrivateRoom</h2><div class=CBody><p>Private room handling</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SGroup"><td class=SEntry><a href="#Candy.View.Pane.PrivateRoom.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Candy.View.Pane.PrivateRoom.open" id=link158 onMouseOver="ShowTip(event, 'tt65', 'link158')" onMouseOut="HideTip('tt65')">open</a></td><td class=SDescription>Opens a new private room</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#Candy.View.Pane.PrivateRoom.setStatus" id=link159 onMouseOver="ShowTip(event, 'tt66', 'link159')" onMouseOut="HideTip('tt66')">setStatus</a></td><td class=SDescription>Set offline or online status for private rooms (when one of the participants leaves the room)</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Candy.View.Pane.PrivateRoom.update" id=link160 onMouseOver="ShowTip(event, 'tt67', 'link160')" onMouseOut="HideTip('tt67')">update</a></td><td class=SDescription>Called by <a href="../../candy-bundle-js.html#Candy.View.Observer.Presence.update" class=LFunction id=link161 onMouseOver="ShowTip(event, 'tt68', 'link161')" onMouseOut="HideTip('tt68')">Candy.View.Observer.Presence.update</a> to update the roster if needed. </td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#Candy.View.Pane.PrivateRoom.userClick" id=link162 onMouseOver="ShowTip(event, 'tt69', 'link162')" onMouseOut="HideTip('tt69')">userClick</a></td><td class=SDescription>Click handler for opening a private room</td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#Candy.View.Pane.PrivateRoom.joinAnimation" id=link163 onMouseOver="ShowTip(event, 'tt70', 'link163')" onMouseOut="HideTip('tt70')">joinAnimation</a></td><td class=SDescription>Animates specified elementId on join</td></tr><tr class="SFunction SIndent1"><td class=SEntry><a href="#Candy.View.Pane.PrivateRoom.leaveAnimation" id=link164 onMouseOver="ShowTip(event, 'tt71', 'link164')" onMouseOut="HideTip('tt71')">leaveAnimation</a></td><td class=SDescription>Leave animation for specified element id and removes the DOM element on completion.</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Candy.View.Pane.PrivateRoom.Functions"></a>Functions</h3></div></div>
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="Candy.View.Pane.PrivateRoom.open"></a>open</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>open: function(</td><td class="PParameter prettyprint " nowrap>roomJid,</td></tr><tr><td></td><td class="PParameter prettyprint " nowrap>roomName,</td></tr><tr><td></td><td class="PParameter prettyprint " nowrap>switchToRoom,</td></tr><tr><td></td><td class="PParameter prettyprint " nowrap>isNoConferenceRoomJid</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Opens a new private room</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>(String) roomJid</td><td class=CDLDescription>Room jid to open</td></tr><tr><td class=CDLEntry>(String) roomName</td><td class=CDLDescription>Room name</td></tr><tr><td class=CDLEntry>(Boolean) switchToRoom</td><td class=CDLDescription>If true, displayed room switches automatically to this room (e.g. when user clicks itself on another user to open a private chat)</td></tr><tr><td class=CDLEntry>(Boolean) isNoConferenceRoomJid</td><td class=CDLDescription>true if a 3rd-party client sends a direct message to this user (not via the room) then the username is the node and not the resource.&nbsp; This param addresses this case.</td></tr></table><h4 class=CHeading>Calls</h4><ul><li><a href="../../candy-bundle-js.html#Candy.View.Event.Room.onAdd" class=LFunction id=link165 onMouseOver="ShowTip(event, 'tt78', 'link165')" onMouseOut="HideTip('tt78')">Candy.View.Event.Room.onAdd</a></li></ul></div></div></div>
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="Candy.View.Pane.PrivateRoom.open"></a>open</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>open: function(</td><td class="PParameter prettyprint " nowrap>roomJid,</td></tr><tr><td></td><td class="PParameter prettyprint " nowrap>roomName,</td></tr><tr><td></td><td class="PParameter prettyprint " nowrap>switchToRoom,</td></tr><tr><td></td><td class="PParameter prettyprint " nowrap>isNoConferenceRoomJid</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Opens a new private room</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>(String) roomJid</td><td class=CDLDescription>Room jid to open</td></tr><tr><td class=CDLEntry>(String) roomName</td><td class=CDLDescription>Room name</td></tr><tr><td class=CDLEntry>(Boolean) switchToRoom</td><td class=CDLDescription>If true, displayed room switches automatically to this room (e.g. when user clicks itself on another user to open a private chat)</td></tr><tr><td class=CDLEntry>(Boolean) isNoConferenceRoomJid</td><td class=CDLDescription>true if a 3rd-party client sends a direct message to this user (not via the room) then the username is the node and not the resource.&nbsp; This param addresses this case.</td></tr></table><h4 class=CHeading>Calls</h4><ul><li><a href="event-js.html#Candy.View.Event.Room.onAdd" class=LFunction id=link165 onMouseOver="ShowTip(event, 'tt78', 'link165')" onMouseOut="HideTip('tt78')">Candy.View.Event.Room.onAdd</a></li></ul></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="Candy.View.Pane.PrivateRoom.setStatus"></a>setStatus</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>setStatus: function(</td><td class="PParameter prettyprint " nowrap>roomJid,</td></tr><tr><td></td><td class="PParameter prettyprint " nowrap>status</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Set offline or online status for private rooms (when one of the participants leaves the room)</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>(String) roomJid</td><td class=CDLDescription>Private room jid</td></tr><tr><td class=CDLEntry>(String) status</td><td class=CDLDescription>&rdquo;leave&rdquo;/&rdquo;join&rdquo;</td></tr></table></div></div></div>
-<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="Candy.View.Pane.PrivateRoom.update"></a>update</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>update: function(</td><td class="PParameter prettyprint " nowrap>roomJid,</td></tr><tr><td></td><td class="PParameter prettyprint " nowrap>user,</td></tr><tr><td></td><td class="PParameter prettyprint " nowrap>action,</td></tr><tr><td></td><td class="PParameter prettyprint " nowrap>currentUser</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Called by <a href="observer-js.html#Candy.View.Observer.Presence.update" class=LFunction id=link166 onMouseOver="ShowTip(event, 'tt68', 'link166')" onMouseOut="HideTip('tt68')">Candy.View.Observer.Presence.update</a> to update the roster if needed.&nbsp; Adds/removes users from the roster list or updates informations on their items (roles, affiliations etc.)</p><p>TODO: Refactoring, this method has too much LOC.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>(String) roomJid</td><td class=CDLDescription>Room JID in which the update happens</td></tr><tr><td class=CDLEntry>(Candy.Core.ChatUser) user</td><td class=CDLDescription>User on which the update happens</td></tr><tr><td class=CDLEntry>(String) action</td><td class=CDLDescription>one of &ldquo;join&rdquo;, &ldquo;leave&rdquo;, &ldquo;kick&rdquo; and &ldquo;ban&rdquo;</td></tr><tr><td class=CDLEntry>(Candy.Core.ChatUser) currentUser</td><td class=CDLDescription>Current user</td></tr></table></div></div></div>
+<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="Candy.View.Pane.PrivateRoom.update"></a>update</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class="PBeforeParameters prettyprint "nowrap>update: function(</td><td class="PParameter prettyprint " nowrap>roomJid,</td></tr><tr><td></td><td class="PParameter prettyprint " nowrap>user,</td></tr><tr><td></td><td class="PParameter prettyprint " nowrap>action,</td></tr><tr><td></td><td class="PParameter prettyprint " nowrap>currentUser</td><td class="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Called by <a href="../../candy-bundle-js.html#Candy.View.Observer.Presence.update" class=LFunction id=link166 onMouseOver="ShowTip(event, 'tt68', 'link166')" onMouseOut="HideTip('tt68')">Candy.View.Observer.Presence.update</a> to update the roster if needed.&nbsp; Adds/removes users from the roster list or updates informations on their items (roles, affiliations etc.)</p><p>TODO: Refactoring, this method has too much LOC.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>(String) roomJid</td><td class=CDLDescription>Room JID in which the update happens</td></tr><tr><td class=CDLEntry>(Candy.Core.ChatUser) user</td><td class=CDLDescription>User on which the update happens</td></tr><tr><td class=CDLEntry>(String) action</td><td class=CDLDescription>one of &ldquo;join&rdquo;, &ldquo;leave&rdquo;, &ldquo;kick&rdquo; and &ldquo;ban&rdquo;</td></tr><tr><td class=CDLEntry>(Candy.Core.ChatUser) currentUser</td><td class=CDLDescription>Current user</td></tr></table></div></div></div>
<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="Candy.View.Pane.PrivateRoom.userClick"></a>userClick</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class="Prototype"><tr><td class="prettyprint">userClick: function()</td></tr></table></blockquote><p>Click handler for opening a private room</p></div></div></div>
diff --git a/docs/files/src/view/template-js.html b/docs/files/src/view/template-js.html
index f8063d6..dc8b9c0 100644
--- a/docs/files/src/view/template-js.html
+++ b/docs/files/src/view/template-js.html
@@ -11,7 +11,7 @@ if (browserType) {document.write("<div class=" + browserType + ">");if (browserV
-<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="template.js"></a>template.js</h1><div class=CBody><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>Candy</td><td class=CDLDescription>Chats are not dead yet.</td></tr></table><h4 class=CHeading>Authors</h4><ul><li>Patrick Stadler <a href="#" onClick="location.href='mai' + 'lto:' + 'patrick' + '.stadler' + '@' + 'amiadog' + 'roup.com'; return false;" class=LEMail>patrick<span style="display: none">.nosp@m.</span>.stadler<span>@</span>amiadog<span style="display: none">.nosp@m.</span>roup.com</a></li><li>Michael Weibel <a href="#" onClick="location.href='mai' + 'lto:' + 'michael' + '.weibel' + '@' + 'amiadog' + 'roup.com'; return false;" class=LEMail>michael<span style="display: none">.nosp@m.</span>.weibel<span>@</span>amiadog<span style="display: none">.nosp@m.</span>roup.com</a></li></ul><h4 class=CHeading>Copyright</h4><p>&copy; 2011 Amiado Group AG.&nbsp; All rights reserved.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#template.js" >template.js</a></td><td class=SDescription></td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Template" >Candy.<wbr>View.<wbr>Template</a></td><td class=SDescription>Contains mustache.js templates</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
+<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="template.js"></a>template.js</h1><div class=CBody><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>Candy</td><td class=CDLDescription>Chats are not dead yet.</td></tr></table><h4 class=CHeading>Authors</h4><ul><li>Patrick Stadler <a href="#" onClick="location.href='mai' + 'lto:' + 'patrick' + '.stadler' + '@' + 'gmai' + 'l.com'; return false;" class=LEMail>patrick<span style="display: none">.nosp@m.</span>.stadler<span>@</span>gmai<span style="display: none">.nosp@m.</span>l.com</a></li><li>Michael Weibel <a href="#" onClick="location.href='mai' + 'lto:' + 'michael' + '.weibel' + '@' + 'gmai' + 'l.com'; return false;" class=LEMail>michael<span style="display: none">.nosp@m.</span>.weibel<span>@</span>gmai<span style="display: none">.nosp@m.</span>l.com</a></li></ul><h4 class=CHeading>Copyright</h4><p>&copy; 2011 Amiado Group AG.&nbsp; All rights reserved.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#template.js" >template.js</a></td><td class=SDescription></td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Template" >Candy.<wbr>View.<wbr>Template</a></td><td class=SDescription>Contains mustache.js templates</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
<div class="CClass"><div class=CTopic><h2 class=CTitle><a name="Candy.View.Template"></a>Candy.<wbr>View.<wbr>Template</h2><div class=CBody><p>Contains mustache.js templates</p></div></div></div>
diff --git a/docs/files/src/view/translation-js.html b/docs/files/src/view/translation-js.html
index 93dc2b6..fcf3720 100644
--- a/docs/files/src/view/translation-js.html
+++ b/docs/files/src/view/translation-js.html
@@ -11,7 +11,7 @@ if (browserType) {document.write("<div class=" + browserType + ">");if (browserV
-<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="translation.js"></a>translation.js</h1><div class=CBody><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>Candy</td><td class=CDLDescription>Chats are not dead yet.</td></tr></table><h4 class=CHeading>Authors</h4><ul><li>Patrick Stadler <a href="#" onClick="location.href='mai' + 'lto:' + 'patrick' + '.stadler' + '@' + 'amiadog' + 'roup.com'; return false;" class=LEMail>patrick<span style="display: none">.nosp@m.</span>.stadler<span>@</span>amiadog<span style="display: none">.nosp@m.</span>roup.com</a></li><li>Michael Weibel <a href="#" onClick="location.href='mai' + 'lto:' + 'michael' + '.weibel' + '@' + 'amiadog' + 'roup.com'; return false;" class=LEMail>michael<span style="display: none">.nosp@m.</span>.weibel<span>@</span>amiadog<span style="display: none">.nosp@m.</span>roup.com</a></li></ul><h4 class=CHeading>Copyright</h4><p>&copy; 2011 Amiado Group AG.&nbsp; All rights reserved.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#translation.js" >translation.js</a></td><td class=SDescription></td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Translation" >Candy.<wbr>View.<wbr>Translation</a></td><td class=SDescription>Contains translations</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
+<div id=Content><div class="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="translation.js"></a>translation.js</h1><div class=CBody><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>Candy</td><td class=CDLDescription>Chats are not dead yet.</td></tr></table><h4 class=CHeading>Authors</h4><ul><li>Patrick Stadler <a href="#" onClick="location.href='mai' + 'lto:' + 'patrick' + '.stadler' + '@' + 'gmai' + 'l.com'; return false;" class=LEMail>patrick<span style="display: none">.nosp@m.</span>.stadler<span>@</span>gmai<span style="display: none">.nosp@m.</span>l.com</a></li><li>Michael Weibel <a href="#" onClick="location.href='mai' + 'lto:' + 'michael' + '.weibel' + '@' + 'gmai' + 'l.com'; return false;" class=LEMail>michael<span style="display: none">.nosp@m.</span>.weibel<span>@</span>gmai<span style="display: none">.nosp@m.</span>l.com</a></li></ul><h4 class=CHeading>Copyright</h4><p>&copy; 2011 Amiado Group AG.&nbsp; All rights reserved.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#translation.js" >translation.js</a></td><td class=SDescription></td></tr><tr class="SClass"><td class=SEntry><a href="#Candy.View.Translation" >Candy.<wbr>View.<wbr>Translation</a></td><td class=SDescription>Contains translations</td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
<div class="CClass"><div class=CTopic><h2 class=CTitle><a name="Candy.View.Translation"></a>Candy.<wbr>View.<wbr>Translation</h2><div class=CBody><p>Contains translations</p></div></div></div>
diff --git a/index.html b/index.html
index a08bad5..50b67fa 100644
--- a/index.html
+++ b/index.html
@@ -16,7 +16,7 @@
<div id="download">
<a href="http://github.com/amiadogroup/candy/tarball/master" class="button">
Download candy.tar.gz
- <small>v1.0.8 &mdash; <time datetime="2011-11-23">November 23rd, 2011</time></small>
+ <small>v1.0.9 &mdash; <time datetime="2011-11-30">November 30th, 2011</time></small>
</a>
<span>Released under the <a href="http://github.com/amiadogroup/candy/blob/master/LICENSE">MIT Licence</a></span>
</div>
@@ -145,8 +145,8 @@ RewriteRule http-bind/ http://yourhost.com:5280/http-bind/ [P]</code>
<dt><code><strong>language</strong> &mdash; language identifier, default: '<u>en</u>'</code></dt>
<dd>
Tell Candy which language pack to use. Following languages are currently delivered with the package:<br />
- English (<strong>en</strong>), German (<strong>de</strong>), French (<strong>fr</strong>), Spanish (<strong>es</strong>), Dutch (<strong>nl</strong>), Chinese (<strong>cn</strong>)
- <mark>Please contribute your translations to the project.</mark>
+ English (<strong>en</strong>), German (<strong>de</strong>), French (<strong>fr</strong>), Spanish (<strong>es</strong>), Dutch (<strong>nl</strong>), Chinese (<strong>cn</strong>) and Japanese (<strong>ja</strong>).
+ <p><mark>Please contribute your translations to the project.</mark></p>
</dd>
<dt><code><strong>resources</strong> &mdash; path to resources folder, default: '<u>res/</u>'</code></dt>
<dd>