/// <reference path=".#ts/client.d.ts" />

interface Templates {
	pagesMenu: Template;
}

Template.pagesMenu.onRendered(function () {

	this.autorun(() => {

		this.secs = this.subscribe('Content.Section', {handle: Session.get('contentMenuSectionHandle')});

		var sec = Content.Section.db.findOne({handle: Session.get('contentMenuSectionHandle')});
		if (sec) {
			var selector = <any>{
				section: sec._id,
				language: Countries.Lang[Session.get('activeLanguage')],
				device: Content.Device.PHONE,
				active: true,
				publishDate: {$lt: new Date()},
				publishEndDate: {$gt: new Date()},
			};

			this.subscribe('Content.Page', selector, {
				fields: {
					name: 1,
					handle: 1,
					section: 1,
					language: 1,
					device: 1,
					publishDate: 1,
					publishEndDate: 1,
				}
			});
		}
	});
});

Template.pagesMenu.helpers({

	pages: function () {

		var pages = Content.Page.db.find({}, {sort: {publishDate: -1}});
		return pages;
	},

	active: function () {
		var self = <Content.Page> this;
		var active = '/about/' + Session.get('pageName');
		return self.href() === active;
	}

});

Template.pagesMenu.events({

	'change select[name="pages"]': function(e: MeteorTemplateEvent) {
		var handle = (<any>$(e.currentTarget).val());
		console.log('pagesMenu.ts 59', 'redirect to', '/' + Session.get('contentMenuSectionHandle') + '/' + handle);
		Pages.go('/' + Session.get('contentMenuSectionHandle') + '/' + handle);
	}

});
