//定义js包:数据传输
if(richer == null) var richer = {};
if(richer.util == null) richer.util = {};


//$函数
if (document.getElementById) {
  richer.util.byId = function() {
    var elements = new Array();
    for (var i = 0; i < arguments.length; i++) {
      var element = arguments[i];
      if (typeof element == 'string') {
        element = document.getElementById(element);
      }
      if (arguments.length == 1) {
        return element;
      }
      elements.push(element);
    }
    return elements;
  };
}else if (document.all) {
  richer.util.byId = function() {
    var elements = new Array();
    for (var i = 0; i < arguments.length; i++) {
      var element = arguments[i];
      if (typeof element == 'string') {
        element = document.all[element];
      }
      if (arguments.length == 1) {
        return element;
      }
      elements.push(element);
    }
    return elements;
  };
}

var $;
if (!$) {
  $ = richer.util.byId;
}


//HashSet函数
function HashSet(){
	this._hash      = new Object();
    this.add        = function(key,value){
                        if(typeof(key)!="undefined"){
                            if(this.contains(key)==false){
                                this._hash[key]=typeof(value)=="undefined"?null:value;
                                return true;
                            } else {
                                return false;
                            }
                        } else {
                            return false;
                        }
                    }
    this.remove     = function(key){delete this._hash[key];}
    this.count      = function(){
						var i=0;
						for(var k in this._hash){
							i++;
						}
						return i;
					}
    this.items      = function(key){return this._hash[key];}
    this.contains   = function(key){ return typeof(this._hash[key])!="undefined";}
    this.clear      = function(){
						for(var k in this._hash){
							delete this._hash[k];
						}
					}
}