(function() {
  var init_city_street_data, init_jf_flag_events;
  jQuery(function() {
    var form1, form2;
    init_city_street_data();
    init_jf_flag_events();
    form1 = new Form($("#request_form"));
    form2 = new Form($("#passport_data_form"));
    form1.show();
    $("[name=jf_flag]").bind("change", function() {
      var contact_label, face_type_id;
      face_type_id = $(this).val();
      switch (face_type_id) {
        case "1":
          contact_label = "ФИО";
          form1.set_next_form(form2);
          break;
        default:
          contact_label = "Контактное лицо и название организации";
          form1.unset_next_form();
      }
      $("label[for=id_contact_person]").html(contact_label);
      return $("#it_flag_list").trigger("fetch", {
        jf_flag_id: face_type_id
      });
    });
    $("*[name=jf_flag]").first().attr("checked", "checked");
    return $("[name=jf_flag]").first().trigger("change");
  });
  init_jf_flag_events = function() {
    var remove_element;
    $("#it_flag_list").bind("fetch", function(e, args) {
      var that, url;
      url = GLOBALS["api_domain"] + "api/v1/it_flag/?id__lte=4";
      that = this;
      return $.ajax({
        url: url,
        dataType: "json",
        data: {
          format: "json",
          limit: 0,
          jf_flag: args["jf_flag_id"]
        },
        success: function(json) {
          var html, i, item, _ref;
          html = "";
          _ref = json.objects;
          for (i in _ref) {
            item = _ref[i];
            html += "<li>\n  <label for=\"id_it_flag_" + i + "\">\n    <input type=\"checkbox\" name=\"it_flag\" value=\"" + item.id + "\" id=\"id_it_flag_" + i + "\">" + item.name + "\n  </label>\n</li>";
          }
          return $("#it_flag_list").html(html);
        }
      });
    });
    remove_element = $("*[name=jf_flag][value='']");
    $("label[for='" + remove_element.attr("id") + "']").remove();
    return remove_element.remove();
  };
  init_city_street_data = function() {
    $("#id_city").bind("change", function() {
      return $("#id_street").trigger("fetch", {
        city_id: $(this).val()
      });
    });
    $("#id_street").bind({
      preload: function() {
        return $(this).attr("disabled", "disabled").css("opacity", 500);
      },
      stop_preload: function() {
        $(this).attr("disabled", "");
        return $(this).fadeTo("fast", 1);
      },
      fetch: function(e, args) {
        var that, url;
        url = GLOBALS["api_domain"] + "api/v1/street/";
        that = this;
        return $.ajax({
          url: url,
          dataType: "json",
          data: {
            format: "json",
            limit: 0,
            city: args["city_id"]
          },
          beforeSend: function() {
            return $(that).trigger("preload");
          },
          complete: function() {
            return $(that).trigger("stop_preload");
          },
          success: function(json) {
            var html, item, _i, _len, _ref;
            html = "";
            _ref = json.objects;
            for (_i = 0, _len = _ref.length; _i < _len; _i++) {
              item = _ref[_i];
              html += "<option value='" + item.id + "'>" + item.name + "</option>";
            }
            return $(that).html(html);
          }
        });
      }
    });
    $("#id_city option[value='']").remove();
    return $("#id_city").trigger("change");
  };
}).call(this);

