function ltrim ( s ){return s.replace( /^\s*/, "" );}

function rtrim ( s ){return s.replace( /\s*$/, "" );}

function clearOutput() {
	var form = document.forms.f1;
	form.nameoutput.value = '';
	form.cluboutput.value = '';
}

function makeName() {
	// set vars
	clearOutput();
	var form = document.forms.f1;
	var age = rtrim(ltrim(form.age.value));
	var fname = rtrim(ltrim(form.fname.value));
	var lname = rtrim(ltrim(form.lname.value));
	var lcfname = fname.toLowerCase();

	var sex = form.sex.options[form.sex.selectedIndex].value;
	// validate
	var error = '';	
	if (fname == '' || lname == '') 
		error = error + '\n  * We need your first & last name';
	if (age == '')
		error = error + '\n  * Seriously, how old are ya?';
	else if (isNaN(parseInt(age))) 
		error = error + '\n  * Age must be a number ya chooch!';
	if (sex == '0') 
		error = error + '\n  * Girl or boy? Male or female? Or dont ya know?';

	if (error != '') {
		alert ('Hey, if if you want your Yanks Nic-Name you have to give us the whole-sha-bang:  \n'+error);
		return true;
		}
	
	var lcfname = fname.toLowerCase();
	var lclname = lname.toLowerCase();
	
	// make up the name
	var fullname = fname + lname + sex;
	if (sex == 'female') {
		
		if (age <= 40) thisname = 'Missy','Bertha';
		else thisname = 'Momma';
		
		lclname = 'xyz' + lclname;
		
		if (age <= 21) thisname = 'Lil\' '+thisname;	
		else if (age > 40) thisname = 'Ol\' '+thisname;
	
		}
	else {
		var fnames = new Array ('Knuckles','Pepino|$','Dirty|$','Big Balls Billy','Chief|$','Goomba','Vinnie Boombats', 'Palpetta', 'Stroonz', 'Greasy|$','Cumpari','Bubba','Boo-Boo','Pizza Face','Big Lips','Headbanger','Dogbreath','Pretty Boy|$','Smart-Ass','Bag of Donuts','Pepper Head','Chicken Nuts','Degenerate','Knucklehead','Snotface','Big-Teeth','Hammer','Chubbmeister','Wannabee-Lou','Monkey','Big Daddy','Jelly Belly');
		
		var zz = 0;
		for (var ii = 0; ii < lcfname.length; ii=ii+1)
			zz = zz + lcfname.charCodeAt(ii);

		var ii =  parseInt(fullname.length * zz) % fnames.length;
		
		thisname = fnames[ii];	
		if (thisname.indexOf('|') > 0)
			thisname = thisname.substring(0,thisname.length-2) + ' ' + fname;		
		
		
		if (age <= 20) thisname = 'Lil\' '+thisname;	
		else if (age > 45) thisname = 'Ol\' '+thisname;
		}
	
	var zz = 0;
	for (var ii = 0; ii < lclname.length; ii=ii+1)
		zz = zz + lclname.charCodeAt(ii);
	
	var clubs = new Array('Junior','Leek','Gemma','Browner','Senior','Dicky','Roxswell','Nancy','Cuz','Jordache','Billy');
	var ii =  parseInt(fullname.length * zz) % clubs.length;
	var thisclub = clubs[ii];
	
	var namestring = thisname+' and your Fav Yank staff member is '+thisclub+' ';
	
	alert(fname+' '+lname+', Your Yank\'s Nick Name is:\n\n  '+namestring);
	form.nameoutput.value = thisname;
	form.cluboutput.value = thisclub;
}