var Tour = {
	
	steps: [
		'index.html',
		'public-home.html',
		'public-repository-overview.html',
		'public-edit-repository.html',
		'public-edit-repository-permissions.html',
		'public-create-repository.html',
		'public-profile.html',
		'admin-home.html',
		'admin-manage-users.html',
		'admin-manage-groups.html',
		'admin-backups.html',
		'admin-server-settings.html',
		'admin-security.html',
		'admin-event-log.html',
		'finish.html'
	],
	
	next: function() {
		Tour.go(Tour.get_next())
	},
	
	back: function() {
		Tour.go(Tour.get_prev());
	},
	
	go: function(page) {
		window.location.href = page;
	},
	
	get_next: function() {
		var idx = Tour.get_current_index();
		if (idx == Tour.steps.length-1) {
			return Tour.steps[0];
		} else {
			return Tour.steps[idx+1];
		}
	},
	
	get_prev: function() {
		var idx = Tour.get_current_index();
		if (idx == 0) {
			return Tour.steps[Tour.steps.length-1];
		} else {
			return Tour.steps[idx-1];
		}
	},
	
	get_current_index: function() {
		var current = Tour.get_current_page();
		for (var i=0; i<Tour.steps.length; i++) {
			if (Tour.steps[i] == current) {
				return i;
			}
		}
		
		// error - shouldn't get here
		// return zero so we don't raise errors for the user
		return 0;
	},
	
	get_current_page: function() {
		var parts = window.location.href.split('/');
		var page = parts[parts.length-1];
		
		// remove any extra chars after extension
		return page.substr(0, page.lastIndexOf('.')+5);
	}
}
