var main = domain(),search_,xhr=null,ready_=false,isIE = /*@cc_on!@*/!1;//global
var l_ = {};
for(key in location){
	l_[key] = location[key];
}
document.domain=main.replace("www.","");
var em = $,cElement = $c,eName = $t;//old version
function $(_id){
	return document.getElementById(_id);
}
function $c(_tag){
	return document.createElement(_tag);
}
function $t(_tag){var _doc = arguments[1]||document;return _doc.getElementsByTagName(_tag)}
function $cls(_cls){
	var _doc = arguments[1]||document,rs = [],o = _doc.getElementsByTagName("*");
	for(var i = 0,t,len = o.length;i < len;i++){
		t = o[i];
		if(t.className==_cls){
				rs.push(t);
		}
	}
	return rs;
}
//function domain(){var tmp=location.host.split("."),len=tmp.length;return tmp[len-2];}
function domain(){search_=location.search;var _host=location.host,_pos=_host.indexOf(":");return(_pos==-1)?_host:_host.substring(0,_pos)}
function g_cookie(_name){
	var returnVal = storeUtil.get(_name,arguments[1]);
	if(returnVal||returnVal==""){
		return returnVal;
	}else{
		return cookieStore.get(_name);
	}
	/*
	var _cookie = document.cookie.split("; ");
	for (var i=0; i < _cookie.length; i++){
		var _frag = _cookie[i].split("=");
		if(sName == _frag[0])return unescape(_frag[1]);
	}
	return "";*/
}
function subs(_str,_len){
	var _l=0,_out="",_out_bak="";
	for(var _i=0;_i<_str.length;_i++){
		(_str.charCodeAt(_i)>128)?_l+=2:_l++;
		_out_bak = _out;
		_out += _str.charAt(_i);
		if(_l==_len)return _out;
		if(_l>_len)return _out_bak;
	}
	return _out;
}
function s_cookie(){
	var _arg=[],_para={};
	//alert(typeof(_arg[0]).toLowerCase());
	for(var _i=0,_len=arguments.length;_i<_len;_i++){
		_arg[_i] = arguments[_i];
	}
	if(String.prototype.toLowerCase.apply(typeof(_arg[0]))!="string"){
		switch(_arg[0].store){
			case "ie":
				_para.store = ieStore.init();
				break;
			case "ff":
				_para.store = mozillaStore.init();
				break;
			case "cookie":
			default:
				_para.store = cookieStore.init();
		}
		_arg.splice(0,1);
	}
	_para.exps=typeof(_arg[2])!="undefined"?Math.ceil(_arg[2]/(3600*24)):undefined;
	_para.name=_arg[0];
	_para.val=_arg[1];
	_para.path=_arg[3];
	_para.domain=_arg[4];
	_para.secure=_arg[5];
	storeUtil.set(_para);
	return false;
	/*var expdate = new Date();
	var argv = s_cookie.arguments;
	var argc = s_cookie.arguments.length;
	var expires = (argc > 2) ? argv[2] : null;
	var path = (argc > 3) ? argv[3] : null;
	var domain = (argc > 4) ? argv[4] : null;
	var secure = (argc > 5) ? argv[5] : false;
	if(expires!=null)expdate.setTime(expdate.getTime()+( expires * 1000 ));
	document.cookie=name+"="+escape(value)+((expires == null)?"":(";expires="+expdate.toGMTString()))+((path==null) ?"":(";path="+path))+((domain==null)?"":(";domain="+domain))+((secure==true)?";secure":"");*/
};
function _body(){return(document.compatMode&&document.compatMode!="BackCompat")?document.documentElement:document.body}
function initXhr(){
	if(window.XMLHttpRequest){
		try{
			xhr = new XMLHttpRequest();
		}catch(e){
			xhr=false;
		}
	}else if(window.ActiveXObject){
		try{
			xhr = new ActiveXObject("Msxml2.XMLHTTP");
		}catch(e){
			try{
				xhr=new ActiveXObject("Microsoft.XMLHTTP");
			}catch(e){
				xhr=false;
			}
		}
	}
}
String.prototype.trim=function(){return this.replace(/(^\s*)|(\s*$)/g,"")};
//091117 add
var storeUtil = {
	_init:false,
	init:function(){
			var _force = arguments[0],_store;
			if(!_force){
				if(isIE){
					_store = ieStore;
				}else if(window.globalStorage){
					_store = mozillaStore;
				}else{
					_store = cookieStore;
				}
			}else{
				switch(_force){
					case "ie":
						_store = ieStore;
						break;
					case "ff":
						_store = mozillaStore;
						break;
					case "cookie":
					default:
						_store = cookieStore;
				}
			}
			//alert(_store);
			this.store = _store.init();
			this._init=this.store.isInit()?true:false;
			return this.isInit();
		},
	get:function(_name){
			var _store = arguments[1]||this.store;
			return _store.get(_name);
		},
	set:function(_para){
			var _store = _para.store||this.store;
			_store.set(_para);
		},
	del:function(_name){
			var _store = arguments[1]||this.store;
			_store.del(_name);
		},
	isInit:function(){return this._init;}
},ieStore={
	exps:180,//days
	_init:false,
	init:function(){
			if(!this.isInit()&&!$("_ieStore")){
				this.store = $c("INPUT"),
				this.store.type = "hidden",
				this.store.id = "_ieStore",
				this.store.addBehavior("#default#userData");
				$("header").appendChild(this.store);
				this._init = true;
			}else if($("_ieStore")){
				this.store = $("_ieStore");
				this._init = true;
			}
			return this;
		},
	get:function(_name){
			try{
				this.store.load(_name);
			}catch(e){return null;}
			return this.store.getAttribute("__store__")||null;
		},
	set:function(_para){
			var _name = _para.name,_val = _para.val,_exps = typeof(_para.exps)!="undefined"?_para.exps:this.exps;
			var _last = new Date();
			//alert(_exps);
			_last.setDate(_last.getDate()+_exps);
			this.store.load(_name);
			//alert(_last);
			this.store.expires = _last.toUTCString();
			this.store.setAttribute("__store__",_val);
			this.store.save(_name);
		},
	del:function(_name){
			this.set({name:_name},false,-1);
		},
	isInit:function(){return this._init;}
},mozillaStore={
	_init:false,
	init:function(){this._domain=main.replace("www.","");this._init=true;return this;},
	get:function(_name){var val = window.globalStorage[this._domain].getItem(_name);return val?val.value||0:null},
	set:function(_para){window.globalStorage[this._domain].setItem(_para.name,_para.val)},
	del:function(){window.globalStorage[this._domain].removeItem(_name)},
	isInit:function(){return this._init;}
},cookieStore={
	_init:false,
	_exps:180,//days
	_secure:"",//secure val:";secure"
	init:function(){if(!this.isInit()){this._domain=main.replace("www.","");this._init=true;};return this;},
	get:function(_name){
		var _cookies=document.cookie.split("; "),_name=_name+"=";
		for(var _i=0,_len=_cookies.length;_i<_len;_i++){
			if(_cookies[_i].indexOf(_name)!="-1"){
				try{
					return decodeURIComponent(_cookies[_i].replace(_name,""));
				}catch(e){
					return unescape(_cookies[_i].replace(_name,""));
				}
			}
		}
		return null;
	},
	set:function(_para){
		var _last = new Date();
		var _name = _para.name,_val = _para.val,_exps = typeof(_para.exps)!="undefined"?_para.exps:this._exps,_domain = _para.domain||this._domain,_path = _para.path||"/",_secure=_para.secure||this._secure;
		_last.setDate(_last.getDate()+_exps);
		var _cookieVal = _name+"="+escape(_val)+(_exps?";expires="+_last.toUTCString():"")+(_path?";path="+_path:"")+(_domain?";domain="+_domain:"")+(_secure?";secure=":"");
		document.cookie = _cookieVal;
	},
	del:function(_para){
		if(String.prototype.toLowerCase.apply(typeof(_para)) == "string"){
			_name = _para;
			_para = {name:_name,val:""}
		}
		_para.exps = -1;
		_para.secure = "";
		this.set(_para);
	},
	isInit:function(){return this._init;}
};
document.onready=function(){if(ready_){return};ready_=true;storeUtil.init()};
/*document.attachEvent("onreadystatechange",function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange", arguments.callee);window.onready()}});
function handleReady(){
	if(document.documentElement.doScroll&&window==window.top)return true;
}*/
//window.attachEvent("onload",function(){ieStore.init();});
//setTimeout(function(){storeUtil.init()},0);
function bindReady(){
	if(document.addEventListener){
		document.addEventListener("DOMContentLoaded",function(){document.removeEventListener( "DOMContentLoaded",arguments.callee,false);document.onready()},false);
 	}else if(document.attachEvent){
		document.attachEvent("onreadystatechange",function(){
			if(document.readyState === "complete"){
    			document.detachEvent("onreadystatechange",arguments.callee);
    			document.onready();
			}
		});
  		if(document.documentElement.doScroll && window == window.top)(function(){if(ready_)return;
   			try{
    			document.documentElement.doScroll("left");
   			}catch(e){
				setTimeout(arguments.callee,0);
    			return;
			}
			document.onready();
		})();
	}
}
bindReady();
