(function($) { $.mathUtils = { sum: function(array) { var total = 0; $.each(array, function(index, value) { total += $.mathUtils.parseCzechFloat(value); }); return total; }, parseCzechFloat: function(string) { var value = $.trim(string); return parseFloat(value.replace(' ', '').replace(',', '.')) || 0; }, formatCzechFloat: function(number) { return String(number).replace('.', ','); }, average: function(array) { if ($.isArray(array)) { return $.mathUtils.sum(array) / array.length; } return ''; } }; })(jQuery); /****************************************************************************** .swapClass() Na vybraných elementech prepíná mezi uvedenými trídami. ******************************************************************************/ (function($) { $.fn.swapClass = function(class1, class2) { return this.each(function() { var $element = $(this); if ($element.hasClass(class1)) { $element.removeClass(class1).addClass(class2); } else if ($element.hasClass(class2)) { $element.removeClass(class2).addClass(class1); } }); }; })(jQuery); /****************************************************************************** .shadow() Dopnuje vržený stín k elementu prostým kopírováním. ******************************************************************************/ (function($) { $.fn.shadow = function(opts) { var options = $.extend({}, $.fn.shadow.defaults, opts); return this.each(function() { var $originalElement = $(this); for (var i = 0; i < options.copies; i++) { var offset = options.copyOffset(i); $originalElement .clone() .css({ position: 'absolute', left: $originalElement.offset().left + offset.x, top: $originalElement.offset().top + offset.y, margin: 0, zIndex: -1, opacity: options.opacity }) .appendTo('body'); } }); }; $.fn.shadow.defaults = { copies: 5, opacity: 0.1, copyOffset: function(index) { return {x: index, y: index}; } }; })(jQuery);