$(function() {

	// Local Scroll
	function filterPath(string) {
		return string.replace(/^\//,'').replace(/(index|default).[a-zA-Z]{3,4}$/,'').replace(/\/$/,'');
	}
	$('a[href*=#]').each(function() {
		if (
			filterPath(location.pathname) == filterPath(this.pathname)
			&& location.hostname == this.hostname
			&& this.hash.replace(/#/,'')
		) {
			var $targetId = $(this.hash), $targetAnchor = $('[name=' + this.hash.slice(1) +']');
			var $target = $targetId.length ? $targetId : $targetAnchor.length ? $targetAnchor : false;
			if ($target) {
				var targetOffset = $target.offset().top;
				$(this).click(function() {
					$('html, body').animate({scrollTop: targetOffset}, 400);
					return false;
				});
			}
		}
	});
	
	// Open links in a new window if rel is set to external
	$('a[rel="external"]').click( function() { window.open( $(this).attr('href') ); return false; });
	
	// Sets the classes required to style the menu on hover and active
	$('#menu li a').hover(function(){
    	$(this).parent('li').addClass('active');
    }, function(){
		$(this).parent('li').removeClass('active');
	});

	// Sets 'current' class to active menu item
	$('#menu li a').each(function(){
		if( $(this).attr('class') == "current" ){
			$(this).parent('li').addClass('current');
		}
	});
});
