用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - javascript代码库

js常用代码整合

2013-10-29 作者: 免费源代码下载整理举报

[javascript]代码库

/*
	My Javascript zongliang
	Update Time 2012-12-31 10:41
*/
(function(window,undefined){
	
	var document = window.document;
	var navigator = window.navigator;
	var location = window.location;
	var undefined = undefined;
	
	var zl = function(id,dom,win){return zl.$(id,dom,win);};

	zl.version = '1.0.0.5';
	/*	
		zl.$ get Dom Object	id:name,dom:parentNode Dom,win:window. 
	*/
	zl.$ = function(obj,dom,win){
		try{
			document = (win == undefined) ? window.document : win.document;
			if(typeof obj == 'string'){
				if(obj == '*'){ 
					return (dom == undefined) ? document.getElementsByTagName('*') : zl.$(dom,undefined,win).getElementsByTagName('*'); 
				}
				var _obj = obj.split(' ');
				if(_obj.length > 1){
					var pdom = zl.$(_obj[0], dom);
					if(pdom != null){
						if(zl.isset(pdom.length)){
							var reary = [];
							for(var i = 0; i < pdom.length; i++){
								var _tmp = zl.$(obj.substr(_obj[0].length+1), pdom[i], win);
								if(_tmp != null){
									if(zl.isset(_tmp.length)){
										for(var _i = 0; _i < _tmp.length; _i++){
											if(_tmp[_i] != null) reary[reary.length] = _tmp[_i];
										}
									}else{
										reary[reary.length] = _tmp;
									}
								}
								//reary[reary.length] = zl.$(obj.substr(_obj[0].length+1), pdom[i], win);
							}
							return (reary.length != 0) ? reary : null;
						}else{
							return zl.$(obj.substr(_obj[0].length+1), pdom, win);
						}
					}else{
						return null;	
					}
				} else if(obj.charAt(0) == '<' && obj.charAt(obj.length-1) == '>' && obj.length >= 3){
					obj = obj.substr(1, obj.length-2);
					return (dom == undefined) ? document.getElementsByTagName(obj) : zl.$(dom,undefined,win).getElementsByTagName(obj);
				} else if(obj.charAt(0) == '.' && obj.length >= 2){
					obj = obj.substr(1, obj.length-1);
					if(zl.isset(document.getElementsByClassName)){
						return (dom == undefined) ? document.getElementsByClassName(obj) : zl.$(dom,undefined,win).getElementsByClassName(obj);
					}else{
						var oElm = (dom == undefined) ? document : zl.$(dom,undefined,win);
						var arrElements = (oElm.all)? oElm.all : oElm.getElementsByTagName('*');
						var arrReturnElements = new Array();
						obj = obj.replace(/\-/g, "\\-");
						var oRegExp = new RegExp('(^|\\s)' + obj + '(\\s|$)');
						var oElement;
						for(var i=0; i < arrElements.length; i++){
							oElement = arrElements[i];
							if(oRegExp.test(oElement.className)){
								arrReturnElements.push(oElement);
							}
						}
						return (arrReturnElements);
					}
				} else if(obj.charAt(0) == '#' && obj.length >= 2){
					obj = obj.substr(1, obj.length-1);
					if(zl.isset(document.getElementsByName)){
						return (dom == undefined) ? document.getElementsByName(obj) : zl.$(dom,undefined,win).getElementsByName(obj);
					}else{
						var oElm = (dom == undefined) ? document : zl.$(dom,undefined,win);
						var arrElements = (oElm.all)? oElm.all : oElm.getElementsByTagName('*');
						var arrReturnElements = new Array();
						var oElement;
						for(var i=0; i < arrElements.length; i++){
							oElement = arrElements[i];
							if(oElement.getAttribute('name') == obj){
								arrReturnElements.push(oElement);
							}
						}
						return (arrReturnElements);
					}
				} else if(obj.charAt(0) == '[' && obj.charAt(obj.length-1) == ']' && obj.length >= 3){
					_tmp = obj.substr(1, obj.length-2);
					var _att = _tmp.split('=');
					if(dom == undefined){
						return zl.$('* '+obj,undefined,win);
					}else{
						return (zl.att(dom,_att[0]) == _att[1]) ? dom : null;
					}
				} else {
					return (dom == undefined) ? document.getElementById(obj) : zl.$(dom,undefined,win).getElementById(obj);
				}
			} else if(typeof obj == 'function'){
				zl.readyCallBacks[zl.readyCallBacks.length] = obj;
				zl.ready();
				//window.onload = function(){zl.ready();}
			} else {
				return obj;	
			}
		}catch(e){
			zl.log('[Function][$] Get $ '+obj+' Error! '+e.message);
			return null;
		}
	};
	/*
		is Internet Explorer
	*/
	zl.isIE = !!window.ActiveXObject;
	// close page
	zl.close = function(){window.opener = null; window.close();};
	// get rand int
	zl.r = zl.rand = function(rmin,rmax){
		if(!zl.isset(rmin))
			rmin = 0;
		if(!zl.isset(rmax))
			rmax = 100;
		return Math.round(rmin+(Math.random()*(rmax-rmin)));
	};
	// new error
	zl.e = zl.error = function(msg){throw new Error(msg);};
	//	Check Obj Is defined
	zl.isset = zl.isdefined = function(obj){ return (typeof obj != 'undefined'); };
	// log con:content ,e:error
	zl.log = function(con,e){
		if(window.console && window.console.log){
			if(e != undefined && e.message != undefined){
				console.log(con + '\r\n\t [Error: ' + e.message + ' ]\r\n');
			} else {
				console.log(con);
			}
		}
	};
	/*
		Show Error Msg
		msg 	Error Content
	*/
	zl.showError = function(msg){
		var showEr = zl.create({id:'show_Error_Msg',cssText:'border: 1px solid #CCC;background: #FFF;width:200px;min-height:50px;z-index:9999; filter:alpha(opacity=70);opacity:0.7;position:fixed;_position:absolute;right:5px;bottom:0px;_bottom:0px;'});
		zl.create({cssText:'width:100%;height:24px;background:#ccc;color:red;font-size:14px;',pdom:showEr,content:'\u9519\u8bef\u63d0\u793a<a href="javascript:zl.remove(\'show_Error_Msg\',3);" style="float:right;">Close</a>'});
		zl.create({cssText:'width:100%;background:#FFF;color:red;font-size:13px;padding:10px;overflow:hidden;display:block;',pdom:showEr,content:'<span>' + msg + '</span>'});
		
		setTimeout(function(){zl._fade(showEr,0,3,function(){zl.remove(this);});},3000);
		
	};
	/*	
		remove object dom	
	*/
	zl.remove = zl.del = function(name,time){
		var obj = zl.$(name);
		if(time){
			zl._fade(obj,0,time,function(){zl.remove(this);});
		} else {
			if(obj != null){
				try{
					obj.parentNode.removeChild(obj);
					zl.log('Remove Object ' + obj + ' Success');
				}catch(e){
					zl.log('Remove Object ' + obj + ' Failure! ', e);
					return e.message;
				}
			}else{
				zl.log('[Function][remove]Remove Object ' + obj + ' Failure! [Error: Is Null! ]');
			}
		}
	};
	/*
		Verify CSS Style Att
		
	*/
	zl.isCss = function(elem,css,val){
		try{
			elem = zl.$(elem);
			if(css in elem.style){
				if(zl.isset(val)){
					elem.style[css] = val;
					return elem.style[css] === val;
				}
				return true;
			}
			return false;
		}catch(e){
			zl.log('[Function][isCss] Get Elem ['+elem+'] CSS ['+css+'] Style Failure! ', e);
			return false;
		}
	};
	/*
		Set Dom CSS Style 
		
	*/
	zl.css = function(elem,css){
		try{
			elem = zl.$(elem);
			if(css.charAt(0) == '.'){
				zl.att(elem, 'class', css.substr(1, css.length-1));	
			}else{
				zl.att(elem, 'style', css);
			}
		}catch(e){
			zl.log('[Function][css] Set Elem ['+elem+'] CSS ['+css+'] Style Failure! ', e);
			return false;
		}
	};
	/*
		Load JavaScript
	*/
	zl.loadjs = zl.loadScript = function(src,charset,callback,kill){
		try{
			var h = zl.$('<head>')[0];
			var ss = zl.$('<script>', h);
			if (ss && ss.length > 0) {
				for(var i = 0; i < ss.length; i ++) {
					if (zl.att(ss[i],'src') == src && !zl.isset(kill)) {
						zl.log('Load JavaScript '+src+' Error.!  JS Already exists');
						zl.run(callback);
						return;
					}
				}
			}
			var js = zl.create({tagName:'script',type:'text/javascript',_src:src,src:src,append:false});
			if(charset){js.charset = charset;}
			if (callback){
				if(zl.isIE){
					js.onreadystatechange = function(){
						if ('complete' == s.readyState || s.readyState == 'loaded'){
							zl.run(callback);
						}
					};
				}else{
					js.onload = function(){
						zl.run(callback);
					};
				}
			}
			zl.insert.child(h,js);
			return js;
		}catch(e){
			zl.log('[Function][loadjs] Load JavaScript '+src+' Failure! ', e);
		}
	};
	/*
		Run Function 
	*/
	zl.run = function(callback){
		try{
			if(typeof callback == 'string'){
				eval(callback);
			}else{
				callback.call(document);
			}
		}catch(e){
			zl.log('[Function][run] Run JavaScript Function '+callback+' Failure! ', e);
		}
	};
	/*	
		Get js parameter	
	*/
	zl.p = zl.parameter = function(name,def,url){
		try{
			if(!zl.isset(url)){
				var scripts = zl.$('<script>');
				var js = scripts[scripts.length-1];
				if(name == undefined) return js;
				url = js.src;
			}
			var qs = url.split('?');
			if (name == null || name == ''){return (qs.length > 1) ? qs[qs.length-1] : ''; }
			var str = qs[qs.length-1].split("&");
			var i = 0;
			while(str[i] != null) {
				var keys = str[i].split("=");
				var j = 0,value = "";
				while(keys[j] != null) {
					if(j != 0) value = value + keys[j];
					j++;
				}
				if(keys[0] == name) return value;
				i++;
			}
			return (!zl.isset(def)) ? '' : def;
		}catch(e){
			zl.log('[Function][p] Get Parameter Failure! ', e);
			return '';
		}
	};
	/*
		Get All Child Nodes
	*/
	zl.childNodes = function(elem,tag){
		try{
			var childs = new Array();
			var nodes = elem.childNodes;
			for(var i = 0; i < nodes.length; i++){
				if(zl.isset(nodes[i].tagName)){
					if(typeof tag != 'string' || nodes[i].tagName.toLowerCase() == tag.toLowerCase()){
						childs[childs.length] = nodes[i];
					}
				}
			}
			return childs;
		}catch(e){
			zl.log('[Function][childNodes] Get Object Dom ' + elem + ' All ChildNodes Tag ' + tag + ' Failure! ', e);
			return zl.$('<' + tab + '>', elem);
		}
	};
	/*
		Get Or Set Attrib
	*/
	zl.att = zl.attribute = function(elem,key,val){
		try{
			if(zl.isset(val)){
				if(typeof val == 'function'){
					try{eval('elem.'+key+' = '+val+';');}catch(e){elem.setAttribute(key, val);}
				}else if(val == null){
					elem.removeAttribute(key);
				}else{
					try{elem.setAttribute(key, val);}catch(e){eval('elem.'+key+' = '+val+';');}
				}
			} else {
				return elem.getAttribute(key);
			}
		}catch(e){
			zl.log('[Function][att] Get Or Set Attribute In '+elem+' Failure! ', e);
			return null;
		}
	};
	/*
		Get Dom Location x,y,h,w
		return obj
	*/
	zl.loc = zl.dom_location = function(elem){
		try{
			if(arguments.length != 1 || elem == null ){
				return null; 
			}
			var offsetTop = elem.offsetTop;
			var offsetLeft = elem.offsetLeft;
			var offsetWidth = elem.offsetWidth;
			var offsetHeight = elem.offsetHeight;
			while( elem = elem.offsetParent){
				if(elem.style.position == 'absolute' || elem.style.position == 'relative' || ( elem.style.overflow != 'visible' && elem.style.overflow != '' )){
					break; 
				}
				offsetTop += elem.offsetTop;
				offsetLeft += elem.offsetLeft; 
			}
			return {top:offsetTop,left:offsetLeft,width:offsetWidth,height:offsetHeight};
		}catch(e){
			zl.log('[Function][loc] Get Location '+elem+' Failure! ', e);
			return null;
		}
	};
	/*
		load dom time
	*/
	zl.loadTime = 0;
	/*
		rand callbacks
	*/
	zl.readyCallBacks = [];
	/*
		ready window.onload ,,,
	*/
	zl.ready = function(obj){
		try{
			if(zl.isset(obj) ){
				zl.readyCallBacks[zl.readyCallBacks.length] = obj;
			}
			zl.loadTime = zl.loadTime + 1;
			if(document.readyState == 'complete' && zl.readyCallBacks != []){
				for(var i = 0,ic = zl.readyCallBacks.length; i < ic; i++ ){
					try{
						zl.run(zl.readyCallBacks[i]);
						/*
						if(typeof zl.readyCallBacks[i] == 'string'){
							eval(zl.readyCallBacks[i]);
						}else{
							zl.readyCallBacks[i].call(document);
						}
						*/
						//delete zl.readyCallBacks[i];
					}catch(e){
						zl.log('[Function][ready] Ready CallBack Failure! ', e);
					}
				}
				zl.readyCallBacks = [];
			}else{
				setTimeout(function(){zl.ready();},1);
			}
		}catch(e){
			zl.log('[Function][ready] Ready Function Failure!',e);
		}
	};
	/*
		Check Default Option
	*/
	zl.cd = zl.checkDefaultOpt = function(def_opt,opt){
		try{
			if(!opt) { 
				opt = def_opt; 
			}else{
				for(var dfo in def_opt){
					if(opt[dfo] == undefined)
						opt[dfo] = def_opt[dfo];
				}
			}
			return opt;
		}catch(e){
			zl.log('[Function][checkDefaultOpt] Check Default Option Failure! ', e);
			return null;	
		}
	};
	/*
		Get XmlHttp Object Ajax
		return Object or null;
	*/
	zl.getXmlHttpObject = function(){
		try{
			var xmlHttp = null;
			try{
				xmlHttp = new XMLHttpRequest();
			}catch(e){
				try{
					xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
				}catch(e){
					xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
				}
			}
			return xmlHttp;
		}catch(e){
			zl.log('[Function][getXmlHttpObject] get XML In Ajax Object Demo Failure!',e); 	
		}
	};
	/*
		My Ajax obj
		opt option
	*/
	zl.ajax = function(opt){
		var df_opt = {type:'post', url:'', query:'', dataType:'', async:true, success:function(o){}};
		opt = zl.cd(df_opt,opt);
		var xmlAjax = zl.getXmlHttpObject();
		if(xmlAjax == null){
			alert('\u60a8\u7684\u6d4f\u89c8\u5668\u53ef\u80fd\u4e0d\u652f\u6301Ajax.\u8bf7\u68c0\u67e5!');
		}else{
			try{
				if(opt.type == 'get') opt.url = opt.url + '?' + opt.query;
				xmlAjax.onreadystatechange = function(){
					if(xmlAjax.readyState == 4 || xmlAjax.readyState == "complete"){
						try{
							if(opt.success){
								var reData = xmlAjax.responseText;
								if(opt.dataType == 'json'){
									try{reData = zl.json(reData);}catch(e){zl.log('Content ReData Type Failure! ', e);}
								} else if (opt.dataType == 'xml'){
									try{reData = zl.xml(reData);}catch(e){zl.log('Content ReData Type Failure! ', e);}
								}
								if(typeof opt.success != 'string'){
									opt.success.call(this,reData);
								}else{
									eval(opt.success + '(reData);');
								}
							}
						}catch(e){
							zl.log('Get Ajax Data Failure! ', e);
							alert(e.message);
						}
					}
				}
				xmlAjax.open(opt.type, opt.url, opt.async);
				xmlAjax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
				xmlAjax.send(opt.query);
			}catch(e){
				zl.log('[Function][ajax] Send Ajax Failure! ', e);
				alert(e.message);
			}
		}	
	};
	/*
		open new window run code
		code Code
	*/
	zl.runCode = function(code){
		try{
			if(code != ''){
				var newwin = window.open('','','');
				newwin.opener = null;
				newwin.document.write(code);
				newwin.document.close();
				return newwin;
			}
		}catch(e){
			zl.log('[Function][runCode] Run Code Failure!',e);
		}
	};
	/*
		Copy Elem Style
		New Elem In Elem
	*/
	zl.cpem = zl.copyElem = function(elem,opt){
		try{
			elem = zl.$(elem);
			if(elem == null) return null;
			if(typeof opt == 'undefined') opt = {append:false};
			//var cssText = (typeof opt['cssText'] == 'undefined') ? '' : opt['cssText'];
			var cssText = '';
			var locElem = zl.loc(elem);
			cssText = cssText + 'width:' + locElem.width + 'px;';	//elem.offsetWidth
			cssText = cssText + 'height:' + locElem.height + 'px;';	//elem.offsetHeight
			cssText = cssText + 'left:' + locElem.left + 'px;';		//elem.offsetLeft
			cssText = cssText + 'top:' + locElem.top + 'px;';		//elem.offsetTop
			cssText = cssText + 'position:absolute;z-index:99999;';

			opt['cssText'] = (typeof opt['cssText'] == 'undefined') ? cssText : cssText + opt['cssText'];
			
			return zl.create(opt);
		}catch(e){
			zl.log('[Function][copyElem] Copy Element Failure!',e);
			return null;
		}
	};
	/*	
		Create Object Dom
		opt option
	*/
	zl.create = zl.newDom = function(opt){
		try{
			if(typeof opt == 'string'){
				 var obj = document.createElement('div'); 
				 obj.innerHTML = opt;
				 return obj.childNodes;
			}else{
				var df_opt = {tagName:'div',id:'c_obj',name:'c_obj',css:'',cssText:'',content:'',append:true,pdom:'',bdom:'',adom:''};
				opt = zl.cd(df_opt,opt);
				var obj = document.createElement(opt.tagName);
				try{
					obj.id = opt.id;
					obj.name = opt.name;
					obj.className = opt.css;
					obj.style.cssText = opt.cssText;
					try{obj.innerHTML = opt.content;}catch(ex){}
					for(var i in opt){
						if(i != 'tagName' && i != 'id' && i != 'name' && i != 'css' && i != 'cssText' && i != 'content' && i != 'append' && i != 'pdom' && i != 'bdom' && i != 'adom'){
							zl.att(obj,i,opt[i]);
							//try{
							//	if(opt[i] != undefined) obj.setAttribute(i, opt[i]);
							//}catch(e){
							//	eval('obj.'+i+' = opt.'+i+';');
							//}
						}
					}
				}catch(exs){}
				if(opt.append){
					if(opt.pdom != ''){
						zl.insert.child(opt.pdom, obj);
					}else if(opt.bdom != ''){
						zl.insert.before(opt.bdom, obj);
					}else if(opt.adom != ''){
						zl.insert.after(opt.adom, obj);
					}else{
						zl.insert.child(document.body, obj);
					}
				}
				return obj;
			}
		}catch(e){
			zl.log('[Function][create] CreateElement Object Failure! ', e);
			//alert(e.message);
			return null;
		}
	};
	/*
		Insert Dom 
	*/
	zl.insert = {
		before : function(elem,newElem){
			try{
				return zl.$(elem).parentNode.insertBefore(newElem, zl.$(elem));
			}catch(e){
				zl.log('[Function][insert.before] Insert Object Dom '+newElem+' In '+elem+' Before Failure! ', e);
				return false;
			}
		},
		after : function(elem,newElem){
			try{
				if(elem.parentNode.lastChild == elem){
					return elem.parentNode.appendChild(newElem);
				}else{
					return elem.parentNode.insertBefore(newElem,elem.nextSibling);
				}
			}catch(e){
				zl.log('[Function][insert.after] Insert Object Dom '+newElem+' In '+elem+' After Failure! ', e);
				return false;
			}
		},
		child : function(elem,newElem){
			try{
				return zl.$(elem).appendChild(newElem);
			}catch(e){
				zl.log('[Function][insert.child] Insert Object Dom '+newElem+' In '+elem+' Failure! ', e);
				return false;
			}		
		}
	};
	/*
		My Form Option
		Form
	*/
	zl.fm = zl.Form = {
		Init : function(){
			/*	Unfinished...	*/
		}
	};
	/*
		ImageErr check images onerror
		img		image object
		url		default image url
	*/
	zl.imageErr = function(img,url){
		try{
			img = zl.$(img);
			//img.onerror = function(){img.src = url;}
			var _img = new Image();
			_img.src = img.src;
			_img.onerror = function(){
				zl.att(img,'source-src',img.src);
				img.src = url;
			}
			/*
			if(!img.complete){
				var itp = obj.src.substr(-3);
				if(itp == 'jpg' || itp == 'peg' || itp == 'png' || itp == 'gif' || itp == 'bmp'){
					obj.setAttribute('source-src', obj.src);
					obj.src = url;
				}
			}
			*/
		}catch(e){
			zl.log('[Function][imageErr] Load Image Error Failure! ', e);
			return '';
		}
	};
	/*
		Default Image
	*/
	zl.imageDefault = function(url){
		try{
			var _img = new Image();
			_img.src = url;
			_img.onload = function(){
				var imgs = zl.$('<img>');
				for(var i in imgs){
					zl.imageErr(imgs[i],url);
				}	
			}
		}catch(e){
			zl.log('[function][imageDefault] Setting Images Default Url Failure! ', e);
			return '';	
		}
	};
	/*
		Get  Path
		src		path
		return (error)?'':the Path;
	*/
	zl.getPath = function(src){
		try{
			if(!zl.isset(src)) src = zl.parameter().src;
			var path = src.substring(0,(src.length - zl.parameter('').length));
			return path.substring(0,path.lastIndexOf('/')+1);
		}catch(e){
			zl.log('[Function][getPath] Get Path Failure! ', e);
			return '';
		}
	};
	/*
		Get User Browser Info	
		r	retype
		return (r != null)?Browser Version:Object info;
	*/
	zl.bs = zl.browser = function(r){
		try{
			var bsary = new Array();
			bsary[0] = new Array('MSIE ', 'Internet Explorer', 'Microsoft', '');
			bsary[1] = new Array('Chrome\\/', 'Chrome', 'Google', '');
			bsary[2] = new Array('Firefox\\/', 'Firefox', 'Mozilla', '');
			bsary[3] = new Array('Opera\\/', 'Opera', 'Opera Software', 'Version\\/[\\d+.\\d+]+');
			bsary[4] = new Array('Safari\\/', 'Safari', 'Apple', 'Version\\/[\\d+.\\d+]+');
			for(var i = 0; i < bsary.length; i++){
				var ocode = '_reg = /'+bsary[i][0]+'[\\d+.\\d+]+/;';
				ocode = ocode + 'var _bv = _reg.exec(navigator.userAgent);';
				eval(ocode);
				if(_bv){
					if(bsary[i][3] != ''){
						var ocode = '_reg = /'+bsary[i][3]+'/;';
						ocode = ocode + 'var _bv = _reg.exec(navigator.userAgent);';
						eval(ocode);
					}
					_reg = /[\d+.\d+]+/;
					var _v = _reg.exec(_bv)[0];
					var _obj = bsary[i][2]+' '+bsary[i][1]+' '+_v;
					return (r != undefined) ? _obj : {obj:_obj,company:bsary[i][2],name:bsary[i][1],version:_v};
				}
			}
			return 'Unknown';
		}catch(e){
			zl.log('[Function][browser] Get Browser Info Failure! ', e);
			return e.message;
		}
	};
	/*
		Get User System Info	
		r	retype
		return (r != null)?System Version:Object info;
	*/
	zl.os = zl.system = function(r){
		try{
			var osary = new Array();
			osary[0] = new Array('/windows nt 95/', 'Windows 95', 'Microsoft');
			osary[1] = new Array('/windows nt 4.90/', 'Windows ME', 'Microsoft');
			osary[2] = new Array('/windows nt 98/', 'Windows 98', 'Microsoft');
			osary[3] = new Array('/windows nt 5.0/', 'Windows 2000', 'Microsoft');
			osary[4] = new Array('/windows nt 5.1/', 'Windows XP', 'Microsoft');
			osary[5] = new Array('/windows nt 6.0/', 'Windows Vista', 'Microsoft');
			osary[6] = new Array('/windows nt 6.1/', 'Windows 7', 'Microsoft');
			osary[7] = new Array('/windows nt 6.2/', 'Windows 8', 'Microsoft');
			osary[8] = new Array('/windows nt 32/', 'Windows 32', 'Microsoft');
			osary[9] = new Array('/windows nt nt/', 'Windows NT', 'Microsoft');
			osary[10] = new Array('/mac os/', 'Mac OS', 'Apple');
			osary[11] = new Array('/linux/', 'Linux', 'Unknown');
			osary[12] = new Array('/unix/', 'Unix', 'Unknown');
			osary[13] = new Array('/sun os/', 'SunOS', 'SUN');
			osary[14] = new Array('/ibm os/', 'IBM OS/2', 'IBM');
			osary[15] = new Array('/mac pc/', 'Macintosh', 'Unknown');
			osary[16] = new Array('/powerpc/', 'PowerPC', 'Unknown');
			osary[17] = new Array('/aix/', 'AIX', 'Unknown');
			osary[18] = new Array('/hpux/', 'HPUX', 'Unknown');
			osary[19] = new Array('/netbsd/', 'NetBSD', 'Unknown');
			osary[20] = new Array('/bsd/', 'BSD', 'Unknown');
			osary[21] = new Array('/osfl/', 'OSF1', 'Unknown');
			osary[22] = new Array('/irix/', 'IRIX', 'Unknown');
			osary[23] = new Array('/freebsd/', 'FreeBSD', 'Unknown');
			
			for(var i = 0; i < osary.length; i++){
				var ocode = '_reg = '+osary[i][0]+';';
				ocode = ocode + 'var _bv = _reg.exec(navigator.userAgent.toLowerCase());';
				eval(ocode);
				if(_bv){
					var _obj = osary[i][2]+' '+osary[i][1];
					return (r != undefined) ? _obj : {obj:_obj,company:osary[i][2],name:osary[i][1]};
				}
			}
			return 'Unknown';
		}catch(e){
			zl.log('[Function][system] Get System Info Failure! ', e);
			return e.message;
		}
	};
	/*
		Change object Transparency
		element			Object Dom
		Transparency 	Transparency value
		speed			Change Speed
		callback		CallBack
	*/
	zl._fade = zl.fade = zl.transparency = function(element, transparency, speed, callback){
		try{
			element = zl.$(element);
			if(!element.effect){
				element.effect = {};
				element.effect._fade=0;
			}
			clearInterval(element.effect._fade);
			var speed=speed||1;
			var start=(function(elem){
				var alpha;
				if(navigator.userAgent.toLowerCase().indexOf('msie') != -1){
						alpha=elem.currentStyle.filter.indexOf("opacity=") >= 0?(parseFloat( elem.currentStyle.filter.match(/opacity=([^)]*)/)[1] )) + '':
						'100';
				}else{
						alpha=100*elem.ownerDocument.defaultView.getComputedStyle(elem,null)['opacity'];
				}
				return alpha;
			})(element);
			//zl.log('start: '+start+" end: "+transparency);
			element.effect._fade = setInterval(function(){
				start = start < transparency ? Math.min(start + speed, transparency) : Math.max(start - speed, transparency);
				element.style.opacity =  start / 100;
				element.style.filter = 'alpha(opacity=' + start + ')';
				if(Math.round(start) == transparency){
					element.style.opacity =  transparency / 100;
					element.style.filter = 'alpha(opacity=' + transparency + ')';
					clearInterval(element.effect._fade);
					if(callback)callback.call(element);
				}
			}, 20);
		}catch(e){
			zl.log('[Function][_fade] Change object Transparency Failure![ ' + element + '] ', e);
			return e.message;
		}
	};
	/*
		Change object Location
		element			Object Dom
		position		Change Option
		speed			Change Speed
		callback		CallBack
	*/
	zl._move = zl.move = function(element, position, speed, callback){
		try{
			element = zl.$(element);
			if(!element.effect){
				element.effect = {};
				element.effect._move=0;
			}
			clearInterval(element.effect._move);
			var speed=speed||10;
			var start=(function(elem){
				var	posi = {left:elem.offsetLeft, top:elem.offsetTop};
				while(elem = elem.offsetParent){
					posi.left += elem.offsetLeft;
					posi.top += elem.offsetTop;
				};
				return posi;
			})(element);
			element.style.position = 'absolute';
			var	style = element.style;
			var styleArr=[];
			if(typeof(position.left)=='number')styleArr.push('left');
			if(typeof(position.top)=='number')styleArr.push('top');
			element.effect._move = setInterval(function(){
				for(var i=0;i<styleArr.length;i++){
					start[styleArr[i]] += (position[styleArr[i]] - start[styleArr[i]]) * speed/100;
					style[styleArr[i]] = start[styleArr[i]] + 'px';
				}
				for(var i=0;i<styleArr.length;i++){
					if(Math.round(start[styleArr[i]]) == position[styleArr[i]]){
						if(i!=styleArr.length-1)continue;
					}else{
						break;
					}
					for(var i=0;i<styleArr.length;i++)style[styleArr[i]] = position[styleArr[i]] + 'px';
					clearInterval(element.effect._move);
					if(callback)callback.call(element);
				}
			}, 20);
		}catch(e){
			zl.log('[Function][_move] Change object Location Failure! [' + element + '] ', e);
			return e.message;
		}
	};
	/*
		Change object Size
		element			Object Dom
		size			Object New Size Option
		speed			Change Speed
		callback		CallBack
	*/
	zl._reSize = zl.reSize = zl.size = function(element, size, speed, callback){
		try{
			element = zl.$(element);
			if(!element.effect){
				element.effect = {};
				element.effect._resize=0;
			}
			clearInterval(element.effect._resize);
			var speed=speed||10;
			var	start = {width:element.offsetWidth, height:element.offsetHeight};
			var styleArr=[];
			if(!(navigator.userAgent.toLowerCase().indexOf('msie') != -1&&document.compatMode == 'BackCompat')){
				var CStyle=document.defaultView?document.defaultView.getComputedStyle(element,null):element.currentStyle;
				if(typeof(size.width)=='number'){
					styleArr.push('width');
					size.width=size.width-CStyle.paddingLeft.replace(/\D/g,'')-CStyle.paddingRight.replace(/\D/g,'');
				}
				if(typeof(size.height)=='number'){
					styleArr.push('height');
					size.height=size.height-CStyle.paddingTop.replace(/\D/g,'')-CStyle.paddingBottom.replace(/\D/g,'');
				}
			}
			element.style.overflow = 'hidden';
			var	style = element.style;
			element.effect._resize = setInterval(function(){
				for(var i=0;i<styleArr.length;i++){
					start[styleArr[i]] += (size[styleArr[i]] - start[styleArr[i]]) * speed/100;
					style[styleArr[i]] = start[styleArr[i]] + 'px';
				}
				for(var i=0;i<styleArr.length;i++){
					if(Math.round(start[styleArr[i]]) == size[styleArr[i]]){
						if(i!=styleArr.length-1)continue;
					}else{
						break;
					}
					for(var i=0;i<styleArr.length;i++)style[styleArr[i]] = size[styleArr[i]] + 'px';
					clearInterval(element.effect._resize);
					if(callback)callback.call(element);
				}
			}, 20);
		}catch(e){
			zl.log('[Function][_reSize] Change object Size Failure! [' + element + '] ', e);
			return e.message;
		}
	};
	/*
		Hide Elem Dom
		time: hide time
		val: transparency
	*/
	zl.hide = function(elem,time,val){
		try{
			if(!zl.isset(val)) val = 0;
			if(!zl.isset(time)) time = 1;
			zl.fade(elem,val,time);
		}catch(e){
			zl.log('[Function][hide] hide object Elem Failure![ ' + elem + '] ', e);
			return e.message;
		}
	};
	/*
		Show Elem Dom
		time: show time
		val: transparency
	*/
	zl.show = function(elem,time,val){
		try{
			if(!zl.isset(val)) val = 100;
			if(!zl.isset(time)) time = 1;
			zl.fade(elem,val,time);
		}catch(e){
			zl.log('[Function][show] show object Elem Failure![ ' + elem + '] ', e);
			return e.message;
		}
	};
	/*
		Drag Object Dom
	*/
	zl.drag = {
		/*	Unfinished...	*/
	};
	/*
		Dom Keys Reg or Remove
		add Registration Key in Dom . shortcut:Key,callback:Trigger The Key CallBack,opt:Key Option
		remove() Remove Key In Dom. shortcut:key.
		weburl: http://www.openjs.com/scripts/events/keyboard_shortcuts/shortcut.js
	*/
	zl.key = zl._key = zl.shortcuts = {
		all_shortcuts : [],
		add : function(shortcut_combination,callback,opt){
			try{
				var default_options = {'type':'keydown','propagate':false,'disable_in_input':false,'target':document,'keycode':false}
				opt = zl.cd(default_options, opt);
				var ele = zl.$(opt.target);
				var ths = this;
				shortcut_combination = shortcut_combination.toLowerCase();
				var func = function(e){
					e = e || window.event;
					if(opt['disable_in_input']){
						var element;
						if(e.target) element=e.target;
						else if(e.srcElement) element=e.srcElement;
						if(element.nodeType==3) element=element.parentNode;
						if(element.tagName == 'INPUT' || element.tagName == 'TEXTAREA') return;
					}
					if (e.keyCode) code = e.keyCode;
					else if (e.which) code = e.which;
					var character = String.fromCharCode(code).toLowerCase();
					if(code == 188) character=",";
					if(code == 190) character=".";
					var keys = shortcut_combination.split("+");
					var kp = 0;
					var shift_nums = {"`":"~","1":"!","2":"@","3":"#","4":"$","5":"%","6":"^","7":"&","8":"*","9":"(","0":")","-":"_","=":"+",";":":","'":"\"",",":"<",".":">","/":"?","\\":"|"};
					var special_keys = {'esc':27,'escape':27,'tab':9,'space':32,'return':13,'enter':13,'backspace':8,'scrolllock':145,'scroll_lock':145,'scroll':145,'capslock':20,'caps_lock':20,'caps':20,'numlock':144,'num_lock':144,'num':144,'pause':19,'break':19,'insert':45,'home':36,'delete':46,'end':35,'pageup':33,'page_up':33,'pu':33,'pagedown':34,'page_down':34,'pd':34,'left':37,'up':38,'right':39,'down':40,'f1':112,'f2':113,'f3':114,'f4':115,'f5':116,'f6':117,'f7':118,'f8':119,'f9':120,'f10':121,'f11':122,'f12':123};
					var modifiers = { 
						shift: { wanted:false, pressed:false},
						ctrl : { wanted:false, pressed:false},
						alt  : { wanted:false, pressed:false},
						meta : { wanted:false, pressed:false}
					};
					if(e.ctrlKey)	modifiers.ctrl.pressed = true;
					if(e.shiftKey)	modifiers.shift.pressed = true;
					if(e.altKey)	modifiers.alt.pressed = true;
					if(e.metaKey)   modifiers.meta.pressed = true;
					for(var i=0; k=keys[i],i<keys.length; i++){
						if(k == 'ctrl' || k == 'control') {
							kp++;
							modifiers.ctrl.wanted = true;
						} else if(k == 'shift') {
							kp++;
							modifiers.shift.wanted = true;
						} else if(k == 'alt') {
							kp++;
							modifiers.alt.wanted = true;
						} else if(k == 'meta') {
							kp++;
							modifiers.meta.wanted = true;
						} else if(k.length > 1) {
							if(special_keys[k] == code) kp++;
						} else if(opt['keycode']) {
							if(opt['keycode'] == code) kp++;
						} else {
							if(character == k) kp++;
							else {
								if(shift_nums[character] && e.shiftKey) {
									character = shift_nums[character]; 
									if(character == k) kp++;
								}
							}
						}
					}
					if(kp == keys.length && modifiers.ctrl.pressed == modifiers.ctrl.wanted && modifiers.shift.pressed == modifiers.shift.wanted && modifiers.alt.pressed == modifiers.alt.wanted && modifiers.meta.pressed == modifiers.meta.wanted){
						var re = callback(e);
						if((re != undefined && !re) || (re == undefined && !opt['propagate'])){
							e.cancelBubble = true;
							e.returnValue = false;
							if (e.stopPropagation) {
								e.stopPropagation();
								e.preventDefault();
							}
							return false;
						}else{
							e.cancelBubble = false;
							e.returnValue = true;
							return true;	
						}
					}
				}
				this.all_shortcuts[shortcut_combination] = {
					'callback':func, 
					'target':ele, 
					'event': opt['type']
				};
				if(ele.addEventListener) ele.addEventListener(opt['type'], func, false);
				else if(ele.attachEvent) ele.attachEvent('on'+opt['type'], func);
				else ele['on'+opt['type']] = func;
				zl.log('Registration Key '+shortcut_combination+' In '+opt['target']+' on'+opt['type']+' Success!');
			}catch(e){
				zl.log('[Function][key.add] Registration Key '+shortcut_combination+' Failure! ', e);
				return e.message;
			}
		},
		remove : function(shortcut_combination) {
			try{
				shortcut_combination = shortcut_combination.toLowerCase();
				var binding = this.all_shortcuts[shortcut_combination];
				delete(this.all_shortcuts[shortcut_combination])
				if(!binding) return;
				var type = binding['event'];
				var ele = binding['target'];
				var callback = binding['callback'];
				if(ele.detachEvent) ele.detachEvent('on'+type, callback);
				else if(ele.removeEventListener) ele.removeEventListener(type, callback, false);
				else ele['on'+type] = false;
				zl.log('Remove Key '+shortcut_combination+' In '+ele+' on'+type+' Success!');
			}catch(e){
				zl.log('[Function][key.remove] Remove Key '+shortcut_combination+' Failure! ',e);
				return e.message;
			}
		},
		source : 'http://www.openjs.com/scripts/events/keyboard_shortcuts/shortcut.js'
	};
	/*
		Cookie Class
		add	Add New Cookie Afferent NewCookie Option
		get	Get Cookie Value Afferent Cookie Name
		del	Delete Cookie Afferent Cookie Name
	*/
	zl.cookie = zl._cookie = {
		add : function(opt){
			try{
				if(!opt.name || !opt.value){throw new Error("Error: Cookie [name] And [value] Cant Null.");}
				var str = opt.name + "=" + escape(opt.value);
				if(opt.hours){
					var exdate = new Date();
					if(opt.hourstype=='d'){
						exdate.setDate(exdate.getDay()+opt.hours);
					}else if(opt.hourstype=='m'){
						exdate.setDate(exdate.getMinutes()+opt.hours);
					}else{
						exdate.setDate(exdate.getHours()+opt.hours);
					}
					str += ";expires=" + exdate.toGMTString();
				}
				str += (opt.path) ? ";path=" + opt.path : "";
				str += (opt.domain) ? ";domain=" + opt.domain : "";
				str += (opt.secure) ? ";secure=" + opt.secure : "";
				document.cookie = str;
				zl.log('Add Cookie [' + opt.name + ']:[' + opt.value + '] Success.');
			}catch(e){
				zl.log('[Function][cookie.add] Add Cookie [' + opt.name + ']:[' + opt.value + '] Failure! ', e);
			}
		},
		get : function(ckName){
			try{
				if(document.cookie.length>0){
					if(typeof ckName == 'undefined' || ckName == '') return document.cookie.toString();
					var c_start = document.cookie.indexOf(ckName + "=");
					if(c_start != -1){
						c_start = c_start+ckName.length+1;
						var c_end = document.cookie.indexOf(";",c_start)
						if(c_end == -1) c_end = document.cookie.length;
						return unescape(document.cookie.substring(c_start,c_end));
					}
				}
				return null;
			}catch(e){
				zl.log('[Function][cookie.get] Get Cookie [' + ckName + '] Failure! ', e);
				return null;	
			}
		},
		del : function(ckName){
			try{
				var date = new Date();
				date.setTime(date.getTime() - 10000);
				document.cookie = ckName + "=; expires=" + date.toGMTString();
				zl.log('Delete Cookie [' + ckName + '] Success.');
			}catch(e){
				zl.log('[Function][cookie.del] Delete Cookie [' + ckName + '] Failure.');
			}
		}
	};
	/*
		My Check Class
		checkIsNull Check Afferent Object Dom Value Is Null or ''.o:object dom; return (is Null)?true:false;
		checkIsSame Check Afferent Object Dom Value Is Same .o:object dom,r:object dom; return true or false
		checkValLength Check Afferent Object Dom Value Length Is ok.o:object dom,n:min length,x:max length. return true or false
		checkObject Check Afferent Object Dom RegExp Verify.o:object dom,r:RegExp;return true or false;
	*/
	zl.check = zl.myCheck = {
		checkIsNull : function(o){
			try{
				if(zl.$(o) == null){
					if(typeof o == 'string') return (o == '' || o.replace(/(^\s+)|(\s+$i)/g,'') == '');
					else return false;
				}else{
					return (zl.$(o).value == '' || zl.$(o).value.replace(/(^\s+)|(\s+$i)/g,'') == '');
				}
			}catch(e){
				return false;
			}
		},
		checkIsSame : function(o,r){
			try{
				if(zl.$(o) == null || zl.$(r) == null){
					if(typeof o == 'string' && typeof r == 'string') return (o == r);
					else return false;
				}else{
					return (zl.$(o).value == zl.$(r).value);
				}
			}catch(e){
				return false;
			}
		},
		checkIsInt : function(o){
			try{
				if(zl.$(o) == null){
					if(typeof o == 'string' || typeof o == 'number') return !isNaN(o);
					else return false;
				}else{
					return !isNaN(zl.$(o).value);
				}
			}catch(e){
				return false;
			}
		},
		checkValLength : function(o,n,x){
			try{
				if(zl.$(o) == null){
					if(typeof o == 'string') return (n <= o.length && o.length <= x);
					else return false;
				}else{
					return (n <= zl.$(o).value.length && zl.$(o).value.length <= x);
				}
			}catch(e){
				return false;	
			}
		},
		checkObject : function(o,r){
			try{
				if(zl.$(o) == null){
					if(typeof o == 'string' && r != undefined) return (o.replace(new RegExp(r,'g'),'') == '');
					else return false;
				}else{
					return (zl.$(o).value.replace(new RegExp(r,'g'),'') == '');
				}
			}catch(e){
				return false;	
			}
		}
	};
	/*
		Check Object All ChildNodes Images size
		obj		Object
		w		Max Width
		h		Max Height
	*/
	zl.checkImage = function(obj,w,h){
		try{
			var ImgCell = zl.$('<img>', zl.$(obj));
			for(var i=0; i<ImgCell.length; i++){
				var ImgWidth = ImgCell(i).width;
				var ImgHeight = ImgCell(i).height;
				if(ImgWidth > w){
					var newHeight = w*ImgHeight/ImgWidth;
					if(newHeight <= h){
						ImgCell(i).width = w;
						ImgCell(i).height = newHeight;
					}else{
						ImgCell(i).height = h;
						ImgCell(i).width = h*ImgWidth/ImgHeight;
					}
				}else{
					if(ImgHeight > h){
						ImgCell(i).height = h;
						ImgCell(i).width = h*ImgWidth/ImgHeight;
					}else{
						ImgCell(i).width = ImgWidth;
						ImgCell(i).height = ImgHeight;
					}
				}
			}
		}catch(e){
			zl.log('[Function][runCode] Check Images Size Max or Min Failure!',e);	
		}
	};
	/*
		Check Object Html Dom is Pobj childNodes
		obj		Object
		parent	The ParentNode Object
		return (obj is Pobj ChildNodes)?true:false;
	*/
	zl.checkHtml = function(obj,parent){
		try{
			parent = zl.$(parent);
			for(obj = zl.$(obj); obj != document.body; obj = obj.parentNode){
				if(!zl.isset(obj) || obj == null)
					return false;
				if(obj == parent)
					return true;
			}
			return false;
		}catch(e){
			zl.log('[Function][checkHtml] Check Object Dom Failure! ', e);
			return false;
		}
	};
	/*
		Get Object Parent Dom
		elem	object
		parent	parent type
	*/
	zl.getParent = function(elem,parent){
		try{
			elem = zl.$(elem);
			for(; elem != document.body; elem = elem.parentNode){
				if(elem == undefined || elem == null) return null;
				if(elem.tagName.toLowerCase() == parent.toLowerCase()) return elem;
			}
			return null;
		}catch(e){
			zl.log('[Function][getParent] Get Object Parent Dom Failure! ', e);
			return null;
		}
	};
	/*	
		Show Object show or hide
		o 	object
		t	Change Time
		opt	opt obj
		cb	callback
	*/
	zl._stips = zl.flash = function(obj,time,opt,callback){
		try{
			var obj = zl.$(obj);
			opt = zl.cd({i:0,x:100,v:5},opt);
			zl._fade(obj, opt.i, opt.v, function(){
				if(callback) callback.call(obj);
				zl._fade(obj, opt.x, opt.v, function(){
					setTimeout(function(){zl._stips(obj, time, opt, callback); }, time);
				});
			});
		}catch(e){
			zl.log('[Function][flash] Show Object Dom Failure! ', e);
		}
	};
	/*	
		change Class Name
		obj 		object
		newclass	New ClassName
		oldclass	Old ClassName
		other		OtherObject
	*/
	zl.cc = zl.changDomClass = function(obj,newclass,oldclass,other){
		try{
			obj = zl.$(obj);
			var op = zl.childNodes(obj.parentNode,obj.tagName);
			for(var i=0; i<op.length; i++){
				if(op[i] != obj && op[i] != other && typeof oldclass != 'undefined'){
					op[i].className = oldclass;
				}else if(op[i] != other && typeof newclass != 'undefined'){
					op[i].className = newclass;
				}
			}
		}catch(e){
			zl.log('[Function][changeDomClass] Change Dom Class Failure! ', e);
		}
	};
	/*
		Tab	
		Tab Object Show or Hide
	*/
	zl.tab = zl._tab = function(elem,obj,nclass,oclass){
		try{
			zl.changDomClass(elem,nclass,oclass);
			obj = zl.$(obj);
			var op = zl.childNodes(obj.parentNode,obj.TagName);
			for(var i=0,c=op.length; i<c; i++){
				if(op[i].tagName != 'undefined' && op[i].tagName == obj.tagName){
					if(op[i] != obj){
						op[i].style.display = 'none';
					}else{
						op[i].style.display = '';
					}
				}
			}
		}catch(e){
			zl.log('[Function][tag] Tab Object Dom Failure!',e);
		}
	};
	/*	
		conver Html Label
		con		HTMl Conetnt
	*/
	zl.cv = zl.converHtmlLabel = function(con){
		//return document.createElement('div').appendChild(document.createTextNode(con)).parentNode.innerHTML;
		return con.replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;');
	};
	/*
		Native Convert Ascii
	*/
	zl.ascii = zl.nativeConvertAscii = function(str){
		try{
			var nativecode = str.split('');
			var ascii = '';
			for(var i = 0; i < nativecode.length; i++) {
				var code = Number(nativecode[i].charCodeAt(0));
				if (code > 127){
					var charAscii = code.toString(16);
					charAscii = new String('0000').substring(charAscii.length, 4) + charAscii;
					ascii += '\\u' + charAscii;
				} else {
					ascii += nativecode[i];
				}
			}
			return ascii;
		}catch(e){
			zl.log('[Function][ascii] Native Convert Ascii Failure!', e);
			return '';
		}
	};
	/*
		Ascii Convert Natvie
	*/
	zl.natvie = zl.asciiConvertNative = function(str){
		try{
			var asciicode = str.split('\\u');
			var nativeValue = asciicode[0];
			for (var i = 1; i < asciicode.length; i++) {
				var code = asciicode[i];
				nativeValue += String.fromCharCode(parseInt('0x' + code.substring(0, 4)));
				if(code.length > 4) {
					nativeValue += code.substring(4, code.length);
				}
			}
			return nativeValue;
		}catch(e){
			zl.log('[Function][natvie] Ascii Convert Native Failure!', e);
			return '';
		}
	}
	/*	
		conver Data JSON
		data	Conetnt
		source	JQuery http://code.jquery.com/jquery-1.7.2.js
	*/
	zl.json = zl.parseJSON = function(data){
		try{
			if(typeof data !== 'string' || !data){
				return null;
			}
			if(window.JSON && window.JSON.parse){
				return window.JSON.parse(data);
			}
			rvalidchars = /^[\],:{}\s]*$/,
			rvalidescape = /\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,
			rvalidtokens = /"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,
			rvalidbraces = /(?:^|:|,)(?:\s*\[)+/g;
			if(rvalidchars.test(data.replace(rvalidescape,'@').replace(rvalidtokens,']').replace(rvalidbraces,''))){
				return (new Function('return ' + data))();
			}
			zl.log('Invalid JSON Failure!  ' + data );
		}catch(e){
			zl.log('[Function][json] Invalid Json Data Failure!',e);
			return null;
		}
	};
	/*	
		conver Data XML
		data	Conetnt
		source	JQuery http://code.jquery.com/jquery-1.7.2.js
	*/
	zl.xml = zl.parseXML = function(data){
		try{
			if(typeof data !== 'string' || !data){
				return null;
			}
			var xml,tmp;
			try{
				if(window.DOMParser){
					tmp = new DOMParser();
					xml = tmp.parseFromString(data,'text/xml');
				}else{
					xml = new ActiveXObject('Microsoft.XMLDOM');
					xml.async = 'false';
					xml.loadXML(data);
				}
			}catch(e){
				xml = undefined;
			}
			if(!xml || !xml.documentElement || xml.getElementsByTagName('parsererror').length){
				zl.log('Invalid XML Failure:' + data);
			}
			return xml;
		}catch(e){
			zl.log('[Function][tag] Invalid XML Data Failure!',e);
			return null;	
		}
	};
	/*
		MD5
		source: http://pajhome.org.uk/crypt/md5/2.2/md5-min.js
	*/
	zl.md5 = {
		hexcase : 0,
		init : function(s){
			return zl.md5.hex_md5(s);
		},
		hex_md5 : function(a){
			return zl.md5.rstr2hex(zl.md5.rstr_md5(zl.md5.str2rstr_utf8(a)));
		},
		hex_hmac_md5 : function(a,b){
			return zl.md5.rstr2hex(zl.md5.rstr_hmac_md5(zl.md5.str2rstr_utf8(a),zl.md5.str2rstr_utf8(b)));
		},
		md5_vm_test : function(){
			return zl.md5.hex_md5("abc").toLowerCase()=="900150983cd24fb0d6963f7d28e17f72";
		},
		rstr_md5 : function(a){
			return zl.md5.binl2rstr(zl.md5.binl_md5(zl.md5.rstr2binl(a),a.length*8));
		},
		rstr_hmac_md5 : function(c,f){
			var e=zl.md5.rstr2binl(c);
			if(e.length>16){
				e=zl.md5.binl_md5(e,c.length*8)
			}
			var a=Array(16),d=Array(16);
			for(var b=0;b<16;b++){
				a[b]=e[b]^909522486;
				d[b]=e[b]^1549556828
			}
			var g=zl.md5.binl_md5(a.concat(zl.md5.rstr2binl(f)),512+f.length*8);
			return zl.md5.binl2rstr(zl.md5.binl_md5(d.concat(g),512+128));
		},
		rstr2hex : function(c){
			try{
				zl.md5.hexcase
			}
			catch(g){
				zl.md5.hexcase = 0;
			}
			var f=zl.md5.hexcase?"0123456789ABCDEF":"0123456789abcdef";
			var b="";
			var a;
			for(var d=0;d<c.length;d++){
				a=c.charCodeAt(d);
				b+=f.charAt((a>>>4)&15)+f.charAt(a&15)
			}
			return b;
		},
		str2rstr_utf8 : function(c){
			var b="";
			var d=-1;
			var a,e;
			while(++d<c.length){
				a=c.charCodeAt(d);
				e=d+1<c.length?c.charCodeAt(d+1):0;
				if(55296<=a&&a<=56319&&56320<=e&&e<=57343){
					a=65536+((a&1023)<<10)+(e&1023);
					d++
				}
				if(a<=127){
					b+=String.fromCharCode(a)
				}else{
					if(a<=2047){
						b+=String.fromCharCode(192|((a>>>6)&31),128|(a&63))
					}else{
						if(a<=65535){
							b+=String.fromCharCode(224|((a>>>12)&15),128|((a>>>6)&63),128|(a&63))
						}else{
							if(a<=2097151){
								b+=String.fromCharCode(240|((a>>>18)&7),128|((a>>>12)&63),128|((a>>>6)&63),128|(a&63))
							}
						}
					}
				}
			}
			return b
		},
		rstr2binl : function(b){
			var a=Array(b.length>>2);
			for(var c=0;c<a.length;c++){
				a[c]=0
			}
			for(var c=0;c<b.length*8;c+=8){
				a[c>>5]|=(b.charCodeAt(c/8)&255)<<(c%32)
			}
			return a
		},
		binl2rstr : function(b){
			var a="";
			for(var c=0;c<b.length*32;c+=8){
				a+=String.fromCharCode((b[c>>5]>>>(c%32))&255)
			}
			return a
		},
		binl_md5 : function(p,k){
			p[k>>5]|=128<<((k)%32);
			p[(((k+64)>>>9)<<4)+14]=k;
			var o=1732584193;
			var n=-271733879;
			var m=-1732584194;
			var l=271733878;
			for(var g=0;g<p.length;g+=16){
				var j=o;
				var h=n;
				var f=m;
				var e=l;
				o=zl.md5.md5_ff(o,n,m,l,p[g+0],7,-680876936);
				l=zl.md5.md5_ff(l,o,n,m,p[g+1],12,-389564586);
				m=zl.md5.md5_ff(m,l,o,n,p[g+2],17,606105819);
				n=zl.md5.md5_ff(n,m,l,o,p[g+3],22,-1044525330);
				o=zl.md5.md5_ff(o,n,m,l,p[g+4],7,-176418897);
				l=zl.md5.md5_ff(l,o,n,m,p[g+5],12,1200080426);
				m=zl.md5.md5_ff(m,l,o,n,p[g+6],17,-1473231341);
				n=zl.md5.md5_ff(n,m,l,o,p[g+7],22,-45705983);
				o=zl.md5.md5_ff(o,n,m,l,p[g+8],7,1770035416);
				l=zl.md5.md5_ff(l,o,n,m,p[g+9],12,-1958414417);
				m=zl.md5.md5_ff(m,l,o,n,p[g+10],17,-42063);
				n=zl.md5.md5_ff(n,m,l,o,p[g+11],22,-1990404162);
				o=zl.md5.md5_ff(o,n,m,l,p[g+12],7,1804603682);
				l=zl.md5.md5_ff(l,o,n,m,p[g+13],12,-40341101);
				m=zl.md5.md5_ff(m,l,o,n,p[g+14],17,-1502002290);
				n=zl.md5.md5_ff(n,m,l,o,p[g+15],22,1236535329);
				o=zl.md5.md5_gg(o,n,m,l,p[g+1],5,-165796510);
				l=zl.md5.md5_gg(l,o,n,m,p[g+6],9,-1069501632);
				m=zl.md5.md5_gg(m,l,o,n,p[g+11],14,643717713);
				n=zl.md5.md5_gg(n,m,l,o,p[g+0],20,-373897302);
				o=zl.md5.md5_gg(o,n,m,l,p[g+5],5,-701558691);
				l=zl.md5.md5_gg(l,o,n,m,p[g+10],9,38016083);
				m=zl.md5.md5_gg(m,l,o,n,p[g+15],14,-660478335);
				n=zl.md5.md5_gg(n,m,l,o,p[g+4],20,-405537848);
				o=zl.md5.md5_gg(o,n,m,l,p[g+9],5,568446438);
				l=zl.md5.md5_gg(l,o,n,m,p[g+14],9,-1019803690);
				m=zl.md5.md5_gg(m,l,o,n,p[g+3],14,-187363961);
				n=zl.md5.md5_gg(n,m,l,o,p[g+8],20,1163531501);
				o=zl.md5.md5_gg(o,n,m,l,p[g+13],5,-1444681467);
				l=zl.md5.md5_gg(l,o,n,m,p[g+2],9,-51403784);
				m=zl.md5.md5_gg(m,l,o,n,p[g+7],14,1735328473);
				n=zl.md5.md5_gg(n,m,l,o,p[g+12],20,-1926607734);
				o=zl.md5.md5_hh(o,n,m,l,p[g+5],4,-378558);
				l=zl.md5.md5_hh(l,o,n,m,p[g+8],11,-2022574463);
				m=zl.md5.md5_hh(m,l,o,n,p[g+11],16,1839030562);
				n=zl.md5.md5_hh(n,m,l,o,p[g+14],23,-35309556);
				o=zl.md5.md5_hh(o,n,m,l,p[g+1],4,-1530992060);
				l=zl.md5.md5_hh(l,o,n,m,p[g+4],11,1272893353);
				m=zl.md5.md5_hh(m,l,o,n,p[g+7],16,-155497632);
				n=zl.md5.md5_hh(n,m,l,o,p[g+10],23,-1094730640);
				o=zl.md5.md5_hh(o,n,m,l,p[g+13],4,681279174);
				l=zl.md5.md5_hh(l,o,n,m,p[g+0],11,-358537222);
				m=zl.md5.md5_hh(m,l,o,n,p[g+3],16,-722521979);
				n=zl.md5.md5_hh(n,m,l,o,p[g+6],23,76029189);
				o=zl.md5.md5_hh(o,n,m,l,p[g+9],4,-640364487);
				l=zl.md5.md5_hh(l,o,n,m,p[g+12],11,-421815835);
				m=zl.md5.md5_hh(m,l,o,n,p[g+15],16,530742520);
				n=zl.md5.md5_hh(n,m,l,o,p[g+2],23,-995338651);
				o=zl.md5.md5_ii(o,n,m,l,p[g+0],6,-198630844);
				l=zl.md5.md5_ii(l,o,n,m,p[g+7],10,1126891415);
				m=zl.md5.md5_ii(m,l,o,n,p[g+14],15,-1416354905);
				n=zl.md5.md5_ii(n,m,l,o,p[g+5],21,-57434055);
				o=zl.md5.md5_ii(o,n,m,l,p[g+12],6,1700485571);
				l=zl.md5.md5_ii(l,o,n,m,p[g+3],10,-1894986606);
				m=zl.md5.md5_ii(m,l,o,n,p[g+10],15,-1051523);
				n=zl.md5.md5_ii(n,m,l,o,p[g+1],21,-2054922799);
				o=zl.md5.md5_ii(o,n,m,l,p[g+8],6,1873313359);
				l=zl.md5.md5_ii(l,o,n,m,p[g+15],10,-30611744);
				m=zl.md5.md5_ii(m,l,o,n,p[g+6],15,-1560198380);
				n=zl.md5.md5_ii(n,m,l,o,p[g+13],21,1309151649);
				o=zl.md5.md5_ii(o,n,m,l,p[g+4],6,-145523070);
				l=zl.md5.md5_ii(l,o,n,m,p[g+11],10,-1120210379);
				m=zl.md5.md5_ii(m,l,o,n,p[g+2],15,718787259);
				n=zl.md5.md5_ii(n,m,l,o,p[g+9],21,-343485551);
				o=zl.md5.safe_add(o,j);
				n=zl.md5.safe_add(n,h);
				m=zl.md5.safe_add(m,f);
				l=zl.md5.safe_add(l,e)
			}
			return Array(o,n,m,l)
		},
		md5_cmn : function(h,e,d,c,g,f){
			return zl.md5.safe_add(zl.md5.bit_rol(zl.md5.safe_add(zl.md5.safe_add(e,h),zl.md5.safe_add(c,f)),g),d)
		},
		md5_ff : function(g,f,k,j,e,i,h){
			return zl.md5.md5_cmn((f&k)|((~f)&j),g,f,e,i,h)
		},
		md5_gg : function(g,f,k,j,e,i,h){
			return zl.md5.md5_cmn((f&j)|(k&(~j)),g,f,e,i,h)
		},
		md5_hh : function(g,f,k,j,e,i,h){
			return zl.md5.md5_cmn(f^k^j,g,f,e,i,h)
		},
		md5_ii : function(g,f,k,j,e,i,h){
			return zl.md5.md5_cmn(k^(f|(~j)),g,f,e,i,h)
		},
		safe_add : function(a,d){
			var c=(a&65535)+(d&65535);
			var b=(a>>16)+(d>>16)+(c>>16);
			return(b<<16)|(c&65535)
		},
		bit_rol : function(a,b){
			return(a<<b)|(a>>>(32-b))
		},
		source : 'http://pajhome.org.uk/crypt/md5/2.2/md5-min.js'
	};
	/*
		SHA1
		source: http://pajhome.org.uk/crypt/md5/2.2/sha1-min.js
	*/
	zl.sha1 = {
		hexcase : 0,
		b64pad : "",
		init : function(s){
			return zl.sha1.hex_sha1(s);
		},
		hex_sha1 : function(a){
			return zl.sha1.rstr2hex(zl.sha1.rstr_sha1(zl.sha1.str2rstr_utf8(a)))
		},
		hex_hmac_sha1 : function(a,b){
			return zl.sha1.rstr2hex(zl.sha1.rstr_hmac_sha1(zl.sha1.str2rstr_utf8(a),zl.sha1.str2rstr_utf8(b)))
		},
		sha1_vm_test : function(){
			return zl.sha1.hex_sha1("abc").toLowerCase()=="a9993e364706816aba3e25717850c26c9cd0d89d"
		},
		rstr_sha1 : function(a){
			return zl.sha1.binb2rstr(zl.sha1.binb_sha1(zl.sha1.rstr2binb(a),a.length*8))
		},
		rstr_hmac_sha1 : function(c,f){
			var e=zl.sha1.rstr2binb(c);
			if(e.length>16){
				e=zl.sha1.binb_sha1(e,c.length*8)
			}
			var a=Array(16),d=Array(16);
			for(var b=0;b<16;b++){
				a[b]=e[b]^909522486;
				d[b]=e[b]^1549556828
			}
			var g=zl.sha1.binb_sha1(a.concat(zl.sha1.rstr2binb(f)),512+f.length*8);
			return zl.sha1.binb2rstr(zl.sha1.binb_sha1(d.concat(g),512+160))
		},
		rstr2hex : function(c){
			try{
				zl.sha1.hexcase
			}catch(g){
				zl.sha1.hexcase=0
			}
			var f=zl.sha1.hexcase?"0123456789ABCDEF":"0123456789abcdef";
			var b="";
			var a;
			for(var d=0;d<c.length;d++){
				a=c.charCodeAt(d);
				b+=f.charAt((a>>>4)&15)+f.charAt(a&15)
			}
			return b
		},
		str2rstr_utf8 : function(c){
			var b="";
			var d=-1;
			var a,e;
			while(++d<c.length){
				a=c.charCodeAt(d);
				e=d+1<c.length?c.charCodeAt(d+1):0;
				if(55296<=a&&a<=56319&&56320<=e&&e<=57343){
					a=65536+((a&1023)<<10)+(e&1023);
					d++
				}
				if(a<=127){
					b+=String.fromCharCode(a)
				}else{
					if(a<=2047){
						b+=String.fromCharCode(192|((a>>>6)&31),128|(a&63))
					}else{
						if(a<=65535){
							b+=String.fromCharCode(224|((a>>>12)&15),128|((a>>>6)&63),128|(a&63))
						}else{
							if(a<=2097151){
								b+=String.fromCharCode(240|((a>>>18)&7),128|((a>>>12)&63),128|((a>>>6)&63),128|(a&63))
							}
						}
					}
				}
			}
			return b
		},
		rstr2binb : function(b){
			var a=Array(b.length>>2);
			for(var c=0;c<a.length;c++){
				a[c]=0
			}
			for(var c=0;c<b.length*8;c+=8){
				a[c>>5]|=(b.charCodeAt(c/8)&255)<<(24-c%32)
			}
			return a
		},
		binb2rstr : function(b){
			var a="";
			for(var c=0;c<b.length*32;c+=8){
				a+=String.fromCharCode((b[c>>5]>>>(24-c%32))&255)
			}
			return a
		},
		binb_sha1 : function(v,o){
			v[o>>5]|=128<<(24-o%32);
			v[((o+64>>9)<<4)+15]=o;
			var y=Array(80);
			var u=1732584193;
			var s=-271733879;
			var r=-1732584194;
			var q=271733878;
			var p=-1009589776;
			for(var l=0;l<v.length;l+=16){
				var n=u;
				var m=s;
				var k=r;
				var h=q;
				var f=p;
				for(var g=0;g<80;g++){
					if(g<16){
						y[g]=v[l+g]
					}
					else{
						y[g]=zl.sha1.bit_rol(y[g-3]^y[g-8]^y[g-14]^y[g-16],1)
					}
					var z=zl.sha1.safe_add(zl.sha1.safe_add(zl.sha1.bit_rol(u,5),zl.sha1.sha1_ft(g,s,r,q)),zl.sha1.safe_add(zl.sha1.safe_add(p,y[g]),zl.sha1.sha1_kt(g)));
					p=q;
					q=r;
					r=zl.sha1.bit_rol(s,30);
					s=u;
					u=z
				}
				u=zl.sha1.safe_add(u,n);
				s=zl.sha1.safe_add(s,m);
				r=zl.sha1.safe_add(r,k);
				q=zl.sha1.safe_add(q,h);
				p=zl.sha1.safe_add(p,f)
			}
			return Array(u,s,r,q,p)
		},
		sha1_ft : function(e,a,g,f){
			if(e<20){
				return(a&g)|((~a)&f)
			}
			if(e<40){
				return a^g^f
			}
			if(e<60){
				return(a&g)|(a&f)|(g&f)
			}
			return a^g^f
		},
		sha1_kt : function(a){
			return(a<20)?1518500249:(a<40)?1859775393:(a<60)?-1894007588:-899497514
		},
		safe_add : function(a,d){
			var c=(a&65535)+(d&65535);
			var b=(a>>16)+(d>>16)+(c>>16);
			return(b<<16)|(c&65535)
		},
		bit_rol : function(a,b){
			return(a<<b)|(a>>>(32-b))
		},
		source : 'http://pajhome.org.uk/crypt/md5/2.2/sha1-min.js'
	};
	/*
		Search In Ajax Tips In BaiDu
	*/
	zl.search_ajax = {
		/*	input	*/
		search_input : null,
		/*	list	*/
		search_list : null,
		/*	Show Stop Time	*/
		search_showtime : 8000,
		/*	Show Time Func	*/
		search_timeout : null,
		/*	Init	*/
		init : function(elem){
			try{
				elem = zl.$(elem);
				if(elem.tagName.toUpperCase() == "INPUT"){
					zl.att(zl.$(elem),'onkeyup',function(){zl.search_ajax.keySearch(this,event)});
					return 'Success';
				}else{
					elem = zl.$('<input>',elem);
					for(var i in elem){
						if(zl.att(elem[i],'type').toUpperCase() == 'TEXT'){
							zl.att(elem[i],'onkeyup',function(){zl.search_ajax.keySearch(this,event)});
							return 'Success';
						}
					}
					return 'Failure';
				}
			}catch(e){
				return e;
			}
		},
		/*	Key Search	*/
		keySearch : function(elem,e){
			e = e || window.event;
			var keynum = 0;
			if(window.event) keynum = e.keyCode;
			else if(e.which) keynum = e.which;
			if (keynum == 38 || keynum == 40) return;
			alert(keynum);
			zl.remove(elem,3000);
			return;
			elem = zl.$(elem);
			var s_key = '';
			if(elem.tagName.toUpperCase() == "INPUT"){
				s_key = elem.value;
				search_input = elem;
			}else{
				s_key = zl.$('<input>',elem)[0].value;
				search_input = zl.$('<input>',elem)[0];
			}
			if(s_key == ''){
				this.clear_search();
				return;	
			}
			var scripts = zl.$('<script>', zl.$('<head>')[0]);
			for(var ijs in scripts){
				if(zl.att(scripts[ijs],'id') == 'BaiDuJS'){
					zl.remove(scripts[ijs]);
				}
			}
			var src = 'http://suggestion.baidu.com/su?wd='+encodeURIComponent(s_key)+'&p=3&cb=window.bdsug.sug&t='+(new Date()).getTime();
			//zl.create({tagName:'script',id:'BaiDuJS',charset:'utf-8',src:src,pdom:zl.$('<head>')[0]});
			var ajs = zl.loadjs(src,'utf-8',null,true);
			zl.att(ajs,'id','BaiDuJS');
			window.bdsug = {};
			window.bdsug.sug = function(data){zl.search_ajax.search_data(data);};		//load over
			var loc = zl.loc(elem);
			var w = t = l = 0;
			if(loc != null){
				w = loc.width;
				t = loc.top+loc.height+2;
				l = loc.left;
			}else{
				w = obj.offsetWidth;
				t = (obj.offsetTop+obj.offsetHeight+2);
				l = obj.offsetLeft;
			}
			var css = 'position:absolute;background:#fff;width:'+w+'px;top:'+t+'px;left:'+l+'px;border:1px solid #817F82;display:none;z-index:9999;';
			var div_search_list = zl.create({cssText:css/*,pdom:obj.parentNode*/});
			this.clear_search();
			this.search_list = div_search_list;
		},
		/*	Clear Search List	*/
		clear_search : function(){
			if(this.search_list != null){ zl.remove(this.search_list); this.search_list = null;document.body.onclick = null;}	
		},
		/*	List In Click	*/
		search_click : function(elem){
			if(this.search_input != null){
				this.search_input.value = elem.innerText;
			}
			this.clear_search();
		},
		/*	List In onmouseover	*/
		search_mouver : function(elem){
			if (this.search_timeout != null) clearTimeout(this.search_timeout);
			for(var i = 0; i < elem.parentNode.parentNode.getElementsByTagName('tr').length; i++){
				elem.parentNode.parentNode.getElementsByTagName('tr').item(i).className = 'soretr';
			}
			elem.parentNode.className = 'soretrs';
		},
		/*	List In onmouseout	*/
		search_mouout : function(elem){
			if (this.search_timeout != null) clearTimeout(this.search_timeout);
			this.search_timeout = setTimeout(this.clear_search(),this.search_showtime);
			for(var i = 0; i < elem.parentNode.parentNode.getElementsByTagName('tr').length; i++){
				elem.parentNode.parentNode.getElementsByTagName('tr').item(i).className = 'soretr';
			}
		},
		/*	Load Ajax List	*/
		search_data : function(data){
			if(this.search_list != null && data.s != ''){
				var reary = data.s;
				var list_code = '<style>.soretr{cursor: default;}.soretrs{cursor: default;background-color:#EBEBEB;}.soretd{color: black;font: 14px arial;height: 25px;line-height: 25px;padding: 0 8px; text-align: left;}</style>';//.soretr:hover{background-color:#EBEBEB;}
				list_code += '<table id="st_list" cellspacing="0" cellpadding="2" width="100%"><tbody>';
				for (i = 1; i < reary.length; i++) {
					list_code += '<tr class="soretr"><td class="soretd">';
					if(reary[i].toUpperCase().indexOf(data.q.toUpperCase()) != -1)
						list_code += '<span>'+data.q+'</span><b style="color: black;">'+reary[i].slice(data.q.length)+'</b></td></tr>';
					else
						list_code += '<b style="color: black;">'+reary[i]+'</b></td></tr>';
				}
				list_code += '</tbody></table>';
				this.search_list.innerHTML = list_code;
				this.search_list.style.display = 'block';
				document.body.onclick = function(e){
					if(e.srcElement != 	this.search_input){
						this.clear_search();
					}
				}
				/*
				var tds = zl.$('<td>',zl.$('st_list'));
				for(var td in tds){
					zl.att(tds[td],'onclick',this.search_click(this));
					zl.att(tds[td],'onmouseover',this.search_mouver(this));
					zl.att(tds[td],'onmouseout',this.search_mouout(this));
				}
				*/
				/*	
					onclick="soclick(this);" onmouseover="mouver(this);" onmouseout="mouout(this);"
				*/
				if (this.search_timeout != null) clearTimeout(this.search_timeout);
				this.search_timeout = setTimeout(this.clear_search(),this.search_showtime);
				if(this.search_input != null){	
					/*	input  onkeydown	*/
					this.search_input.onkeydown = function(e){
						e = e || window.event;
						var keynum = 0;
						if(window.event) keynum = e.keyCode;
						else if(e.which) keynum = e.which;
						if (keynum == 38){
							if (search_timeout != null) clearTimeout(search_timeout);
							search_timeout = setTimeout(this.clear_search(),this.search_showtime);
							if(this.search_list != null){
								var altr = this.search_list.getElementsByTagName('tr');
								var _i = 0;
								for(var i = 0; i < altr.length; i++){
									if (altr.item(i).className == 'soretrs') _i = i;
									altr.item(i).className = 'soretr';
								}
								if(_i > 0){
									altr.item((_i-1)).className = 'soretrs';
									this.search_input.value = altr.item((_i-1)).innerText;
								}else{
									altr.item((altr.length-1)).className = 'soretrs';
									this.search_input.value = altr.item((altr.length-1)).innerText;
								}
							}
							return false;
						} else if (keynum == 40){
							if (search_timeout != null) clearTimeout(search_timeout);
							search_timeout = setTimeout(this.clear_search(),this.search_showtime);
							if(this.search_list != null){
								var altr = this.search_list.getElementsByTagName('tr');
								var _i = -1;
								for(var i = 0; i < altr.length; i++){
									if (altr.item(i).className == 'soretrs') _i = i;
									altr.item(i).className = 'soretr';
								}
								if(_i+1 >= altr.length){
									altr.item(0).className = 'soretrs';
									this.search_input.value = altr.item(0).innerText;
								}else{
									altr.item((_i+1)).className = 'soretrs';
									this.search_input.value = altr.item((_i+1)).innerText;
								}
							}
							return false;
						}
						return true;
					}
					/*	input onblur	*/
					this.search_input.onblur = function(){
						setTimeout(this.clear_search(),500);
					}
				}
			}
		},
		source : 'BaiDu'
	};
	/*
		Disable Select Content
	*/
	zl.noselect = zl.DisableSelect = function(elem,isdis){
		try{
			elem = zl.$(elem);
			if(typeof elem == 'undefined') elem = document;
			if(typeof isdis == 'undefined') isdis = false;
			elem.onselectstart = function(){return isdis;}	
		}catch(e){
			zl.log('[function][noselect] Failure! ',e);	
		}
	};
	/*
		Disable Menu
	*/
	zl.nomenu = zl.DisableMenu = function(elem,isdis){
		try{
			elem = zl.$(elem);
			if(typeof elem == 'undefined') elem = document;
			if(typeof isdis == 'undefined') isdis = false;
			elem.oncontextmenu = function(){return isdis;}	
		}catch(e){
			zl.log('[function][nomenu] Failure! ',e);	
		}
	};
	/*
		Select Elem Callback
	*/
	zl.selcall = zl.SelectCallback = function(elem,callback){
		try{
			if(typeof elem == 'undefined') elem = document;
			elem = zl.$(elem);
			elem.onmouseup = function(){
				var selDom = window.getSelection().focusNode;
				if(typeof selDom.tagName != 'undefined') selDom = selDom.innerText;
				else selDom = selDom.nodeValue;
				if(selDom.length > 0){
					if(typeof callback == 'undefined'){
						//var selcon = (zl.isIE) ? this.ownerDocument.selection.createRange().text : this.ownerDocument.getSelection();
						//var selcon = (zl.isIE) ? this.ownerDocument.selection.createRange().text : window.getSelection().toString();
						alert(selDom);
					}else{
						zl.run(callback);
					}
				}
			};
		}catch(e){
			zl.log('[function][nomenu] Failure! ',e);	
		}
	};
	
	
	zl.ready();
	
	window.zl = window.z = window._zl = window._z = zl;

})(window);


网友评论    (发表评论)


发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...