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.remove = function(in_key) { // delete is a reserved word            
        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;                                                    
    }                                                                        
                                                                             
    this.get = function(in_key) {                                            
        return this.items[in_key];                                           
    }                                                                        
                                                                             
    this.set = 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;                                                     
    }                                                                        
                                                                             
    this.exists = function(in_key) {                                         
        return typeof(this.items[in_key]) != 'undefined';                    
    }                                                                        
}                                                                            
                                                                             
