What is wrong with this script (if anything)?

Code:
// start mailTo script
// Copyright 2007
// my.tenfingers.net
var addr=new Array();
// Look-up table consists of six columns, 0..5.
/* Published prompt is stored in column 0 of the table.
 * Eg. addr[6] below.
 * Column 1 of the table stores Tooltip text.
 * Column 2 stores actual recipient name portion of address;
 * Column 3 stores actual recipient domain portion of address;
 * Column 4 stores a mirror of c.2 and column 5 mirrors c.3 when the actual address is published.
 * Leave column 4 of the table empty to publish plain link text stored in column 5 of the table.
 * Eg. addr[5] below.
 * HTML allowed in c.4 and c.5, eg. addr[0], or, as in addr[5], in c.5 alone.
 * Reset outdated rows to empty single quotes, and re-use. */
// Do not shift rows or your pages will be publishing errant data.
addr[0]=['','Comments and general enquiries','admin','domain.com','<strong>admin','domain.com<\/strong>'];
addr[1]=['','Advertsing, Billing and Accounts Payable','admin','domain.com','admin','domain.com'];
addr[2]=['','Contact Person One','person.one','domain.com','person.one','domain.com'];
addr[3]=['','Contact Person Two','person.two','domain.com','person.one','domain.com'];
addr[4]=['','Contact domain.com webmaster','webmaster','domain.com','webmaster','domain.com'];
addr[5]=['','Report Problems','webmaster','domain.com','','<em>Report Problems<\/em>'];
addr[6]=['Contact:','Contact domain.com webmaster','webmaster','domain.com','','Webmaster'];
addr[7]=['\,','Discuss Privacy with domain.com webmaster','webmaster','domain.com','webmaster','domain.com'];
addr[8]=['\, or by e-mail to','Comments and general enquiries','admin','domain.com','<strong>admin','domain.com<\/strong>'];
addr[9]=['','Sales Inquiries and Visitor Comments','sales','domain.com','sales','domain.com'];
// An empty argument, zero value, or empty quotes will disable the script at point of occurance.
// Eg. doMailto(); or, doMailto(0); or, doMailto("");
function inValid(arg) {return (arg==null||arg==0||arg=="");}
// Output is one mail or text link inline with the document flow.
// Eg. addr[8] above is in the flow of a sentence. Note HTML in c.4 and c.5
// The span wrapping the published text is included for user styles.
function doMailto(sendTo) { if(inValid(sendTo)) return;
	var y=eval(sendTo); if(y<=0||y>addr.length) {return} else {y=y-1};
	var line,xPt,xTo,isM,isA,text,atC='&#064\;';
	xPt=addr[y][0]; xPt=xPt==""? '' : xPt+'&nbsp;';
	xTo=addr[y][2]+atC+addr[y][3];
	isM=addr[y][4];	isA=addr[y][5]; text=isM==""? isA : isM+atC+isA;
	line=xPt+"<a title=\""+addr[y][1]+"\" href=\"mailto:"+xTo+"\"><span>"+text+"<\/span><\/a>";
	document.write(line);
	}
// end mailTo script
Just the script:

Code:
// Copyright 2007
// my.tenfingers.net
var addr=new Array();
addr[0]=['','Comments and general enquiries','admin','domain.com','<strong>admin','domain.com<\/strong>'];
addr[1]=['','Advertsing, Billing and Accounts Payable','admin','domain.com','admin','domain.com'];
addr[2]=['','Contact Person One','person.one','domain.com','person.one','domain.com'];
addr[3]=['','Contact Person Two','person.two','domain.com.com','person.one','domain.com'];
addr[4]=['','Contact domain.com webmaster','webmaster','domain.com','webmaster','domain.com'];
addr[5]=['','Report Problems','webmaster','domain.com','','<em>Report Problems<\/em>'];
addr[6]=['Contact:','Contact domain.com webmaster','webmaster','domain.com','','Webmaster'];
addr[7]=['\,','Discuss Privacy with domain.com webmaster','webmaster','domain.com','webmaster','domain.com'];
addr[8]=['\, or by e-mail to','Comments and general enquiries','admin','domain.com','<strong>admin','domain.com<\/strong>'];
addr[9]=['','Sales Inquiries and Visitor Comments','sales','domain.com','sales','domain.com'];
function inValid(arg) {return (arg==null||arg==0||arg=="");}
function doMailto(sendTo) { if(inValid(sendTo)) return;
	var y=eval(sendTo); if(y<=0||y>addr.length) {return} else {y=y-1};
	var line,xPt,xTo,isM,isA,text,atC='&#064\;';
	xPt=addr[y][0]; xPt=xPt==""? '' : xPt+'&nbsp;';
	xTo=addr[y][2]+atC+addr[y][3];
	isM=addr[y][4];	isA=addr[y][5]; text=isM==""? isA : isM+atC+isA;
	line=xPt+"<a title=\""+addr[y][1]+"\" href=\"mailto:"+xTo+"\"><span>"+text+"<\/span><\/a>";
	document.write(line);
	}
I'm not a programmer, and have only begun to scratch the surface of Javascript programming so I cannot tell whether anything is wrong or not. The script performs flawlessly in IE, FF, Opera and Safari for Windows.

The look-up table consists of 6 columns, as described in the annotation above. The reasoning for the first column is that if scripting is disabled, then so too should the visible prompt. Nothing looks dumber than E-mail: with nothing following (imho).

The tooltip text is optional, but one reasons that most users will appreciate seeing where a link is taking them, or at least some description of the link.

Columns 3 and 4 (2 & 3 , actually) are crucial, as they contain the values that will accompany mailto: in the hook reference. Columns 5 and 6 (4 & 5) are the visible portion of the link on the screen. If column 5 contains a value, it will be concatenated with @ and the contents of column 6. If c.5 is left empty, then only the regular text expression in column 6 is published. HTML tags are allowed in these two columns.

To temporarily disable a link, set the argument value [doMailto(arg)] to NULL, ZERO, or empty quotes.

Furthermore, structural markup may be included inside the script tags, wrapping the doMailto(); function call. The script output is inline, so may even be inserted in the middle of a sentence. Noscript tags are optional, but implementation of the tags inline can be a problem, since it's not valid. For this, I use p tags styled inline to bookend the script, giving the output the appearance of being inline. Then my noscript can contain alternate text inside p tags (again styled inline) and replace the link text (with a phone number or a link to the contact page) like nothing is missing.

I would greatly appreciate any comments or corrections to the above. Thanks!