
var dawuhan = {
  VERSION: "3.1.1",
  COPYRIGHT: "www.dawuhan.com.cn",
  AUTHOR: "qingsong mobile:13006359351 qq:30858073 email:zhenganchu@163.com msn:zhenganchu@hotmail.com homepage:http://www.dawuhan.com.cn;",
  fnEmpty: function() {},
  fnTrue: function() { return true; },
  fnFalse: function() { return false; }
};



dawuhan.util = {};


dawuhan.util.Arrays = {
  asList: function(a) {
    var l = new tom.util.List();
    l._l = [].concat(a);
    return l;
  },
  asSet: function(a) {
    var s = new tom.util.Set();
    for (var i = 0, len = a.length; i < len; i++) {
      s.add(a[i]);
    }
    return s;
  },
  asMap: function(a, asType) {
  	asType = asType ? asType : 0;
  	var m = new tom.util.Map();
  	var tmp = null;
  	for (var i = 0, len = a.length, v = null; i < len; i++) {
  	  v = a[i];
      switch (asType) {
        case 0:
          m.put(v[0], v[1]);
          break;
        case 1:
          m.put(v, a[++i]);
          break;
        case 2:
          m.put(v.k, v.v);
          break;
        default:
          v = asType(v);
          m.put(v.k, v.v);
          break;
      }
  	}
  	return m;
  },
  filter: function(fnExp, arr, fnCond) {
    fnExp = fnExp ? (typeof(fnExp) == "string" ? new Function("o", "return " + fnExp + ";") : fnExp) : function(o) { return o; };
    fnCond = fnCond ? (typeof(fnCond) == "string" ? new Function("o", "return (" + fnCond + ");") : fnCond) : tom.fnTrue;
    var rst = [], o = null;
    for (var i = 0, l = arr.length; i < l; i++) {
      o = arr[i];
      if (fnCond(o)) {
        rst.push(fnExp(o));
      }
    }
    return rst;
  },
  contains: function(a, o) {
    for (var i = 0, len = a.length; i < len; i++) {
      if (a[i] === o) {
      	return true;
      }
    }
    return false;
  },
  each: function(a, fn) {
    for (var i = 0, c = a.length; i < c; i++) {
      if (fn(a[i]) === false) break;
    }
  }
};


dawuhan.Cookie = {
  write: function(name, value) {
    document.cookie = name + "=" + encodeURIComponent(value);
  },  
  read: function(name) {
    var cookieValue = "";
    var search = name + "=";
    if(document.cookie.length > 0) { 
      offset = document.cookie.indexOf(search);
      if (offset != -1) { 
        offset += search.length;
        end = document.cookie.indexOf(";", offset);
        if (end == -1) end = document.cookie.length;
        cookieValue = decodeURIComponent(document.cookie.substring(offset, end))
      }
    }
    return cookieValue;
  },
  remove: function(name) {
    document.cookie = name + "=0"; 
  }
};