diff --git a/html/js/jquery.lazyload.min.js b/html/js/jquery.lazyload.min.js
deleted file mode 120000
index 42dff1587e..0000000000
--- a/html/js/jquery.lazyload.min.js
+++ /dev/null
@@ -1 +0,0 @@
-../../lib/jquery_lazyload/jquery.lazyload.min.js
\ No newline at end of file
diff --git a/html/js/jquery.lazyload.min.js b/html/js/jquery.lazyload.min.js
new file mode 100755
index 0000000000..04038071ff
--- /dev/null
+++ b/html/js/jquery.lazyload.min.js
@@ -0,0 +1,2 @@
+/*! Lazy Load 1.9.7 - MIT license - Copyright 2010-2015 Mika Tuupola */
+!function(a,b,c,d){var e=a(b);a.fn.lazyload=function(f){function g(){var b=0;i.each(function(){var c=a(this);if(!j.skip_invisible||c.is(":visible"))if(a.abovethetop(this,j)||a.leftofbegin(this,j));else if(a.belowthefold(this,j)||a.rightoffold(this,j)){if(++b>j.failure_limit)return!1}else c.trigger("appear"),b=0})}var h,i=this,j={threshold:0,failure_limit:0,event:"scroll",effect:"show",container:b,data_attribute:"original",skip_invisible:!1,appear:null,load:null,placeholder:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC"};return f&&(d!==f.failurelimit&&(f.failure_limit=f.failurelimit,delete f.failurelimit),d!==f.effectspeed&&(f.effect_speed=f.effectspeed,delete f.effectspeed),a.extend(j,f)),h=j.container===d||j.container===b?e:a(j.container),0===j.event.indexOf("scroll")&&h.bind(j.event,function(){return g()}),this.each(function(){var b=this,c=a(b);b.loaded=!1,(c.attr("src")===d||c.attr("src")===!1)&&c.is("img")&&c.attr("src",j.placeholder),c.one("appear",function(){if(!this.loaded){if(j.appear){var d=i.length;j.appear.call(b,d,j)}a("").bind("load",function(){var d=c.attr("data-"+j.data_attribute);c.hide(),c.is("img")?c.attr("src",d):c.css("background-image","url('"+d+"')"),c[j.effect](j.effect_speed),b.loaded=!0;var e=a.grep(i,function(a){return!a.loaded});if(i=a(e),j.load){var f=i.length;j.load.call(b,f,j)}}).attr("src",c.attr("data-"+j.data_attribute))}}),0!==j.event.indexOf("scroll")&&c.bind(j.event,function(){b.loaded||c.trigger("appear")})}),e.bind("resize",function(){g()}),/(?:iphone|ipod|ipad).*os 5/gi.test(navigator.appVersion)&&e.bind("pageshow",function(b){b.originalEvent&&b.originalEvent.persisted&&i.each(function(){a(this).trigger("appear")})}),a(c).ready(function(){g()}),this},a.belowthefold=function(c,f){var g;return g=f.container===d||f.container===b?(b.innerHeight?b.innerHeight:e.height())+e.scrollTop():a(f.container).offset().top+a(f.container).height(),g<=a(c).offset().top-f.threshold},a.rightoffold=function(c,f){var g;return g=f.container===d||f.container===b?e.width()+e.scrollLeft():a(f.container).offset().left+a(f.container).width(),g<=a(c).offset().left-f.threshold},a.abovethetop=function(c,f){var g;return g=f.container===d||f.container===b?e.scrollTop():a(f.container).offset().top,g>=a(c).offset().top+f.threshold+a(c).height()},a.leftofbegin=function(c,f){var g;return g=f.container===d||f.container===b?e.scrollLeft():a(f.container).offset().left,g>=a(c).offset().left+f.threshold+a(c).width()},a.inviewport=function(b,c){return!(a.rightoffold(b,c)||a.leftofbegin(b,c)||a.belowthefold(b,c)||a.abovethetop(b,c))},a.extend(a.expr[":"],{"below-the-fold":function(b){return a.belowthefold(b,{threshold:0})},"above-the-top":function(b){return!a.belowthefold(b,{threshold:0})},"right-of-screen":function(b){return a.rightoffold(b,{threshold:0})},"left-of-screen":function(b){return!a.rightoffold(b,{threshold:0})},"in-viewport":function(b){return a.inviewport(b,{threshold:0})},"above-the-fold":function(b){return!a.belowthefold(b,{threshold:0})},"right-of-fold":function(b){return a.rightoffold(b,{threshold:0})},"left-of-fold":function(b){return!a.rightoffold(b,{threshold:0})}})}(jQuery,window,document);
\ No newline at end of file
diff --git a/lib/jquery_lazyload/.gitignore b/lib/jquery_lazyload/.gitignore
deleted file mode 100644
index b512c09d47..0000000000
--- a/lib/jquery_lazyload/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-node_modules
\ No newline at end of file
diff --git a/lib/jquery_lazyload/.jshintrc b/lib/jquery_lazyload/.jshintrc
deleted file mode 100644
index 886f45bd2b..0000000000
--- a/lib/jquery_lazyload/.jshintrc
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "curly": true,
- "eqeqeq": true,
- "eqnull": true,
- "immed": true,
- "noarg": true,
- "quotmark": "double",
- "trailing": true,
- "undef": true,
- "unused": true,
-
- "node": true,
- "jquery": true,
- "browser": true
-}
\ No newline at end of file
diff --git a/lib/jquery_lazyload/CHANGELOG.textile b/lib/jquery_lazyload/CHANGELOG.textile
deleted file mode 100644
index ab7aa4cd57..0000000000
--- a/lib/jquery_lazyload/CHANGELOG.textile
+++ /dev/null
@@ -1,121 +0,0 @@
-h1. Lazy Load Plugin for jQuery
-
-Lazy Load delays loading of images in long web pages. Images outside of viewport wont be loaded before user scrolls to them. This is opposite of image preloading.
-
-Using Lazy Load on long web pages containing many large images makes the page load faster. Browser will be in ready state after loading visible images. In some cases it can also help to reduce server load.
-
-Lazy Load is inspired by "YUI ImageLoader":http://developer.yahoo.com/yui/imageloader/ Utility by Matt Mlinac.
-
-h2. How to Use?
-
-Lazy Load depends on jQuery. Include them both in end of your HTML code:
-
-
-
-
-You must alter your HTML code. URL of the real image must be put into data-original attribute. It is good idea to give Lazy Loaded image a specific class. This way you can easily control which images plugin is binded to. Note that you should have width and height attributes in your image tag.
-
-
-
-then in your code do:
-
-
$("img.lazy").lazyload();
-
-This causes all images of class lazy to be lazy loaded.
-
-More information on "Lazy Load":http://www.appelsiini.net/projects/lazyload project page.
-
-h4. Install with "bower":http://bower.io
-
-
$ bower install jquery.lazyload
-
-h1. License
-
-All code licensed under the "MIT License":http://www.opensource.org/licenses/mit-license.php. All images licensed under "Creative Commons Attribution 3.0 Unported License":http://creativecommons.org/licenses/by/3.0/deed.en_US. In other words you are basically free to do whatever you want. Just don't remove my name from the source.
-
-h1. Changelog
-
-h2. 1.9.3
-
-* Improved Bower support
-
-h2. 1.9.2
-
-* Bower support ("mrzmyr":https://github.com/mrzmyr)
-
-h2. 1.9.1
-
-* Fix iOS5 detection for iPhone ("Berik Visschens":https://github.com/berikv)
-* Use .attr() instead of .data() since jQuery caches values when using latter. Fixes "#37":https://github.com/tuupola/jquery_lazyload/pull/37, "#144":https://github.com/tuupola/jquery_lazyload/issues/144 and "#101":https://github.com/tuupola/jquery_lazyload/issues/101 ("Lorenz an Mey":https://github.com/swiftyone).
-* Do not add data:uri placeholder for non image elements.
-
-h3. 1.9.0
-
-* Add support for CSS background images.
-* Make external placeholder image optional by providing default 1x1 grey image as data uri ("Dave Mc Nicoll":https://github.com/mcNdave)
-* Fix bug "#47":https://github.com/tuupola/jquery_lazyload/pull/47 and "#71":https://github.com/tuupola/jquery_lazyload/issues/71. Mobile Safari window height changes when scrolling. ("Girvan":https://github.com/girvan)
-
-h3. 1.8.5
-
-* Revert "#70":https://github.com/tuupola/jquery_lazyload/issues/70 because it causes more problem than solves. Only proper fix in Webkit browsers is to set width and height either as attributes or in CSS. Without width and height Webkit sees image as size 0x0 and causes jQuery to assume they are not visible. Fixes bugs "#99":https://github.com/tuupola/jquery_lazyload/pull/99, "#98":https://github.com/tuupola/jquery_lazyload/issues/98 and "#88":https://github.com/tuupola/jquery_lazyload/issues/88.
-* Fix bug "#118":https://github.com/tuupola/jquery_lazyload/issues/118. Scrollstop event was not compatible with jQuery 1.9.x.
-* Fix bug "#120":https://github.com/tuupola/jquery_lazyload/pull/120. Sometimes event.originalEvent was not defined under iOS. ("David G. Durand":https://github.com/daviddurand)
-
-h3. 1.8.4
-
-* Support for "jQuery plugin repository":http://plugins.jquery.com/
-
-h3. 1.8.3
-
-* Proper fix for "#48":https://github.com/tuupola/jquery_lazyload/pull/48. If image did not have width and height set Webkit browsers needed initial scroll for images to display. ("@sc-aboudreau":https://github.com/sc-aboudreau)
-
-h3. 1.8.2
-
-* Workaround for bug "#30":https://github.com/tuupola/jquery_lazyload/issues/30 IOS5 Safari did not load images when navigating with back button.
-
-h3. 1.8.1
-
-* Fix bug "#48":https://github.com/tuupola/jquery_lazyload/pull/48. In some cases initial scroll was needed for images to load. ("Nick George":https://github.com/Izzmo)
-* Fix bug "#42":https://github.com/tuupola/jquery_lazyload/pull/42. Reset internal failure counter when image is found. Makes counter logic more intuitive. ("Josep del Rio":https://github.com/joseprio)
-* Fix bug "#52":https://github.com/tuupola/jquery_lazyload/pull/42. Fix :in-viewport convenience method. ("Jonathan Palardy":https://github.com/jpalardy)
-
-
-h3. 1.8.0
-
-* Allow different elements to use different containers. ("Rob Walch":https://github.com/robwalch)
-
-h3. 1.7.1
-
-* Fix bug "#18":https://github.com/tuupola/jquery_lazyload/pull/18. Document was always scrolled to top issue on IE 7 and Chrome 17 if using jQuery 1.6 or older. ("Ross Allen":https://github.com/ssorallen)
-* General code speedup ("Valentin Zwick":https://github.com/vzwick)
-
-h3. 1.7.0
-
-* Optimized viewport selectors. Around 25% "speed increase":http://jsperf.com/lazyload-1-7-0 compared to "1.6.0":http://jsperf.com/lazyload-1-6-0.
-* Add _data_attribute_ parameter. Allows custom naming of original data attribute. ("Bryan Chow":https://github.com/bryanchow)
-* Track window resize event. ("Simon Baynes":https://github.com/baynezy)
-* Add _appear_ event. This function is called when image appears to viewport but before it is loaded.
-* Add _load_ event. This function is called when image is loaded. ("Nick Larson":https://github.com/ifightcrime)
-* Renamed _effectspeed_ parameter to _effect_speed_. Old version will still works couple of versions. This parameter was previously undocumented.
-* Fix _failure_limit_ bug "#19":https://github.com/tuupola/jquery_lazyload/issues/19. ("Brandon":https://github.com/Brandon0)
-
-h3. 1.6.0
-
-* Rename original attribute to data-original to be HTML5 friendly.
-* Remove all code regarding placeholder and automatically removing src attribute. It does not work with modern browsers. Must use data-original attribute instead.
-* Add support for James Padolseys "scrollstop event":http://james.padolsey.com/javascript/special-scroll-events-for-jquery/. Use when you have hundreds of images.
-* Add _skip_invisible_ parameter. When true plugin will skip invisible images. ("Valentin Zwick":https://github.com/vzwick)
-* Renamed _failurelimit_ parameter to _failure_limit_. Old version will still work couple of versions.
-
-h3. 1.5.0
-
-* Support for removing the src attribute already in HTML. This is not a drop in solution but gives additional speed for those who need it. (Jeremy Pollock)
-
-h3. 1.4.0
-
-* When scrolling down quickly do not load the images above the top. (Bart Bruil)
-
-h3. 1.3.2
-
-* Support for scrolling within a container.
-* Fixed IE not loading images.
diff --git a/lib/jquery_lazyload/CONTRIBUTING.md b/lib/jquery_lazyload/CONTRIBUTING.md
deleted file mode 100644
index 4a5fb22afc..0000000000
--- a/lib/jquery_lazyload/CONTRIBUTING.md
+++ /dev/null
@@ -1,39 +0,0 @@
-# Contributing to Lazy Load
-
-## Only one feature or change per pull request
-
-Make pull requests only one feature or change at the time. For example you have fixed a bug. You also have optimized some code. Optimization is not related to a bug. These should be submitted as separate pull requests. This way I can easily choose what to include. It is also easier to understand the code changes. Commit messages should be descriptive and full sentences.
-
-Do not commit minified versions. Do not touch the version number. Make the pull requests against [1.9.x branch](https://github.com/tuupola/jquery_lazyload/commits/1.9.x).
-
-## Write meaningful commit messages
-
-Proper commit message is full sentence. It starts with capital letter but does not end with period. Headlines do not end with period. The GitHub default `Update filename.js` is not enough. When needed include also longer explanation what the commit does.
-
-```
-Capitalized, short (50 chars or less) summary
-
-More detailed explanatory text, if necessary. Wrap it to about 72
-characters or so. In some contexts, the first line is treated as the
-subject of an email and the rest of the text as the body. The blank
-line separating the summary from the body is critical (unless you omit
-the body entirely); tools like rebase can get confused if you run the
-two together.
-```
-
-When in doubt see Tim Pope's blogpost [A Note About Git Commit Messages](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html)
-
-## Follow the existing coding standards
-
-When contributing to open source project it is polite to follow the original authors coding standars. They might be different than yours. It is not a holy war. Just follow then original.
-
-```javascript
-var snake_case = "something";
-
-function camelCase(options) {
-}
-
-if (true !== false) {
- console.log("here be dragons");
-}
-```
diff --git a/lib/jquery_lazyload/Gruntfile.js b/lib/jquery_lazyload/Gruntfile.js
deleted file mode 100644
index b0b5522474..0000000000
--- a/lib/jquery_lazyload/Gruntfile.js
+++ /dev/null
@@ -1,46 +0,0 @@
-module.exports = function(grunt) {
- "use strict";
-
- grunt.initConfig({
- pkg: grunt.file.readJSON("package.json"),
- uglify : {
- options: {
- banner: "/*! Lazy Load <%= pkg.version %> - MIT license - Copyright 2010-2015 Mika Tuupola */\n"
- },
- target: {
- files: {
- "jquery.lazyload.min.js" : "jquery.lazyload.js",
- "jquery.scrollstop.min.js" : "jquery.scrollstop.js"
- }
- }
- },
- watch: {
- files: ["*.js", "!*.min.js" ,"test/spec/*Spec.js"],
- tasks: ["test"],
- },
- jshint: {
- files: ["*.js", "!*.min.js" ,"test/spec/*Spec.js"],
- options: {
- jshintrc: ".jshintrc"
- }
- },
- jasmine: {
- src: ["jquery.lazyload.js"],
- options: {
- helpers: "test/spec/*Helper.js",
- specs: "test/spec/*Spec.js",
- vendor: ["test/vendor/jquery-1.9.0.js", "test/vendor/jasmine-jquery.js"]
- }
- }
- });
-
- grunt.loadNpmTasks("grunt-contrib-uglify");
- grunt.loadNpmTasks("grunt-contrib-jshint");
- grunt.loadNpmTasks("grunt-contrib-jasmine");
- grunt.loadNpmTasks("grunt-contrib-watch");
-
- //grunt.registerTask("test", ["jshint", "jasmine"]);
- grunt.registerTask("test", ["jshint"]);
- grunt.registerTask("default", ["test", "uglify"]);
-
-};
\ No newline at end of file
diff --git a/lib/jquery_lazyload/README.md b/lib/jquery_lazyload/README.md
deleted file mode 100644
index a9626eeff6..0000000000
--- a/lib/jquery_lazyload/README.md
+++ /dev/null
@@ -1,48 +0,0 @@
-# Lazy Load Plugin for jQuery
-
-Lazy Load delays loading of images in long web pages. Images outside of viewport wont be loaded before user scrolls to them. This is opposite of image preloading.
-
-Using Lazy Load on long web pages containing many large images makes the page load faster. Browser will be in ready state after loading visible images. In some cases it can also help to reduce server load.
-
-Lazy Load is inspired by [YUI ImageLoader](http://developer.yahoo.com/yui/imageloader/) Utility by Matt Mlinac.
-
-## How to Use?
-
-Lazy Load depends on jQuery. Include them both in end of your HTML code:
-
-```html
-
-
-```
-
-You must alter your HTML code. URL of the real image must be put into data-original attribute. It is good idea to give Lazy Loaded image a specific class. This way you can easily control which images plugin is binded to. Note that you should have width and height attributes in your image tag.
-
-```html
-
-```
-
-then in your code do:
-
-```js
-$("img.lazy").lazyload();
-```
-
-This causes all images of class lazy to be lazy loaded.
-
-More information on [Lazy Load](http://www.appelsiini.net/projects/lazyload) project page.
-
-## Install
-
-You can install with [bower](http://bower.io/) or [npm](https://www.npmjs.com/).
-
-
-```sh
-$ bower install jquery.lazyload
-$ npm install jquery-lazyload
-```
-
-
-# License
-
-All code licensed under the [MIT License](http://www.opensource.org/licenses/mit-license.php). All images licensed under [Creative Commons Attribution 3.0 Unported License](http://creativecommons.org/licenses/by/3.0/deed.en_US). In other words you are basically free to do whatever you want. Just don't remove my name from the source.
-
diff --git a/lib/jquery_lazyload/bower.json b/lib/jquery_lazyload/bower.json
deleted file mode 100644
index 929d3c446a..0000000000
--- a/lib/jquery_lazyload/bower.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{
- "name": "jquery_lazyload",
- "version": "1.9.4",
- "homepage": "http://www.appelsiini.net/projects/lazyload",
- "authors": [
- "Mika Tuupola "
- ],
- "description": "jQuery plugin for lazy loading images",
- "main": [
- "jquery.lazyload.js",
- "jquery.scrollstop.js"
- ],
- "license": "MIT",
- "ignore": [
- "**/.*",
- "**/*.min.js",
- "**/*.html",
- "**/*.textile",
- "Gruntfile.js",
- "lazyload.jquery.json",
- "package.json",
- "node_modules",
- "bower_components",
- "test",
- "img"
- ]
-}
diff --git a/lib/jquery_lazyload/disabled.html b/lib/jquery_lazyload/disabled.html
deleted file mode 100644
index 5a5451bb3e..0000000000
--- a/lib/jquery_lazyload/disabled.html
+++ /dev/null
@@ -1,110 +0,0 @@
-
-
-
-
-
- Lazy Load Disabled
-
-
-
-
-
-
-
-
-
-
-
- All images are loaded. Page takes long time to load. Shift-reload to test again.
- But wait there is more! You can also lazy load sideways or
- gazillion images.
-
- Images below the fold (the ones lower than window bottom) are not loaded. When scrolling down
- they are loaded when needed. Empty cache and shift-reload to test again. Compare this to page
- where plugin is disabled, same page with
- fadein effect, page with wide
- layout or wide content inside container.
-
- Images below the visible area (the ones lower than container bottom) are not loaded. When scrolling down
- they are loaded when needed. Empty cache and shift-reload to test again. Compare this to page where plugin is
- disabled or same page with fadein effect.
-
- Images below the fold (the ones lower than window bottom) are not loaded. When scrolling down
- they are loaded when needed. Images appear using fadeIn
- effect. Empty cache and shift-reload to test again. Compare this to page where plugin is
- without effects.
-
- When you have hundreds of images it is best to use James Padolseys scrollstop event.
- Compate this to page where plugin is disabled or page with
- larger images.
-
- This page deprecates gracefully for non JavaScript browsers. It requires hiding
- lazy loaded images with css and adding a <noscript> block which contains
- the real image and it is shown when JavaScript is not enabled. If JavaScript is enabled
- show() function is called before initializing Lazy Load plugin.
-
- Here Lazy Load
- plugin is enabled. Images below the fold are not loaded. Timeout will trigger five seconds after
- all other elements of page have been loaded.
-
- Images right of the fold are not loaded. When scrolling left they are loaded when needed.
- Shift-reload to test again. Compare this to page where plugin is
- disabled or page with
- gazillion images.
-
- Images right of the visible area are not loaded. When scrolling left they are loaded when needed.
- Shift-reload to test again. Compare this to page where plugin is
- disabled or page with
- gazillion images.
-