function Slide(carousel, image, link) {
	this.carousel = carousel;
	this.image = image;
	this.link = link;
	this.originalSize = null;
	this.scale = 1;
	this.hidden = false;
	this.element = document.createElement('img');
	this.element.setAttribute('src', image);
	$(this.element).load(delegate(this, this.imageLoaded));
}

Slide.prototype.imageLoaded = function () {
	this.originalSize = {
		width:$(this.element).width(),
		height:$(this.element).height()
	}
	this.carousel.slideLoaded();
}

Slide.prototype.setScale = function (value) {
	if (this.originalSize) {
		this.scale = value;
		$(this.element).css('width', this.originalSize.width * this.scale);
		$(this.element).css('height', this.originalSize.height * this.scale);
		$(this.element).css('border-radius', 11 * this.scale);
		$(this.element).css('-moz-border-radius', 11 * this.scale);
		$(this.element.parentNode.parentNode).css('border-radius', 13 * this.scale);
		$(this.element.parentNode.parentNode).css('-moz-border-radius', 13 * this.scale);
		//$(this.element.parentNode.parentNode).css('border-width', 2 * this.scale);
	}
}

Slide.prototype.setHidden = function (value) {
	if (this.hidden != value) {
		this.hidden = value;
		$(this.element.parentNode.parentNode).css('display', this.hidden ? 'none' : 'block');
	}
}

Slide.prototype.setOpacity = function (value) {
	$(this.element.parentNode.parentNode).css('opacity', value);
}

Slide.prototype.setPosition = function (x, y) {
	$(this.element.parentNode.parentNode).css('left', x);
	$(this.element.parentNode.parentNode).css('top', y);
}

Slide.prototype.getWidth = function () {
	return this.originalSize.width * this.scale;
}

Slide.prototype.getHeight = function () {
	return this.originalSize.width * this.scale;
}

Slide.prototype.setZIndex = function (value) {
	$(this.element.parentNode.parentNode).css('z-index', value);
}
