(function($, imgix) {

	if (!imgix) {
		throw "imgix.js is not loaded on this page. The imgix jQuery plugin will not work without also including imgix.js";
	}

	if (!$) {
		throw "jquery is not loaded on this page. The imgix jQuery plugin will not work without also including jquery";
	}

	$.imgix = {
		all: function() {
			var imgs = imgix.getElementsWithImages(),
				results = [];

			for (var i = 0; i < imgs.length; i++) {
				results.push(imgs[i]);
			}

			return $(results).imgix();
		}
	};

	$.fn.imgix = function () {
		var jq = this;
		var methods = {
			setParam: function(param, value){
				if (typeof param === "object") {
					return this.setParams(param);
				}
				return jq.each(function(idx, e) {
					if (e && imgix.hasImage(e)) {
						var i = new imgix.URL(imgix._getElementImage(e));
						i.setParam(param, value);
						imgix._setElementImageAfterLoad(e, i.getURL());
					}
				});
			},

			setParams: function(values) {
				return jq.each(function(idx, e) {
					if (e && imgix.hasImage(e)) {
						var i = new imgix.URL(imgix._getElementImage(e));
						i.setParams(values);
						imgix._setElementImageAfterLoad(e, i.getURL());
					}
				});
			},

			getColors: function(num, callback) {
				return jq.each(function(idx, e) {
					if (e && imgix.hasImage(e)) {
						var i = new imgix.URL(imgix._getElementImage(e));
						i.getColors(num, callback);
					}
				});
			},

			getParam: function(param) {
				var results = [];
				jq.each(function(idx, e) {
					if (e && imgix.hasImage(e)) {
						var i = new imgix.URL(imgix._getElementImage(e));
						results.push(i.getParam(param));
					}
				});

				return results.length === 1 ? results[0] : results;
			},

			getParams: function() {
				var results = [];
				jq.each(function(idx, e) {
					if (e && imgix.hasImage(e)) {
						var i = new imgix.URL(imgix._getElementImage(e));
						results.push(i.getParams());
					}
				});

				return results.length === 1 ? results[0] : results;
			}
		};

		// dynamically generate getters/setters for all imgix params
		// for example: $('.some-class').imgix().setSepia(50);
		for (var param in imgix.URL.theGetSetFuncs) {
			(function(tmp) {
				methods['set' + imgix.URL.theGetSetFuncs[tmp]] = function(v, doOverride) {
					return jq.each(function(idx, e) {
						if (e && imgix.hasImage(e)) {
							var i = new imgix.URL(imgix._getElementImage(e));
							i.setParam(tmp, v, doOverride);
							imgix._setElementImageAfterLoad(e, i.getURL());
						}
					});
				};

				methods['get' + imgix.URL.theGetSetFuncs[tmp]] = function() {
					var results = [];
					jq.each(function(idx, e) {
						if (e && imgix.hasImage(e)) {
							var i = new imgix.URL(imgix._getElementImage(e));
							results.push(i.getParam(tmp));
						}
					});

					return results.length === 1 ? results[0] : results;
				};

			})(param);
		}

		return methods;
	};

}(jQuery, window.imgix));

@@ -485,16 +485,70 @@
 mgix();%0A
+%09%09%7D,%0A%0A%09%09fluid: function(opts) %7B%0A%09%09%09imgix.fluid(opts);%0A
 %09%09%7D%0A%09%7D;%0A
@@ -548,16 +548,17 @@
 %09%7D%0A%09%7D;%0A%0A
+%0A
 %09$.fn.im

add fluid "shortcut" to jquery plugin