if(typeof BF=="undefined"||!BF){
	var BF={};BF.regex={email:/^[\w\-]{1,}@([0-9a-zA-Z]{1}[0-9a-zA-Z\-]{0,}\.)+([a-zA-Z]{2,}){1,2}$/,uname:/^[a-zA-Z]{1}(\w){5,17}$/,mobile:/^1[358]\d{9}$/};
}
BF.$ = function(n){
	return (typeof n).toLocaleLowerCase()=="string" ? document.getElementById(n) : n;
}
BF.trim=function(s){return s.replace(/^\s*/,"").replace(/\s*$/,"");}
BF.ajax = function(){
	var request;try{request = new XMLHttpRequest();}catch(t){try{request = new ActiveXObject("Msxml2.XMLHTTP");}catch(o){try{request = new ActiveXObject("Microsoft.XMLHTTP");}catch(f){request = false;}}}
	return request;
}
BF.exist = function(n){
	return BF.$(n)!=undefined?true:false;
}
BF.en = function(n){return encodeURIComponent(n)}
BF.de = function(n){return decodeURIComponent(n)}
BF.trim=function(v){
	if((typeof v).toLocaleLowerCase()=="string")v=v.replace(/^\s+|\s+$/g, "");return v;
}
BF.ae = function(tar, e, etype, func){
	if(tar.addEventListener){
		tar.addEventListener(etype, func, false);
	}else if(tar.attachEvent){
		tar.attachEvent(e+etype, func);
	}else{
		tar[e+etype]= func;
	}
}
BF.on = function(t, etype, func){
	var tar = BF.$(t);
	BF.ae(tar, "on", etype, func);
};
BF.resolveTextNode = function(k) {
  try{
    if(k && 3 == k.nodeType) {
      return k.parentNode
    }
  }catch(l){}
  return k;
}
BF.isAncestor = function(c, a) {
  c = BF.$(c);
  a = BF.$(a);
  var b = false;
  if((c && a) && (c["nodeType"] && a["nodeType"])) {
    if(c.contains && c !== a) {
      b = c.contains(a)
    } else {
      if (c.compareDocumentPosition) {
        b = !!(c.compareDocumentPosition(a) & 16)
      }
    }
  } else {}
  return b
}
BF.getRelatedTarget = function(k) {
  var l = k.relatedTarget;
  if (!l) {
    if (k.type == "mouseout") {
      l = k.toElement
    } else {
      if (k.type == "mouseover") {
        l = k.fromElement
      }
    }
  }
  return BF.resolveTextNode(l);
}
BF.post=function(uri,params,fun,efun){
	var req=BF.ajax();
	if(!req){alert("您的浏览器不支持AJAX");}else{
		req.open("POST",uri,true);req.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
		req.onreadystatechange = function(){
			if(req.readyState==4){
				if(req.status==200){
					if("function"==typeof fun)fun.call(this, req.responseText);
				}else{
					if("function"==typeof efun){efun.call(this, req.status);}else{alert("网络错误!");}
				}
			}
		};req.send(params);
	}
};
BF.get=function(uri,fun,efun){
	var req=BF.ajax();
	if(!req){alert("您的浏览器不支持AJAX");}else{
		req.open("GET", uri, true);req.onreadystatechange = function(){
			if(req.readyState==4){
				if(req.status==200){
					if("function"==typeof fun)fun.call(this, req.responseText);
				}else{
					if("function"==typeof efun){efun.call(this, req.status);}else{alert("网络错误!");}
				}
			}
		};req.send(null);
	}
};
