/*	FILE:	/assets/js/hash_handler.js
	DESC:	Provides basic functionality for accessing variables in the URL fragment after the hashmark ('#')
			
	REV:	$Rev: 11814 $
			
	MAKE NO EDITS ABOVE THIS LINE
	
	MORE:	
	
	LAST MODIFIED:	3/24/2010 by Dennis Murray
*/
var HASH_VARS = {};

function hashInject(key,value){
	if(value){
		HASH_VARS[key] = value;
	}else{
		delete HASH_VARS[key];
	}
	new_hash = "";
	for (var i in HASH_VARS){
		if(new_hash > ""){
			new_hash += "&";
		}
		new_hash += i + "=" + HASH_VARS[i];
	}
	window.location.hash = new_hash;
}

function hashParse(){
	curr_hash = window.location.hash;
	var parts = curr_hash.replace(/[#&]+([^=&]+)=([^&]*)/gi, function(m,key,value) {
		HASH_VARS[key] = value;
	});
	return HASH_VARS;
}

function jumpToAnchor(anchor_name){
	// handles moving the window to a named anchor without losing the hash value
	var old_hash = HASH_VARS;
	window.location.hash = anchor_name;
	for(var i in old_hash){
		hashInject(i,old_hash[i]);
	}
}
