//	cTable Javascript - Copyright (C) 2007-2010 Charles A Upsdell, All Rights Reserved; www.upsdell.com
//
//  Methods to manage team names and nicknames
//
aModule.uses( 'mTeamName', 'cTable' );


cTable.prototype.addTeamName = function ( sName, sNickName, sShortName )
{
var $name = 'addTeamName';
if ( arguments.length < 1 )
	this.$name.alert( $name, 'name missing' );
var aNickName = new Array();
if ( arguments.length < 2 )
  {
	if ( sName instanceof Array )
	  {
		var name = '';
		for ( var i = 0; i < sName.length; ++i )
		  {
			name += sName[i];
			if ( (i+1) < sName.length )
				name += ' ';
			aNickName.push( (i == 0) ? sName[i] : 'the ' + sName[i] );
		  }
		sName = name;
	  }
	else
	  {
		var i = sName.lastIndexOf(' ');
		if ( i != -1 )
			aNickName = new Array ( sName.substring(0,i), 'the ' + sName.substring(i+1) );
		else
			aNickName[0] = sName;
	  }
  }
else
  {
	aNickName = sNickName;
	for ( var i = 0; i < aNickName.length; ++i )
	  {
		if ( aNickName[i] == '' )
		  {
			if ( sName.charAt(0) == ' ' )
				aNickName[i] = sName;
			else
				aNickName[i] = 'the ' + sName;
		  }
	  }
  }
sName = sName.replace(/_/g,' ');
if ( this.indexOf(sName) == -1 )
	this.addRow( sName, aNickName, sShortName );
else
	this.$name.alert( $name, 'duplicate name', sName );
}


cTable.prototype.addTeamNames = function ( sName )
{
for ( var i = 0; i < arguments.length; ++ i )
	this.addTeamName( arguments[i] );
}


cTable.prototype.getTeamName = function ( sName )
{
var $name = 'getTeamName';
if ( arguments.length < 1 )
	{ this.$name.alert( $name, 'error: name missing' ); return ''; }
var sTeamName = sName.replace(/_/g,' ');
if ( typeof(teamname) == 'undefined' )
	return sTeamName;
var i = this.indexOf( sTeamName );
if ( i == -1 )
  {
	return getTheTeamName(sName);
  }
else
  {
	var sNickName;
	var entry = this.table[i][1];
	if ( entry instanceof Array )
		sNickName = entry[Math.floor((entry.length)*(Math.random()))];
	else
		sNickName = entry;
	if ( sNickName == '-' )
		sNickName = getTheTeamName(sName);
	return sNickName.replace(/_/g,' ');
  }
}


function getTheTeamName ( sName )
{
var sTeamName = sName.replace(/_/g,' ');
if ( sName.indexOf(' ') == -1 )
	return sTeamName;
else if ( sName.charAt(0) == ' ' )
	return sTeamName;
else
	return 'the ' + sTeamName;
}


