var MJL_Anchors = Class.create(MJL_Application_Controller_Abstract, {
	anchor:{},
	reversedCall:null,
	
	initialize:function() {
		Event.observe(window, 'load', this.handler.bindAsEventListener(this));
	},
	
	request:function(event, anchor, reversedCall) {
		var anchor	= !anchor ? Event.element(event) : anchor;
		if((application.anchors.settings.MARCOMPRO_MODE && !reversedCall) || !application.anchors.settings.MARCOMPRO_MODE && reversedCall) {
			var url = anchor.readAttribute("href");
			application.ajax.handler_request.request(url);
			
			try {
				Event.stop(event);
			} catch(e) {
				return false;
			}
		}
	},

	handler:function() { 
		
			//Element.addMethods('A', new MJL_Anchors_Methods());
			
			var instance = this;
			$$('A').each(function(anchor) {
				//Event.observe(anchor, 'focus', anchor.blur);
				//Event.observe(anchor, 'click', instance.request);
			});
		
	},
	
	options:function(anchor, options){

		options.caller	= anchor;
		
		application.ajax.handler_request.setOptions(options);
	
	},
	
	reverseCall:function(anchor) {
		
		var instance 	= application.anchors;
		$(anchor).stopObserving('click', instance.request);
		return instance.request(null, anchor, 1);
	}
});

