var Train = new Class({
	
	/**
	 * @private
	 */
	trainContainer: null,
	waggonOffset: 5,
	
	/**
	 * Creates a new train with given locomotive.
	 * @param {String} locomotive image location
	 * @param {Integer} leftOffset pixel offset
	 */
	initialize: function(locomotive, leftOffset) {
		this.trainContainer = new Element('div').adopt(new Element('img', {
			'src': locomotive,
			'styles': {
				'position': 'relative',
				'left': leftOffset	
			}
		}));
	},
	
	/**
	 * Adds a new waggon to this train
	 * @param {String} waggon image location
	 * @param {Integer} leftOffset pixel offset
	 */
	addWaggon: function(waggon, leftOffset) {
		var waggonEl = new Element('img', {
			'src': waggon,
			'styles': {
				'position': 'relative',
				'top': (this.getWaggonCount() + 1) * this.waggonOffset * -1,
				'left': leftOffset	
			}
		});
		this.trainContainer.adopt(waggonEl);
	},
	
	/**
	 * Returns the amount of waggons in this train
	 */
	getWaggonCount: function() {
		return this.trainContainer.getChildren().length - 1;
	},
	
	/**
	 * Returns the surrounding container element
	 */
	getContainer: function() {
		return this.trainContainer;
	}
	
});