function main(){
//Constants and Globals
var MESSAGE_COUNT = 8; // Number of message per page in inbox
var CURRENT_INBOX_PAGE = 1;
// User-profile dynamic paging
var items = [
$("#profile-general"),
$("#profile-follows"),
$("#profile-comments"),
$("#profile-inbox")];
// Helper functions
function hidePages(){
items.forEach(function(item){
item.hide();
});
}
function generatePager(mailCount){
var pageCount = Math.ceil(mailCount/MESSAGE_COUNT);
if(pageCount > 1){
// State current page
$('#u-pageNumber').empty().append(CURRENT_INBOX_PAGE + ' of ' + pageCount)
.addClass('u-pagination');
var $uPager = $("#u-pager");
$uPager.empty();
var $pager = $('
').addClass('u-pagination');
$uPager.append($pager);
var $previous = $("
").append('< Previous')
.attr('id', 'u-previous')
.addClass('u-change-page');
var $next = $("
").append('Next >')
.attr('id', 'u-next')
.addClass('u-change-page');
if(CURRENT_INBOX_PAGE == 1){
$pager.append($next);
}else if(CURRENT_INBOX_PAGE == pageCount){
$pager.append($previous);
}else{
$pager.append($previous);
$pager.append(' | ');
$pager.append($next);
}
}
}
function generateInbox(pageNum){
$.ajax({
dataType: "json",
url: '/user/user_profile/inbox/' + MESSAGE_COUNT + '/' + pageNum,
success: function(mailbox){
var inbox = mailbox.mail;
var mailCount = mailbox.mailCount;
var uInboxCount = $('#u-inbox-count');
uInboxCount.empty().append('You have ' + mailCount
+ ' messages in your inbox.');
// For inbox table body
var $InboxBody = $('#u-inbox-body');
// For table modal op up windows
var $InboxContainer = $('#u-inbox-container');
$InboxBody.empty();
var windowCounter = 0;
inbox.forEach(function(message){
//create row
var $row = $('
');
$row.addClass('u-table-row');
$row.attr('data-toggle', 'modal');
$row.attr('data-target', '#popup' + windowCounter);
$row.attr('type', 'button');
//create cells in row
var $date = $('
').text(message.date);
var $subject = $('
').text(message.subject);
var $sender = $('
').text(message.sender);
//append cells to row
$row.append($date);
$row.append($subject);
$row.append($sender);
//append row to body
$InboxBody.append($row);
//Create modal pop up
var $modalFade = $('')
.addClass('modal')
.addClass('fade')
.attr('id', 'popup' + String(windowCounter));
var $modalDialog = $('
').addClass('modal-dialog');
var $modalContent = $('
').addClass('modal-content');
var $modalHeader = $('').addClass('modal-header');
var $modalButton = $('