﻿(function ($, window) {
	var scrollTo = function (jElement) {
		var jView = $('html, body');
		if (jElement.length) {
			setTimeout(function () {
				jView.scrollTop(jElement.offset().top);
			}, 100);
		}
	},
	scrollToTab = function () {
		var jTabs = $('div.js-tabs');
		scrollTo(jTabs);
	};
		
	$.initPageStateCntrlr({
		'trailers': {
			func: [
				function () {
					this.addToState('tab', 'idjs-block-trailers', 'replace', false);
				},
				{
					func: scrollToTab,
					deferred: true
				}
			]
		},
		'review': {
			func: [
				function () {
					this.addToState('tab', 'idjs-block-review', 'replace', false);
				},
				{
					func: scrollToTab,
					deferred: true
				}
			]
		},
		'cards': {
			func: [
				function () {
					this.addToState('tab', 'idjs-block-cards', 'replace', false);
				},
				{
					func: scrollToTab,
					deferred: true
				}
			]
		},
		'schedule': {
			func: [
				function () {
					this.addToState('tab', 'idjs-block-schedule', 'replace', false);
				},
				{
					func: scrollToTab,
					deferred: true
				}
			]
		}
	},
	{
		keysAliases: {
			'tab' : ['review', 'trailers', 'cards', 'schedule', 'review_ok', 'review_fail']
		}
	});
})(jQuery, window);
