// ------------------------
//
// Format-testing functions
//
// ------------------------

function CS_IsFmtAlphaNumeric(strString)
{
	var objPattern = /^[a-zA-Z0-9]+$/;
	
	return (objPattern.test(strString));
}

function CS_IsFmtCurrencyUS(strString)
{
	var objPattern = /^\$?(([1-9]\d{0,2}((,\d{3})*|\d*))|0)(\.\d{0,2})?$/;

	return (objPattern.test(strString));
}

function CS_IsFmtEmail(strEMailAddress)
{
//var objPattern1 = /(@.*@)|(\\.\\.)|(@\\.)|(^\\.)/;
	var objPattern1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
	var objPattern2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");

	return (!objPattern1.test(strEMailAddress) && objPattern2.test(strEMailAddress));
}

function CS_IsFmtNumeric(strString)
{
	return !isNaN(strString);
}

function CS_IsFmtInteger(strString)
{
	return (CS_IsFmtNumeric(strString) && (strString.indexOf(".") == -1));
}


// --------------------
//
// Formatting functions
//
// --------------------

function CS_FmtCurrencyUSToDecimal(strString)
{
	return CS_StringStripChars(strString, "$,");
}


// -----------------------------
//
// String manipulation functions
//
// -----------------------------

//
// Adapted from:
//   Ryan A. Somma (ryan@waygate.com)
//   http://www.waygate.com
//   http://javascript.internet.com
//
function CS_StringStripChars(strStringSrc, strCharsToStrip)
{
	var intStringIdx;
	var intIdx;
	var strCharCrnt;
	var strRtrn;

	//Initialize variables.
	strRtrn = "";
		
	//Loop through the characters in the source string.
	for (intIdx = 0; intIdx < strStringSrc.length; intIdx++)
	{
		strCharCrnt = strStringSrc.charAt(intIdx);
		if (strCharsToStrip.indexOf(strCharCrnt) == -1)
			strRtrn += strCharCrnt;
	}
	
	return strRtrn;
}


// -----------------------
//
// Miscellaneous functions
//
// -----------------------

function CS_HideIELinkFocus()
{
	var intLinkIdx;
	
	for (intLinkIdx in document.links)
	{
		document.links[intLinkIdx].onfocus = document.links[intLinkIdx].blur;
	}
}

if (document.all)
{
	document.onmousedown = CS_HideIELinkFocus;
}

function bookmark(title, url)
{
	if (window.sidebar) // firefox
		window.sidebar.addPanel(title, url, "http://www.compusmile.com/assets/pages/affiliations.asp");
	else if (window.opera && window.print) // opera
	{ 
		var elem = document.createElement('a');
		elem.setAttribute('href', url);
		elem.setAttribute('title', title);
		elem.setAttribute('rel', 'sidebar');
		elem.click();
	}
	else if (document.all) // ie
		window.external.AddFavorite(url, title);
}

