- if (m[3]) {
- var r = parseInt(m[3]);
- if (m[2] == 'p') {
- currentPager.showPageAt(r);
- } else {
- currentPager.showRecord(r);
- }
- } else {
- currentPager.reload();
+ExternalURLPost.prototype.show = function() {
+ $('post.content').value = '[' + this.title + '](' + this.url + ')';
+ $('post').show();
+}
+
+var urlmap = [
+ ['search', /^\?post\/([^/]+)\/(.+)/, ExternalURLPost],
+ ['hash', /^#\/(ref|tag)\/([A-Za-z0-9_-]+)(?:\/p(\d+))?$/, Tag],
+ ['hash', /^#\/feed(?:\/p(\d+))?$/, Feed],
+ ['hash', /^#([A-Za-z0-9_-]+)(?:\/(p)?(\d+))?$/, User]
+];
+
+function urlSwitch() {
+ var m;
+ var pageconstructor;
+
+ for (var i = 0; i < urlmap.length; i++) {
+ if (m = location[urlmap[i][0]].match(urlmap[i][1])) {
+ pageconstructor = urlmap[i][2];
+ break;