// Define globals for convenience

var pagecount = 0;

var patterns = reinhardt.urldispatch.patterns("demo.code",
	[/^list\/(\d*)$/, "showMovieList", ["year"]],
	[/^search$/, "search"],
	[/^movie\/(\d+)\/$/, "whatyear", ['id']],
	[/^movie\/([\w ]+)\/$/, "whatyear", ["name"]],
	[/^luke$/, "whatyear", [], {name: "Cool Hand Luke"}]
);

function renderContent(templatename, variables) {
	var template = new dojox.dtl.Template(new dojo.moduleUrl("demo",
										  templatename));
	var context = new dojox.dtl.Context(variables);
	dojo.byId("content").innerHTML = template.render(context);
	pagecount++;
	dojo.byId("pagecount").innerHTML = pagecount;
}

function specialLoaderOff() {
	dojo.query("#navmenu a").forEach(function(node) {
		node.onclick = null;
	});
}

function navClick(event) {
	var url = event.target.href;
	var index_file = url.indexOf("index.html");
	var mypath = url.substring(index_file + 11);
	if (!patterns.dispatchTo(mypath)) {
		renderContent("../../default.dtl", 
					{movieCount: demo.database.movies.length});
	}
	event.preventDefault();
}

function specialLoaderOn() {
	dojo.query("#navmenu a").forEach(function(node) {
	node.onclick = navClick
	});
}

dojo.addOnLoad(
	function() {
		if (!patterns.dispatch()) {
			renderContent("../../default.dtl", 
						{movieCount: demo.database.movies.length});
		}
	}
);
