function defusicate(sString) {
	// inline base64 decode
	var c1, c2, c3, e1, e2, e3, e4;
	var sKey = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
	var i=0;
	while (i<sString.length) {
		e1 = sKey.indexOf(sString.charAt(i++));
		e2 = sKey.indexOf(sString.charAt(i++));
		e3 = sKey.indexOf(sString.charAt(i++));
		e4 = sKey.indexOf(sString.charAt(i++));
		c1 = (e1 << 2) | (e2 >> 4);
		c2 = ((e2 & 15) << 4) | (e3 >> 2);
		c3 = ((e3 & 3) << 6) | e4;
		document.write (String.fromCharCode(c1));
		if (e3!=64) document.write (String.fromCharCode(c2));
		if (e4!=64) document.write (String.fromCharCode(c3));
	}
}
function isValidEmail (sEmailAddress) {
	// return true if email address is properly constructed
	var sValidChars = '@+-._0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
	var i;
	varFirstAt = sEmailAddress.indexOf('@');
	if (sEmailAddress.length<6) return false; // too short to be an email address
	for (i=0;i<sEmailAddress.length;i++)
		if (sValidChars.indexOf(sEmailAddress.charAt(i))<0) return false;  // invalid character 
	if (varFirstAt<1) return false;  // does not exist or is first character
	if (sEmailAddress.indexOf('@',varFirstAt+1) != -1) return false; // more than one 'at'
	if (!(sEmailAddress.indexOf('.',varFirstAt)>varFirstAt+1)) return false; // 'dot' must exist beyond 'at' and not be adjacent
	if (sEmailAddress.lastIndexOf('.')>(sEmailAddress.length-2)) return false; // must be at least two characters beyond last 'dot'
	if ((sEmailAddress.length-sEmailAddress.lastIndexOf('.'))>4) return false; // must be no more then three characters beyond last 'dot'
	for (i=sEmailAddress.lastIndexOf('.')+1;i<sEmailAddress.length;i++) 
		if (sValidChars.indexOf(sEmailAddress.charAt(i),15)<0) return false;  // invalid character in last segment
	if (sEmailAddress.charAt(0)=='.') return false; // email address cannot begin with 'dot'
	i = 0;
	while (i!=-1) {
		i = sEmailAddress.indexOf('.',i+1)
		if (i>0) if (sEmailAddress.charAt(i+1)=='.') return false; // 'dot' cannot have adjacent 'dot'
	}
	return true;	// if we got this far, every test passed
} 
function formatphone(theField) {
	var p=theField.value;
	var n="";
	var i;
	for (i=0;i<p.length;i++) {
		if ('0123456789'.indexOf(p.charAt(i))>-1) n=n+p.charAt(i);
	}
    if (n.length>10) {
		n="("+n.substring(0,3)+") "+n.substring(3,6)+"-"+n.substring(6,10)+" "+n.substring(10,n.length);
	} else if (n.length>5) {
		n="("+n.substring(0,3)+") "+n.substring(3,6)+"-"+n.substring(6,n.length);
	} else if (n.length>2) {
		n="("+n.substring(0,3)+") "+n.substring(3,n.length);
	} else if (n.length>0) {
	    n="("+n;
	}
	theField.value=n;
}