var AjaxSetup = new Class({
	Implements: Options,
	initialize: function(options){
		
		this.setOptions(options);
		
		var sb=$('searchbox');
		var sf=$('searchform');
		var jscontainer=$('js_container');
		var thiskey = this;
		var reqlinks = new Request.HTML({
			url:this.options.ajax_url+'search/',
			onSuccess:function(rt,re,html){
				jscontainer.removeClass('loading');
				jscontainer.set('html',html);
				thiskey.updatedivs();
			},
			onFailure:function(){
				jscontainer.removeClass('loading');
				jscontainer.set('html','Ha ocurrido un error.');
			}
		});
		
		if(sf){
			sf.addEvent('submit', function(event){
				
				jscontainer.addClass('loading');
				jscontainer.set('html','');
				reqlinks.post($('searchform'));
				event.preventDefault();
				
			});
		}
		if(sb){
			sb.addEvent('keyup', function(event){
				
				jscontainer.addClass('loading');
				jscontainer.set('html','');
				reqlinks.post($('searchform'));
				
				
			});
		}
		
		
		this.updatedivs();
		
		
	},
	updatedivs: function(){
		
		var jscontainer=$('js_container');
		var divs = jscontainer.getElements('.slink');
		
		divs.each(function(div){
			
			var link = div.getElement('a');
			var parent = link.getParent();
			var id = parent.get('id').substring(4);
			var elid= 'ajax_'+id;
			var el = new Element('div',{id:elid});
			el.inject(parent,'after');
			
			var _slide = new Fx.Slide(el).hide();
			
			
			
			var req = new Request.HTML({
				url:this.options.ajax_url+id+'/',
				onSuccess:function(rt,re,html){
					div.removeClass('loading');
					el.set('html',html);
					_slide.hide();
					_slide.slideIn();
				},
				onFailure:function(){
					div.removeClass('loading');
					el.set('html','Ha ocurrido un error.');
					_slide.hide();
					_slide.slideIn();
				}
			});
			div.addEvents({
				'mouseover': function(event){
					div.addClass('over');
				},
				'mouseout': function(event){
					div.removeClass('over');
				},
				'click': function(event){
					event.stop();
				
					if(_slide.open){
						_slide.slideOut();
					}else{
						
						div.addClass('loading');
						req.send();
						
					}
				}.bind(this)
			});
			link.addEvent('click',function(event){
				event.stopPropagation();
			}.bind(this));
			
		},this);
		
	},
	options:{ajax_url:''}
	
	
	
	
});


