+++ /dev/null
-/*\r
-Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.\r
-For licensing, see LICENSE.html or http://ckeditor.com/license\r
-*/\r
-\r
-(function()\r
-{\r
- var loaded = {};\r
-\r
- var loadImage = function( image, callback )\r
- {\r
- var doCallback = function()\r
- {\r
- img.removeAllListeners();\r
- loaded[ image ] = 1;\r
- callback();\r
- };\r
-\r
- var img = new CKEDITOR.dom.element( 'img' );\r
- img.on( 'load', doCallback );\r
- img.on( 'error', doCallback );\r
- img.setAttribute( 'src', image );\r
- };\r
-\r
- /**\r
- * @namespace Load images into the browser cache.\r
- */\r
- CKEDITOR.imageCacher =\r
- {\r
- /**\r
- * Loads one or more images.\r
- * @param {Array} images The URLs of the images to be loaded.\r
- * @param {Function} [callback] A function to be called once all images\r
- * are loaded.\r
- * @return {CKEDITOR.event} An event object which fires the 'loaded'\r
- * event when all images are completely loaded. Additionally, the\r
- * "finished" property is set after the "loaded" event call.\r
- * @example\r
- * var loader = CKEDITOR.imageCacher.load( [ '/image1.png', 'image2.png' ] );\r
- * if ( !loader.finished )\r
- * {\r
- * loader.on( 'load', function()\r
- * {\r
- * alert( 'All images are loaded' );\r
- * });\r
- * }\r
- */\r
- load : function( images, callback )\r
- {\r
- var pendingCount = images.length;\r
-\r
- var event = new CKEDITOR.event;\r
- event.on( 'loaded', function()\r
- {\r
- event.finished = 1;\r
- });\r
-\r
- if ( callback )\r
- event.on( 'loaded', callback );\r
-\r
- var checkPending = function()\r
- {\r
- if ( --pendingCount === 0 )\r
- event.fire( 'loaded' );\r
- };\r
-\r
- for ( var i = 0 ; i < images.length ; i++ )\r
- {\r
- var image = images[ i ];\r
-\r
- if ( loaded[ image ] )\r
- checkPending();\r
- else\r
- loadImage( image, checkPending );\r
- }\r
-\r
- return event;\r
- }\r
- };\r
-})();\r