web/data/cubicweb.image.js
branchstable
changeset 6004 d17d3b34bc12
child 6010 9d40ee3d0551
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/web/data/cubicweb.image.js	Wed Jul 21 12:46:21 2010 +0200
@@ -0,0 +1,28 @@
+
+jQuery.fn.autoResize = function() {
+    // remove enforced with / height (by CSS and/or HTML attributes)
+    this.css("width", "auto").css("height", "auto");
+    this.removeAttr("width").removeAttr("height"); // Remove
+    // compute image size / max allowed size to fit screen
+    var imgHSize = this.width();
+    var maxHSize = $(window).width() - ($(document).width() - imgHSize);
+    var imgVSize = this.height();
+    var maxVSize = $(window).height() - ($(document).height() - imgVSize);
+    if (maxHSize > 0 && maxVSize > 0) {
+	// if image don't fit screen, set width or height so that
+	// browser keep img ratio, ensuring the other dimension will
+	// also fit the screen
+	if (imgHSize > maxHSize && ((maxHSize / maxVSize) * imgVSize) < maxVSize) {
+	    this.css("width", maxHSize);
+	} else if (imgVSize > maxVSize && ((maxVSize / maxHSize) * imgHSize) < maxHSize) {
+	    this.css("height", maxVSize);
+	} // else image already fit in screen, don't scale it up
+    } else {
+	// XXX can't fit image, don't do anything
+    }
+};
+
+
+$(document).ready(function() {
+	$("img.contentimage").load(function() {$(this).autoResize()});
+    });