

		function olderFanPosts(page) {
			changeFanPosts(page + 1);
		}
		
		function newerFanPosts(page) {
			changeFanPosts(page-1);
		}

		function changeFanPosts(page) {

			var query = 'interest=' + _interest + '&owner=' + _owner + '&hub=' + _openHub + '&pageSize=' + numPostsDisplayed + '&pageNumber=' + page;
			var previewRequest = new Ajax.Updater(
				'messages',
				'blast_posts.jspa', 
				{
					method: 'get', 	
					parameters: query
				});
		}

		var currentNavPage = 0;
		function next(currentPage, listSize, sortType, queryString) {	
			currentNavPage = currentPage + 1;
			var query = this.queryString(currentNavPage);			
			updateList( sortType,query[1],query[0]);
		}
		
		function prev(currentPage,listSize, sortType, queryString) {
			currentNavPage =  currentPage -1;
			var query = this.queryString(currentNavPage);			
			updateList(  sortType,query[1],query[0]);			
		}
		
		function all(currentPage,listSize, sortType, queryString) {
			var query = this.queryString(0);
			updateList( sortType, query[1]+'&returnAll=true',query[0] );			
		}
		
		function resort(currentPage,listSize, sortType, queryString) {
		    if(this.sortParam) {
		    	this.sortParam = sortType;
		    }
			var query = this.queryString(currentPage);
			updateList(  sortType,query[1],query[0]);
		}
		
		function updateList( sortType, query, action) {						
			//alert('sort: ' + sortType + ' query: ' + query + ' action: ' + action);
			var previewRequest = new Ajax.Updater(
				'messages',
				action, 
				{
					method: 'get', 	
					parameters: query
				});
		}
		
		function reloadFanPosts(timestamp) {
			var query = 'interest=' + _interest + '&owner=' + _owner + '&hub=' + _openHub + '&pageSize=' + numPostsDisplayed + '&time=' + timestamp;
			var previewRequest = new Ajax.Updater(
				'messages',
				'blast_posts.jspa', 
				{
					method: 'get', 
					parameters: query
				});
		}

		function reloadStickies(timestamp) {
			var query = 'interest=' + _interest + '&owner=' + _owner + '&hub=' + _bandHub + '&time=' + timestamp;
			var previewRequest = new Ajax.Updater(
				'sticky',
				'account.blast_sticky.jspa', 
				{
					method: 'get', 
					parameters: query
				});
		}
				
		function startContentChecker() {
			var checker = new PeriodicalExecuter( checkContent, 30);
		}
	
	function checkContent() {
		if(getFanPostsViewStart() <= 1) {
			var now = new Date();
			var query = '&ownerId=' + _owner + '&hub=' + _openHub + '&timestamp=' + now.getMilliseconds();
			var request = new Ajax.Request(
			'xml.hubInfo.jspa', 
			{
				method: 'get', 
				parameters: query, 
				onComplete: checkFanContentDate
			});
		}
		checkStickies();
	}
	
	function checkStickies() {
		//always check sticky
		var now = new Date();
		var query = '&ownerId=' + _owner + '&hub=' + _bandHub + '&timestamp=' + now.getMilliseconds();
		var request = new Ajax.Request(
		'xml.hubInfo.jspa', 
		{
			method: 'get', 
			parameters: query, 
			onComplete: checkStickyContentDate
		});
	}

	function popupFanEntry(entryId) {
		var query = 'interest=' + _interest + '&owner=' + _owner + '&hub=' + _openHub + '&entry=' + entryId;
		var popupArea = frames['popupPostFrame'];
		popupArea.location.replace('account.blast.viewentry.jspa?' + query); 
	}
	
	function popupStickyEntry(entryId) {
		var query = 'interest=' + _interest + '&owner=' + _owner + '&hub=' + _bandHub + '&entry=' + entryId;
		var popupArea = frames['popupPostFrame'];
		popupArea.location.replace('account.blast.viewentry.jspa?' + query); 
	}
			
	function getFanPostsDate() {
		var elem = document.getElementById('fanPostsDate');
		if(elem) {
			return elem.innerHTML;
		}
		return null;
	}

	function getStickyPostDate() {
		var elem = document.getElementById('stickyPostDate');
		if(elem) {
			return elem.innerHTML;
		}
		return null;
	}
	
	function getFanPostsViewStart() {
		var elem = document.getElementById('fanPostsViewStart');
		if(elem) {
			return elem.innerHTML;
		}
		return null;
	}
		
	function checkFanContentDate(request) {
		//alert(request.responseText);
		var root = request.responseXML.documentElement; 
		if(root && typeof root != "undefined") {
			var fanDate = getFanPostsDate();
			var newDate = root.getAttribute('lastUpdate');
			//alert('fanDate ' + fanDate + ' newDate ' + newDate);
			if(fanDate != null && newDate != null && newDate != getFanPostsDate()) {
				reloadFanPosts(newDate);
			}
		}
	}

	function checkStickyContentDate(request) {
		//alert(request.responseText);
		var root = request.responseXML.documentElement; 
		if(root && typeof root != "undefined") {
			var stickyDate = getStickyPostDate();
			var newDate = root.getAttribute('lastUpdate');
			//alert('stickyDate ' + stickyDate + ' newDate ' + newDate);
			if(stickyDate != null && newDate != null && newDate != stickyDate) {
				reloadStickies(newDate);
			}
		}
	}
		
	function startAddMessage(loggedIn, confirmed) {
	//alert('loggedIn ' + loggedIn);
		if(loggedIn == true && confirmed == false) {
			location = "account.blast.startConfirmPhone.jspa";
		} else {
			location.href="#addamessage";
			if(loggedIn != true) {
				document.getElementById('popup_login_addmessage_content').style.display='block';
				//fix-me: why is this an error? document.getElementById('popup_shades').style.display='block';
				$('popup_shades').setStyle({display: 'block'});
			}
		}
	}
		
