(function($) {
 /*
    window.dhtmlHistory.create({
        toJSON: function(o) {
            return $j.toJSON(o);
        },
        fromJSON: function(s) {
            return $j.evalJSON(s);
        }
    });
*/    
    window.dhtmlHistory.create({ toJSON: function(o) { return JSON.stringify(o); } , fromJSON: function(s) { return JSON.parse(s); } }); 
    
    window.dhtmlHistory.initialize();
    var currentHash;
    window.dhtmlHistory.addListener(function(hash, data) {
        currentHash = hash;
    });
    $.history = {
        add : function(hash, data) {
            window.dhtmlHistory.add(hash, data);
        },
        addListener: function(fn) {
            window.dhtmlHistory.addListener(fn);
            fn(currentHash);
        }
    };
})(jQuery);

