function Hash() {
	this.length = 0;
	this.items = new Array();
	for (var i=0; i<arguments.length; i+=2) {
		if (typeof(arguments[i+1]) != 'undefined') {
			this.items[arguments[i]] = arguments[i+1];
			this.length++;
		}
	}
   
	this.removeItem = function(keyName) {
		var tmpValue;
		if (typeof(this.items[keyName]) != 'undefined') {
			this.length--;
			var tmpValue = this.items[keyName];
			delete this.items[keyName];
		}	   
		return tmpValue;
	}

	this.getItem = function(keyName) {
		return this.items[keyName];
	}

	this.setItem = function(keyName, keyValue) {
		if (typeof(keyValue) != 'undefined') {
			if (typeof(this.items[keyName]) == 'undefined') {
				this.length++;
			}
			this.items[keyName] = keyValue;
		}
		return keyValue;
	}

	this.hasItem = function(keyName) {
		return typeof(this.items[keyName]) != 'undefined';
	}
}