/* Email Address Obfuscator */

/* Based on a script by Andreas Neudecker, Copyright 2003 */
/* Licensed under the GNU General Public License (GPL), see http://www.gnu.org/copyleft/ */

/* In the XHTML files, request an email address using the following:
   
      <script type="text/JavaScript">
         printObfuscatedEmail("koryukan");
      </script>

   Inside printObfuscatedEmail() you assemble the actual email addresses. */


function encodeString (originalString, mode)
{
	var encodedString = "";
	var nowCodeString = "";
	var randomNumber = -1;
	var originalLength = originalString.length;
	for (var i = 0; i < originalLength; i++)
	{
		switch (mode)
		{
			case 1:	// Decimal code:
				nowCodeString = "&#" + Number(originalString.charCodeAt(i)).toString() + ";";
			break;
			case 2: // Hexadecimal code:
				nowCodeString = "&#x" + Number(originalString.charCodeAt(i)).toString(16) + ";";
			break;
			case 3: // Random encoding - which mode now?
				randomNumber = Math.ceil(2 * Math.random());
				switch (randomNumber)
				{
					case 1: // Random encoding - decimal code:
						nowCodeString = "&#" + Number(originalString.charCodeAt(i)).toString() + ";";
					break;
					case 2: // Random encoding - hexadecimal code:
						nowCodeString = "&#x" + Number(originalString.charCodeAt(i)).toString(16) + ";";
					break;
					// eliminated this option, because in rare cases it could lead to 
					// a readable email address.
					//case 3: // Random encoding - don't encode, use character itself:
					//	nowCodeString = originalString.charAt(i);
					//break;
					default:
						return("ERROR: wrong random number.");
					break;
				}
			break;
			case 4: // Don't encode, use character itself:
				nowCodeString = originalString.charAt(i);
			break;
			default:
				return ("ERROR: wrong encoding mode.");
			break;
		}
		encodedString += nowCodeString;
	}
	return (encodedString);
}


function sbc()
{
	return("@sbcglobal.net");
}


function printObfuscatedEmail(name)
{
	var email = "";
	var aHref = "\<a href=\"";
	var mailto = "mailto: ";
	var aHrefEnd = "\">";
	var endHref = "\<\/a>";

	switch(name)
	{
		case "krk":
         email = "koryu";
			email = email + "kan" + sbc();
			break;
	}

	document.write(aHref + mailto + encodeString(email,3) + aHrefEnd + encodeString(email,3) + endHref);
}



