function SelectMenu(pageName)
{
	var ignoreFolders = 0;	//determines number of folders to skip. Useful if site is located in a VD

	if (pageName.substr(0, 1) == '/')
	{
			pageName = pageName.substr(1);
	}
	
	// pageName now contains something like VirtualDir/Admin/Clients/Default.asp
	// Skip VirtualDir(s), if necessary
	if (ignoreFolders > 0)
	{
		for (var j = 0; j < ignoreFolders; j++)
		{
			pageName = pageName.substr(pageName.indexOf('/') + 1);
		}
	}
	
	var linkID = '';
	var iLoop = 1;
	var arrDirs = pageName.split("/");

	if (arrDirs.length >= 2)
	{
		// Element in sub folder
		// Use all elements, except for page name
		iLoop = arrDirs.length - 1;
	}

	for (i = 0; i < iLoop; i++)
	{
		linkID += arrDirs[i];
	}

	if (linkID.substr(0, linkID.lastIndexOf('.') > 0))
	{
		linkID = linkID.substr(0, linkID.lastIndexOf('.'));
	}

	if (linkID == 'login') // User logging in? Highlight Members
	{
			linkID = 'members';
	}

	linkID = linkID.toLowerCase();

	if (document.getElementById(linkID))
	{
		document.getElementById(linkID).style.fontWeight = 'Bold';
		document.getElementById(linkID).style.color = '#666633';
		document.getElementById(linkID).className = 'Selected';
	}
}

function HideShowPlus(theID)
{
	var myDiv = document.getElementById('div' + theID);
	if (myDiv.style.display == 'none')
	{
		myDiv.style.display = 'block'
		document.getElementById('img' + theID).src = 'Images/Min.gif';
	}
	else
	{
		myDiv.style.display = 'none'
		document.getElementById('img' + theID).src = 'Images/Plus.gif';
	}
}

function WriteEmailAddress(name, domain, tld)
{
	document.write('<a href=\"mailto:' + name + '@' + domain + '.' + tld + '\">');
	document.write(name + '@' + domain + '.' + tld + '</a>');
}

function LTrim(str)
{
        var whitespace = new String(" \t\n\r ");
        var s = new String(str);
        if (whitespace.indexOf(s.charAt(0)) != -1)
		{
            var j=0, i = s.length;
            while (j < i && whitespace.indexOf(s.charAt(j)) != -1)
			{
                j++;
			}
            s = s.substring(j, i);
        }
        return s;
}

function RTrim(str)
{
        var whitespace = new String(" \t\n\r ");
        var s = new String(str);
        if (whitespace.indexOf(s.charAt(s.length-1)) != -1)
		{
            var i = s.length - 1;
            while (i >= 0 && whitespace.indexOf(s.charAt(i)) != -1)
			{
                i--;
			}
            s = s.substring(0, i+1);
        }
        return s;
}

function Trim(str)
{
        return RTrim(LTrim(str));
}

// Checks that the string supplied can be expressed as a number (float)
function isNumeric(strNumber)
{
	return (strNumber.search(/^(-|\+)?\d+(\.\d+)?$/) != -1);
}

// Checks that the string supplied can be expressed as an integer
function isInteger(strInteger)
{
	return (strInteger.search(/^(-|\+)?\d+$/) != -1);
}

// Internal function. Returns 29 when a leap year, else 28
function daysInFebruary (year)
{ // 29 days in febr, when it's a leap year. Not with a century, unless dev. by 400
    return (  ((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0) ) ) ? 29 : 28 );
}

// Checks if a string is empty or NULL. Trims first
function isEmpty(s)
{   
	s = Trim(s)
	return ((s == null) || (s.length == 0))
}

function isEmail (sEmailAddress)
{
	var isEmail=/^\w(\.?[\w-])+@\w(\.?[\w-])+\.[a-z]{2,4}(\.[a-z]{2})?$/i;
	if (!isEmail.test(sEmailAddress))
	{
		return false;
	}
	else
	{
		return true;
	}
}

// Checks if the three date elements together form a valid date
function isDate (year, month, day)
{
	if (isEmpty(year) || isNaN(year)) return false
	if (isEmpty(month) || isNaN(month)) return false
	if (isEmpty(day) || isNaN(day)) return false
	var longMonth
	var isFebruary
	longMonth = false
	isFebruary = false
	if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12)
	{
		longMonth = true;
	}
	if (month == 2)
	{
		isFebruary = true;
	}
	if (longMonth && day > 31) return false
	if (!longMonth && day > 30) return false
	if (isFebruary && day > daysInFebruary(year)) return false
	return true
}

