Bug 1100295 - Implement navigation logic. r=crdlc

please remove this comment, the code is explained by itself here with the removeEventListener