var account = 'agentzh';
//var host = 'http://10.32.24.16:8080';
var host = 'http://localhost:8080';
//var host = 'http://api.eeeeworks.org';
//var host = 'http://api.openresty.org';
//var host = 'http://10.62.136.86';
var openresty = null;
var savedAnchor = null;
var itemsPerPage = 5;
var loadingCount = 0;
var waitMessage = null;
var timer = null;
var thisYear = null;
var thisMonth = null;
var thisDay = null;
var cachedPostCountRes = null;
var months = [
null,
'January',
'February',
'March',
'April',
'May',
'June',
'July',
'August',
'September',
'October',
'November',
'December'
];
$(window).ready(init);
function error (msg) {
alert(msg);
}
function debug (msg) {
$("#copyright").append(msg + "
");
}
$.fn.postprocess = function (className, options) {
return this.find("a[@href*='#']").each( function () {
//debug("HERE!");
var href = $(this).attr('href');
// We need the following hack because IE expands href to
// absolute URL:
var anchor = href.replace(/^.*?\#/, '');
//debug("Anchor: " + anchor);
$(this).click( function () {
//debug(location.hash);
//$(".bnchor-location")[0].id = anchor;
location.hash = anchor;
//alert(location.hash);
if (savedAnchor == anchor) savedAnchor = null;
dispatchByAnchor();
} );
} );
};
//var count = 0;;
function setStatus (isLoading, category) {
if (isLoading) {
if (++loadingCount == 1) {
if (jQuery.browser.opera)
$(waitMessage).css('top', '2px');
else
$(waitMessage).show();
}
} else {
loadingCount--;
if (loadingCount < 0) loadingCount = 0;
if (loadingCount == 0) {
// the reason we use this hack is to work around
// a rendering bug in Win32 build of Opera
// (at least 9.25 and 9.26)
if (jQuery.browser.opera)
$(waitMessage).css('top', '-200px');
else
$(waitMessage).hide();
}
}
//count++;
//debug("[" + count + "] setStatus: " + category + ": " + loadingCount + "(" + isLoading + ")");
}
function init () {
loadingCount = 0;
var now = new Date();
thisYear = now.getFullYear();
thisMonth = now.getMonth();
thisDay = now.getDate();
waitMessage = document.getElementById('wait-message');
openresty = new OpenResty.Client(
{ server: host, user: account + '.Public' }
);
//openresty.formId = 'new_model';
if (timer) {
clearInterval(timer);
}
dispatchByAnchor();
timer = setInterval(dispatchByAnchor, 600);
//debug("before getSidebar...");
getSidebar();
}
function resetAnchor () {
var anchor = location.hash;
location.hash = anchor.replace(/^\#/, '');
}
function dispatchByAnchor () {
//debug(location.hash);
var anchor = location.hash;
anchor = anchor.replace(/^\#/, '');
if (savedAnchor == anchor)
return;
if (anchor == "") {
anchor = 'posts/1';
location.hash = 'posts/1';
}
savedAnchor = anchor;
// prevent memory leaks from dynamically created