PageSourceSearch

http://www.qingyunke.com/js/tczAppsui.js?t=1791295252

js qingyunke.com collected 2026-10-06 14:01:02 UTC 86,421 bytes, 2,330 lines download raw bytes

1var tczAppsui={};
2var ready_callback=[];
3var PZ=new function(){
4this.ie=function(){var sVer=navigator.userAgent;if(sVer.indexOf("MSIE")==-1){return false}else{return true}};
5this.s=function(obj,h){obj.scrollTop=h};
6this.c=function(obj,n){obj.className=n};
7this.d=function(did,t){if(!$(did))return;$(did).style.display=t};
8this.v=function(did,en){if(!$(did))alert("不存在的输入框ID:"+did);var v=$(did).value;if(en)v=PZ.en(v);return v};
9/*---------------ajax post前转码---------------*/
10this.en=function(str){
11	if(str=="")return str;
12	str=str.replace(/\+/g,"%2B");
13	str=encodeURIComponent(str);	//escape(str);
14	return str;
15	};
16/*---------------删除左右两端的空格 包括中文空格及英文空格---------------*/
17this.trim=function(str){
18	str=str.replace(/(^\s*)|(\s*$)/g, "");
19	str=str.replace(/(^[\ ]*)/g, "");
20	str=str.replace(/([\ ]*$)/g, "");
21	return str;
22	};
23/*---------------小数---------------*/
24this.xs=function(n,len){
25	if(n=="")return 0;
26	n=n.replace(/([^0-9\.]+)/g,"");
27	if(n=="")return 0;
28	var nr=[2,10,100,1000,10000,100000];
29	n=Math.round(n*nr[len])/nr[len];
30	return n;
31	};
32/*---------------强制转为数字---------------*/
33this.n=function(n){
34	if(n=="")return 0;
35	n=parseInt(n);
36	//n=n.replace(/([^0-9]+)/g,"");
37	return n;
38	};
39/*---------------指定长度随机数字---------------*/
40this.n1=function(n){
41	var sn=parseInt(Math.random().toString().slice(-n));
42	if(sn.length!=n)sn+=1;
43	return sn;
44	};
45/*---------------用于缓冲数字---------------*/
46this.n2=function(n){
47	if(n>0)n=Math.ceil(n);if(n<0)n=Math.floor(n);
48	return n;
49	};
50/*---------------指定范围随机数字---------------*/
51this.n3=function(n1,n2){return parseInt(Math.random()*(n2-n1+1)+n1)};
52//保留多少位小数
53this.formatFloat=function(src,pos){
54	return Math.round(src*Math.pow(10,pos))/Math.pow(10,pos);
55	};
56/*---------------获取字符串长度 字节---------------*/
57this.getlen=function(str){
58	if(str=="")return 0;
59	var len=0;
60	for(var i=0;i<str.length;i++){
61		if(str.charCodeAt(i)>127){len+=2}else{len++};
62		};
63	return len;
64	};
65/*---------------清除HTML标签---------------*/
66this.clear=function(str){return str.replace(/<.*?>/g,"")};
67/*---------------验证数据合法性---------------*/
68this.regular=function(str,rtype){
69	var sReg="",errs="";
70	if(str=="")return "";
71	switch(rtype){
72		case "enint":sReg=/([a-zA-Z0-9]+)+$/;errs="字母或数字";break;
73		case "enintxhx":sReg=/([a-zA-Z0-9_]+)+$/;errs="字母数字或下划线";break;
74		case "enintxhx2":sReg=/^([a-zA-Z]+)([a-zA-Z0-9_]+)$/;errs="字母数字或下划线,必须以字母开头";break;
75		case "txt2":str=str.replace("\r\n","");sReg=/([^'\"]+)+$/;errs="不能有单引号,双引号";break;
76		case "txt":sReg=/([0-9\a-z\A-Z\u4E00-\u9FA5]+)+$/;errs="中文,数字或字母";break;
77		case "int":sReg=/([0-9]+)+$/;errs="数字,不支持小数点";break;
78		case "num":sReg=/([0-9\.]+)+$/;errs="数字,可以有小数点";break;
79		case "allnum":sReg=/([0-9\.\-]+)+$/;errs="整数、小数、负数";break;
80		case "en":sReg=/([a-zA-Z]+)+$/;errs="大小写字母";break;
81		case "cn":sReg=/([\u4E00-\u9FA5]+)+$/;errs="中文汉字";break;
82		case "email":sReg=/[_a-zA-Z\d\-\.]+@[_a-zA-Z\d\-]+(\.[_a-zA-Z\d\-]+)+$/;errs="正确的邮箱地址";break;
83		case "mobile":sReg=/1([0-9]{10})$/;errs="正确的手机号码";break;
84		case "date":sReg=/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/;errs="日期,如 2011-10-08";break;
85		case "time":sReg=/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})( |\/)(\d{1,2})(:|\/)(\d{1,2})(:|\/)(\d{1,2})$/;errs="时间,如 1990-01-01 14:31:20";break;
86		case "other":return "";break;
87		};
88	if(str.replace(sReg,"")!="")return "<span class=\"red\">输入有误,请符合以下格式:</span><br>"+errs;
89	return "";
90	};
91this.infoint=function(args){
92	var obj=args.obj || null;
93	if(!obj)return;
94	var min=args.min || 0;
95	var max=args.max || 99999999;
96	var ev=args.ev || "blur";
97	obj.bind("focus",function(){
98		$(this).select();
99	}).bind(ev,function(){
100		var n=$(this).val().replace(/([^0-9]+)/g,"");
101		if(n=="")n=min;
102		n=parseInt(n);
103		if(n<min)n=min;
104		if(n>max)n=max;
105		$(this).val(n);
106		});
107	};
108/*---------------loading---------------*/
109this.load=function(args){
110	var log=args.log || "open";
111	var ico=args.ico || "ok";
112	var msg=args.msg || "正在载入";
113	switch(log){
114		case "open":
115			if($("#tcz_loading").length>0){
116				$("#tcz_loading_tip").html(msg);
117				$("#tcz_loading_text").show();
118				$("#tcz_loading").show();
119				if(ico=="no")$("#tcz_loading_ico").hide();
120				else $("#tcz_loading_ico").show();
121				var obj=$("#tcz_loading");
122			}else{
123				var html="<div class='ui_loading' id='tcz_loading'><div class=\"bg\"></div><div class=\"text\" id=\"tcz_loading_text\">";
124				if(ico=="ok")html+="<img src=\""+tczAppsui.path+"images/b.gif\" id=\"tcz_loading_ico\">";
125				html+="<span id=\"tcz_loading_tip\">"+msg+"</span></div></div>";
126				var obj=$(html);
127				$(document.body).append(obj);
128				};
129			//var l=($(window).width()-$("#tcz_loading_text").outerWidth())/2+$(document).scrollLeft();
130			//var t=($(window).height()-$("#tcz_loading_text").outerHeight())/2+$(document).scrollTop();
131			var l=($(window).width()-$("#tcz_loading_text").outerWidth())/2;
132			var t=($(window).height()-$("#tcz_loading_text").outerHeight())/2;
133			$("#tcz_loading_text").css({left:l+"px",top:t+"px"});
134			obj.css({height:$(document).height()+"px",width:$(document).width()+"px"});
135		break;
136		case "close":
137			$("#tcz_loading_text").fadeOut(500,function(){
138				$("#tcz_loading").hide();
139				});
140		break;
141		};
142	};
143/*---------------倒计时---------------*/
144this.timeup=function(args){
145	var endtime=args.endtime;
146	var diff=args.diff;
147	//endtime=new Date(endtime).getTime();	//取结束日期(毫秒值)
148	var nowtime=new Date().getTime()/1000+diff;		//今天的日期(秒值)
149	var seconds=Math.floor(endtime-nowtime);			//还有几秒
150	var minutes=Math.floor(seconds/60);
151	var hours=Math.floor(minutes/60);
152	var days=Math.floor(hours/24);
153	hours=hours%24;
154	minutes=minutes%60;
155	seconds=Math.floor(seconds%60);		//"%"是取余运算,可以理解为60进一后取余数,然后只要余数。
156	var res={status:0,days:days,hours:hours,minutes:minutes,seconds:seconds};
157	if(endtime<=nowtime)res.status=1;
158	return res;
159	};
160/*---------------数据输入框---------------*/
161this.infonum=function(args){
162	var log=args.log || "info";	//add,red,info 增加,减少,输入
163	var inpid=args.inpid;
164	var min=args.min || 0;
165	var max=args.max || 99999999;
166	var unit=args.unit || 1;	//增减单位
167	var n=$("#"+inpid).val();
168	switch(log){
169		case "info":if(n=="")return;n=PZ.n(n);break;
170		case "add":n=PZ.n(n);n+=unit;break;
171		case "red":n=PZ.n(n);n-=unit;break;
172		};
173	if(n<min)n=min;else if(n>max)n=max;
174	$("#"+inpid).val(n);
175	if(args.callback)args.callback();
176	};
177/*---------------黑色背景提示,适用手机---------------*/
178this.blacktip=function(args){
179var log=args.log || "open";
180var msg=args.msg || "请注意...";
181var delay=args.delay || 2000;	//多少毫秒后关闭,1不关闭
182switch(log){
183	case "open":
184		var cn=args.cn || PZ.n1(5);
185		if($("#qyk_blacktip").length>0){
186			$("#qyk_blacktip").attr("cn",cn);
187			$("#qyk_blacktip>.blackmsg").html(msg);
188			if(delay>1){
189				window.setTimeout("PZ.blacktip({log:'close',cn:'"+cn+"'})",delay);
190				};
191			if(args.callback)args.callback();
192		}else{
193			$(document.body).append("<div cn='"+cn+"' id='qyk_blacktip' class='ui_blacktip' style='display:none'><div class='blackmsg'>"+msg+"</div></div>");
194			$("#qyk_blacktip").fadeIn(function(){
195				if(delay>1){
196					window.setTimeout("PZ.blacktip({log:'close',cn:'"+cn+"'})",delay);
197					};
198				if(args.callback)args.callback();
199				});
200			};
201		return cn;
202	break;
203	case "close":
204		var cn=args.cn || "";
205		$("#qyk_blacktip[cn='"+cn+"']").fadeOut(function(){
206			if(args.callback)args.callback();
207			$("#qyk_blacktip").remove();
208			});
209	break;
210	};
211};
212/*---------------飞行提示信息---------------*/
213this.fly=function(args){
214	var ico=args.ico || "alert";	//none,alert,error,success
215	var delay=args.delay || 1000;	//多少毫秒后关闭
216	var id=args.id || "fly_"+PZ.n1(8);
217	var icoarr={"alert":"&#xe7bb;","error":"&#xe7b6;","success":"&#xe7da;","help":"&#xe65b;"};
218	var boxw=480;	//pc端
219	var boxl=($(window).width()-boxw)/2;	//pc端
220	var boxy=$(window).height()*0.15;
221	if(tczAppsui.mobile){
222		boxw=$(window).width()-20;
223		boxl=0;
224		boxy=0;
225		};
226	if($("#qyk_flybox").length==0)$(document.body).append("<div id='qyk_flybox' class='ui_fly' style='width:"+boxw+"px;left:"+boxl+"px;top:"+boxy+"px'></div>");
227	var html="<div id='"+id+"' class='fly_msg fly_"+ico+"' style='display:none'>"+
228	"<div class='fly_line' style='width:100%;display:none'></div>"+
229	"<a class='fly_body' href='javascript:'><span class='qykicon'>"+icoarr[ico]+"</span>"+args.msg+"</a>"+
230	"<a class='fly_close' href='javascript:'><span class='qykicon'>&#xe605;</span></a>"+
231	"</div>";
232	$("#qyk_flybox").append(html);
233	var msgh=$("#"+id).outerHeight();
234	var msgy=10;
235	var func=function(){
236		if(args.link)$("#"+id+">.fly_body").click(function(){
237			location.href=args.link;
238			});
239		var closefunc=function(){
240			if($("#"+id+">.fly_line").length==0)return;
241			$("#"+id+">.fly_line").remove();
242			$("#"+id).animate({opacity:"0",top:(msgy-msgh)+"px"},300,function(){
243				$("#"+id).slideUp(300,function(){
244					$("#"+id).remove();
245					if($("#qyk_flybox>.fly_msg").length==0)$("#qyk_flybox").remove();
246					});
247				if(args.callback)args.callback();
248				});
249			};
250		$("#"+id+">.fly_line").show().animate({width:"0px"},delay,closefunc);
251		$("#"+id+">.fly_close").click(closefunc);
252		};
253	$("#"+id).css({top:(msgy-msgh)+"px"}).animate({opacity:"show",top:msgy+"px"},300,func);
254	return id;
255	};
256/*---------------模拟警告框---------------*/
257this.e=function(args){
258	var ico=args.ico || "alert";	//none,alert,error,success
259	var title=args.title || "系统提示";
260	var close=args.close || "none";
261	var btn=args.btn || [{text:"确 定",close:"ok"}];
262	var icoarr={"alert":"&#xe7bb;","error":"&#xe7b6;","success":"&#xe7da;","help":"&#xe65b;"};
263	var html="<div class='win_info_alert'>";
264	if(ico!="none")html+="<div class=\"ico\"><span class=\"qykicon "+ico+"\">"+icoarr[ico]+"</span></div>";
265	html+="<div class=\"text\">"+args.msg+"</div></div>";
266	var id=PZ.win({title:title,close:close,type:"html",content:html,btn:btn});
267	};
268/*---------------模拟窗口---------------*/
269this.win=function(args){
270	var log=args.log || "open";		//操作方式
271	var id=args.id || "win_"+PZ.n1(8);
272	var title=args.title || "";
273	var content=args.content || "";
274	var type=args.type || "html";
275	var close=args.close || "ok";	//是否有关闭按钮
276	var shadow=args.shadow || 1;	//阴影样式
277	var animate=args.animate || 1;	//动画样式 0不启用 1-3
278	//var callback=args.callback;
279	var w=args.w || 0;		//默认窗口宽 0为自动 iframe载入方式必须指定
280	var h=args.h || 0;		//默认窗口高 0为自动
281	switch(log){
282		case "change":	//改变大小及位置
283			var x=args.x || 0;
284			var y=args.y || 0;
285			$("#"+id+"_info").css({width:"auto",height:"auto"});
286			if(w==0){w=$("#"+id+"_info").width()};
287			if(h==0){h=$("#"+id+"_info").height()};
288			if(w<180)w=180;if(h<80)h=80;
289			var x=($(window).width()-w)/2;
290			var y=($(window).height()-h)/2;
291			if(x<0)x=0;if(y<0)y=0;
292			$("#"+id+"_info").css({width:w+"px",height:h+"px"});
293			if(animate==99){
294				$("#"+id).css({left:x+"px",top:y+"px",width:w+"px",height:h+"px"});
295				if(args.callback)args.callback();
296			}else{
297				$("#"+id+"_close").hide();
298				$("#"+id).animate({left:x+"px",top:y+"px",width:w+"px",height:h+"px"},200,function(){
299					if(close=="ok")$("#"+id+"_close").show();
300					if(args.callback)args.callback();
301					});
302				};
303			return;
304		break;
305		case "close":
306			if($("#"+id).length==0){
307				if(args.callback)args.callback();
308				return;
309				}
310			var func=function(){
311				$("#"+id).remove();
312				if($(".win_block").length==0)$("#tcz_window").remove();
313				else{
314					var cc=PZ.n($("#tcz_window>div:last").css("z-index"));
315					$("#tcz_window_bg").css({zIndex:cc});
316					};
317				if(args.callback)args.callback();
318				};
319			//$("#"+id+"_close").hide();
320			switch(animate){
321				case 0:
322					func();
323				break;
324				case 1:	//淡出
325					var t=($(window).height()-$("#"+id).outerHeight())/2-30;
326					$("#"+id).animate({top:t+"px",opacity:0}
326,300,func);
327				break;
328				case 2:	//从下到上擦除
329					$("#"+id).slideUp(200,func);
330				break;
331				case 3:	//从大变小
332					var t=($(window).height()-2)/2;
333					var l=($(window).width()-2)/2;
334					$("#"+id).animate({top:t+"px",left:l+"px",width:"2px",height:"2px",opacity:0.1},200,func);
335				break;
336				};
337			return;
338		break;
339		};
340	if($("#"+id).length>0)return;//如果相同ID的窗口存在则不再创建
341	if($("#tcz_window").length==0){
342		var objdiv=$("<div class='ui_window' id='tcz_window' style='height:"+$(document).height()+"px'></div>");
343		$(document.body).append(objdiv);
344		};
345	var cc=1;
346	if($("#tcz_window>div:last").length>0)cc=PZ.n($("#tcz_window>div:last").css("z-index"))+1;
347	if($("#tcz_window_bg").length==0){
348		var objdiv2=$("<div class='win_bg' style='z-index:"+cc+"' id='tcz_window_bg'></div>");
349		$("#tcz_window").append(objdiv2);
350	}else{
351		$("#tcz_window_bg").css({zIndex:cc});
352		};
353	var html="<div class='win_block' id='"+id+"' style='z-index:"+cc+"'>";
354	if(close=="ok")html+="<a class='win_close' id='"+id+"_close' href='javascript:'>×</a>";
355	//html+="<div class='win_shadow"+shadow+"' id='"+id+"_shadow'></div>";
356	html+="<div class='win_info' id='"+id+"_info'>";
357	if(title!=""&&title!="none")html+="<div class='win_info_title'>"+title+"</div>";
358	html+=content+"</div>";
359	var objdiv3=$(html);
360	$("#tcz_window").append(objdiv3);
361	if(close=="ok"){
362		$("#"+id+"_close").click(function(){
363			if(args.closeback)PZ.win({log:"close",id:id,animate:animate,callback:args.closeback});
364			else PZ.win({log:"close",id:id,animate:animate});
365			});
366		};
367	if(args.btn){
368		var btnlen=args.btn.length;
369		if(btnlen>0){
370			btnhtml="<div class='win_info_btn' id='"+id+"_btn'></div>";
371			$("#"+id+"_info").append(btnhtml);
372			for(var i=0;i<btnlen;i++){
373				(function(){
374					var btn=args.btn[i];
375					var css=btn.css || "default";
376					//if(css==""){
377						//if(args.btn.length==1)css="light";else css="default";
378						//};
379					var btnclose=btn.close || "ok";
380					btnhtml="<a href=\"javascript:\" id=\""+id+"_btn_"+i+"\" class=\""+css+"\" style=\"width:"+(100/btnlen)+"%\">"+btn.text+"</a>";
381					$("#"+id+"_btn").append(btnhtml);
382					$("#"+id+"_btn_"+i).click(function(){
383						 if(btn.close=="ok")PZ.win({log:"close",id:id});
384						if(btn.callback)btn.callback();
385						});
386					})();
387				};
388			};
389		};
390	if(w==0){w=$("#"+id+"_info").outerWidth()};
391	if(h==0){h=$("#"+id+"_info").height()};
392	if(w<180)w=180;if(h<80)h=80;
393	//alert(w);
394	var l=($(window).width()-w)/2;
395	var t=($(window).height()-h)/2;
396	if(l<0)l=0;if(t<0)t=0;
397	$("#"+id+"_info").css({width:w+"px",height:h+"px"});
398	if(animate!=3)$("#"+id).css({left:l+"px",top:t+"px",width:w+"px",height:h+"px"});
399	var func=function(){
400		if(args.callback)args.callback();
401		};
402	switch(animate){
403		case 0:
404			func();
405		break;
406		case 1:	//淡入
407			//$("#"+id+"_info").hide();
408			//$("#"+id+"_info").fadeIn(200,func);
409			$("#"+id).css({top:(t-30),opacity:0});
410			$("#"+id).animate({top:t+"px",opacity:1},300,func);
411		break;
412		case 2:	//从上到下擦除
413			$("#"+id).hide();
414			$("#"+id).slideDown(200,func);
415		break;
416		case 3:	//由小变大
417			//$("#"+id).hide();
418			var t2=($(window).height()-2)/2;
419			var l2=($(window).width()-2)/2;
420			$("#"+id).css({left:l2+"px",top:t2+"px",width:"2px",height:"2px"});
421			$("#"+id).animate({top:t+"px",left:l+"px",width:w+"px",height:h+"px"},200,func);
422		break;
423		};
424	return id;
425	};
426/*---------------选项卡---------------*/
427this.cata=function(args){
428	var did=args.did;
429	var btn=$("#tcz_catalist > .catalist > .left > a");
430	var con=$("#tcz_catalist > .catadesc");
431	btn.click(function(){
432		var xu=$(this).index();
433		btn.each(function(){
434			if($(this).index()==xu)$(this).removeClass().addClass("on");
435			else $(this).removeClass().addClass("out");
436			});
437		con.each(function(){
438			if($(this).index()==xu+1){
439				$(this).css({display:""});
440				if(args.callback)args.callback($(this),xu);
441			}else $(this).css({display:"none"});
442			});
443		});
444	};
445/*---------------提示信息---------------*/
446this.tip=function(args){
447	var msg=args.msg;
448	var obj=args.obj;
449	var delay=args.delay || 5000;
450	var log=args.log || "open";
451	var id=args.id || "tip_"+PZ.n1(8);
452	switch(log){
453		case "open":
454			var upclose=args.upclose || "ok";
455			if($("#"+id).length>0)$("#"+id).remove();
456			var tip=$("<div class='ui_tip' id='"+id+"'><div class='arrow'></div>"+msg+"</div>");
457			$(document.body).append(tip);
458			var w=tip.width();
459			var h=tip.innerHeight();
460			if(w<80)w=80;if(h<20)h=20;
461			var pos=obj.offset();
462			var x=pos.left;
463			var y=pos.top-h-9;
464			var st=$(document).scrollTop();
465			if(x<0)x=0;if(y<0)y=0;
466			if(st>y)window.scrollTo(0,y);
467			tip.css({left:x+"px",top:y+"px",width:w+"px",display:"none"});
468			var closefunc=function(){
469				if(tip.length>0){
470					if(upclose=="ok")$(document.body).unbind("click",closefunc);
471					tip.fadeOut(200,function(){
472						if(tip.length>0)tip.remove();
473						});
474					};
475				};
476			tip.fadeIn(200,function(){
477				if(delay>0)window.setTimeout(closefunc,delay);
478				if(upclose=="ok")$(document.body).bind("click",closefunc);
479				});
480			//return id;
481		break;
482		case "close":
483			$("#"+id).fadeOut(200,function(){$("#"+id).remove()});
484		break;
485		case "addover":
486			obj.bind("mouseover",function(){
487				PZ.tip({log:"open",obj:obj,id:id,msg:msg,delay:10000});
488				});
489			obj.bind("mouseleave",function(){
490				PZ.tip({log:"close",id:id});
491				});
492		break;
493		case "addfocus":
494			obj.bind("focus",function(){
495				PZ.tip({log:"open",obj:obj,id:id,msg:msg,delay:30000});
496				});
497			obj.bind("blur",function(){
498				PZ.tip({log:"close",id:id});
499				});
500		break;
501		case "addone":
502			var inp=args.focus || obj;
503			inp.one("blur",function(){
504				PZ.tip({log:"close",id:id});
505				});
506			PZ.tip({log:"open",obj:obj,id:id,msg:msg,delay:10000});
507			inp.focus();
508		break;
509		};
510	};
511/*---------------密码输入框---------------*/
512this.passinp=function(args){
513	var id=args.id;
514	var css=$("#"+id).attr("class");
515	$("#"+id).val("请输入密码").attr('readonly',true).css({color:"#999",background:"#e8e8e8"});
516	var func=function(){
517		if($("#"+id).length==0)return;
518		if($("#"+id).attr("type")!="text")return;
519		$("#"+id).unbind().replaceWith("<input type='password' id='"+id+"' class='"+css+"' onfocus='this.select()'>");
520		$("#"+id).focus();
521		};
522	$("#"+id).bind("click",func);
523	window.setTimeout(func,3000);
524	};
525/*---------------模拟下拉菜单---------------*/
526this.select=function(args){
527	var log=args.log || "create";
528	var sid=args.sid;
529	//var id=args.id || "sel_"+PZ.n1(8);
530	var id=sid+"_select";
531	var w=args.w || 0;
532	var child=args.child || [];
533	var parent=args.parent || "";
534	switch(log){
535		case "create":
536			if($("#"+sid).length==0)return;
537			if(w==0)w=$("#"+sid).outerWidth()-2;
538			var def=args.def || "";
539			$("#"+sid).hide();
540			var text=$("#"+sid+" option:selected").text();
541			if(text=="")text=def;
542			var ml=parseInt($("#"+sid).css("marginLeft"));
543			var mr=parseInt($("#"+sid).css("marginRight"));
544			var ss="width:"+w+"px;"+(ml>0?"margin-left:"+ml+"px;":"")+(mr>0?"margin-right:"+mr+"px;":"");
545			var sel="<div class='ui_select' id='"+id+"' style='"+ss+"' dis='no'><div class='sel_out' id='"+id+"_out' style='width:"+(w-2)+"px'><div id='"+id+"_info' class='sel_info' style='width:"+(w-40)+"px'>"+text+"</div><div class='sel_arrow'></div></div></div>";
546			$("#"+sid).before(sel);
547			$("#"+id).mouseover(function(){
548				if($("#"+id+"_out").attr("class")=="sel_out"){
549					$("#"+id+"_out").removeClass().addClass("sel_on");
550					};
551				});
552			$("#"+id).mouseout(function(){
553				if($("#"+id+"_out").attr("class")=="sel_on"){
554					$("#"+id+"_out").removeClass().addClass("sel_out");
555					};
556				});
557			if($("#"+sid).attr("disabled")){
558				PZ.select({sid:sid,log:"disabled"});
559				};
560			$("#"+id).click(function(){
561				if($("#"+id+"_out").attr("class")=="sel_dis")return;
562				if($("#"+id+"_opt").length==0){
563					var val=$("#"+sid+" option:selected").val();
564					$("#"+id+"_out").removeClass().addClass("sel_down");
565					var optlink="";
566					if(args.types){
567						optlink="<div class='loadsel'><img src='"+tczAppsui.path+"images/ui/loading_s.gif'>请稍候...</div>";
568					}else{
569						var optlen=$("#"+sid+" option").length;
570						for(var i=0;i<optlen;i++){
571							var css=$("#"+sid+" option")[i].value==val?"on":"out";
572							var _text=$("#"+sid+" option")[i].text;
573							//if(optlen==1&&_text=="")_text=def;
574							optlink+="<a class='"+css+"' href='javascript:' onmouseup=\"PZ.select({log:'check',sid:'"+sid+"',val:'"+$("#"+sid+" option")[i].value+"'})\">"+_text+"</a>";
575							};
576						};
577					var pos=$("#"+id).offset();
578					var x=pos.left;
579					var y=pos.top+$("#"+id).outerHeight();
580					var optdiv=$("<div class='ui_select_opt' id='"+id+"_opt' style='width:"+(w-4)+"px;left:"+x+"px;top:"+y+"px'>"+optlink+"</div>");
581					$(document.body).append(optdiv);
582					//optdiv.hide();
583					if(args.types){
584						var bval="";
585						if(parent!=""){
586							bval=$("#"+parent).val();
587							if(bval==""||bval==null||bval==0){
588								PZ.tip({obj:$("#"+parent+"_select"),msg:"请先选择该项再选择下一级菜单",delay:1500});
589								PZ.select({log:"del",sid:sid});
590								return;
591								};
592							};
593						//alert("顶层"+bval)
594						$.ajax({
595							type:"GET",
596							url:"/?log=post&desc=select&bval="+PZ.en(bval)+"&types="+args.types,
597							cache:false,
598							dataType:"json",
599							success:function(res){
600								eval("var data="+res.data);
601								var datalen=data.length;
602								optlink="";
603								if(datalen==0){
604									optlink+="<a class='on' href='#' onmouseup=\"PZ.select({log:'check',sid:'"+sid+"',val:'',text:'"+def+"'})\" onclick=\"return false\">暂无选项</a>";
605								}else{
606									for(var i=0;i<datalen;i++){
607										var css=data[i].val==val?"on":"out";
608										optlink+="<a class='"+css+"' href='#' onmouseup=\"PZ.select({log:'check',sid:'"+sid+"',text:'"+data[i].text+"',val:'"+data[i].val+"'})\" onclick=\"return false\">"+data[i].text+"</a>";
609										};
610									};
611								optdiv.html(optlink);
612								PZ.select({log:"resel",sid:sid});
613								}
614							});
615						}else PZ.select({log:"resel",sid:sid});
616						$(document.body).bind("mouseup", function(event){
617							//alert(event.tagName)
618							PZ.select({log:"del",sid:sid});
619							});
620					//alert("add")
621					};
622				});
623		break;
624		case "resel":
625			var h=$("#"+sid+"_select_opt").height();
626			if(h>380)$("#"+sid+"_select_opt").css({height:"380px",overflow:"auto",overflowX:"hidden"});
627		break;
628		case "check":
629			var val_old=$("#"+sid).val() || "";
630			var val=args.val;
631			if(val_old==val)return;
632			//$("#"+sid).show();
633			try{
634				$("#"+sid).val(val);
635				$("#"+sid).change();
636			}catch(e){};
637			var text=args.text || "";
638			//alert(text)
639			if(text=="")text=$("#"+sid+" option:selected").text();
640			if(text!=$("#"+sid+" option:selected").text()){
641				$("#"+sid).append("<option value='"+val+"' selected>"+text+"</option>");
642				};
643			//$("#"+sid).hide();
644			$("#"+id+"_info").html(text);
645			PZ.select({log:"del",sid:sid});
646			if($("select[parent='"+sid+"']").length>0){
647				$("select[parent='"+sid+"']").each(function(){
648					var pid=$(this).attr("id") || null;
649					if(pid)PZ.select({log:'check',sid:pid,val:""});
650					});
651				};
652		break;
653		case "disabled":
654			var type=true;
655			if(args.type==false)type=false;
656			if(type)$("#"+id+"_out").removeClass().addClass("sel_dis");
657			else $("#"+id+"_out").removeClass().addClass("sel_out");
658		break;
659		case "del":
660			$(document.body).unbind("mouseup");
661			$("#"+id+"_out").removeClass().addClass("sel_out");
662			$("#"+id+"_opt").fadeOut(200,function(){
663				$("#"+id+"_opt").remove();
664				});
665		break;
666		};
667	};
668/*---------------图片浏览器---------------*/
669this.photobox=function(args){
670	var css=args.css || ""
671	var qykphoto=args.qykphoto || "";
672	var arr;
673	if(css!="")arr=$("."+css);
674	else if(qykphoto!="")arr=$("[qykphoto='qyk_photobox']");
675	//alert(arr.length)
676	var xu=args.xu || 0;
677	var len=arr.length;
678	if(len==0)return;
679	var func=function(myxu){
680		PZ.load({log:"open"});
681		var obj=$(arr[myxu-1]);
682		if(obj.is("img")){
683			var url=arr[myxu-1].src;
684			var big=obj.attr("big");
685			if(big!=""&&typeof(big)!="undefined")url=big;
686			var title=arr[myxu-1].alt;
687		}else{
688			var url=arr[myxu-1].href;
689			var title=arr[myxu-1].title;
690			};
691		var xu_pre=myxu-1<1?len:myxu-1;
692		var xu_next=myxu+1>len?1:myxu+1;
693		var mw=$(window).width();
694		var mh=$(window).height();
695		var img=new Image();
696		img.onload=function(){
697			PZ.load({log:"close"});
698			var w=img.width;var h=img.height;
699			if(w>mw){w=mw;h=w/img.width*img.height};
700			if(h>mh){h=mh;w=h/img.height*img.width};
701			if($("#tcz_photobox").length==0){
702				var objdiv="<div class='ui_photobox' id='tcz_photobox'>"+
703				"<div class=\"box_img\"><img src=\""+tczAppsui.path+"images/b.gif\" style=\"width:2px;height:2px;left:"+(mw-2)/2+"px;top:"+(mh-2)/2+"px\"></div>"+
704				//"<div class=\"box_foot\" style=\"display:none\"><div class=\"box_tit\">&nbsp;</div><div class=\"box_xu\">0 / 0</div></div>"+
705				"<a class=\"box_pre\" href=\"javascript:\">&nbsp;</a>"+
706				"<a class=\"box_next\" href=\"javascript:\">&nbsp;</a>"+
707				"<a class=\"box_close\" href=\"javascript:\"><span class=\"qykicon\">&#xe605;</span></a>"+
708				"</div>";
709				$(document.body).append($(objdiv));
710				$("#tcz_photobox>.box_close").click(function(){
711					$("#tcz_photobox").fadeOut(200,function(){
712						$(this).remove();
713						});
714					});
715				};
716			var imgl=(mw-w)/2;
717			var imgt=(mh-h)/2;
718			$("#tcz_photobox>.box_img>img").hide().attr("src",url).animate({
719				opacity:"toggle",width:w,height:h,left:imgl,top:imgt},200,function(){
720					
721				});
722			/*
723			$("#tcz_photobox>.box_img").hide().html("<img width=\""+w+"\" height=\""+h+"\" src=\""+url+"\" style=\"left:"+imgl+"px;top:"+imgt+"px\">").animate(200,function(){
724				$("#tcz_photobox>.box_img").fadeIn(400,function(){
725					$("#tcz_photobox>.box_foot").slideDown(200);
726					});
727				});
728			*/
729			if(len>1){
730				$("#tcz_photobox>.box_pre").bind("click",function(){
731					$(this).unbind("click");
732					$("#tcz_photobox>.box_next").unbind("click");
733					PZ.photobox({css:css,qykphoto:qykphoto,xu:xu_pre});
734					});
735				$("#tcz_photobox>.box_next").bind("click",function(){
736					$(this).unbind("click");
737					$("#tcz_photobox>.box_pre").unbind("click");
738					PZ.photobox({css:css,qykphoto:qykphoto,xu:xu_next});
739					});
740			}else{
741				$("#tcz_photobox>.box_pre").hide();
742				$("#tcz_photobox>.box_next").hide();
743				//$("#tcz_photobox>.box_close").hide();
744				};
745			};
746		img.src=url;
747		};
748	if(xu>0){func(xu);return};
749	arr.each(function(){
750		if($(this).is("img")&&$(this).parent().is("a")){
751			
752		}else{
753			$(this).click(function(){
754				var myxu=arr.index(this)+1;
755				func(myxu);
756				return false;
757				});
758			};
759		});
760	};
761/*---------------链接新窗打开---------------*/
762this.openlink=function(obj){
763	$(obj).attr("target","_blank");
764	return true;
765	};
766/*---------------显示时间---------------*/
767this.viewtime=function(args){
768	var obj=args.obj;
769	var func=function(){
770		var d=new Date(),str="";
771		str+=d.getFullYear()+"å¹´";
772		str+=d.getMonth()+1+"月";
773		str+=d.getDate()+"日 ";
774		str+=d.getHours()+"时";
775		str+=d.getMinutes()+"分";
776		str+=d.getSeconds()+"秒";
777		obj.html(str);
778		window.setTimeout(func,1000);
779		};
780	func();
781	};
782/*---------------获取URL---------------*/
783this.getlink=function($url){
784	return '/api.php?/'+$url;
785	};
786/*---------------弹出留言界面---------------*/
787this.openfeedback=function(){
788	var html="<div class=\"ui_feedback\">"+
789		"<div class=\"list\"><span class=\"cname\">"+qyklang.feedback.open.name+":</span><span class=\"inp\"><input type=\"text\" id=\"post_name\"></span><span class=\"tips\"><b class='red'>*</b></span></div>"+
790		"<div class=\"list\"><span class=\"cname\">"+qyklang.feedback.open.email+":</span><span class=\"inp\"><input type=\"text\" id=\"post_email\"></span><span class=\"tips\"><b class='red'>*</b> "+qyklang.feedback.open.email_tip+"</span></div>"+
791		"<div class=\"list\"><span class=\"cname\">"+qyklang.feedback.open.tel+":</span><span class=\"inp\"><input type=\"text\" id=\"post_phone\"></span></div>"+
792		"<div class=\"list\"><span class=\"cname\">"+qyklang.feedback.open.upload+":</span><span class=\"inp\"><input type='hidden' id='post_attachment'><a href='javascript:' class='upload' id='post_upfile_out'></a></span><span class=\"tips\"><b>*</b> "+qyklang.feedback.open.upload_tip+"</span></div>"+
793		"<div class=\"list\" style=\"height:170px\"><span class=\"cname\">"+qyklang.feedback.open.content+":</span><span class=\"inp2\"><textarea id=\"post_content\"></textarea></span></div>"+
794		//"<div class=\"list\" style=\"height:170px\"><span class=\"cname\">"+qyklang.feedback.open.content+":</span><span class=\"inp2\"><div class='infotext' contentEditable=true id='post_content'></div></span></div>"+
795		"</div>";
796	var wfid=PZ.win({id:"win_feedback",title:qyklang.feedback.open.title,content:html,btn:[
797		{text:qyklang.feedback.open.btn1,callback:function(){
798			PZ.sendfeedback();
799			}},
800		{text:qyklang.feedback.open.btn2,close:"ok"}
801		],callback:function(){
802			$("#post_name").focus();
803			var uphtml="<form action='/api.php?log=feedback_upload' id='post_feedback_form' name='post_feedback_form' encType='multipart/form-data' method='post' target='hidden_frame'><input type='hidden' name='log' value='feedback_upload'><span id='post_upfile_text'>"+qyklang.feedback.open.upload_start+"</span><input type='file' name='file' id='post_upfile'><iframe name='hidden_frame' id='hidden_frame' style='display:none'></iframe>";
804			$("#post_upfile_out").html(uphtml);
805			$("#post_upfile_text").bind("click",function(){
806				$("#post_upfile_out").html(uphtml);
807				});
808			$("#post_upfile").bind("change",function(){
809				var file=$("#post_upfile").val();
810				if(file!=""){
811					var args=file.split(".");
812					var ftype=args[args.length-1].toLowerCase();
813					if("|gif|png|jpg|rar|zip|doc|".indexOf("|"+ftype+"|")==-1){
814						PZ.tip({obj:$("#post_upfile_out"),msg:qyklang.feedback.open.upload_tip,upclose:"ok"});
815						$("#post_upfile_out").html(uphtml);
816					}else{
817						$("#post_upfile_text").css({"color":"#ff0"}).html(qyklang.feedback.open.upload_cancel);
818						$("#post_upfile").hide();
819						};
820				}else{
821					$("#post_upfile_text").css({'color':""}).html(qyklang.feedback.open.upload_start);
822					};
823				});
824			}});
825	};
826/*---------------提交留言---------------*/
827this.sendfeedback_upload=function(args){
828	var log=args.log || "success";
829	switch(log){
830		case "success":
831			$("#post_attachment").val(args.file);
832			PZ.sendfeedback();
833		break;
834		case "error":
835			PZ.load({log:"close"});
836			PZ.e({msg:args.msg});
837		break;
838		};
839	};
840this.sendfeedback=function(){
841	var args=arguments[0] || {};
842	var name=PZ.trim($("#post_name").val());
843	var email=PZ.trim($("#post_email").val());
844	var phone=PZ.trim($("#post_phone").val());
845	var content=PZ.trim($("#post_content").val());
846	if(name==""){PZ.tip({log:"addone",obj:$("#post_name"),msg:qyklang.feedback.send.name});return;};
847	if(email==""&&phone==""){PZ.tip({log:"addone",obj:$("#post_phone"),msg:qyklang.feedback.send.email});return;};
848	if(content==""){PZ.tip({log:"addone",obj:$("#post_content"),msg:qyklang.feedback.send.content});return;};
849	var data="lang="+tczAppsui.lang+"&name="+PZ.en(name)+"&email="+PZ.en(email)+"&phone="+PZ.en(phone)+"&content="+PZ.en(content);
850	PZ.load({log:"open",msg:qyklang.feedback.send.load});
851	var attachment=$("#post_attachment").val();
852	if($("#post_upfile").length>0){
853		if($("#post_attachment").val()==""&&$("#post_upfile").val()!=""){
854			$("#post_feedback_form").submit();
855			return;
856			};
857		data+="&attachment="+PZ.en(attachment);
858		};
859	$.ajax({
860		type:"POST",
861		url:"/?log=post&desc=feedback",
862		data:data,
863		cache:false,
864		dataType:"json",
865		success:function(res){
866			PZ.load({log:"close"});
867			//alert(res);return;
868			switch(res.status){
869				case 0:
870					if(args.success)args.success();
871					else{
872						if($("#win_feedback").length>0)PZ.win({log:"close",id:"win_feedback"});
873						PZ.e({ico:"success",close:"no",msg:qyklang.feedback.send.success,btn:[
874							{text:qyklang.feedback.send.btn,callback:function(){
875								PZ.reload();
876								}}
877							]});
878						};
879				break;
880				default:PZ.e({ico:"error",msg:res.data});break;
881				};
882			}
883		});
884	};
885/*---------------工具栏---------------*/
886this.tool=function(args){
887	if(!tczAppsui.tool)return;
888	var top=args.top || 150;
889	var html="<div class='ui_sidetool' id='tcz_sidetool'><div class='con' style='display:none'><div class='arrow'></div><div class='desc'></div></div><div class='win'>";
890		if(tczAppsui.tool_customer!="")html+="<a tag='customer' href='javascript:' class='out' title='"+qyklang.tool.customer+"'><div class='bg'></div><div class='ico qq'></div></a>";
891		if(tczAppsui.tool_skype!="")html+="<a tag='skype' href='javascript:' class='out' title='"+qyklang.tool.skype+"'><div class='bg'></div><div class='ico skype'></div></a>";
892		if(tczAppsui.tool_phone!="")html+="<a tag='phone' href='javascript:' class='out' title='"+qyklang.tool.phone+"'><div class='bg'></div><div class='ico contact'></div></a>";
893		if(tczAppsui.tool_weixin!="")html+="<a tag='weixin' href='javascript:' class='out' title='"+qyklang.tool.weixin+"'><div class='bg'></div><div class='ico weixin'></div></a>";
894		if(tczAppsui.tool_feedback)html+="<a tag='feedback' href='javascript:' class='out' title='"+qyklang.tool.feedback+"'><div class='bg'></div><div class='ico feedback'></div></a>";
895		html+="<a tag='close' href='javascript:' class='out' onclick=\"$('#tcz_sidetool').remove()\" title='"+qyklang.tool.close+"'><div class='bg'></div><div class='ico close'></div></a>";
896		html+="</div></div>";
897	$("body").append($(html));
898	var st=$(document).scrollTop()+top;
899	$("#tcz_sidetool").css({top:st+"px"});
900	var timer;
901	$("#tcz_sidetool>.win>a").click(function(){
902		var tag=$(this).attr("tag");
903		if(tag=="feedback"){
904			PZ.openfeedback();
905			return;
906			};
907		eval("var cont=tczAppsui.tool_"+tag);
908		$('#tcz_sidetool>.con>.desc').html(cont);
909		var pos=$(this).position();
910		var y=pos.top;
911		if($('#tcz_sidetool>.con').is(":hidden")){
912			$('#tcz_sidetool>.con').css({top:y+"px"}).fadeIn(200);
913		}else{
914			$('#tcz_sidetool>.con').animate({top:y+"px"},100);
915			};
916		});
917	$('#tcz_sidetool').mouseleave(function(){
918		timer=window.setTimeout(function(){
919			$("#tcz_sidetool>.con").fadeOut(500);
920			},500)
921		});
922	$('#tcz_sidetool').mouseover(function(){
923		window.clearTimeout(timer);
924		});
925	$(window).bind("scroll",function(){
926		var qqfunc=function(){
927			if($("#tcz_sidetool").length>0){
928				var st=$(document).scrollTop()+top;
929				$("#tcz_sidetool").animate({top:st});
930				};
931			};
932		window.clearTimeout(timer);
933		timer=window.setTimeout(qqfunc,100);
934		});
935	};
936/*---------------banner---------------*/
937this.banner=function(args){
938	var obj=args.obj;
939	var btn=args.btn || "dot";	//close表示关闭
940	var pos=args.pos || "center";
941	var animate=args.animate || 5;	//0随机 1无动画
942	var order=args.order || 1;	//1正常 2随机
943	var target=args.target || "";	//链接打开方式
944	var item=obj.find("a");
945	var len=item.length;
946	if(len==0){
947		var w=obj.width();
948		if(w==$(window).width())w=1920;
949		var h=obj.height();
950		obj.html("<p style='padding:10px'>暂无数据,推荐尺寸(宽x高):"+w+"x"+h+"</p>");
951		return;
952		};
953	var delay=args.delay || 5000;
954	var but="";
955	var i=0;
956	var list=[];
957	var on=1;
958	var timer;
959	item.each(function(){
960		var css=i==0?"on":"out";
961		var text=$(this).attr("title");
962		var link=$(this).attr("href");
963		var img=$(this).find("img:first").attr("src");
964		var other=$(this).attr("other");
965		list.push({text:text,link:link,img:img,other:other});
966		but+="<div xu='"+i+"' class='"+css+"' onclick=\""+(target=="new"?"window.open('"+link+"')":"location.href='"+link+"'")+"\"><span>"+(i+1)+"</span></div>";
967		i++;
968		});
969	var html="<div class='banner'><span style=\"background-image:url('"+list[0].img+"')\"></span></div>"
970		+"<div class='click' style=\"background:url('"+tczAppsui.path+"images/b.gif')\"></div>"
971		+"<div class='picbtn_"+btn+"'><div class='btnscro'>"+but+"</div></div>";
972	obj.html(html);
973	var b1=obj.find(".btnscro>div:eq(0)");
974	var ow=b1.outerWidth()+parseInt(b1.css("marginLeft"))+parseInt(b1.css("marginRight"));
975	ow=ow*len;
976	switch(pos){
977		case "center":
978			obj.find(".picbtn_"+btn).css({width:ow+"px",left:"50%",marginLeft:-(ow/2)+"px"});
979		break;
980		case "left":
981			obj.find(".picbtn_"+btn).css({width:ow+"px",left:"10px",right:"auto"});
982		break;
983		case "right":
984			obj.find(".picbtn_"+btn).css({left:"auto",width:ow+"px",right:"10px"});
985		break;
986		};
987	var ck=obj.find(".click");
988	ck.mouseover(function(){
989		window.clearTimeout(timer);
990	}).mouseleave(function(){
991		timer=window.setTimeout(start,delay);
992	}).click(function(){
993		//obj.find(".btnscro>.on").trigger("click");
994	}).bind("touchstart mousedown",function(e){
995		var e=e||event;
996		var x=e.clientX || e.pageX;
997		if(e.originalEvent.targetTouches)x=e.originalEvent.targetTouches[0].pageX;
998		//$(window).bind("touchmove mousemove touchcancel mouseup",function(){});
999		$(window).bind("touchend touchcancel mouseup",function(e2){
1000			var e2=e2||event;
1001			var x2=e2.clientX || e2.pageX;
1002			if(e.originalEvent.targetTouches)x2=e.originalEvent.targetTouches[0].pageX;
1003			if(isNaN(x)||isNaN(x2))return;
1004			$(window).unbind("touchend touchcancel mouseup");
1005			if(x2-x>50){	//上一张
1006				on-=2;
1007				if(on<0)on=len-1;
1008				start();
1009			}else if(x-x2>50){	//下一张
1010				start();
1011			}else{
1012				obj.find(".btnscro>.on").trigger("click");
1013				};
1014			});
1015		});
1016	obj.find(".btnscro>div").mouseover(function(){
1017		window.clearTimeout(timer);
1018		var xu=PZ.n($(this).attr("xu"));
1019		on=xu;
1020		start();
1021		});
1022	var start=function(){
1023		if(len<=1)return;
1024		window.clearTimeout(timer);
1025		var ban=obj.find(".banner>span:eq(0)");
1026		obj.find(".btnscro>.on").removeClass("on").addClass("out");
1027		obj.find(".btnscro>div:eq("+on+")").removeClass("out").addClass("on");
1028		var ani=animate;
1029		if(animate==0)ani=PZ.n3(2,8);
1030		switch(ani){
1031			case 2: //渐显
1032				ban.before("<span style=\"background-image:url('"+list[on].img+"')\"></span>").fadeOut(500,function(){
1033					ban.remove();
1034					});
1035			break;
1036			case 3:	//左到右
1037				var aw=obj.outerWidth();
1038				ban.before("<span style=\"background-image:url('"+list[on].img+"');left:-"+aw+"px\"></span>");
1039				ban.animate({left:aw},200,function(){ban.remove()});
1040				obj.find(".banner>span:eq(0)").animate({left:0},300);
1041			break;
1042			case 4:	//右到左
1043				var aw=obj.outerWidth();
1044				ban.before("<span style=\"background-image:url('"+list[on].img+"');left:"+aw+"px\"></span>");
1045				ban.animate({left:-aw},200,function(){ban.remove()});
1046				obj.find(".banner>span:eq(0)").animate({left:0},300);
1047			break;
1048			case 5:	//放大消失
1049				ban.before("<span style=\"background-image:url('"+list[on].img+"')\"></span>");
1050				ban.animate({left:"-50%",top:"-50%",width:"200%",height:"200%",opacity:"toggle"},500,function(){ban.remove()});
1051			break;
1052			case 6:	//缩小消失
1053				ban.before("<span style=\"background-image:url('"+list[on].img+"')\"></span>");
1054				ban.animate({left:"50%",top:"50%",width:"0",height:"0",opacity:"toggle"},500,function(){ban.remove()});
1055			break;
1056			case 7:	//向上消失
1057				ban.before("<span style=\"background-image:url('"+list[on].img+"')\"></span>");
1058				ban.animate({top:"-50%",opacity:"toggle"},500,function(){ban.remove()});
1059			break;
1060			case 8:	//向下消失
1061				ban.before("<span style=\"background-image:url('"+list[on].img+"')\"></span>");
1062				ban.animate({top:"50%",opacity:"toggle"},500,function(){ban.remove()});
1063			break;
1064			default:
1065				ban.before("<span style=\"background-image:url('"+list[on].img+"')\"></span>");
1066				ban.remove();
1067			break;
1068			};
1069		
1070		if(order==2){
1071			on=PZ.n3(0,len-1);
1072		}else{
1073			on++;
1074			if(on>=len)on=0;
1075			};
1076		timer=window.setTimeout(start,delay);
1077		};
1078	timer=window.setTimeout(start,delay);
1079	};
1080/*---------------获取点击数---------------*/
1081this.getarticlehits=function(did,modtype,dataid){
1082	$.ajax({
1083		type:"POST",
1084		url:"/?log=post&desc=getarticlehits",
1085		data:"modtype="+modtype+"&dataid="+dataid,
1086		cache:false,
1087		dataType:"json",
1088		success:function(res){
1089			switch(res.status){
1090				case 0:
1091					$("#"+did).html(res.data);
1092				break;
1093				};
1094			}
1095		});
1096	};
1097/*---------------评论留言---------------*/
1098this.comment=function(args){
1099	var log=args.log || "start";
1100	var mod=args.mod || 1;
1101	var size=args.size || 1;
1102	switch(log){
1103		case "editor":
1104			var ht=args.ht || 100;
1105			var html='<div class="comm_send"><a style="display:none" class="comm_send_close" href="javascript:PZ.comment({log:\'reply\'})">×</a>
1105<input type="hidden" id="tcz_comment_dataid" value="0"><div class="comm_send_inp comm_send_inp_out" contentEditable=true id="tcz_comment_content" isedit="no" style="height:'+ht+'px">'+qyklang.comment.send.text+'</div>'
1106				+'<div class="comm_send_btn"><div class="comm_send_btn_left"><a class="comm_btn_face" href="javascript:" title="'+qyklang.comment.send.face+'"><img src="'+tczAppsui.path+'images/b.gif"></a></div><div class="comm_send_btn_right"><a href="javascript:">'+qyklang.comment.send.btn+'</a></div><div class="comm_send_btn_name"><span class="name">'+tczAppsui.cook.uname+'</span><span>'+(tczAppsui.login?'<a href="javascript:" onclick="PZ.login({log:\'out\'})">'+qyklang.comment.send.login_out+'</a>':'<a href="javascript:" onclick="PZ.login({log:\'open\'})">'+qyklang.comment.send.login+'</a>')+'</span></div></div></div>';
1107			return html;
1108		break;
1109		case "reply":
1110			var dataid=args.dataid || 0;
1111			var edi=$(".comm_send");
1112			if(dataid>0){
1113				if($("#comm_li_"+dataid).find(".comm_send").length>0){
1114					$("#tcz_comment_content").focus();
1115					return;
1116					};
1117				//alert($("#comm_li_"+dataid+">.comm_list_block>.comm_list_desc").html())
1118				$("#comm_li_"+dataid+">.comm_list_block>.comm_list_desc").after(edi);
1119			}else{
1120				$(".ui_comment").prepend(edi);
1121				};
1122			$("#tcz_comment_dataid").val(dataid);
1123			$("#tcz_comment_content").focus();
1124			$(".comm_send").hide().fadeIn(500,function(){
1125				if(dataid==0){
1126					//$("#tcz_comment_content").blur();
1127					$(".comm_send_close").hide();
1128				}else{
1129					$("#tcz_comment_content").focus();
1130					$(".comm_send_close").show();
1131					};
1132				});
1133		break;
1134		case "start":
1135			var input=args.input || "ok";
1136			var dataid=args.dataid || tczAppsui.argid || 0;
1137			var bcat=args.bcat || tczAppsui.argbcat || 0;
1138			//alert(dataid);
1139			if(dataid==0)mod=2;
1140			var postdata="mod="+mod+"&size="+size;
1141			var langlist=qyklang.comment.list;
1142			if(mod==2)langlist=qyklang.comment.list2;
1143			else if(mod==1)postdata+="&dataid="+dataid+"&bcat="+bcat;
1144			var ht=args.ht || 40;
1145			var ht_on=args.ht_on || 100;
1146			var status=$("#tcz_comment").attr("status");
1147			if(status=="no"){
1148				var html="";
1149				if(input=="ok")html=PZ.comment({log:"editor",mod:mod,ht:ht});
1150				html+='<div class="comm_top"><div class="comm_top_left">'+langlist.title+'</div>'
1151				+'<div class="comm_top_right">'+langlist.tips1+'<span>...</span> '+langlist.tips2+'</div></div>'
1152				+'<ul class="comm_list" id="tcz_comment_list">...</ul>'
1153				+'<div class="comm_page" id="tcz_comment_page" style="display:none"></div>';
1154				$("#tcz_comment").attr("status","success").html(html);
1155				$("#tcz_comment_content").css({width:$("#tcz_comment_content").width()+"px"});
1156				$(".ui_comment").on("click",".comm_btn_face",function(){
1157					PZ.comment({log:"instr",cata:"face"});
1158					});
1159				$(".ui_comment").on("focus",".comm_send_inp",function(){
1160					if($(this).attr("isedit")!="ok")$(this).attr("isedit","ok").html("");
1161					$(this).removeClass("comm_send_inp_out").addClass("comm_send_inp_on");
1162					if(Math.floor($("#tcz_comment_dataid").val())==0)$(this).animate({height:ht_on},200);
1163					else $(this).css({height:"60px"});
1164				}).on("blur",".comm_send_inp",function(){
1165					if($(this).html()==""){
1166						$(this).attr("isedit","no").html(qyklang.comment.send.text).removeClass("comm_send_inp_on").addClass("comm_send_inp_out");
1167						if(Math.floor($("#tcz_comment_dataid").val())==0)$(this).animate({height:ht},200);
1168						};
1169				}).keypress(function(e){
1170					if(window.event.keyCode==13||e.which==13){
1171						e.which=0;
1172						window.event.keyCode=0;
1173						PZ.comment({log:"instr",cata:"br"});
1174						return false;
1175						};
1176				}).keydown(function(e){
1177					if(e.ctrlKey&&(e.which==86||e.which==66||e.which==13)){
1178						switch(e.which){
1179							case 13:PZ.comment({log:"send",mod:mod,size:size,dataid:dataid,bcat:bcat});break;
1180							case 86:
1181							break;
1182							case 66:
1183							break;
1184							};
1185						e.which=0;
1186						window.event.keyCode=0;
1187						return false;
1188						};
1189					});
1190				$(".comm_send_btn_right>a").click(function(){
1191					PZ.comment({log:"send",mod:mod,size:size,dataid:dataid,bcat:bcat});
1192					});
1193				};
1194			var page=args.page || 1;
1195			var scro=args.scro || false;
1196			var load=args.load || false;
1197			if(load)PZ.load({log:"open"});
1198			$.ajax({
1199				type:"POST",
1200				url:"/?log=post&desc=comment_list&page="+page,
1201				data:postdata,
1202				cache:false,
1203				dataType:"json",
1204				success:function(res){
1205					PZ.load({log:"close"});
1206					//alert(res);return;
1207					switch(res.status){
1208						case 0:
1209							var fid=Math.floor($("#tcz_comment_dataid").val());
1210							if(fid>0)PZ.comment({log:"reply"});
1211							$("#tcz_comment").find(".comm_top_right>span").html(res.cont);
1212							$("#tcz_comment_list").html(res.data);
1213							$("#tcz_comment_page").show().html(res.other);
1214							if(scro){
1215								var pos=$("#tcz_comment").find(".comm_top").offset();
1216								var h=pos.top;
1217								$("html,body").animate({scrollTop:h},500);
1218								};
1219						break;
1220						default:PZ.fly({msg:qyklang.comment.start.error});break;
1221						};
1222					}
1223				});
1224		break;
1225		case "instr":
1226			var cata=args.cata || "face";
1227			var text=args.text || "";
1228			switch(cata){
1229				case "br":
1230					var msg=$("#tcz_comment_content").html();
1231					text="<br>";
1232					var reg=/(<br\/?[^>]*>)$/;
1233					if(msg.match(reg)==null){
1234						text+="<br>";
1235						};
1236				break;
1237				case "face":
1238					if(args.url){
1239						text="<img class=\"face\" src=\""+tczAppsui.path+"images/face/"+args.url+"\">";
1240						if($("#tcz_face").length>0)$("#tcz_face").hide();
1241					}else{
1242						if($("#tcz_face").length>0){
1243							$("#tcz_face").show();
1244						}else{
1245							var html="<div class='ui_modwin' id='tcz_face' mod='face'><div class='tab' mod='face'><a class='on' href='javascript:' mod='face'>经典</a><a class='out' href='javascript:' mod='face'>毛笔</a></div>";
1246							html+="<div class='scro scro1' id='tcz_face_scro0'><div class='icon'>";
1247							for(var i=1;i<=105;i++){
1248								html+="<img src='"+tczAppsui.path+"images/b.gif' onclick=\"PZ.comment({log:'instr',cata:'face',url:'qq/"+(i-1)+".gif'})\" onmouseover=\"this.style.backgroundColor='#fff';this.style.backgroundImage='url("+tczAppsui.path+"images/face/qq/"+(i-1)+".gif)'\" onmouseout=\"this.style.background=''\">";
1249								};
1250							html+="</div></div>";
1251							html+="<div class='scro scro2' id='tcz_face_scro1' style='display:none'><div class='icon'>";
1252							for(var i=1;i<=26;i++){
1253								var xu=i<10?"0"+i:i;
1254								html+="<img src='"+tczAppsui.path+"images/b.gif' onclick=\"PZ.comment({log:'instr',cata:'face',url:'maobi/"+xu+".gif'})\" onmouseover=\"this.style.backgroundColor='#fff';this.style.backgroundImage='url("+tczAppsui.path+"images/face/maobi/"+xu+".gif)'\" onmouseout=\"this.style.background=''\">";
1255								};
1256							html+="</div></div>";
1257							html+="</div>";
1258							$(document.body).append(html);
1259							$("#tcz_face>.tab>a").each(function(i){
1260								$(this).bind("mouseover",function(){
1261									$("#tcz_face>.tab>a").attr("class","out");
1262									$(this).attr("class","on");
1263									$("#tcz_face>.scro").hide();
1264									$("#tcz_face_scro"+i).show();
1265									});
1266								});
1267							};
1268						var pos=$("#tcz_comment").find(".comm_send_btn").offset();
1269						var l=pos.left-1;
1270						var t=pos.top-$("#tcz_face").outerHeight()+1;
1271						if(t<0)t=0;
1272						$("#tcz_face").css({top:t+"px",left:l+"px"});
1273						$(document.body).bind("mouseup",function(e){
1274							var mod=$(e.target).attr("mod") || null;
1275							if(mod!="face"){
1276								$("#tcz_face").hide();
1277								$(document.body).unbind();
1278								};
1279							});
1280						return;
1281						};
1282				break;
1283				};
1284			var range,node;
1285			if(!$("#tcz_comment_content").is(":focus"))$("#tcz_comment_content").focus();
1286			if (window.getSelection&&window.getSelection().getRangeAt){
1287				range=window.getSelection().getRangeAt(0);
1288				range.collapse(false);
1289				node=range.createContextualFragment(text);
1290				var c=node.lastChild;
1291				range.insertNode(node);
1292				if(c){
1293					range.setEndAfter(c);
1294					range.setStartAfter(c)
1295					};
1296				//alert(range);
1297				var j = window.getSelection();
1298				j.removeAllRanges();
1299				j.addRange(range);
1300			}else if(document.selection&&document.selection.createRange){
1301				document.selection.createRange().pasteHTML(text);
1302				};
1303		break;
1304		case "send":
1305			var dataid=args.dataid || tczAppsui.argid || 0;
1306			var bcat=args.bcat || tczAppsui.argbcat || 0;
1307			var isedit=$("#tcz_comment_content").attr("isedit");
1308			var msg=PZ.trim($("#tcz_comment_content").html());
1309			if(isedit=="no")msg="";
1310			else{
1311				msg=msg.replace(/^\n+|\n+$/ig,"");	//过滤头尾回车
1312				msg=msg.replace(/&nbsp;/ig," ");	//转换空格
1313				msg=msg.replace(/(^\s*)|(\s*$)/ig,"");	//过滤头尾空格
1314				msg=msg.replace(/<br\/?[^>]*>/ig,"{br}");	//转换行
1315				msg=msg.replace(/<p\/?[^>]*>/ig,"{br}");	//转换行
1316				msg=msg.replace(/<\/p\/?[^>]*>/ig,"");	//转换行
1317				msg=msg.replace(/\<img(.*?)src\=\"\/([^\"]+)"([^>]?)>/ig,"{img:$2}"); //转换图片
1318				msg=msg.replace(/<\/?[^>]*>/ig,"");	//过滤所有HTML
1319				msg=msg.replace(/((\{br\})+)/ig,"{br}"); //将多个空行合并成一行
1320				msg=msg.replace(/^((\{br\})+)|(\{br\})*$/ig,""); //过滤头尾换行
1321				var msg2=msg.replace(/ | |&nbsp;|\{br\}/g,"");
1322				};
1323			if(msg==""||msg2==""){
1324				$("#tcz_comment_content").html("");
1325				PZ.tip({log:"addone",obj:$("#tcz_comment_content"),msg:qyklang.comment.send.error1});
1326				//$("#tcz_comment_content").html("").focus();
1327				return;
1328				};
1329			var msg2=msg2.replace(/\{img:([^\}]+)\}/ig,"");
1330			if(msg2==""){
1331				PZ.tip({log:"addone",obj:$("#tcz_comment_content"),msg:qyklang.comment.send.error2});
1332				//$("#tcz_comment_content").focus();
1333				return;
1334				};
1335			msg3=msg.replace(/\{br\}|\{img:([^\}]+)\}/ig,"-");	//一个换行及表情算1个字符
1336			var msg_len=PZ.getlen(msg3);
1337			if(msg_len>1000){
1338				PZ.tip({log:"addone",obj:$("#tcz_comment_content"),msg:qyklang.comment.send.error3+"<span class='blue'>"+msg_len+" / 1000</span>"});
1339				//$("#tcz_comment_content").focus();
1340				return;
1341				};
1342			var scro=true;
1343			var fid=Math.floor($("#tcz_comment_dataid").val());
1344			if(fid>0){
1345				scro=false;
1346				PZ.comment({log:"reply"});
1347				};
1348			PZ.load({log:"open",msg:qyklang.comment.send.load});
1349			var name=PZ.en(tczAppsui.cook.uname);
1350			msg=PZ.en(msg);
1351			var postdata="name="+name+"&content="+msg;
1352			if(mod==1)postdata+="&dataid="+dataid+"&topid="+fid+"&bcat="+bcat;
1353			$.ajax({
1354				type:"POST",
1355				url:"/?log=post&desc=comment",
1356				data:postdata,
1357				cache:false,
1358				dataType:"json",
1359				success:function(res){
1360					PZ.load({log:"close"});
1361					switch(res.status){
1362						case 0:
1363							$("#tcz_comment_content").html("").trigger("blur");
1364							if(res.data=="yes"){
1365							PZ.fly({delay:500,msg:qyklang.comment.send.success,callback:function(){
1366								PZ.load({msg:qyklang.comment.send.reload});
1367								PZ.comment({log:"start",mod:mod,size:size,scro:scro,bcat:bcat,dataid:dataid});
1368								}});
1369							}else{
1370								PZ.e({msg:qyklang.comment.send.success_no});
1371								};
1372						break;
1373						default:PZ.e({ico:"error",msg:res.data});break;
1374						};
1375					}
1376				});
1377		break;
1378		};
1379	};
1380/*---------------心情---------------*/
1381this.expmood=function(args){
1382	var log=args.log || "start";
1383	var text=args.text || qyklang.expmood.text;
1384	var did=args.did;
1385	var xu=args.xu || "0";
1386	var text_arr=text.split(",");
1387	switch(log){
1388		case "start":
1389			var icon=args.icon || "1";
1390			var html="<div class=\"moodout\"><a href=\"javascript:\" class=\"mood1\"><div class=\"moodtip moodtip_"+icon+"\">"+text_arr[0]+"</div><div class=\"moodnum\"></div></a></div>"
1391			+"<div class=\"moodout\"><a href=\"javascript:\" class=\"mood2\"><div class=\"moodtip moodtip_"+icon+"\">"+text_arr[1]+"</div><div class=\"moodnum\"></div></a></div>"
1392			+"<div class=\"moodout\"><a href=\"javascript:\" class=\"mood3\"><div class=\"moodtip moodtip_"+icon+"\">"+text_arr[2]+"</div><div class=\"moodnum\"></div></a></div>"
1393			+"<div class=\"moodout\"><a href=\"javascript:\" class=\"mood4\"><div class=\"moodtip moodtip_"+icon+"\">"+text_arr[3]+"</div><div class=\"moodnum\"></div></a></div>"
1394			+"<div class=\"moodout\"><a href=\"javascript:\" class=\"mood5\"><div class=\"moodtip moodtip_"+icon+"\">"+text_arr[4]+"</div><div class=\"moodnum\"></div></a></div>";
1395			$("#"+did).html(html);
1396			$("#"+did+">div").bind("click",function(){
1397				var xu=$(this).index()+1;
1398				PZ.expmood({did:did,log:"click",xu:xu});
1399				});
1400		break;
1401		case "click":
1402			$("#"+did+">div").unbind();
1403			var obj=$("#"+did+">div>a:eq("+(xu-1)+")");
1404			obj.addClass("moodclick");
1405		break;
1406		};
1407	var func=function(){
1408		$.ajax({
1409			type:"POST",
1410			url:"/?log=post&desc=expmood",
1411			data:"xu="+xu+"&bcat="+tczAppsui.argbcat+"&id="+tczAppsui.argid,
1412			cache:false,
1413			dataType:"json",
1414			success:function(res){
1415				switch(res.status){
1416					case 0:
1417						eval("var arr="+res.data);
1418						for(var i=0;i<5;i++)$("#"+did).find(".moodnum:eq("+i+")").html("<span>"+arr[i].num+"</span> ("+arr[i].scale+")");
1419					break;
1420					default:
1421						PZ.fly({msg:res.data});
1422					break;
1423					};
1424				}
1425			});
1426		};
1427	func();
1428	};
1429/*---------------日历---------------*/
1430this.calendar=function(args){
1431	var id=args.id;
1432	var ym=args.ym || "";
1433	var mark=args.mark || "";
1434	$.ajax({
1435		type:"POST",
1436		url:"/?log=post&desc=calendar",
1437		data:"mark="+mark+"&ym="+PZ.en(ym)+"&did="+id,
1438		cache:false,
1439		dataType:"json",
1440		success:function(res){
1441			switch(res.status){
1442				case 0:
1443					$("#"+id).html(res.data);
1444				break;
1445				};
1446			}
1447		});
1448	};
1449/*---------------代码高亮---------------*/
1450this.showcode=function(){
1451	if($("#qyk_showcode").length>0)return;
1452	var showfunc=function(){
1453		$("pre").each(function(){
1454			var cc=$(this).attr("class");
1455			if(/brush/i.test(cc)){
1456				SyntaxHighlighter.highlight(cc);
1457				};
1458			});
1459		$(".syntaxhighlighter").each(function(){
1460			var _this=$(this);
1461			$(this).find(".container>.line").each(function(){
1462				var h=$(this).height();
1463				var xu=$(this).index();
1464				//alert(xu+" - "+h+"\n"+$(this).html());
1465				_this.find(".gutter>.line:eq("+xu+")").css({height:h+"px"});
1466				});
1467			});
1468		};
1469	$.getScript(tczAppsui.path+"res/SyntaxHighlighter/shCore.js",function(){
1470		$.ajax({
1471			url:tczAppsui.path+"res/SyntaxHighlighter/shCoreDefault.css",
1472			success:function(data){
1473				$('<style type="text/css">' + data.replace(/url\(images/g, 'url(/css/images') + '</style>').appendTo('head'); 
1474				showfunc();
1475				}
1476			});
1477		});
1478	};
1479/*---------------搜索---------------*/
1480this.search=function(args){
1481	var log=args.log || "start";
1482	var mark=args.mark || "news";
1483	var seartype=args.seartype || "aaa";
1484	if($("#qyk_sear_type").length>0)seartype=$("#qyk_sear_type").val();
1485	switch(log){
1486		case "load":
1487			if($("select[id='qyk_sear_mark']").length>0)PZ.select({sid:"qyk_sear_mark",w:110});
1488			$("#qyk_sear_word").bind("keypress",function(event){
1489				if(event.keyCode=="13"){
1490					PZ.search({mark:mark});
1491					};
1492				});
1493			if($("#qyk_sear_word").val()!=""&&tczAppsui.seartype==seartype){
1494				$("#qyk_sear_word").select();
1495			}else{
1496				$("#qyk_sear_word").val("");
1497				};
1498		break;
1499		case "start":
1500			var word=$("#qyk_sear_word").val();
1501			if($("#qyk_sear_mark").length>0)mark=$("#qyk_sear_mark").val();
1502			if(word==""){
1503				$("#qyk_sear_word").focus();
1504				PZ.fly({msg:qyklang.search.error});
1505				return;
1506				};
1507			if(mark==""){
1508				PZ.fly({msg:qyklang.search.error2});
1509				return;
1510				};
1511			if(seartype==""){
1512				PZ.fly({msg:qyklang.search.error3});
1513				return;
1514				};
1515			var url="/?log="+mark+"&seartype="+seartype+"&word="+PZ.en(word);
1516			if(tczAppsui.usestatic)url="/"+mark+"/so?word="+PZ.en(word)+"&seartype="+seartype;
1517			location.href=url;
1518		break;
1519		};
1520	};
1521this.login=function(args){
1522	var log=args.log || "open";
1523	var cancel=args.cancel || null;
1524	switch(log){
1525		case "go":
1526			var inpcode=$("#post_user_code");
1527			var inppass=$("#post_user_pass");
1528			var keys="";
1529			if($("#post_user_keys").length>0)keys=$("#post_user_keys").val();
1530			if($("#post_user_code2").length>0&&$("#post_user_pass2").length>0){
1531				inpcode=$("#post_user_code2");
1532				inppass=$("#post_user_pass2");
1533			};
1534			var code=inpcode.val();
1535			var pass=inppass.val();
1536			if(code.length<5||code.length>20){
1537				PZ.tip({log:"addone",obj:inpcode,msg:"登录账号不能为空"});
1538				return false;
1539				};
1540			if(pass.length<5||pass.length>20){
1541				PZ.tip({log:"addone",obj:inppass,msg:"登录密码为5~20位"});
1542				return false;
1543				};
1544			PZ.load({log:"open"});
1545			$.ajax({
1546				type:"POST",
1547				url:"/?log=post&desc=login",
1548				data:"code="+PZ.en(code)+"&pass="+PZ.en(pass)+"&keys="+keys,
1549				cache:false,
1550				dataType:"json",
1551				success:function(res){
1552					PZ.load({log:"close"});
1553					//alert(res);return;
1554					switch(res.status){
1555						case 0:
1556							var gourl="";
1557							if($("#post_gourl").length>0)gourl=$("#post_gourl").val();
1558							if($("#win_login").length>0)PZ.win({log:"close",id:"win_login"});
1559							if(res.data!=""){
1560								PZ.fly({ico:"success",msg:res.data,callback:function(){
1561									if(gourl!="")location.href=gourl;
1562									else PZ.reload();
1563								}});
1564							}else{
1565								if(gourl!="")location.href=gourl;
1566								else PZ.reload();
1567							};
1568						break;
1569						case 1:
1570							PZ.tip({log:"addone",obj:inpcode,msg:res.data});
1571						break;
1572						case 2:
1573							PZ.tip({log:"addone",obj:inppass,msg:res.data});
1574						break;
1575						default:PZ.e({ico:"error",msg:res.data});break;
1576						};
1577					}
1578				});
1579			return false;
1580		break;
1581		case "out":
1582			PZ.e({ico:"alert",msg:"您确定要退出登录状态吗?",btn:[
1583				{text:qyklang.login.out_btn1,callback:function(){
1584					PZ.load({log:"open"});
1585					$.ajax({
1586						type:"GET",
1587						url:"/?log=post&desc=login_out",
1588						cache:false,
1589						dataType:"json",
1590						success:function(res){
1591							PZ.load({log:"close"});
1592							switch(res.status){
1593								case 0:
1594									if(args.callback)args.callback();
1595									else PZ.reload();
1596								break;
1597								default:PZ.e({ico:"error",msg:res.data});break;
1598								};
1599							}
1600						});
1601					}},
1602				{text:qyklang.login.out_btn2,close:"ok"}
1603				]});
1604		break;
1605		case "wxbind":
1606			var ww=$(window).width()-80;
1607			ww=ww>280?280:ww;
1608			var keys=args.keys || "";
1609			var api="<a class=\"wxico\" href=\"javascript:\" onclick=\"PZ.login({log:'code',keys:'"+keys+"'});\"><span class=\"qykicon\" style=\"width:"+(ww*44/100)+"px;font-size:90px;height:110px\">&#xe647;</span><div class=\"logintxt\">绑定已有账号</div></a>";
1610			api+="<a class=\"wxico_new\" href=\"javascript:\" onclick=\"PZ.reg({log:'open',keys:'"+keys+"'});\"><span class=\"qykicon\" style=\"width:"+(ww*44/100)+"px;font-size:90px;height:110px\">&#xe647;</span><div class=\"logintxt\">新注册账号</div></a>";
1611			var html="<div class=\"ui_login_api\" style=\"text-align:center;_width:"+ww+"px;min-width:"+ww+"px\"><div class=\"bindtips\">"+args.nick+"</div>"+api+"</div>";
1612			var func=function(){
1613				var wid=PZ.win({title:"微信首次登录请先绑定账号",id:"win_login_wxbind",close:"no",shadow:10,content:html,btn:[
1614					{text:"取 消",callback:function(){
1615						PZ.win({log:"close",id:"win_login"});
1616						if(cancel!=null)cancel();
1617						else PZ.reload();
1618						}}
1619					]});
1620				};
1621			if($("#win_login").length>0){
1622				PZ.win({log:"close",id:"win_login",callback:func});
1623			}else func();
1624		break;
1625		case "open":
1626			var ww=$(window).width()-80;
1627			ww=ww>280?280:ww;
1628			var apilen=tczAppsui.loginapi.weixin+tczAppsui.loginapi.qq+tczAppsui.loginapi.weibo+tczAppsui.loginapi.id+tczAppsui.loginapi.phone;
1629			var fsize=[0,120,90,66,66,66,66][apilen];
1630			var fwidth=ww*([100,100,44,33.3333,33.3333,33.3333,33.3333][apilen])/100;
1631			var fontcss="width:"+fwidth+"px;font-size:"+fsize+"px;height:"+(fsize+20)+"px";
1632			var api="";
1633			var btnarr=[
1634				{text:"取 消",callback:function(){
1635					PZ.win({log:"close",id:"win_login"});
1636					if(cancel!=null)cancel();
1637					}}
1638				];
1639			if(tczAppsui.loginapi.weixin){
1640				if(apilen==1){
1641					PZ.login({log:"wxlogin",cancel:cancel});
1642					return;
1643					};
1644				api+="<a class=\"wxico\" href=\"javascript:\" onclick=\"PZ.login({log:'wxlogin'});\" title=\"微信\"><span class=\"qykicon\" style=\""+fontcss+"\">&#xe647;</span><div class=\"logintxt\">微信</div></a>";
1645				};
1646			if(tczAppsui.loginapi.qq){
1647				if(apilen==1){
1648					PZ.login({log:"qqlogin",cancel:cancel});
1649					return;
1650					};
1651				api+="<a class=\"qqico\" href=\"javascript:\" onclick=\"PZ.login({log:'qqlogin'});\" title=\"QQ\"><span class=\"qykicon\" style=\""+fontcss+"\">&#xe616;</span><div class=\"logintxt\">QQ</div></a>";
1652				};
1653			if(tczAppsui.loginapi.weibo){
1654				if(apilen==1){
1655					PZ.e({msg:"很抱歉,尚未支持新浪微博登录"});
1656					return;
1657					};
1658				api+="<a class=\"wbico\" href=\"javascript:\" onclick=\"PZ.login({log:'code'});\" title=\"新浪微博\"><span class=\"qykicon\" style=\""+fontcss+"\">&#xe847;</span><div class=\"logintxt\">新浪微博</div></a>";
1659				};
1660			if(tczAppsui.loginapi.phone){
1661				if(apilen==1){
1662					PZ.login({log:"phone",cancel:cancel});
1663					return;
1664					};
1665				api+="<a class=\"sjico\" href=\"javascript:\" onclick=\"PZ.login({log:'phone'});\" title=\"手机验证码\"><span class=\"qykicon\" style=\""+fontcss+"\">&#xe846;</span><div class=\"logintxt\">手机验证码</div></a>";
1666				};
1667			if(tczAppsui.loginapi.id){
1668				if(apilen==1){
1669					PZ.login({log:"code",cancel:cancel});
1670					return;
1671					};
1672				api+="<a class=\"idico\" href=\"javascript:\" onclick=\"PZ.login({log:'code'});\" title=\"账号密码\"><span class=\"qykicon\" style=\""+fontcss+"\">&#xe846;</span><div class=\"logintxt\">账号密码</div></a>";
1673				if(tczAppsui.loginapi.idreg!=9){
1674					btnarr.unshift({text:"注册账号",callback:function(){
1675						PZ.reg({log:"open"});
1676						}}
1676);
1677					};
1678				};
1679			var html="<div class=\"ui_login_api\" style=\"text-align:"+(apilen<3?"center":"left")+";_width:"+ww+"px;min-width:"+ww+"px\">"+api+"</div>";
1680			var func=function(){
1681				var wid=PZ.win({title:"选择登录方式",id:"win_login",close:"no",shadow:10,content:html,btn:btnarr});
1682				};
1683			if($("#win_login").length>0){
1684				PZ.win({log:"close",id:"win_login",callback:func});
1685			}else func();
1686		break;
1687		case "phone_yzm":
1688		case "phone_go":
1689			var phone=$("#post_user_phone").val();
1690			var yzm=$("#post_user_yzm").val();
1691			if(phone.length!=11){
1692				PZ.tip({log:"addone",obj:$("#post_user_phone"),msg:"错误的手机号码"});
1693				return false;
1694				};
1695			if(log=="phone_go"){
1696				if(yzm.length!=6){
1697					PZ.tip({log:"addone",obj:$("#post_user_yzm"),msg:"错误的验证码"});
1698					return false;
1699					};
1700			}else{
1701				if($(".ui_login>.list>.send").attr("status")=="no")return;
1702				};
1703			PZ.load({log:"open"});
1704			$.ajax({
1705				type:"POST",
1706				url:"/?log=post&desc=login_phone",
1707				data:"types="+log+"&phone="+phone+"&yzm="+yzm,
1708				cache:false,
1709				dataType:"json",
1710				success:function(res){
1711					PZ.load({log:"close"});
1712					//alert(res);return;
1713					switch(res.status){
1714						case 0:
1715							if(log=="phone_go"){
1716								var gourl="";
1717								if($("#post_gourl").length>0)gourl=$("#post_gourl").val();
1718								if(gourl!="")location.href=gourl;
1719								else PZ.reload();
1720							}else{
1721								PZ.tip({log:"addone",obj:$("#post_user_yzm"),msg:"已发送验证码"});
1722								$("#post_user_phone").attr("readonly",false);
1723								//$("#post_user_nick").attr("readonly",false);
1724								var sec=61;
1725								var secgo=function(){
1726									if($(".ui_login>.list>.send").length==0)return;
1727									sec--;
1728									$(".ui_login>.list>.send").attr("status","no").html(sec);
1729									if(sec==1){
1730										$(".ui_login>.list>.send").attr("status","ok").html("发送验证码");
1731										return;
1732										};
1733									window.setTimeout(secgo,1000);
1734									};
1735								secgo();
1736								};
1737						break;
1738						case 1:
1739							PZ.tip({log:"addone",obj:$("#post_user_phone"),msg:res.data});
1740						break;
1741						case 2:
1742							PZ.tip({log:"addone",obj:$("#post_user_yzm"),msg:res.data});
1743						break;
1744						case 9:
1745							$(".ui_login>.nick").show();
1746							PZ.win({log:"change",id:"win_login",callback:function(){
1747								PZ.tip({log:"addone",obj:$("#post_user_nick"),msg:res.data});
1748								}});
1749						break;
1750						default:PZ.e({ico:"error",msg:res.data});break;
1751						};
1752					}
1753				});
1754		break;
1755		case "phone":
1756			if($("#post_user_phone").length>0){
1757				PZ.win({log:"close",id:"win_login"});
1758				$("#post_user_phone").focus();
1759				return;
1760				};
1761			var func=function(){
1762				var ww=$(window).width()-80;
1763				var css=ww>360?"":"width:"+ww+"px";
1764				var api="";
1765				var html="<div class=\"ui_login\" style=\""+css+"\">"+
1766					"<div class=\"list\"><span class=\"ico qykicon\">&#xe66b;</span><input type=\"number\" maxlength=11 id=\"post_user_phone\" placeholder=\"手机号码\"></div>"+
1767					"<div class=\"list\"><a status=\"ok\" class=\"send\" href=\"javascript:\" onclick=\"PZ.login({log:'phone_yzm'})\">发送验证码</a><span class=\"ico qykicon\">&#xe659;</span><input maxlength=6 type=\"number\" id=\"post_user_yzm\" placeholder=\"6位数字\"></div>"+
1768					"<div class=\"btn\"><a href=\"javascript:\" onclick=\"PZ.login({log:'phone_go'})\">登 录</a></div>"+
1769					"</div>";
1770				var btnarr=[{text:"取 消",callback:function(){
1771						PZ.win({log:"close",id:"win_login"});
1772						if(cancel!=null)cancel();
1773						}}];
1774				//如果有其它登录方式
1775				if(tczAppsui.loginapi.weixin||tczAppsui.loginapi.qq||tczAppsui.loginapi.weibo||tczAppsui.loginapi.phone){
1776					btnarr.unshift({text:"其它方式",callback:function(){
1777						PZ.login({log:"open"});
1778						}});
1779					};
1780				var wid=PZ.win({title:"手机登录",id:"win_login",close:"ok",shadow:10,content:html,callback:function(){
1781						$("#post_user_phone").focus().bind("keypress",function(){
1782							if(event.keyCode=="13")$('#post_user_yzm').focus();
1783							});
1784						$('#post_user_yzm').bind('keypress',function(event){
1785							if(event.keyCode=="13")PZ.login({log:"phone_go"});
1786							});
1787						},btn:btnarr});
1788				};
1789			if($("#win_login").length>0){
1790				PZ.win({log:"close",id:"win_login",callback:func});
1791			}else func();
1792		break;
1793		case "code":
1794			var keys=args.keys || "";
1795			/*
1796			if(!args.keys){
1797				if($("#post_user_code").length>0){
1798					PZ.win({log:"close",id:"win_login"});
1799					$("#post_user_code").focus();
1800					return;
1801					};
1802			};
1803			*/
1804			var func=function(){
1805				var ww=$(window).width()-80;
1806				var css=ww>360?"":"width:"+ww+"px";
1807				var api="";
1808				var html="<input type=\"hidden\" id=\"post_user_keys\" value=\""+keys+"\"><div class=\"ui_login\" style=\""+css+"\">"+
1809					"<div class=\"list\"><span class=\"ico qykicon\">&#xe660;</span><input type=\"text\" id=\"post_user_code2\" placeholder=\"用户名、手机、邮箱\"></div>"+
1810					"<div class=\"list\"><span class=\"ico qykicon\">&#xe603;</span><input type=\"password\" id=\"post_user_pass2\" placeholder=\"登录密码\"></div>"+
1811					"<div class=\"btn\"><a href=\"javascript:\" onclick=\"PZ.login({log:'go'})\">"+(keys==""?"登 录":"登录并绑定")+"</a></div>"+
1812					"</div>";
1813				var btnarr=[
1814					{text:"找回密码",callback:function(){
1815						PZ.win({log:'close',id:'win_login',callback:function(){PZ.findpass({log:"open"})}});
1816						}}
1817					];
1818				if(keys!=""){
1819					btnarr=[
1820					{text:"取 消",close:"ok"}
1821					];
1822				};
1823				if(tczAppsui.loginapi.idreg!=9){
1824					btnarr.unshift({text:(keys==""?"注册账号":"注册新账号"),callback:function(){
1825						PZ.win({log:'close',id:'win_login',callback:function(){PZ.reg({log:"open",keys:keys})}});
1826						}}
1826);
1827					};
1828				if(keys==""&&(tczAppsui.loginapi.weixin||tczAppsui.loginapi.qq||tczAppsui.loginapi.weibo||tczAppsui.loginapi.phone)){
1829					btnarr.unshift({text:"其它方式",callback:function(){
1830							PZ.login({log:"open"});
1831							}});
1832					};
1833				var wid=PZ.win({title:(keys==""?"登录系统":"登录并绑定"),id:"win_login",close:"ok",shadow:10,content:html,callback:function(){
1834						//$(".ui_login>.close").click(function(){PZ.win({log:"close",id:wid})});
1835						$("#post_user_code2").focus().bind("keypress",function(){
1836							if(event.keyCode=="13")$("#post_user_pass2").focus();
1837							});
1838						$("#post_user_pass2").bind("keypress",function(event){
1839							if(event.keyCode=="13")PZ.login({log:"go"});
1840							});
1841						},btn:btnarr});
1842				};
1843			if($("#win_login").length>0){
1844				PZ.win({log:"close",id:"win_login",callback:func});
1845			}else func();
1846		break;
1847		case "qqlogin":
1848			var url=tczAppsui.path+"plugins/qqlogin/api.php?state="+PZ.en(location.href);
1849			if(tczAppsui.mobile){
1850				location.href=url;
1851				return;
1852				};
1853			var html="<div style='width:580px;height:400px'><iframe frameborder=\"0\" scrolling=\"auto\" height=\"100%\" width=\"100%\" src=\""+url+"\"></iframe></div>";
1854			PZ.win({title:"QQ",content:html});
1855		break;
1856		case "wxlogin":
1857			var gourl=location.href;
1858			if(tczAppsui.mobile){
1859				if(PZ.getHardware({types:"iswx"}))location.href=tczAppsui.path+"plugins/wxlogin/login.php?gourl="+PZ.en(gourl);
1860				else PZ.fly({ico:"error",msg:"该登录方式仅限在微信中使用"});
1861				return;
1862				};
1863			var url=tczAppsui.path+"plugins/wxlogin/api.php?gourl="+PZ.en(gourl);
1864			var html="<div style='width:580px;height:360px;overflow:hidden'><iframe frameborder=\"0\" scrolling=\"auto\" height=\"100%\" width=\"100%\" src=\""+url+"\"></iframe></div>";
1865			PZ.win({title:"微信",content:html});
1866		break;
1867		};
1868	};
1869this.reg=function(args){
1870	var log=args.log || "open";
1871	switch(log){
1872		case "success":
1873			var types=args.types || "code";
1874			var ww=$(window).width()-80;
1875			var css=ww>360?"":"width:"+ww+"px";
1876			var mess="欢迎加入"+tczAppsui.webname+"!系统已向您发送注册邮件,请及时查收邮件激活您的邮箱:<br>";
1877			switch(types){
1878				case "phone":
1879					mess="欢迎加入"+tczAppsui.webname+"!请牢记您的注册手机号码:<br>";
1880				break;
1881				case "code2":
1882					mess="欢迎加入"+tczAppsui.webname+"!请牢记您的登录用户名:<br>";
1883				break;
1884			};
1885			var func=function(){
1886				var html="<div class=\"ui_login\" style=\""+css+"\">"+
1887					"<div class=\"success\">"+mess+"<span>"+args.data+"</span></div>"+
1888					"<div class=\"btn\"><a href=\"javascript:\">开 始</a></div>"+
1889					"</div>";
1890				var wid=PZ.win({title:"注册成功",id:"win_login",close:"no",shadow:10,content:html,callback:function(){
1891					$(".ui_login>.btn>a").click(function(){
1892						var gourl="";
1893						if($("#post_gourl").length>0)gourl=$("#post_gourl").val();
1894						if(gourl!="")location.href=gourl;
1895						else PZ.reload();
1896						});
1897					}});
1898				};
1899			if($("#win_login").length>0){
1900				PZ.win({log:"close",id:"win_login",callback:function(){
1901					func();
1902					}});
1903			}else{
1904				func();
1905				};
1906		break;
1907		case "go":
1908			var code=$("#post_user_code2").val();
1909			var pass=$("#post_user_pass1").val();
1910			var email="";
1911			var keys="";
1912			var types="code2";
1913			var types_text=code;
1914			if($("#post_user_keys").length>0)keys=$("#post_user_keys").val();
1915			if(code.length<5||code.length>20){
1916				PZ.tip({log:"addone",obj:$("#post_user_code2"),msg:"用户名为5~20位"});
1917				return;
1918				};
1919			var errtip=PZ.regular(code,"enintxhx2");
1920			if(errtip!=""){
1921				PZ.tip({log:"addone",obj:$("#post_user_code2"),msg:errtip});
1922				return;
1923				};
1924			if(pass.length<5||pass.length>20){
1925				PZ.tip({log:"addone",obj:$("#post_user_pass1"),msg:"密码长度为5~20位"});
1926				return;
1927				};
1928			if(pass!=$("#post_user_pass2").val()){
1929				PZ.tip({log:"addone",obj:$("#post_user_pass2"),msg:"两次输入的密码必须相同"});
1930				return;
1931				};
1932			//if(email=="")email="*";
1933			if($("#post_user_email").length>0){
1934				email=$("#post_user_email").val();
1935				if(email==""){
1936					PZ.tip({log:"addone",obj:$("#post_user_email"),msg:"请输入邮箱地址"});
1937					return;
1938				};
1939				var email_tip=PZ.regular(email,"email");
1940				if(email_tip!=""){
1941					PZ.tip({log:"addone",obj:$("#post_user_email"),msg:email_tip});
1942					return;
1943				};
1944				types="code";
1945				types_text=email;
1946			};
1947			PZ.load({log:"open"});
1948			$.ajax({
1949				type:"POST",
1950				url:"/?log=post&desc=reg",
1951				data:"types=code&code="+PZ.en(code)+"&pass="+PZ.en(pass)+"&email="+PZ.en(email)+"&keys="+PZ.en(keys),
1952				cache:false,
1953				dataType:"json",
1954				success:function(res){
1955					PZ.load({log:"close"});
1956					//alert(res);return;
1957					switch(res.status){
1958						case 0:
1959							PZ.reg({log:"success",types:types,data:types_text});
1960						break;
1961						case 1:PZ.tip({log:"addone",obj:$("#post_user_code2"),msg:res.data});break;
1962						case 2:PZ.tip({log:"addone",obj:$("#post_user_pass1"),msg:res.data});break;
1963						case 3:PZ.tip({log:"addone",obj:$("#post_user_email"),msg:res.data});break;
1964						case 4:PZ.tip({log:"addone",obj:$("#post_user_code2"),msg:res.data});break;
1965						case 5:PZ.tip({log:"addone",obj:$("#post_user_email"),msg:res.data});break;
1966						default:PZ.fly({msg:res.data});break;
1967						};
1968					}
1969				});
1970		break;
1971		case "go_phone_yzm":
1972			if($(".ui_login>.list>.send").attr("status")!="ok")return;
1973			var phone=$("#post_user_phone").val();
1974			var errtip=PZ.regular(phone,"mobile");
1975			if(errtip!=""||phone.length!=11){
1976				PZ.tip({log:"addone",obj:$("#post_user_phone"),msg:"请输入正确的手机号码"});
1977				return;
1978			};
1979			PZ.load({log:"open"});
1980			$.ajax({
1981				type:"POST",
1982				url:"/?log=post&desc=reg_phone",
1983				data:"phone="+phone,
1984				cache:false,
1985				dataType:"json",
1986				success:function(res){
1987					PZ.load({log:"close"});
1988					//alert(res);return;
1989					switch(res.status){
1990						case 0:
1991							$("#post_user_phone").attr("readonly",false);
1992							PZ.tip({log:"addone",obj:$("#post_user_yzm"),msg:"已发送验证码"});
1993							var sec=61;
1994							var secgo=function(){
1995								if($(".ui_login>.list>.send").length==0)return;
1996								sec--;
1997								$(".ui_login>.list>.send").attr("status","no").html(sec);
1998								if(sec==1){
1999									$(".ui_login>.list>.send").attr("status","ok").html("发送验证码");
2000									return;
2001									};
2002								window.setTimeout(secgo,1000);
2003								};
2004							secgo();
2005						break;
2006						case 1:
2007							PZ.tip({log:"addone",obj:$("#post_user_phone"),msg:res.data});
2008						break;
2009						default:PZ.e({ico:"error",msg:res.data});break;
2010						};
2011					}
2012				});
2013		break;
2014		case "go_phone":
2015			var phone=$("#post_user_phone").val();
2016			var yzm=$("#post_user_yzm").val();
2017			var pass=$("#post_user_pass1").val();
2018			var keys="";
2019			if($("#post_user_keys").length>0)keys=$("#post_user_keys").val();
2020			if(phone.length!=11){
2021				PZ.tip({log:"addone",obj:$("#post_user_phone"),msg:"请输入正确的手机号码"});
2022				return;
2023				};
2024			var errtip=PZ.regular(phone,"mobile");
2025			if(errtip!=""){
2026				PZ.tip({log:"addone",obj:$("#post_user_phone"),msg:"请输入正确的手机号码"});
2027				return;
2028			};
2029			var errtip=PZ.regular(yzm,"int");
2030			if(errtip!=""||yzm.length!=6){
2031				PZ.tip({log:"addone",obj:$("#post_user_yzm"),msg:"请输入6位数字验证码"});
2032				return;
2033			};
2034			if(pass.length<5||pass.length>20){
2035				PZ.tip({log:"addone",obj:$("#post_user_pass1"),msg:"密码长度为5~20位"});
2036				return;
2037				};
2038			if(pass!=$("#post_user_pass2").val()){
2039				PZ.tip({log:"addone",obj:$("#post_user_pass2"),msg:"两次输入的密码不相同"});
2040				return;
2041				};
2042			PZ.load({log:"open"});
2043			$.ajax({
2044				type:"POST",
2045				url:"/?log=post&desc=reg",
2046				data:"types=phone&phone="+PZ.en(phone)+"&pass="+PZ.en(pass)+"&yzm="+yzm+"&keys="+PZ.en(keys),
2047				cache:false,
2048				dataType:"json",
2049				success:function(res){
2050					PZ.load({log:"close"});
2051					//alert(res);return;
2052					switch(res.status){
2053						case 0:
2054							PZ.reg({log:"success",types:"phone",data:phone});
2055						break;
2056						case 1:PZ.tip({log:"addone",obj:$("#post_user_phone"),msg:res.data});break;
2057						case 2:PZ.tip({log:"addone",obj:$("#post_user_pass1"),msg:res.data});break;
2058						case 3:PZ.tip({log:"addone",obj:$("#post_user_yzm"),msg:res.data});break;
2059						//case 4:PZ.tip({log:"addone",obj:$("#post_user_code2"),msg:res.data});break;
2060						//case 5:PZ.tip({log:"addone",obj:$("#post_user_email"),msg:res.data});break;
2061						default:PZ.fly({msg:res.data});break;
2062						};
2063					}
2064				});
2065		break;
2066		case "open":
2067			var ww=$(window).width()-80;
2068			var css=ww>360?"":"width:"+ww+"px";
2069			var keys=args.keys || "";
2070			var html="<input id=\"post_user_keys\" type=\"hidden\" value=\""+keys+"\">";
2071			switch(tczAppsui.loginapi.idreg){
2072				case 9:
2073					PZ.e({ico:"error",msg:"很抱歉,未开放注册"});
2074					return;
2075				break;
2076				case 3://用户名+密码 简易模式
2077					html+="<div class=\"ui_login\" style=\""+css+"\">"+
2078						"<div class=\"list\"><span class=\"ico qykicon\">&#xe660;</span><input type=\"text\" id=\"post_user_code2\" placeholder=\"用户名\"></div>"+
2079						"<div class=\"list\"><span class=\"ico qykicon\">&#xe603;</span><input type=\"password\" id=\"post_user_pass1\" placeholder=\"登录密码\"></div>"+
2080						"<div class=\"list\"><span class=\"ico qykicon\">&#xe603;</span><input type=\"password\" id=\"post_user_pass2\" placeholder=\"确认密码\"></div>"+
2081						"<div class=\"btn\"><a href=\"javascript:PZ.reg({log:'go'})\">注 册</a></div>"+
2082						"</div>";
2083				break;
2084				case 2://手机+验证码+密码
2085					html+="<div class=\"ui_login\" style=\""+css+"\">"+
2086						"<div class=\"list\"><span class=\"ico qykicon\">&#xe66b;</span><input type=\"number\" maxlength=11 id=\"post_user_phone\" placeholder=\"手机号码\"></div>"+
2087						"<div class=\"list\"><a status=\"ok\" class=\"send\" href=\"javascript:\" onclick=\"PZ.reg({log:'go_phone_yzm'})\">发送验证码</a><span class=\"ico qykicon\">&#xe659;</span><input maxlength=6 type=\"number\" id=\"post_user_yzm\" placeholder=\"6位数字\"></div>"+
2088						"<div class=\"list\"><span class=\"ico qykicon\">&#xe603;</span><input type=\"password\" id=\"post_user_pass1\" placeholder=\"登录密码\"></div>"+
2089						"<div class=\"list\"><span class=\"ico qykicon\">&#xe603;</span><input type=\"password\" id=\"post_user_pass2\" placeholder=\"确认密码\"></div>"+
2090						"<div class=\"btn\"><a href=\"javascript:\" onclick=\"PZ.reg({log:'go_phone'})\">注 册</a></div>"+
2091						"</div>";
2092				break;
2093				case 1:	//用户名+密码+邮箱
2094					html+="<div class=\"ui_login\" style=\""+css+"\">"+
2095						"<div class=\"list\"><span class=\"ico qykicon\">&#xe660;</span><input type=\"text\" id=\"post_user_code2\" placeholder=\"用户名\"></div>"+
2096						"<div class=\"list\"><span class=\"ico qykicon\">&#xe603;</span><input type=\"password\" id=\"post_user_pass1\" placeholder=\"登录密码\"></div>"+
2097						"<div class=\"list\"><span class=\"ico qykicon\">&#xe603;</span><input type=\"password\" id=\"post_user_pass2\" placeholder=\"确认密码\"></div>"+
2098						"<div class=\"list\"><span class=\"ico qykicon\">&#xe63e;</span><input type=\"text\" id=\"post_user_email\" placeholder=\"邮箱地址\"></div>"+
2099						"<div class=\"btn\"><a href=\"javascript:PZ.reg({log:'go'})\">注 册</a></div>"+
2100						"</div>";
2101				break;
2102			}
2103			var btnarr=[
2104			{text:"取 消",close:"ok"}
2105			];
2106			if(keys==""){
2107				btnarr.unshift({text:"返回登录",callback:function(){
2108					PZ.win({log:"close",id:"win_login",callback:function(){PZ.login({log:"open"})}});
2109				}});
2110			}else{
2111				btnarr.unshift({text:"已有账号",callback:function(){
2112					PZ.win({log:"close",id:"win_login",callback:function(){PZ.login({log:"code",keys:keys})}});
2113				}});
2114			};
2115			var func=function(){
2116				var wid=PZ.win({title:(keys==""?"注册账号":"绑定新账号"),id:"win_login",close:"ok",shadow:10,content:html,btn:btnarr});
2117			};
2118			if($("#win_login").length>0){
2119				PZ.win({log:"close",id:"win_login",callback:function(){
2120					func();
2121					}});
2122			}else{
2123				func();
2124				};
2125		break;
2126		};
2127	};
2128this.findpass=function(args){
2129	var log=args.log || "open";
2130	switch(log){
2131		case "go":
2132			var step=1;
2133			var find=$("#post_user_find").val();
2134			var yzm=$("#post_user_yzm").val();
2135			var pass=$("#post_user_pass1").val();
2136			if(yzm!="")step=2;
2137			var types='email';
2138			if(find==""){
2139				PZ.tip({log:"addone",obj:$("#post_user_find"),msg:"请输入手机或邮箱"});
2140				return;
2141			};
2142			var errtip=PZ.regular(find,"email");
2143			if(errtip!=""){
2144				errtip=PZ.regular(find,"mobile");
2145				if(errtip!=""||find.length!=11){
2146					PZ.tip({log:"addone",obj:$("#post_user_find"),msg:"请输入正确的手机或邮箱"});
2147					return;
2148				};
2149				types='phone';
2150			};
2151			if(step==2){
2152				if(yzm==""){
2153					PZ.tip({log:"addone",obj:$("#post_user_find"),msg:(types=="email"?"请输入邮件验证码":"请输入短信验证码")});
2154					return;
2155				};
2156				if(pass.length<5||pass.length>20){
2157					PZ.tip({log:"addone",obj:$("#post_user_pass1"),msg:"密码长度为5~20位"});
2158					return;
2159				};
2160				if(pass!=$("#post_user_pass2").val()){
2161					PZ.tip({log:"addone",obj:$("#post_user_pass2"),msg:"两次输入的密码必须相同"});
2162					return;
2163				};
2164			};
2165			PZ.load({log:"open"});
2166			var posturl="step="+step+"&types="+types+"&find="+PZ.en(find)+"&yzm="+yzm+"&pass="+PZ.en(pass);
2167			$.ajax({
2168				type:"POST",
2169				url:"/?log=post&desc=findpass",
2170				data:posturl,
2171				cache:false,
2172				dataType:"json",
2173				success:function(res){
2174					PZ.load({log:"close"});
2175					switch(res.status){
2176						case 0:
2177							if(step==1){
2178								$(".ui_login>.yzm").show();
2179								$(".ui_login>.pass").show();
2180								$("#post_user_find").attr("readonly",false);
2181								$("#post_user_btn").html("重设密码");
2182								PZ.win({log:"change",id:"win_login",callback:function(){
2183									PZ.tip({log:"addone",obj:$("#post_user_yzm"),msg:(types=="email"?"已发送邮件验证码":"已发送短信验证码")});
2184									}});
2185							}else{
2186								PZ.win({log:"close",id:"win_login",callback:function(){
2187									PZ.fly({msg:"密码重设成功,请用新密码登录",callback:function(){
2188										PZ.login({log:"open"});
2189										}});
2190									}});
2191							};
2192						break;
2193						case 1:
2194							PZ.tip({log:"addone",obj:$("#post_user_find"),msg:res.data});
2195						break;
2196						case 2:
2197							PZ.tip({log:"addone",obj:$("#post_user_yzm"),msg:res.data});
2198						break;
2199						default:PZ.e({ico:"error",msg:res.data});break;
2200						};
2201					}
2202				});
2203		break;
2204		case "open":
2205			var ww=$(window).width()-80;
2206			var css=ww>360?"":"width:"+ww+"px";
2207			var html="<div class=\"ui_login\" style=\""+css+"\">"+
2208				"<div class=\"list\"><span class=\"ico qykicon\">&#xe660;</span><input type=\"text\" id=\"post_user_find\" placeholder=\"请输入手机或邮箱\"></div>"+
2209				"<div class=\"list yzm\" style=\"display:none\"><span class=\"ico qykicon\">&#xe659;</span><input maxlength=32 type=\"text\" id=\"post_user_yzm\" placeholder=\"验证码\"></div>"+
2210				"<div class=\"list pass\" style=\"display:none\"><span class=\"ico qykicon\">&#xe603;</span><input type=\"password\" id=\"post_user_pass1\" placeholder=\"设置新密码\"></div>"+
2211				"<div class=\"list pass\" style=\"display:none\"><span class=\"ico qykicon\">&#xe603;</span><input type=\"password\" id=\"post_user_pass2\" placeholder=\"再输入一次新密码\"></div>"+
2212				"<div class=\"btn\"><a id=\"post_user_btn\" href=\"javascript:\" onclick=\"PZ.findpass({log:'go'})\">下一步</a></div>"+
2213				"</div>";
2214			var wid=PZ.win({title:"找回密码",id:"win_login",close:"ok",shadow:10,content:html,callback:function(){
2215					$("#post_user_find").focus();
2216					},btn:[
2217					{text:"返回登录",callback:function(){
2218						PZ.win({log:'close',id:'win_login',callback:function(){PZ.login({log:'open'})}});
2219						}}
2220					]});
2221		break;
2222		};
2223	};
2224/*---------------获得硬件平台信息---------------*/
2225this.getHardware=function(args){
2226	var types=args.types || "sys";
2227	switch(types){
2228		case "iswx":
2229			var ua=navigator.userAgent.toLowerCase();
2230			if(ua.match(/MicroMessenger/i)=="micromessenger") {
2231				return true;
2232			}else{
2233				return false;
2234				};
2235		break;
2236		case "sys":
2237			
2238		break;
2239		};
2240	};
2241/*---------------刷新页面---------------*/
2242this.reload=function(){
2243	var arr=(window.location.href+"#").split("#");
2244	var url=arr[0];
2245	if(url.indexOf("?")==-1)url+="?";
2246	if(url.indexOf("qyktm=")!=-1){
2247		url=url.replace(/(&?)qyktm=([0-9]+)/,"");
2248		};
2249	url=url+((url.indexOf("=")!=-1)?"&":"")+"qyktm="+new Date().getTime();
2250	if(arr[1]!="")url+="#"+arr[1];
2251	window.location.href=url;
2252	};
2253/*---------------上一页链接---------------*/
2254this.gopre=function(url){
2255	//alert(window.history.length);
2256	var plen=window.history.length || 1;
2257	if(plen>1){
2258		//alert(JSON.stringify(window.history))
2259		window.history.go(-1);
2260		return;
2261		};
2262	var pre=document.referrer;
2263	if(pre)window.history.go(-1);
2264	else location.href=url;
2265	};
2266/*---------------手机中快速响应点击---------------*/
2267this.mlink=function(func){
2268	func();
2269	};
2270/*---------------事件任务---------------*/
2271this.ready=function(args){
2272	var log=args.log || "add";
2273	switch(log){
2274		case "start":
2275			for(var i=0;i<ready_callback.length;i++){
2276				var lib=ready_callback[i];
2277				if(lib.delay>0){
2278					window.setTimeout(lib.func,lib.delay);
2279					}else lib.func();
2280				};
2281		break;
2282		case "add":
2283			var delay=args.delay || 0;
2284			ready_callback.push({delay:delay,func:args.callback});
2285		break;
2286		};
2287	};
2288};
2289$(document).ready(function(){
2290PZ.ready({log:"start"});
2291var timer;
2292var changewin=function(){
2293	var func=function(){
2294		if($(".win_block").length>0){
2295			$(".win_block").each(function(){
2296				PZ.win({id:$(this).attr("id"),log:"change",animate:99});
2297				});
2298			};
2299		$("#tcz_window").css({height:$(document).height()+"px"});
2300		};
2301	window.clearTimeout(timer);
2302	timer=window.setTimeout(func,100);
2303	};
2304$(window).bind("resize",changewin);
2305PZ.photobox({qykphoto:"qyk_photobox"});
2306//表格
2307if($("tr.firstRow").length>0){
2308	$.getScript(tczAppsui.path+"js/parse.js",function(){
2309		var go=true;
2310		var tab=null;
2311		while(go){
2312			if(!tab)var par=$("tr.firstRow:eq(0)").parent();
2313			else var par=tab.parent();
2314			tab=par;
2315			var tn=par.prop("tagName");
2316			if(tn=="TBODY"||tn=="P"||tn=="TABLE")continue;
2317			var css=tab.attr("class");
2318			if(css=="")continue;
2319			css=css.split(" ")[0];
2320			var mw=tab.width();
2321			var tw=$("tr.firstRow:eq(0)").width();
2322			if(tw>mw){
2323				$("tr.firstRow:eq(0)").parent().parent().css({width:mw+"px"});
2324				};
2325			uParse('.'+css);
2326			go=false;
2327			}
2328		});
2329	};
2330});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.