Hashtable.prototype.hash	 	= null;
Hashtable.prototype.keys		= null;
Hashtable.prototype.location	= null;

function Hashtable()
{
	this.hash = new Array();
	this.keys = new Array();

	this.location = 0;
}

Hashtable.prototype.put = function (key, value)
{
	if ( value == null ) return;

	// On regarde si une clée avec le meme nom est deja existante
	if ( this.hash[ key ] == null )
		this.keys[ this.keys.length ] = key;

	this.hash[ key ] = value;
}

Hashtable.prototype.get = function ( keyOrValue )
{
	// Si on recupere la valeur par la key
	if ( typeof keyOrValue == "string" )
	{
		return this.hash[ keyOrValue ];
	}
	// Si on recupere la key par la valeur
	else
	{
		for (var i = 0; i < this.keys.length; i++)
			if ( this.hash[ this.keys[ i ] ] == keyOrValue )
				return this.keys[ i ];
	}
}

Hashtable.prototype.getArray = function ( )
{
	var oArray = new Array( );

	for (var i = 0; i < this.keys.length; i++)
		oArray[ oArray.length ] =this.hash[ this.keys[ i ] ]
		
	return oArray;
}


Hashtable.prototype.remove = function ( key )
{
	for ( var i = 0 ; i < this.keys.length ; i++ )
	{
		if ( key == this.keys[ i ] )
		{
			// On supprimer la clé du hash
			this.hash[ this.keys[ i ] ] = null;
			// et on vire la clé du tableau
			this.keys.splice(i ,1);
			return;
		}
	}
}

Hashtable.prototype.size = function ()
{
    return this.keys.length;
}
