var IcImage = Class.create();
		IcImage.prototype = {
			initialize: function(src, width, height, domReference) {
				this.src = src;
				this.domReference = domReference;
				this.dimension = new IcDimension(width, height);
			},
			
			process: function(operation, extraTranforms) {
				ImageService.cropImage(this.src, this.dimension, operation.x, operation.y, operation.dimension, operation.rotation, operation.destinationUrl, operation.extraTransforms, operation.callback);	//afterCropReload);
			}
		}

var IcDimension = Class.create();
    IcDimension.prototype = {
			initialize: function(width, height) {
				this.width = width;
				this.height = height;
			}
		}

var IcImageOperation = Class.create();
		IcImageOperation.prototype = {
		initialize: function(destinationUrl, x, y, width, height, rotation, extraTransforms, callback) {
			this.x = (x) ? x : 0;
			this.y = (y) ? y : 0;
			this.dimension = new IcDimension(width, height);
			this.rotation = rotation;
			this.destinationUrl = destinationUrl;
			this.callback = callback;
			this.extraTransforms = extraTransforms;
		}
	}
