﻿
Type.registerNamespace("PREFERR.Collections");

PREFERR.Collections.Hashtable = function() {
    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++;
	    }
    }
}

PREFERR.Collections.Hashtable.prototype = {
    removeItem : function(in_key) {
        var tmp_value;
		if (typeof(this._items[in_key]) != 'undefined') {
			this._length--;
			var tmp_value = this._items[in_key];
			delete this._items[in_key];
		}
		return tmp_value;
    },
    get_Item : function(in_key) {    
        return this._items[in_key];
    },
    set_Item : function(in_key, in_value) {
		if (typeof(in_value) != 'undefined') {
			if (typeof(this._items[in_key]) == 'undefined') {
				this._length++;
			}

			this._items[in_key] = in_value;
		}
	   
		return in_value;
	},
	hasItem : function(in_key) {
		return typeof(this._items[in_key]) != 'undefined';
	}
}


PREFERR.Collections.Hashtable.registerClass('PREFERR.Collections.Hashtable', Sys.UI.Behavior);
if (typeof(Sys) !== 'undefined') Sys.Application.notifyScriptLoaded();

