return;
}
+ if (typeof options !== "object") {
+ options = {};
+ }
+
style = Object.extend({
float: "right",
margin: "2px",
fontWeight: "bold",
padding: "0px"
- }, typeof options === "object" ? options.style: {});
+ }, options.style);
- imgsrc = (options && options.closeBtnSrc) || "icons/close.png";
+ imgsrc = (options.closeBtnSrc) || "icons/close.png";
btn = new Element("input", { type: "image", src: imgsrc, alt: "X"}).setStyle(style);
elt.insert({top: btn});
btn.observe("click", function(evt) {
}
});
+var Toggler = Class.create({
+ initialize: function(target, options) {
+ options = Object.extend({}, options);
+ target = $(target).hide();
+
+ var openIcn = options.openIcn || 'icons/bullet_arrow_right.png',
+ closeIcn = options.closeIcn || 'icons/bullet_arrow_down.png';
+
+ this.element = new Element("img", { src: openIcn })
+ .setStyle({ border: 'none', // in firefox, in image inside an anchor has a border
+ verticalAlign: "middle"});
+
+ this.element.observe('click', function(evt) {
+ if (target.visible()) {
+ evt.target.src = openIcn;
+ target.hide();
+ } else {
+ evt.target.src = closeIcn;
+ target.show();
+ }
+ evt.stop();
+ });
+
+ if (options.initialShow) {
+ target.show();
+ this.element.src = closeIcn;
+ }
+ }
+});
+
var Deck = Class.create({
initialize: function(elt, options) {
this.element = $(elt);
},
request: function($super, url) {
- this.timeout = (function() {
+ this.timeout = function() {
if (this.options.onFailure) {
this.options.onFailure(null);
}
this.abort();
- }).bind(this).delay(this.delay);
+ }.bind(this).delay(this.delay);
$super(url);
}
});
reqoptions.method = this.method;
}
+ if (reqoptions.onFailure) {
+ reqoptions.onFailure = reqoptions.onFailure.wrap(function(proceed, transport, json) {
+ form.enable();
+ proceed(transport, json);
+ });
+ } else {
+ reqoptions.onFailure = function() {
+ form.enable();
+ };
+ }
+
+ if (reqoptions.onSuccess) {
+ reqoptions.onSuccess = reqoptions.onSuccess.wrap(function(proceed, transport, json) {
+ form.enable();
+ proceed(transport, json);
+ });
+ } else {
+ reqoptions.onSuccess = function() {
+ form.enable();
+ };
+ }
+
new Ajax.TimedRequest(action, options.delay || 20, reqoptions);
if (Object.isFunction(options.postsubmit)) {
options.postsubmit(this);
}
+ Form.getElements(form).each(function(elt) {
+ elt.blur();
+ elt.disable();
+ });
});
},
- focus: function(form) {
+ setfocus: function(form) {
var tofocus, error;
tofocus = null;
addMessage: function(div, message) {
var node = (div.ownerDocument || document).createTextNode(message);
- if (!div.empty()) {
+
+ if ($A(div.childNodes).filter(function(node) {
+ return (node.nodeType === 3 || node.tagName.toLowerCase() === 'br');
+ }).length) {
div.insert(new Element('br'));
}
+
div.appendChild(node);
return div.show();
},