I"- (function() { var Form; Form = (function() { function Form(page, $form) { this.page = page; this.$form = $form; } Form.prototype.process = function() { var self; self = this; if (self._include_blank_url_params()) { return self.page.load(self._url(), self._target(), self._type()); } else { return self._without_blank_url_params(function() { return self.page.load(self._url(), self._target(), self._type()); }); } }; Form.prototype._without_blank_url_params = function(callback) { var $disable, selector; selector = 'select:not(:disabled),input:not(:disabled)'; $disable = this.$form.find(selector).filter(function() { return !$(this).val(); }); $disable.attr('disabled', true); callback(); return $disable.attr('disabled', false); }; Form.prototype._params = function() { var hash, i, item, len, name, ref; hash = {}; ref = this.$form.serializeArray(); for (i = 0, len = ref.length; i < len; i++) { item = ref[i]; if (item.name !== 'utf8') { name = item.name.indexOf('[]', item.name.length - '[]'.length) !== -1 ? item.name.substr(0, item.name.length - 2) : item.name; if (hash[name] != null) { hash[name] = hash[name] + ("," + item.value); } else { hash[name] = item.value; } } } return hash; }; Form.prototype._include_blank_url_params = function() { return this.$form.data('include-blank-url-params') === true; }; Form.prototype._optimize_url_params = function() { return this.$form.data('optimize-url-params') !== false; }; Form.prototype._type = function() { if (this.$form.data('push') === 'partial') { return 'partial'; } else { return 'template'; } }; Form.prototype._target = function() { return this.$form.data('target'); }; Form.prototype._url = function() { var key, params, self, serialized, url, value; self = this; serialized = (function() { var ref; if (self._optimize_url_params()) { params = []; ref = this._params(); for (key in ref) { value = ref[key]; params.push(key + "=" + (encodeURIComponent(value).replace(/%2C/g, ','))); } return params.join('&'); } else { return this.$form.serialize(); } }).call(this); url = this.$form.attr("action").replace(/\?.*$/, ''); if (serialized.length > 0) { url += "?" + serialized; } return url; }; return Form; })(); if (window._Wiselinks == null) { window._Wiselinks = {}; } window._Wiselinks.Form = Form; }).call(this); :ET