aboutsummaryrefslogtreecommitdiffstats
path: root/view/theme/diabook/diabook-green/js
diff options
context:
space:
mode:
Diffstat (limited to 'view/theme/diabook/diabook-green/js')
-rw-r--r--view/theme/diabook/diabook-green/js/README22
-rw-r--r--view/theme/diabook/diabook-green/js/jquery.ae.image.resize.js69
-rw-r--r--view/theme/diabook/diabook-green/js/jquery.ae.image.resize.min.js1
-rw-r--r--view/theme/diabook/diabook-green/js/jquery.autogrow.textarea.js46
-rw-r--r--view/theme/diabook/diabook-green/js/jquery.cookie.js47
5 files changed, 185 insertions, 0 deletions
diff --git a/view/theme/diabook/diabook-green/js/README b/view/theme/diabook/diabook-green/js/README
new file mode 100644
index 000000000..c93b2118e
--- /dev/null
+++ b/view/theme/diabook/diabook-green/js/README
@@ -0,0 +1,22 @@
+jQuery Resize Plugin Demo
+
+Version: v2.1.1
+Author: Adeel Ejaz (http://adeelejaz.com/)
+License: Dual licensed under MIT and GPL licenses.
+
+Introduction
+aeImageResize is a jQuery plugin to dynamically resize the images without distorting the proportions.
+
+Usage:
+.aeImageResize( height, width )
+
+height
+An integer representing the maximum height for the image.
+
+width
+An integer representing the maximum width for the image.
+
+Example
+$(function() {
+ $( ".resizeme" ).aeImageResize({ height: 250, width: 250 });
+}); \ No newline at end of file
diff --git a/view/theme/diabook/diabook-green/js/jquery.ae.image.resize.js b/view/theme/diabook/diabook-green/js/jquery.ae.image.resize.js
new file mode 100644
index 000000000..bac09cd45
--- /dev/null
+++ b/view/theme/diabook/diabook-green/js/jquery.ae.image.resize.js
@@ -0,0 +1,69 @@
+(function( $ ) {
+
+ $.fn.aeImageResize = function( params ) {
+
+ var aspectRatio = 0
+ // Nasty I know but it's done only once, so not too bad I guess
+ // Alternate suggestions welcome :)
+ , isIE6 = $.browser.msie && (6 == ~~ $.browser.version)
+ ;
+
+ // We cannot do much unless we have one of these
+ if ( !params.height && !params.width ) {
+ return this;
+ }
+
+ // Calculate aspect ratio now, if possible
+ if ( params.height && params.width ) {
+ aspectRatio = params.width / params.height;
+ }
+
+ // Attach handler to load
+ // Handler is executed just once per element
+ // Load event required for Webkit browsers
+ return this.one( "load", function() {
+
+ // Remove all attributes and CSS rules
+ this.removeAttribute( "height" );
+ this.removeAttribute( "width" );
+ this.style.height = this.style.width = "";
+
+ var imgHeight = this.height
+ , imgWidth = this.width
+ , imgAspectRatio = imgWidth / imgHeight
+ , bxHeight = params.height
+ , bxWidth = params.width
+ , bxAspectRatio = aspectRatio;
+
+ // Work the magic!
+ // If one parameter is missing, we just force calculate it
+ if ( !bxAspectRatio ) {
+ if ( bxHeight ) {
+ bxAspectRatio = imgAspectRatio + 1;
+ } else {
+ bxAspectRatio = imgAspectRatio - 1;
+ }
+ }
+
+ // Only resize the images that need resizing
+ if ( (bxHeight && imgHeight > bxHeight) || (bxWidth && imgWidth > bxWidth) ) {
+
+ if ( imgAspectRatio > bxAspectRatio ) {
+ bxHeight = ~~ ( imgHeight / imgWidth * bxWidth );
+ } else {
+ bxWidth = ~~ ( imgWidth / imgHeight * bxHeight );
+ }
+
+ this.height = bxHeight;
+ this.width = bxWidth;
+ }
+ })
+ .each(function() {
+
+ // Trigger load event (for Gecko and MSIE)
+ if ( this.complete || isIE6 ) {
+ $( this ).trigger( "load" );
+ }
+ });
+ };
+})( jQuery ); \ No newline at end of file
diff --git a/view/theme/diabook/diabook-green/js/jquery.ae.image.resize.min.js b/view/theme/diabook/diabook-green/js/jquery.ae.image.resize.min.js
new file mode 100644
index 000000000..16c30b123
--- /dev/null
+++ b/view/theme/diabook/diabook-green/js/jquery.ae.image.resize.min.js
@@ -0,0 +1 @@
+(function(d){d.fn.aeImageResize=function(a){var i=0,j=d.browser.msie&&6==~~d.browser.version;if(!a.height&&!a.width)return this;if(a.height&&a.width)i=a.width/a.height;return this.one("load",function(){this.removeAttribute("height");this.removeAttribute("width");this.style.height=this.style.width="";var e=this.height,f=this.width,g=f/e,b=a.height,c=a.width,h=i;h||(h=b?g+1:g-1);if(b&&e>b||c&&f>c){if(g>h)b=~~(e/f*c);else c=~~(f/e*b);this.height=b;this.width=c}}).each(function(){if(this.complete||j)d(this).trigger("load")})}})(jQuery); \ No newline at end of file
diff --git a/view/theme/diabook/diabook-green/js/jquery.autogrow.textarea.js b/view/theme/diabook/diabook-green/js/jquery.autogrow.textarea.js
new file mode 100644
index 000000000..806e34f51
--- /dev/null
+++ b/view/theme/diabook/diabook-green/js/jquery.autogrow.textarea.js
@@ -0,0 +1,46 @@
+(function($) {
+
+ /*
+ * Auto-growing textareas; technique ripped from Facebook
+ */
+ $.fn.autogrow = function(options) {
+
+ this.filter('textarea').each(function() {
+
+ var $this = $(this),
+ minHeight = $this.height(),
+ lineHeight = $this.css('lineHeight');
+
+ var shadow = $('<div></div>').css({
+ position: 'absolute',
+ top: -10000,
+ left: -10000,
+ width: $(this).width(),
+ fontSize: $this.css('fontSize'),
+ fontFamily: $this.css('fontFamily'),
+ lineHeight: $this.css('lineHeight'),
+ resize: 'none'
+ }).appendTo(document.body);
+
+ var update = function() {
+
+ var val = this.value.replace(/</g, '&lt;')
+ .replace(/>/g, '&gt;')
+ .replace(/&/g, '&amp;')
+ .replace(/\n/g, '<br/>');
+
+ shadow.html(val);
+ $(this).css('height', Math.max(shadow.height() + 20, minHeight));
+ }
+
+ $(this).change(update).keyup(update).keydown(update);
+
+ update.apply(this);
+
+ });
+
+ return this;
+
+ }
+
+})(jQuery); \ No newline at end of file
diff --git a/view/theme/diabook/diabook-green/js/jquery.cookie.js b/view/theme/diabook/diabook-green/js/jquery.cookie.js
new file mode 100644
index 000000000..6d5974a2c
--- /dev/null
+++ b/view/theme/diabook/diabook-green/js/jquery.cookie.js
@@ -0,0 +1,47 @@
+/*!
+ * jQuery Cookie Plugin
+ * https://github.com/carhartl/jquery-cookie
+ *
+ * Copyright 2011, Klaus Hartl
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://www.opensource.org/licenses/mit-license.php
+ * http://www.opensource.org/licenses/GPL-2.0
+ */
+(function($) {
+ $.cookie = function(key, value, options) {
+
+ // key and at least value given, set cookie...
+ if (arguments.length > 1 && (!/Object/.test(Object.prototype.toString.call(value)) || value === null || value === undefined)) {
+ options = $.extend({}, options);
+
+ if (value === null || value === undefined) {
+ options.expires = -1;
+ }
+
+ if (typeof options.expires === 'number') {
+ var days = options.expires, t = options.expires = new Date();
+ t.setDate(t.getDate() + days);
+ }
+
+ value = String(value);
+
+ return (document.cookie = [
+ encodeURIComponent(key), '=', options.raw ? value : encodeURIComponent(value),
+ options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE
+ options.path ? '; path=' + options.path : '',
+ options.domain ? '; domain=' + options.domain : '',
+ options.secure ? '; secure' : ''
+ ].join(''));
+ }
+
+ // key and possibly options given, get cookie...
+ options = value || {};
+ var decode = options.raw ? function(s) { return s; } : decodeURIComponent;
+
+ var pairs = document.cookie.split('; ');
+ for (var i = 0, pair; pair = pairs[i] && pairs[i].split('='); i++) {
+ if (decode(pair[0]) === key) return decode(pair[1] || ''); // IE saves cookies with empty string as "c; ", e.g. without "=" as opposed to EOMB, thus pair[1] may be undefined
+ }
+ return null;
+ };
+})(jQuery);