/**********************************\
  Custom Javascript object template
  
  REQUIRES PROTOTYPE
\**********************************/

var ImageSwap = Class.create();

Object.extend( ImageSwap, {
	// Static methods/properties

	__preloads: $H({}),
	
	__swaps: $H({}),
	
	__idcounter: 0,
	
	preload: function() {
		var url, img;
		for( var i=0; i<arguments.length; i++ ) {
			url = arguments[i];
			if( ! ImageSwap.__preloads[url] ) {
				img = new Image();
				img.src = url;
				ImageSwap.__preloads[url] = img;
			}
		}
	},
	
	swap: function( image, newsrc ) {
		image = $(image);
		if (! image.id ) {
			image.id = "ImageSwap_AutoID_" + ImageSwap.__idcounter;
			ImageSwap.__idcounter ++;
		}
		ImageSwap.__swaps[ image.id ] = image.src;
		image.src = newsrc;
	},
	
	restore: function( image ) {
		image = $(image);
		if ( ImageSwap.__swaps[ image.id ] ) {
			image.src = ImageSwap.__swaps[ image.id ];
			ImageSwap.__swaps[ image.id ] = null;
		}
	}

});


ImageSwap.prototype = {
	// Instance methods/properties

};	