
// A cascading menu script by Fredrik Fridsten 2000 (c)

var nom = 7; // Number of menus

var tits = new Array(); // An array for the title objects
var subs = new Array(); // An array for the submenu objects
var lastn;
var lastmove;
var isIE4;
var isNav4;
var isNav6;
var re = new RegExp('px');

function setbrowser() {
	if (navigator.appVersion.charAt(0) == "4") {
		if (navigator.appName.indexOf("Explorer") >= 0) {
			isIE4 = true;
		}
		else {
			isNav4 = true;
		}
	}
	else if (navigator.appVersion.charAt(0) > "4") {
		isNav6 = true;
	}
	if (isNav4) { // Setting the visibility for NN and IE
		visible = 'show';
		hidden = 'hide';
	}
	else if (isIE4) {
		visible = 'visible';
		hidden = 'hidden';
	}
	else if (isNav6) {
		visible = 'visible';
		hidden = 'hidden';
	}
}

for (var i = 1; i <= nom; i++) { // Fills the arrays with title and submenu objects
	tits[i] = ('title' + i);
	subs[i] = ('submenu' +i);
}

// A couple of small functions that changes the image by the clicked menu
function picopen(n) {
	title = ('title' + n);
	pic = ('pic' + n);
	if (isNav4) {
		document.layers[title].document.images[pic].src = "images/opened.gif";
	}
	else if (isIE4) {
		document.all(pic).src = "images/opened.gif";
	}
	else if (isNav6) {
		document.getElementById(pic).src = "images/opened.gif";
	}
}

function picclose(n) {
	title = ('title' + n);
	pic = ('pic' + n);
	if (isNav4) {
		document.layers[title].document.images[pic].src = "images/closed.gif";
	}
	else if (isIE4) {
		document.all(pic).src = "images/closed.gif";
	}
	else if (isNav6) {
		document.getElementById(pic).src = "images/closed.gif";
	}
}

// The main script for toggling the selected menu
// Input variables:
// n = the number of the submenu to show/hide
// move = the number of pixels for moving the objects below


lastn = (nom + 1);
lastmove = 0;

function lasttoggle(n,move) {
	if (n <= nom) {
		menu = ('submenu' + n);
		if (isNav4) {
			submenu = document.layers[menu];
		}
		else if (isIE4) {
			submenu = document.all(menu).style;
		}
		else if (isNav6) {
			submenu = document.getElementById(menu).style;
		}
		if (submenu.visibility.toLowerCase() == visible) {
			submenu.visibility = hidden;
//			picclose(n); // Remove this if you don't use pictures
			for (var i = (n+1); i <= nom; i++) {
				if (isNav4) {
					var tit = document.layers[tits[i]];
					var subm = document.layers[subs[i]];
				}
				else if (isIE4) {
					var tit = document.all(tits[i]).style;
					var subm = document.all(subs[i]).style;
				}
				else if (isNav6) {
					var tit = document.getElementById(tits[i]).style;
					var subm = document.getElementById(subs[i]).style;
				}
				var tmptit = parseInt(tit.top);
				var tmpsub = parseInt(subm.top);
				if (isNav4) {
					tit.top = (tmptit - move);
					subm.top = (tmpsub - move);
				} else {
					tit.top = (tmptit - move) + "px";
					subm.top = (tmpsub - move) + "px";
				}
			}			
		}
	}
}


function toggle(n,move) {
	var menu = ('submenu' + n);
	if (isNav4) {
		submenu = document.layers[menu];
	}
	else if (isIE4) {
		submenu = document.all(menu).style;
	}
	else if (isNav6) {
		submenu = document.getElementById(menu).style;
	}
	if (submenu.visibility.toLowerCase() == visible) {
		submenu.visibility = hidden;
//		picclose(n); // Remove this if you don't use pictures
		for (var i = (n+1); i <= nom; i++) {
			if (isNav4) {
				var tit = document.layers[tits[i]];
				var subm = document.layers[subs[i]];
			}
			else if (isIE4) {
				var tit = document.all(tits[i]).style;
				var subm = document.all(subs[i]).style;
			}
			else if (isNav6) {
				var tit = document.getElementById(tits[i]).style;
				var subm = document.getElementById(subs[i]).style;
			}
			var tmptit = parseInt(tit.top);
			var tmpsub = parseInt(subm.top);
			if (isNav4) {
				tit.top = (tmptit - move);
				subm.top = (tmpsub - move);
			} else {
				tit.top = (tmptit - move) + "px";
				subm.top = (tmpsub - move) + "px";
			}			
		}
	}
	else {
		submenu.visibility = visible;
//		picopen(n); // Remove this if you don't use pictures
		if (lastn != n) {
			lasttoggle(lastn,lastmove);
		}
		for (var i = (n+1); i <= nom; i++) {
			if (isNav4) {
				var tit = document.layers[tits[i]];
				var subm = document.layers[subs[i]];
			}
			else if (isIE4) {
				var tit = document.all(tits[i]).style;
				var subm = document.all(subs[i]).style;
			}
			else if (isNav6) {
				var tit = document.getElementById(tits[i]).style;
				var subm = document.getElementById(subs[i]).style;
			}
			var tmptit = parseInt(tit.top);
			var tmpsub = parseInt(subm.top);
			if (isNav4) {
				tit.top = (tmptit + move);
				subm.top = (tmpsub + move);
			} else {
				tit.top = (tmptit + move) + "px";
				subm.top = (tmpsub + move) + "px";
			}		
		}
	}
	lastn = n;
	lastmove = move;
}

function subclick() {
	alert("This should be replaced with an actual link");
}

function init() {
	setbrowser();
}

function ltrim(text)
{
	while (text.length > 0 && text.charAt(0) == " ")
	{
		text = text.substring(1, text.length);
	}
	return text;
}

function rtrim(text)
{
	while (text.length > 0 && text.charAt(text.length - 1) == " ")
	{
		text = text.substring(0, text.length - 1);
	}
	return text;
}

function trim(text)
{
	return ltrim(rtrim(text));
}

function isPhoneNumber(phone)
{
	phone = trim(phone);
	re = /.*\d{3}.*\d{3}.*\d{4}.*/;
	return phone.match(re);
}

function isEMail(email)
{
	email = trim(email);
	re = /.+\@.+\..+/;
	return email.match(re);
}

function isPostalZip(postalzip)
{
	postalzip = trim(postalzip)
	re = /^[a-zA-Z]\d[a-zA-Z][ \-]?\d[a-zA-Z]\d$|^\d\d\d\d\d([ \-]?\d\d\d\d)?$/;
	return postalzip.match(re);
}