Bug 1100295 - Implement navigation logic. r=crdlc

excellent!