//Event.observe($$('#item li'), 'click', handler) 

Kwo.Search = {
  "getResults": function(query) {
    var args = ("string" == typeof query) ? {"query": query} : query;
    Kwo.go("/search/results", args);
  }
};

Kwo.Tag = {
  "view": function(tag) {
    Kwo.Search.getResults({"query": tag, "source": "tag"});
  }
};

Kwo.User = {

  "Msg": {

    "compose": function(id) {
      id = (id === undefined) ? user_id : id;
      new Kwo.Dialog("/community/user.compose_msg", {"id": id}, {"height": 350});
    },

    "send": function(args) {
      Kwo.dlg = Kwo.exec("/community/user.send_msg", args);
    }
  }

};

Kwo.Widget.Notify = {
  "send": function(elt) {
    Kwo.exec("/sys/visitor.send_notification", elt, {"toggle": "kwo-notify-throbber", "reset": true});
  }
};

Kwo.Widget.Rating = {

  "registry": {},

  "handleClick": function(event) {
    event = event || window.event;
    var arr = Event.element(event).id.split("-");
    if (this.registry[arr[0]+"-"+arr[1]+"-"+arr[2]+"-"+arr[3]] == true) return ;
    this.registry[arr[0]+"-"+arr[1]+"-"+arr[2]+"-"+arr[3]] = true;
    Kwo.exec("/rate/ping", {"model_id": arr[2], "record_id": arr[3], "note": arr[4]}, {async:false});
  },

  "handleMove": function(event) {
    event = event || window.event;
    var arr = Event.element(event).id.split("-");
    if (this.registry[arr[0]+"-"+arr[1]+"-"+arr[2]+"-"+arr[3]] == true) return ;
    var sig = arr[0]+"-"+arr[1]+"-"+arr[2]+"-"+arr[3]+"-";
    var i = 1;
    if (event.type.endsWith("out")) {
      while (i < 10) {
        if (!$(sig+i)) break;
        $(sig+i).src = $(sig+i).src.preg_replace("on", "off");
        i++;
      }
    }
    else {
      var num = parseInt(arr[4]);      
      for (i = 1; i <= num; i++) {
        $(sig+i).src = $(sig+i).src.preg_replace("off", "on");
      }
    }
  },

  "notify": function(model_id, record_id) {
    $("kwo-star-"+model_id+"-"+record_id+"-1").up("div").hide();
  }
};

Kwo.Widget.Poll = {

  "handleResponse": function(msg) {
    Kwo.warn(msg);
  },

  "submit": function(id) {
    Kwo.exec("/poll/poll.add_result", $("kwo-poll-"+id), {"toggle": "kwo-poll-throbber-"+id});
  }

};

