/* Jappix - An open social platform These are the talkpage JS scripts for Jappix ------------------------------------------------- License: AGPL Author: Vanaryon Last revision: 06/05/11 */ // Creates the talkpage events function eventsTalkPage() { // Launch all associated addons launchMicroblog(); launchRoster(); launchPresence(); launchPEP(); launchNotifications(); launchMusic(); } // Creates the talkpage code function createTalkPage() { // Talkpage exists? if(exists('#talk')) return false; // Anonymous detector var anonymous = isAnonymous(); // Generate the HTML code var html = '<div id="talk" class="removable">' + '<div id="top-content">' + '<div class="tools tools-logo talk-images"></div>' + '<div class="tools tools-all">'; if(!anonymous) html += '<a href="#" onclick="return openInbox();" class="inbox-hidable">' + _e("Messages") + '</a>' + '<a href="#" onclick="return openVCard();">' + _e("Profile") + '</a>' + '<a href="#" onclick="return optionsOpen();" class="options-hidable">' + _e("Options") + '</a>' + '<a href="#" onclick="return normalQuit();">' + _e("Disconnect") + '</a>'; else html += '<a href="./">' + _e("Disconnect") + '</a>'; html += '</div>'; if(!anonymous && document.createElement('audio').canPlayType) html += '<div class="tools-all ibubble">' + '<div class="tools music talk-images" onclick="return openMusic();"></div>' + '<div class="music-content tools-content bubble hidable">' + '<div class="tools-content-subarrow talk-images"></div>' + '<div class="tools-content-subitem">' + '<div class="player">' + '<a href="#" class="stop talk-images" onclick="return actionMusic(\'stop\');"></a>' + '</div>' + '<div class="list">' + '<p class="no-results">' + _e("No result!") + '</p>' + '</div>' + '<div class="search">' + '<input type="text" />' + '</div>' + '</div>' + '</div>' + '</div>'; if(!anonymous) html += '<div class="tools-all ibubble">' + '<div class="tools notifications talk-images" onclick="return showBubble(\'.notifications-content\');"></div>' + '<div class="notifications-content tools-content bubble hidable">' + '<div class="tools-content-subarrow talk-images"></div>' + '<div class="tools-content-subitem">' + '<a class="empty" href="#" onclick="return clearNotifications();">' + _e("Empty") + '</a>' + '<p class="nothing">' + _e("No notifications.") + '</p>' + '</div>' + '</div>' + '</div>'; html += '</div>' + '<div id="main-content">' + '<div id="left-content">'; if(!anonymous) html += '<div id="buddy-list">' + '<div class="content"></div>' + '<div class="filter">' + '<input type="text" placeholder="' + _e("Filter") + '" />' + '<a href="#">x</a>' + '</div>' + '<div class="foot ibubble">' + '<div class="buddy-list-add buddy-list-icon">' + '<a href="#" class="add talk-images" title="' + _e("Add a friend") + '"></a>' + '</div>' + '<div class="buddy-list-join buddy-list-icon">' + '<a href="#" class="join talk-images" title="' + _e("Join a chat") + '"></a>' + '</div>' + '<div class="buddy-list-groupchat buddy-list-icon">' + '<a href="#" class="groupchat talk-images" title="' + _e("Your groupchats") + '"></a>' + '</div>' + '<div class="buddy-list-more buddy-list-icon">' + '<a href="#" class="more talk-images" title="' + _e("More stuff") + '"></a>' + '</div>' + '<div style="clear: both;"></div>' + '</div>' + '</div>'; html += '<div id="my-infos">' + '<div class="content">' + '<div class="element f-presence ibubble">' + '<a href="#" class="icon picker disabled" data-value="available">' + '<span class="talk-images"></span>' + '</a>' + '<input id="presence-status" type="text" placeholder="' + _e("Status") + '" disabled="" />' + '</div>'; if(!anonymous) html += '<div class="element f-mood pep-hidable ibubble">' + '<a href="#" class="icon picker" data-value="happy">' + '<span class="talk-images"></span>' + '</a>' + '<input id="mood-text" type="text" placeholder="' + _e("Mood") + '" />' + '</div>' + '<div class="element f-activity pep-hidable ibubble">' + '<a href="#" class="icon picker" data-value="exercising">' + '<span class="talk-images activity-exercising"></span>' + '</a>' + '<input id="activity-text" type="text" placeholder="' + _e("Activity") + '" />' + '</div>'; html += '</div>' + '</div>' + '</div>' + '<div id="right-content">' + '<div id="page-switch">' + '<div class="chans">'; if(!anonymous) html += '<div class="channel switcher activechan" onclick="return switchChan(\'channel\');">' + '<div class="icon talk-images"></div>' + '<div class="name">' + _e("Channel") + '</div>' + '</div>'; html += '</div>' + '<div class="more ibubble">' + '<div class="more-button talk-images" onclick="return loadChatSwitch();" title="' + _e("All tabs") + '"></div>' + '</div>' + '</div>' + '<div id="page-engine">'; if(!anonymous) html += '<div id="channel" class="page-engine-chan" style="display: block;">' + '<div class="top mixed ' + hex_md5(getXID()) + '">' + '<div class="avatar-container">' + '<img class="avatar" src="' + './img/others/default-avatar.png' + '" alt="" />' + '</div>' + '<div class="update">' + '<p>' + _e("What\'s up with you?") + '</p>' + '<div class="microblog-body">' + '<input class="focusable" type="text" name="microblog_body" placeholder="' + _e("Type something you want to share with your friends...") + '" disabled="" />' + '</div>' + '<div class="one-microblog-icon ibubble">' + '<a href="#" onclick="return showBubble(\'#attach\');" title="' + _e("Attach a file") + '" class="postit attach talk-images"></a>' + '<form id="attach" class="bubble hidable" action="./php/file-share.php" method="post" enctype="multipart/form-data">' + '<div class="attach-subarrow talk-images"></div>' + '<div class="attach-subitem">' + '<p class="attach-p">' + _e("Attach a file") + '</p>' + generateFileShare() + '</div>' + '</form>' + '</div>' + '</div>' + '</div>' + '<div class="content mixed"></div>' + '<div class="footer">' + '<div class="sync talk-images">' + _e("You are synchronized with your network.") + '</div>' + '<div class="unsync talk-images">' + _e("Cannot send anything: you can only receive notices!") + '</div>' + '<div class="fetch wait-small">' + _e("Fetching the social channel...") + '</div>' + '</div>' + '</div>'; html += '</div>' + '</div>' + '</div>' + '</div>'; // Create the HTML code $('body').prepend(html); // Adapt the buddy-list size adaptRoster(); // Create JS events eventsTalkPage(); // Start the auto idle functions liveIdle(); return true; } // Destroys the talkpage code function destroyTalkPage() { // Reset our database resetDB(); // Reset some vars STANZA_ID = 1; BLIST_ALL = false; FIRST_PRESENCE_SENT = false; SEARCH_FILTERED = false; AVATAR_PENDING = []; // Kill all timers, exept the board ones $('*:not(#board .one-board)').stopTime(); // Kill the auto idle functions dieIdle(); // We renitalise the html markup as its initiale look $('.removable').remove(); pageTitle('home'); // Finally we show the homepage $('#home').show(); }