/***********************************************************************
功能: 
	站点javascript处理
依赖:
	common.js
创建:
	pendle 08-10-23
最后修改:
	pendle 08-10-23		
************************************************************************/

/****************常用函数***************************/
/**
 * 功能:
 *		以fade方式显示消息
 * 参数:
 * 		jqueryObj:	jquery对象,必须是可设置text属性,如div,span等
 		message	 :	要设置的消息，可以不传入此参数，不传入时仅仅对jqueryObj对象作显示和隐藏操作
 * 返回：
 * 		none
 */
function fadeMsg(jqueryObj,message,fadetime){
	if(message != undefined){
		$(jqueryObj).html(message);
	}
	$(jqueryObj).show();
	$(jqueryObj).fadeIn();
	if(fadetime != undefined)
		$(jqueryObj).fadeOut(fadetime);
	else
		$(jqueryObj).fadeOut(3000);
}
/****************定制函数***************************/
var ding = {
	up		:	function(context,cateid,aid){
		$.post(context + '/action/ding.do?s=up',{cateid:cateid,aid:aid},function(data){
			var obj = $("#ding_count");
			$(obj).text(''+data);
		});
	},
	down	:	function(context,cateid,aid){
			$.post(context + "/action/ding.do?s=down",{cateid:cateid,aid:aid},function(data){
				var obj = $("#cai_count");
				$(obj).text(''+data);
			});
	}
};

var archive = {
	click	:	function(context,cateid,aid){
				$.post(context+'/action/archive.do?s=click',{cateid:cateid,aid:aid},function(data){
				});			
			},
	loadInfo:	function(context,cateid,aid){
				$.getJSON(context + '/action/archive.do?s=info',{cateid:cateid,aid:aid},function(info){
					$("#clickCount").text(info.click);
					$("#ding_count").text(info.up);
					$("#cai_count").text(info.down);
					$("font .replyCount").text(info.cmtcnt);
				});
				$("#replylist").load(context+'/action/archive.do?s=comments',{cateid:cateid,aid:aid,pageNumber:1,pageSize:10},function(){});
			}
};

var comment = {
	prepare	:	function(context){
				// user info filling
				$.getJSON(context + "/ucuser/user.do?s=json",{},function(user){
					$("input[@name=username]").val(user.username);
					$("input#nick").val(user.username);
					$("input#face").val(user.face);
								});
				var options = {
					beforeSubmit:function(){
								var con = $("textarea#content").val();
								var msg = $("#contentError");
								if(con === undefined || trim(con)===''){
									//$("#contentError").html("评论内容没有填写");
									fadeMsg(msg,"评论内容没有填写");
									return false;
								}else{
									var pattern = /<[^>]+>/;
									if(pattern.test(con)){
										//$("#contentError").html("对不起，您的评论中包含不合法的内容");
										fadeMsg(msg,"对不起，您的评论中包含不合法的内容");
										return false;
									}
									// 过滤非连接类的网址
									if(con.indexOf('http://') >= 0 || con.indexOf('.com') >= 0){
										fadeMsg(msg,"对不起，您的评论中包含不合法的内容");
										return false;
									}
								}
								$("#comment_processing_img").show();
								return true;
								},
					success	:	function(data){
									$("#comment_processing_img").hide();
									$("#comment_list_head").after(data);
									var count = $("font[@class=replyCount]")[0].text();
									$("font[@class=replyCount]").text(Number(count)+1);
									
								}
				};
				$("#replyForm").ajaxForm(options);
				$("#resetBtn").click(function(){
					$("#content").val("");
				});
			},
	reply	:	function(commentid){
				$("#replyid").val(commentid+'');
				window.location.hash = "comment_area_link";
			},
	show	:	function(){
				$("div[@class=replyform]").show('normal');
			},
	topage	:	function(context,cateid,aid,page){
				$("#replylist").load(context+'/action/archive.do?s=comments',{cateid:cateid,aid:aid,pageNumber:page,pageSize:10},function(data){
				});
	}
};
/**
 * 我要纠错功能
 */
var errorReport = {
	prepare	:	function(){
		$("#link_report").click(function(){
			$("#form_report").resetForm();
			$("#div_report").modal();
			$("#modalContainer").css({width:"500px",height:"400px"});
			$("#close").click(function(){
				$.modal.close();
			});
			$("#form_report").ajaxForm(function(){
				$("#span_message").text("您的纠错提交成功!请关闭此页(3秒后自动关闭)");
				setTimeout(function(){ $.modal.close(); },3000);
			});
		});	
	}
};

var user = {
	loadMenu	:	function(context){
				var v = $("#login_mini");
				$.ajaxSetup({cache:false});
				$.ajax({
					type: "get",
					url: context + "/ucuser/user.do?s=menu",
					dataType: "html",
					success: function(data){
						$("#login_mini").html(data);
						if($("#login_mini >img.face").attr("src") != undefined){ // 已登录
							$("#login_mini").attr("class","menu");
						}else{
							$("#login_mini").attr("class","default");
							$("#loginForm").ajaxForm({
								url: context + '/ucuser/user.do?s=login',
								type: 'post',
								beforeSubmit: function(){
									var e = $("#loginError");
									$(e).html('<img width="10" height="10" src=' + context + '"/img/ajax-loader.gif" alt="处理中..." />');
									return login.checkLoginForm();
								},
								dataType: 'json',
								success: function(res){
									var e = $("span#loginError");
									if(res.success == 0){
										fadeMsg(e,res.message);
										return;
									}else{
										// 更新页面
										var v = $("#login_mini");
										$.ajaxSetup({cache:false});
										if($.browser.msie){
											//获取用户菜单
											$.ajax({
												url: context + "/ucuser/user.do?s=menu&r=" + Math.random(),
												type: 'get',
												dataType: 'html',
												success: function(data){
													$(v).html(data);
													// 同步bbs登陆
													$(v).append("<script src='" + res.sync + "' reload='1'></script>");
												}
											});
										}else{
											//获取用户菜单
											$.get(context + "/ucuser/user.do?s=menu&r=" + Math.random(),{},function(data){
												$(v).html(data);
												// 同步bbs登陆
												$(v).append("<script src='" + res.sync + "' reload='1'></script>");
											});
										}
									}
								}
							});
						}
					}
					});
			}
};

var search = {
	check	:	function(){
				// 站内搜索检查
				var q = $("#query").val();
				if(q === undefined || q === '' || q == '站内搜索'){
					return false;
				}else{
					return true;
				}
			}
};

var login = {
	load : function(context){
		$("#loginForm").modal({
			close:false
		});
		$("#modalContainer").addClass("modalDialog_login");
		var o = $("#modalContainer");
		var w = $(o).width();
		var h = $(o).height();
		var sw = $(window).width();
		var sh = $(window).height();
		var left = (sw - w) / 2 + w;
		var top = (sh - h) / 2;
		$(o).css("top",top+"px");
		$(o).css("left",left+"px");
		var loc = window.location.href;
		$("#loginForm #lastURL").val(loc);
		$("input[@class=loginLine][@name=username]").focus();
		// 准备表单
		$("#loginForm").ajaxForm({
			url: context + '/ucuser/user.do?s=login',
			type: 'post',
			beforeSubmit: function(){
				return login.checkLoginForm();
			},
			dataType: 'json',
			success: function(res){
				var e = $("span#loginError");
				if(res.success == 0){
					fadeMsg(e,res.message);
					return;
				}else{
					login.close();
					// 更新页面
					var v = $("#login_mini");
					$(v).attr("class","menu");
					$.ajaxSetup({cache:false});
					if($.browser.msie){
						//获取用户菜单
						$.ajax({
							url: context + "/ucuser/user.do?s=menu",
							type: 'get',
							dataType: 'html',
							success: function(data){
								$(v).html(data);
								// 同步bbs登陆
								$(v).append("<script src='" + res.sync + "' reload='1'></script>");
							}
						});
					}else{
						//获取用户菜单
						$.get(context + "/ucuser/user.do?s=menu",{},function(data){
							$(v).html(data);
							// 同步bbs登陆
							$(v).append("<script src='" + res.sync + "' reload='1'></script>");
						});
					}
				}
			}
		});
	},
	close : function(){
		$.modal.close();
	},
	checkLoginForm	:	function(){
		var e = $("span#loginError");
		$(e).html("");
		var u = $("input[@name=username]");
		var p = $("input[@name=password]");
		var pass = true;
		var msg = '';
		if($(u).val()===undefined || $(u).val()===''){
			pass = false;
			msg = "用户名不符合要求";
		}
		//var pattern = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/;  
		//　	flag = pattern.test($(u).val());
		//if(pass && !flag){
		//	pass = false;
		//	msg = "不是合法的用户名";			
		//}  
		if(pass && ($(p).val()===undefined || $(p).val()==='')){
			pass = false;
			msg = "密码不符合要求";
		}
		if(!pass){
			$(e).html(msg);
			$(e).fadeIn();
			$(e).fadeOut(3000);
			return false;
		}
		return true;
	},
	logout	:	function(context){
		var now = new Date();
		$.ajax({
			url: context + "/ucuser/user.do?s=logout&time=" + now.toString(),
			type: 'get',
			dataType: 'html',
			success: function(data){
				// remove cookie
				user.loadMenu(context);
			}
			});
	}
};


