/*****************************************
 *
 *  Site wide javascript for akaroosto.com
 *
 *****************************************/

function encodeEmail(addy, ltext, oTarget)
/*
 * encodes email address and sets the value member of oTarget to the 
 * resulting string
 */
{
    oTarget.value = createMailJS(addy, ltext);
	
    return strCountSubstr(oTarget.value, "\n");
}


function createMailJS(addy, ltext)
/*
 * creates and returns a string of XHTML with embedded javascript that 
 * will result in a mailto: link where it is inserted on the page
 */
{
	var ret;                       // string of XHTML to return
	var addyWriter;                // portion of script that writes addy to DOM
	var tabs = '    ';             // for prettyish printing
	var addyParts = new Array();   // for components of address
	var addyDomainsEnc = new Array(); // domain components, split up & encoded
	var addyStartEnc;              // username encoded
	
	alert('addy=' + addy);
	
	// split into username & domain components encode and store
	addyParts = addy.split('@');
	alert('addy.split("@")=' + addy.split('@'));
	alert('addyParts=' + addyParts);
	addyStartEnc  = entityEncodeAll(addyParts[0]);
	addyDomainsEnc = addyParts[1].split('.');
	
	for(var i = 0; i < addyDomainsEnc.length; i++) {
		addyDomainsEnc[i] = entityEncodeAll(addyDomainsEnc[i]);
	}
	
	ret  = "<script type=\"text/javascript\">\n// <[!CDATA[\n";
	ret += tabs + "var oob = 'mailto:';\n" 
	ret += tabs + "var ladi = '" + addyStartEnc + "';\n";
	
	// write domain components as a literal Array
	ret += tabs + "var ooblada = new Array(\n";
	for(var i = 0; i < addyDomainsEnc.length; i++) {
		ret += tabs + tabs + "'" + addyDomainsEnc[i] + "'";
		
		if(i + 1 < addyDomainsEnc.length) {
			ret += ",\n"; // more elements to come
		}
	}
	ret += tabs + tabs + ");\n";	

	ret += tabs + "document.write('<a href=\"' + oob);\n";

	// separate code that writes addy to DOM
	addyWriter  = tabs + "document.write(ladi + '&#64;');\n";
	addyWriter += tabs + "for(var i = 0; i < ooblada.length; i++) {\n";
	addyWriter += tabs + tabs + "document.write(ooblada[i]);\n";
	addyWriter += tabs + tabs + "if(i + 1 < ooblada.length) {\n";
	addyWriter += tabs + tabs + tabs + "document.write('.');\n";
	addyWriter += tabs + tabs + "}\n"
	addyWriter += tabs + "}\n";
	
	ret += addyWriter + tabs + "document.write('\">');\n";

	if(ltext == '') { // use email address if ltext is empty
		ret += addyWriter;
	} else { // plain link text will in doc, so close & reopen script tag
		ret += "// ]]>\n</script>" + entityEncodeXHTML(ltext);
		ret += "<script type=\"text/javascript\">\n// <[!CDATA[\n";
	}
	
	ret += tabs + "document.write('</a>');\n";
	ret += "// ]]>\n</script>";
	
	return ret;
}