/* * HISTORY FUNCTIONS * 09.08.26 */ function recordHistory(slotNum) { var lastKey = 0; var currentPageInHistoryStack = ""; var previousPageInHistoryStack = ""; if($.history.stack){ for (var key in $.history.stack) { lastKey = key; if($.history.stack[key].counter == historyCounter) currentPageInHistoryStack = $.history.stack[key].page; if($.history.stack[key].counter == historyCounter-1) previousPageInHistoryStack = $.history.stack[key].page; /*for(var key2 in $.history.stack[key]){ alert("key2 : " + key2 + $.history.stack[key][key2]) }*/ } } recordThisHistory = ((slotNum!=lastVisitedPage) && currentPageInHistoryStack!=slotNum && slotNum!=previousPageInHistoryStack)? true : false; if(slotNum==0) recordThisHistory = true; //alert('PRErecording : counter: ' + historyCounter + " || slotNum: " + slotNum + " || currentPageInHistoryStack: " + currentPageInHistoryStack + " || previousPageInHistoryStack: " + previousPageInHistoryStack +" || lastVisitedPage: " + lastVisitedPage); if(recordThisHistory){ historyCounter++; lastVisitedPage = slotNum; //alert('recording : counter: ' + historyCounter + " || slotNum: " + slotNum + " || currentPageInHistoryStack: " + currentPageInHistoryStack + " || lastVisitedPage: " + lastVisitedPage); $.history({counter:historyCounter,page:slotNum}); } } //function to handle the data coming back from the history upon forw/back hit $.history.callback = function (reinstate,cursor) { if (typeof(reinstate) == 'undefined') {historyCounter = 0;} else { goToSlot(reinstate.page); //alert('reinstating: ' + reinstate.page); historyCounter = parseInt(reinstate.counter) || 0; } };