HomeController.prototype = new PastelBaseController();
HomeController.prototype.constructor = HomeController;

/**
 * @constructor
 * @base PastelBaseController
 */
function HomeController() {
	
	var intervalHandle = null;
	var isAnimating = false;
	
	// options ====================================================================================
	this.setOpts({
		viewClass: HomeView,
		viewSelector: "div.id_home_page_cont",
		wrapperSelector: "div.left",
		viewRemoveOnHide: true,
		ajaxSingleRequest: false,
		ajaxUrl: "/index/index/"
	});
 
	// events =====================================================================================
 
	// setup ======================================================================================
	/** @param {HomeView} view */
	this._setupView = function(view) {
		this.ajax({
			url: "/index/messages/",
			success: function(data) {
				data = $.evalJSON(data);
				view.setMessageData(data);
				view.showMessage(1);
				this._handleNewsButtonClick(view);
				var func = function() {
					view.changeMessageAutomatically();
				};
				if(intervalHandle == null) {
					intervalHandle = setInterval(func, 7500);
				}
			}
		}, this);
	};

	this._handleNewsButtonClick = function(view) {
		var controller = this;
		view.getNewsButtons().click(function(event){
			if(isAnimating == true) {
				return false;
			}
			isAnimating = true;
			event.preventDefault();
			var messageNumber = view.getMessageNumber(this).slice("id_news_button_".length);
			view.showMessage(messageNumber, function() {
				isAnimating = false;
			});
			if(intervalHandle != null) {
				clearInterval(intervalHandle);
			}
			var func = function() {
				view.changeMessageAutomatically();
			};
			intervalHandle = setInterval(func, 7500);
		});
	};
}

