function exeMailTo(thisUser, thisServer, thisExt)
{
	var sLink = "ma" + "il" + "to" + ":" + thisUser + "@" + thisServer + "." + thisExt;
	//Check for a 4th, optional argument for default email subject
	if(arguments.length > 3)
	{
		sLink += "?subject=" + arguments[3];
	}
	window.location = sLink;
}

function popWin(thisSource, thisTitle)
{
	var thisWidth, thisHeight;
	if(arguments.length > 2)
	{
		thisWidth = arguments[2];
	}
	else
	{
		thisWidth = "500";
	}
	if(arguments.length > 3)
	{
		thisHeight = arguments[3];
	}
	else
	{
		thisHeight = "400";
	}
	var thisWin = window.open(thisSource, thisTitle, "width=" + thisWidth + ",height=" + thisHeight + ",menubar=0,toolbar=0,scrollbars=1,resizable=1");
	thisWin.focus();
}

var regNonDigit = /\D/;
var regFormatted = /^\({1}\d{3}\)\s\d{3}-\d{4}/;

function formatPhone(thisPhone)
{
	var sTmp, sArea, sPre, sSuf, sExt;
	var iLength;
	
	sTmp = thisPhone.value;
	
	while(regNonDigit.test(sTmp))
	{
		sTmp = sTmp.replace(regNonDigit, "");
	}
	
	iLength = sTmp.length;
	sArea = "";
	sPre = "";
	sSuf = "";
	sExt = "";
	
	if(iLength >= 3)
	{
		sArea = sTmp.substring(0,3);
	}
	if(iLength >= 7)
	{
		sPre = sTmp.substring(3,6);
	}
	if(iLength >= 10)
	{
		sSuf = sTmp.substring(6,10);
	}
	if(iLength > 10)
	{
		sExt = sTmp.substring(10,iLength);
	}
	if(sArea != "" && sPre != "" && sSuf != "" && sExt == "")
	{
		sTmp = "(" + sArea + ") " + sPre + "-" + sSuf;
		thisPhone.value = sTmp;
	}
	else
	{
		//Do nothing - pass whatever the user submits
		//Could have been formatted as an international number or perhaps a work extension
	}
}

function formatCurrency(thisAmount)
{
	var i = parseFloat(thisAmount);
	var retVal;
	
	i = Math.abs(i);
	i = parseInt((i + .005) * 100);
	i = i / 100;
	retVal = new String(i);
	
	if(retVal.indexOf('.') < 0)
	{
		retVal += '.00';
	}
	if(retVal.indexOf('.') == (retVal.length - 2))
	{
		retVal += '0';
	}
	return retVal;
}

function validDollars(thisField)
{
	if(thisField.value != "" && !isNum(thisField.value))
	{
		alert("Please enter numeric characters only (.1234567890)");
		thisField.value = "";
	}
	else
	{
		if(thisField.value != "" && isNum(thisField.value))
		{
			thisField.value = formatCurrency(thisField.value);
		}
	}
}

function numbersOnly(thisField)
{
	if(thisField.value != "" && !isNum(thisField.value))
	{
		alert("Please enter numeric characters only (1234567890)");
		thisField.value = "";
	}
}

function isNum(thisVal)
{
	var validChars = "0123456789";
	var retFlag = true;
	var thisChar;
	var i;

	if(thisVal.length > 0)
	{
		for(i = 0; i < thisVal.length && retFlag == true; i++) 
		{ 
			thisChar = thisVal.charAt(i); 
			if(validChars.indexOf(thisChar) == -1) 
			{
				retFlag = false;
			}
		}
	}
	else
	{
		retFlag = false;
	}
	return retFlag;
}
