$(document).observe("dom:loaded", function(){
	// TODO: make this universal
	if($('recommendation_add_to_tag_list'))
		new Ajax.Autocompleter('recommendation_add_to_tag_list','recommendation_tag_list_choices', '/tags/search.js', { minChars: 2, method: "get", tokens: ',', paramName:'name', afterUpdateElement:function(element,selected){element.value = element.value.strip() +",";}});
	if($('search_field'))
		new Ajax.Autocompleter('search_field','search_field_choices', '/tags/search.js', { minChars: 2, method: "get", tokens: ',', paramName:'name'});
		
		
	$$("input.tag_autocomplete").each(function(e){		
		new Ajax.Autocompleter(e,e.next(".recommendation_tag_list_choices"), '/tags/search.js', { minChars: 2, method: "get", tokens: ',', paramName:'name', afterUpdateElement:function(element,selected){element.value = element.value.strip() +",";}});
	});
	  
	$$(".new_recommendation").each(function(element){
	  element.observe("submit",function(e){
	    $$(".new_recommendation input.submit").each(function(e){
	      e.disabled=true;
	    })
	  });
	});
	
	$$(".switch_value_link").each(function(element){
    element.observe("mouseover",function(event){
      event.element().up().previous(".hint").show()
      event.element().up().previous(".value").hide()
    });
    element.observe("mouseout",function(event){
      event.element().up().previous(".hint").hide()
      event.element().up().previous(".value").show()
    }); 
  });
  
  if ($('open_tag_list_link')) {
    $('open_tag_list_link').observe("click", function(event){
      event.stop();
      $('open_tag_list').hide();
      $('tag_list').show();
    });
    
  }
  
  $$(".avatar_and_trr").each(function(element){
    element.observe("mouseover", function(e){
      if(e.element().hasClassName("avatar_and_trr"))
        var tiptool = e.element().down(".trr_tool_tip");
      else
        var tiptool = e.element().up(".avatar_and_trr").down(".trr_tool_tip");
      tiptool.appear({duration:0.3});
    });
    element.observe("mouseout", function(e){
      if(e.element().hasClassName("avatar_and_trr"))
        var tiptool = e.element().down(".trr_tool_tip");
      else
        var tiptool = e.element().up(".avatar_and_trr").down(".trr_tool_tip");
      tiptool.hide();
    });
  })
  
	$$("form.remote_recommendation").each(function(e){
		e.observe("submit", function(e) {
			e.stop();
			$("ok").hide();
			$("spinner").appear();
			e.element().getInputs().invoke("unghost");
			e.element().request({
				parameters:{format:"json"},
				onSuccess: function(transport){
					var response = transport.responseText.evalJSON();
					if(response.errors){
						flash.error("Bitte überprüfe deine Angaben");
						e.element().highlight();
						e.element().getInputs().invoke("ghost");
      			$("spinner").fade();
					}
					else {
						e.element().up().blindUp();
      			$("spinner").hide();
      			$("ok").appear();
					}
				}
			});
		});
	});
})