/* Jappix - An open social platform These are the notification board JS script for Jappix ------------------------------------------------- License: AGPL Author: Vanaryon Last revision: 12/03/11 */ // Creates a board panel function createBoard(type, id) { // Text var var text = ''; // Info if(type == 'info') { switch(id) { // Password change case 1: text = _e("Your password has been changed, now you can connect to your account with your new login data."); break; // Account deletion case 2: text = _e("Your XMPP account has been removed, bye!"); break; // Account logout case 3: text = _e("You have been logged out of your XMPP account, have a nice day!"); break; // Groupchat join case 4: text = _e("The room you joined seems not to exist. You should create it!"); break; // Groupchat removal case 5: text = _e("The groupchat has been removed, now someone else will be able to recreate it."); break; // Non-existant groupchat user case 6: text = _e("The user that you want to reach is not present in the room."); break; } } // Error else { switch(id) { // Custom error case 1: text = '' + _e("Error") + ' » '; break; // Network error case 2: text = _e("Jappix has been interrupted by a network issue, a bug or bad login (check that you entered the right credentials), sorry for the inconvenience."); break; // List retrieving error case 3: text = _e("The element list on this server could not be obtained!"); break; // Attaching error case 4: text = printf(_e("An error occured while uploading your file: maybe it is too big (%s maximum) or forbidden!"), JAPPIX_MAX_UPLOAD); break; } } // No text? if(!text) return false; // Append the content $('#board').append('
' + text + '
'); // Events (click and auto-hide) $('#board .one-board.' + type + '[data-id=' + id + ']') .click(function() { closeThisBoard(this); }) .oneTime('5s', function() { closeThisBoard(this); }) .slideDown(); return true; } // Destroys the existing board notifications function destroyBoard() { $('#board').empty(); } // Executes a given action on the notification board function actionBoard(id, type) { // In a first, we destroy other boards destroyBoard(); // Then we display the board createBoard(type, id); } // Opens a given error ID function openThisError(id) { actionBoard(id, 'error'); } // Opens a given info ID function openThisInfo(id) { actionBoard(id, 'info'); } // Closes a given board function closeThisBoard(board) { $(board).slideUp('normal', function() { $(this).remove(); }); }