Attempt at detail bookmarking. Also theme cleanup.
[mkdru-moved-to-drupal.org.git] / mkdru.client.js
index a672f21..abca5b8 100644 (file)
@@ -18,7 +18,8 @@ var mkdru = {
     perpage: 20,
     sort: 'relevance',
     filter: null,
-    query:null
+    query:null,
+    recid:null,
   },
   state: {}
 };
@@ -34,7 +35,11 @@ if (!$.isArray) $.isArray = function(obj) {
 
 // pz2.js event handlers:
 mkdru.pz2Init = function () {
-  if (mkdru.state.query) mkdru.triggerSearch();
+  if (mkdru.state.recid) {
+    mkdru.pz2.record(mkdru.state.recid);
+  } else if (mkdru.state.query) {
+    mkdru.triggerSearch();
+  }
   //mkdru.pz2.stat();
   //mkdru.pz2.bytarget();
 };
@@ -164,14 +169,13 @@ mkdru.uiFromState = function () {
 };
 
 mkdru.hashChange = function () {
-  var hash = $.deparam.fragment();
+  mkdru.stateFromHash();
   // Request for details
-  if (typeof(hash.recid) !== "undefined") {
-    mkdru.pz2.record(hash.recid);
+  if (mkdru.state.recid) {
+    mkdru.pz2.record(mkdru.state.recid);
   }
   // Other internal link
   else {
-    mkdru.stateFromObject($.deparam.fragment());
     mkdru.pz2.showPage(mkdru.state.page-1);
     $('.mkdru-detail').hide();
     $('.mkdru-results').show();
@@ -264,11 +268,6 @@ mkdru.resetPage = function () {
   mkdru.totalRec = 0;
 };
 
-mkdru.showPage = function (pageNum) {
-  mkdru.state.page = pageNum;
-  mkdru.pz2.showPage(pageNum-1);
-};
-
 
 
 // wait until the DOM is ready, bind events
@@ -305,7 +304,9 @@ $(document).ready(function () {
 
   if (mkdru.usesessions) {
     mkdru.pz2.init();
+  } else if (mkdru.state.recid) {
+    mkdru.pz2.record(mkdru.state.recid);
   } else if (mkdru.state.query) {
-    mkdru.triggerSearch(); 
+    mkdru.triggerSearch();
   }
 });