	var DynamicExtensions = {
	    dynamicize: function(element){
	        element.dHref = element.href;
			element.dTarget = element.target;
			element.href = "#"+element.target;
			element.target = "";
			element.dynamic = dynamicallyLoad.bindAsEventListener(element);
			Event.observe(element, 'click', element.dynamic);
			return element;
	    }
	}

	Element.addMethods(DynamicExtensions);

	function dynamicallyLoad(e) {
		element = Event.element(e);
		escape(element);
		
		new Ajax.Updater(element.dTarget, element.dHref, {
			method: 'get',
  
			onComplete: function() {
				element.dTarget.innerHtml="";
				setLinks(element,element.dTarget);
		new Effect.Opacity(element.dTarget,{ from: 0.5, to: 1 , duration: 0.5});
			}
		});
	}

	function setLinks(e, target) {
		(target) ? selector = '#'+target+' ' : selector = '';
		$$(selector+'a.dynamic').invoke('dynamicize');
	}

	Event.observe(window, 'load', setLinks);
