function SetPath(prereqpage, regpage) {
	navigate('sub', prereqpage);
	window.name = regpage;
}

function checkFirst() {
	if (!document.getElementById('accept_prereq').checked) {
		alert('You must first check that you have read and understand course prerequisites.');
		return false;
	} else {
		navigate('sub', window.name);
	}
}

function navigate(template, file) {
	location.href = '?template=' + template + '&file=' + file;
}

function link_to(file, template)
{
	navigate(template, file);
}

function MM_findObj(n, d) { // v4.01
	var p, i, x;
	if (!d)
		d = document;
	if ((p = n.indexOf("?")) > 0 && parent.frames.length) {
		d = parent.frames[n.substring(p + 1)].document;
		n = n.substring(0, p);
	}
	if (!(x = d[n]) && d.all)
		x = d.all[n];
	for (i = 0; !x && i < d.forms.length; i++)
		x = d.forms[i][n];
	for (i = 0; !x && d.layers && i < d.layers.length; i++)
		x = MM_findObj(n, d.layers[i].document);
	if (!x && d.getElementById)
		x = d.getElementById(n);
	return x;
}

function MM_validateForm() { // v4.0
	var i, p, q, nm, test, num, min, max, errors = '', args = MM_validateForm.arguments;
	for (i = 0; i < (args.length - 2); i += 3) {
		test = args[i + 2];
		val = MM_findObj(args[i]);
		if (val) {
			nm = val.name;
			if ((val = val.value) != "") {
				if (test.indexOf('isEmail') != -1) {
					p = val.indexOf('@');
					if (p < 1 || p == (val.length - 1))
						errors += '- ' + nm + ' must contain an e-mail address.\n';
				} else if (test != 'R') {
					num = parseFloat(val);
					if (isNaN(val))
						errors += '- ' + nm + ' must contain a number.\n';
					if (test.indexOf('inRange') != -1) {
						p = test.indexOf(':');
						min = test.substring(8, p);
						max = test.substring(p + 1);
						if (num < min || max < num)
							errors += '- ' + nm
							+ ' must contain a number between ' + min
							+ ' and ' + max + '.\n';
					}
				}
			} else if (test.charAt(0) == 'R')
				errors += '- ' + nm + ' is required.\n';
		}
	}
	if (errors) {
		alert('The following error(s) occurred:\n' + errors);
		return false;
	} else {
		return true;
	}
	document.MM_returnValue = (errors == '');
}
