function Preview(container) {
	this.container = container;	
}

Preview.prototype = {
	init: function() {
		this.initVars();
		this.initHover();
	},
	initVars: function() {},	
	initHover: function() {
		var _self_ = this;
		as.addEvent(this.elementToOver,"mouseover",function(e) {_self_.showPreview(e);});
		as.addEvent(this.elementToOver,"mouseout",function(e) {_self_.hidePreview(e);});
	},
	showPreview: function(e) {		
		this.hovered = true;
		clearTimeout(this.hideTimer);
		var _self_ = this;
		setTimeout(
			function() {
				if (!_self_.hovered) { return; }
				if (!_self_.previewLoadStarted) {
					_self_.loadPreview();
				}
				if (_self_.previewLoaded) {
					as.style(_self_.elementToShow,{display: "block"});
				}
			},250
		);
	},
	hidePreview: function(e) {
		var _self_ = this;
		e = e || window.event;
		var target = e.target || e.srcElement;
		this.hovered = false;
		this.hideTimer = setTimeout(
			function() {
				if (this.hovered) { return; }
				as.style(_self_.elementToShow,{display: "none"});
			},300
		);
	},
	loadPreview: function() {
		this.previewLoadStarted = true;
		var _self_ = this;
		var loader = new as.ajax();
		loader.makeRequest(this.url,function(data) {_self_.setPreview(data)});
	},
	setPreview: function() {}
}
