Chat with node.js always on top on all pages

I am building a person to person chat using node.js in a php website (using zf) I am wondering how facebook (for example) is doing to always have the footbar visible even when navigating from pages to pages. I first thought they used ajax everywhere so the page is never realy reloaded but it appears not as you can use the browser back/forward buttons to navigate (and I don't realy see any ajax call in my browser developper tools). So, my second thought is that all facebook is build with a kind of node.js alternative so everything works with js sockets ?

Any idea how to do a similar system, to have my chat windows always visible even when navigating my website?

Thanks

I am pretty sure they do not load actual page when you navigate within Facebook, but it is all JavaScript navigation that is available in newer browsers and documented at http://html5doctor.com/history-api/ or https://developer.mozilla.org/en-US/docs/DOM/Manipulating_the_browser_history. That is why you get this "smooth" experience and the chat remains on screen even though you are moving from one page to another, back and forward.