var Hash=function(){this._data=new Object();};Hash.prototype={clear:function(){delete this._data;},add:function(a,b){if(!a||typeof(b)==="undefined"){return false;}this._data[a]={key:a,value:b};return true;},addRange:function(b){for(var a in b._data){var c=b._data[a];if(typeof(c)!=="undefined"){this.add(c.key,c.value);}}},remove:function(a){if(!a){return undefined;}var b=this._data[a];delete this._data[a];return b;},removeAt:function(a){if(isNaN(a)){return undefined;}var c=0;for(var b in this._data){if(c==a){return this.remove(b);}c++;}return undefined;},removeRange:function(e,d){if(isNaN(e)||isNaN(d)){return undefined;}var b=0;var c=new Hash();for(var a in this._data){if(b>=e&&b<=d){c.add(a,this.remove(a).value);}b++;}return c;},getCount:function(){var b=0;for(var a in this._data){b++;}return b;},forEach:function(e,a){var c=0;for(var b in this._data){var d=this._data[b];if(typeof(d)!=="undefined"){e.call(a,d,c,this);c++;}else{delete this._data[b];}}},getKeys:function(){var a=new Array();for(var b in this._data){var c=this._data[b];a.push(c.key);}return a;},getValues:function(){var a=new Array();for(var b in this._data){var c=this._data[b];a.push(c.value);}return a;},getKey:function(a){for(var b in this._data){if(this._data[b]&&this._data[b].value==a){return this._data[b];}}return undefined;},getValue:function(a){var b=this._data[key];if(this._data[key].key==a){return this._data[key];}else{return undefined;}},getItem:function(a){if(!a){return undefined;}var b=this._data[a];if(typeof(b)!=="undefined"){return b;}else{delete this._data[a];return undefined;}},containsKey:function(a){if(typeof(this.getItem(a))!=="undefined"){return true;}return false;},containsValue:function(b){for(var a in this._data){if(b===this._data[a].value){return true;}}return false;}};