// Navigation Object var nav_obj = {} nav_obj.observers = []; nav_obj.add_observer = function(o) { nav_obj.observers.push(o); } nav_obj.ol = []; // // notify my history so that it gets added to the back button history // nav_obj.open_notify = function(t, dt, dn, no_history) { // last should not be this (refresh) if(nav_obj.ol.length) { var tmp = nav_obj.ol[nav_obj.ol.length-1]; if(tmp && tmp[0]==t && tmp[1]==dt && tmp[2]==dn) return; } if(!no_history) { // remove from history (if exists so that we can put it back on top) var tmp = []; for(var i in nav_obj.ol) if(!(nav_obj.ol[i][0]==t && nav_obj.ol[i][1]==dt && nav_obj.ol[i][2]==dn)) tmp.push(nav_obj.ol[i]); nav_obj.ol = tmp; // add to top nav_obj.ol.push([t, dt, dn]) // encode en_t = encodeURIComponent(t); en_dt = encodeURIComponent(dt); en_dn = dn ? encodeURIComponent(dn) : ''; if(en_t=='Page') { var id = en_dt + (dn ? ('/'+en_dn): '') } else { var id = en_t+'/'+ en_dt + (dn ? ('/'+en_dn): '') } // option to add to analytics engine if(nav_obj.on_open) nav_obj.on_open(id); // add to "back" history dhtmlHistory.add('!' + id,''); } nav_obj.notify_observers(t, dt, dn); } // Notify observers // ========================================= nav_obj.notify_observers = function(t, dt, dn) { // notify observers (for menu?) for(var i=0; i=3) { // combine all else for(var i=2; i