var SocialNetworkMembership = {}
SocialNetworkMembership.toggle_form = function () {
  $A(["social_network_membership_form"]).each(Element.toggle);
  return false;
}

var Interests = {
  toggle_form: function () {
    $A(["interest_form"]).each(Element.toggle);
    return false;
  }
}

var MainPageNews = {}
MainPageNews.toggle_form = function () {
  $A(["main-news", "main-news-form"]).each(Element.toggle);
  return false;
}

var Region = {
    change: function (url) {
      new Ajax.Request(url, {
        asynchronous: true,
        evalScripts: true,
        method: 'get'
      });
      return false;
    },

    change_group: function() {
      $A(["region-russia-tab","region-countries-tab"]).each(Element.toggle);
      $A(["region-russia","region-countries"]).each(Element.toggle);
      return false;
    },

    assign_to: function() {
      $$("#city-select-content a").each(function(it){
        rel = it.getAttribute("rel");
        if (rel) {
          rel = rel.split(":");
          id = rel.pop();
          if (id) {
            permalink = rel.join();
            it.region_id = id;
            it.region_permalink = permalink;
            it.region_name = it.innerHTML;
            it.setAttribute("href", "javascript:void(0)");
            Event.observe(it, "click", Region.on_click.bindAsEventListener(it));
          }
        }
      })
    },

    on_click: function(e) {
        link = $("change_region_of_item");
        link.innerHTML = this.region_name;
        $("item_region_id").setAttribute("value", this.region_id);
        Control.Modal.close();
        Event.stop(e);
        return false;
    }
 }

var Solution = {
  hide_close_form: function () {
    Element.hide($("save_closed_solution_form"));
    Element.show($("close_solution"));
  }
}

var Attachment = {
  addrow: function (link) {
    field = link.parentNode;
    Element.insert(field, {before: "<li><input type=\"file\" size=\"30\" name=\"attachment[][uploaded_data]\" /></li>"});
  },

  hide_close_form: function () {
    Element.toggle($("link-to-attachment-fields"));
    Element.toggle($("attachment-fields"));
  }
}

var ClubComment = {
  quote: function (link) {
    name = link.parentNode.getElementsByClassName("profile")[0].innerHTML;
    name = "<strong>" + name + "</strong>\n";
    quote = link.parentNode.next().innerHTML;
    quote = "<blockquote>" + name + quote + "\n</blockquote>" + "\n\n";
    $("comment_body").value = quote;
    Element.show($("comment_body").form);
    location.href="#comment_body";
  }
}

var Dashboard = {
  filter: function () {
    Element.toggle($("dashboard_filter"));
  }
}

var ClubMember = {
  toggle: function () {
    its = ["invite_all", "invite_selected"];
    its.each(function(it){
      name = it + "_filter";
      if ($(name)) {
        Element.hide(name);
      }
    });
    name = this.id + "_filter";
    if ($(name)) {
      Element.show(name);
    }
  }
}

InterestFilter = {
  apply: function(id) {
    $$("#interests_filter").each(function(it){
      Event.observe(it, "keypress", InterestFilter.onkey);
      it.focus();
    });

    sel = $$("#tags_list li");
    if (sel.length > 0) {
      Element.addClassName(sel[0], "popup_selected");
    }
  },

  onkey: function(event) {
    list = $$("#tags_list li");
    if (!list.length) {
      return;
    }
    switch(event.keyCode) {
      case Event.KEY_UP:
        InterestFilter.keyup();
        break;
      case Event.KEY_DOWN:
        InterestFilter.keydown();
        break;
      case Event.KEY_RETURN:
        InterestFilter.keyreturn();
    }
  },

  keyreturn: function () {
    $$("#tags_list li.popup_selected a").each(function(it){
      location.href = it.href;
    })
  },

  keydown: function() {
    var li = $$("#tags_list li");
    var c = li.length - 1;
    var idx = 0;
    var active = false;
    li.each(function(it){
      if (active) {
        active = false;
        Element.addClassName(it, "popup_selected");
        return;
      }
      if (Element.hasClassName(it, "popup_selected") &&  idx != c) {
        active = true;
        Element.removeClassName(it, "popup_selected");
      }
      idx++;
    });
  },

  keyup: function() {
    var li = $$("#tags_list li");
    var c = li.length - 1;
    var idx = 0;
    var active = false;
    li.each(function(it){
      if (active) {
        return;
      }
      if (Element.hasClassName(it, "popup_selected") &&  idx != 0) {
        active = true;
        Element.removeClassName(it, "popup_selected");
      }
      idx++;
    });
    if (active) {
      Element.addClassName(li[idx-2], "popup_selected");
    }
  },

  select: function() {
    var li = $$("#tags_list li");
    if(li.length > 0) {
      Element.addClassName(li[0], "popup_selected");
    }
  }
}