

function jumpTo(highestLevelHeading, lowestLevelHeading) {
	
	for(var i=highestLevelHeading; i>=lowestLevelHeading; i--) {
		
		var headings = document.getElementsByTagName('h'+i);
		
		for(var j=0; j<headings.length; j++) {

			/**
			 * @TODO move this bit into its own function and clean up
			 */
			var anchor = document.createElement('a');
			var firstWord;
			
			
			/**
			 * @TODO break into its own function
			 */
			if(headings[j].textContent.indexOf(' ') != -1)
				firstWord = substr(0, headings[j].textContent.indexOf(' '));
			else
				firstWord = headings[j].textContent;
				
			firstWord.toLowerCase();
				
				
			/**
			 * @TODO execute a check for anchors already having this name/id
			 */
			anchor.setAttribute('name', firstWord);
			headings[j].insertBefore(anchor);
		}
	}
	
	var anchors = document.getElementsByTagName('a');
	var anchorLinks = new Array();
	
	for(var i=0; i<anchors.length; i++) {
		
		if(
			anchors[i].hasAttribute('href') ||
			(!anchors[i].hasAttribute('name'))
		)
			continue;

		var anchorLink = document.createElement('a');
			anchorLink.setAttribute( 'href', anchors[i].getAttribute('name') );
			anchorLink.textContent = anchors[i].getAttribute('name');
		
		anchorLinks.push(anchorLink);
		
	}
	
	var pageTitle = document.getElementsByTagName('h2');
	
	pageTitle[0].parentNode.insertBefore(anchorLinks, pageTitle[0].nextSibling);
	
}