﻿//------------------基础表单检查函数----------------------
//是否包含空格
function isWhiteWpace (s)
{
  var whitespace = " \t\n\r";
  var i;
  for (i = 0; i < s.length; i++){   
     var c = s.charAt(i);
     if (whitespace.indexOf(c) >= 0) {
		  return true;
	  }
   }
   return false;
}

//是否正规命名方式（以数字或字母开头和结尾，中间可以加下划线和.)
function isSsnString (ssn)
{
	var re=/^[a-z0-9][\w-.]*[a-z0-9]$/i;
	if(re.test(ssn))
		return true;
	else
		return false;
}

//是否中英文
function isNameString (ssn)
{
	//var re=/^[a-z\u4E00-\u9FA5]*[a-z\u4E00-\u9FA5]$/i;
	var re=/^[0-9a-z\u4E00-\u9FA5]+$/i;
	if(re.test(ssn))
		return true;
	else
		return false;	
}

//测字符串中是否含有中文字符
function instrCN(str){
	var len;
	var i;
	len = 0;
	for (i=0;i<str.length;i++){
		if (str.charCodeAt(i)>255) return true;
	}
	return false;
}

// JScript source code
//取得字符串的字节长度
function ByteLen(Str)
{
	var Len=0;
	for(var i=0;i<Str.length;i++){
		if(Str.charCodeAt(i)>255) Len+=2;
		else Len++;
	}
	return(Len);
}

// 验证Email地址是否有效
function verifyAddress(email)
{
	var pattern = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/;
	return(pattern.test(email));	
}

function IsEmail(email)
{
	var pattern = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/;
	return(pattern.test(email));	
}

//验证日期时间型数据
function isDateTime(str)
{
	var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2})$/; 
	var r = str.match(reg); 
	if(r==null) return false;
	var d= new Date(r[1], --r[3],r[4],r[5],r[6]); 
	if(d.getFullYear()!=Number(r[1]))return false;
	if(d.getMonth()!=Number(r[3]))return false;
	if(d.getDate()!=Number(r[4]))return false;
	if(d.getHours()!=Number(r[5]))return false;
	if(d.getMinutes()!=Number(r[6]))return false;
	return true;
}

//验证日期型数据
function isDate(str){
	var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/; 
	var r = str.match(reg); 
	if(r==null)return false; 
	var d= new Date(r[1], r[3]-1,r[4]); 
	var newStr=d.getFullYear()+r[2]+(d.getMonth()+1)+r[2]+d.getDate()
	return newStr==str
}


//截取空格
function LTrim(str) { 
return str.replace(/^[ \t\n\r]+/g, "");
}

function RTrim(str) {
return str.replace(/[ \t\n\r]+$/g, "");
}

function Trim(str) {
    return RTrim(LTrim(str));
}
//-------------------------------------------

//-------------------搜索---------------------
function selectSearchForm(searchForm){
	if(searchForm.id=='searchwriting') {
		$('searchcomment').checked=false;
		$('SearchForm').action="book.aspx";
	}
	else{
		$('searchwriting').checked=false;
		$('SearchForm').action="comment.aspx";
	}
	searchForm.checked=true;
}

//-------QuickSearch Vs CategorySearch-------
function selectSearchTab(searchMethod){
	if(searchMethod=='CategorySearch'){
		$("tb_CategorySearch").className="currentTab";
		$("tb_QuickSearch").className="";
		$("QuickSearch").style.display="none";
		$("CategorySearch").style.display="block";
	}
	else{
		$("tb_CategorySearch").className="";
		$("tb_QuickSearch").className="currentTab";
		$("QuickSearch").style.display="block";
		$("CategorySearch").style.display="none";
		$("Keyword").focus();
	}
}
//-------------------------------------------

//-------------用户登陆Login.asp--------------
function checkUserLogin(objfrm)
{
	var UserID=Trim(objfrm.UserID.value);
	var password=objfrm.password.value;
	var code=objfrm.code.value;
	var CookieTime=objfrm.CookieTime.value;
	if(UserID.length==0) {alert("请输入用户ID！");objfrm.UserID.focus();return(false);}
	if(password.length==0) {alert("请输入密码！");objfrm.password.focus();return(false);}
	if(CookieTime!="0") {
		if(confirm("您设置了保存cookie，确认不是在公共的电脑上网吗？")) return(true);
		else return(false);
	}
	if(code.length==0) {alert("请输入验证码！");objfrm.code.focus();return(false);}
	return(true);
}
//-------------------------------------------


//------------用户注册Register.asp------------
function checkRegister(objfrm){
	if(!checkUserID(objfrm.UserID)) return(false);	
	if(!checkAuthor(objfrm.Author)) return(false);
	if(ByteLen(objfrm.password.value)<6 || ByteLen(objfrm.password.value)>16 ) {
		alert("正确的密码长度为6-16位，仅可用英文、数字、特殊字符！")
		objfrm.password.focus()
		return(false);
	}
	if(instrCN(objfrm.password.value) ) {
		alert("您的密码中包含了非法字符，仅可用英文、数字、特殊字符！")
		objfrm.password.focus()
		return(false);
	}
	if(objfrm.password.value == objfrm.UserID.value ) {
		alert("为了安全起见，用户ID和密码不能相同！")
		objfrm.password.focus()
		return(false);
	}
	if(objfrm.confirmPassword.value =="" ) {
		alert("请输入确认密码！")
		objfrm.confirmPassword.focus()
		return(false);
	}
	if(objfrm.confirmPassword.value != objfrm.password.value ) {
		alert("两次密码输入不一致！")
		objfrm.password.focus()
		return(false);
	}
	
	if(objfrm.email.value =="") {
		alert("请输入您的电子邮箱地址！")
		objfrm.email.focus()
		return(false);
	}
	if(!IsEmail(objfrm.email.value)) {
		alert("请输入正确的电子邮箱地址！")
		objfrm.email.focus()
		return(false);
	}
	
	return(true);
}

function checkUserID(objUserID){		
	var ssn=objUserID.value;
	if (ssn.length<4 || ssn.length>18 ) {
		alert("ID长度应为4-18位！")
		objUserID.focus()
		return(false);
	}
	if (isWhiteWpace(ssn)){
		alert("ID中不能包含空格！")
		objUserID.focus()
		return(false);
	}
	if (!isSsnString(ssn)){
		alert("ID应该由不区分大小写“a-z 0-9 ._-”字符组成\n开头及结尾不能为点、减号或下划线！")
		objUserID.focus()
		return(false);
	}
	
	return(true);
}

function checkAuthor(objAuthor){
	var ssn=objAuthor.value;	
	if (ssn.length==0 || ssn.length>18) {
		alert("笔名长度应为1-18位！")
		objAuthor.focus()
		return(false);
	}	
	if(!isNameString(ssn)){
		alert("笔名应该由不区分大小写“0-9，a-z及汉字”组成！")
		objAuthor.focus()
		return(false);
	}
	
	return(true);
}

//设置说明格式
function setExplain(objid,className){
	document.getElementById(objid).className=className;
}
//----------------------------------------------

//------------------Comment---------------------
//发表评论
function checkComment(formobj,flag){
	/*if(flag==1)
		if(document.getElementById("GradeFlag").innerHTML=='当前评分：') {alert("请点击五角星给该作品评分！");return(false);}
	}*/
	if(Trim(formobj.UserName.value)=="") {alert("请填写你的姓名！");formobj.UserName.focus();return(false);}
	if(Trim(formobj.CommentTitle.value)=="") {alert("请填写评论标题！");formobj.CommentTitle.focus();return(false);}
	if(Trim(formobj.Comment.value)=="") {alert("请填写评论内容！");formobj.Comment.focus();return(false);}
	if(Trim(formobj.Comment.value).indexOf("select")>0 || Trim(formobj.Comment.value).indexOf("update") >0 || Trim(formobj.Comment.value).indexOf("insert")>0 ||Trim(formobj.Comment.value).indexOf("del")>0){return(false);}
}

//计算字数
function checkWordLength(){
	var currentLength=document.getElementById("Comment").value.length;
	if(10000-currentLength>0) alert("目前已经输入" + currentLength + "字，还可以输入" + (10000-currentLength) + "字");
	else alert("目前已经输入" + currentLength + "字，超出" + (currentLength - 10000) + "字，请缩减内容后发表！");
}

//-------------------------------------------------

//-------------------Search------------------------
	function checkSearch(formObj){
		if(formObj.Keyword.value=='') {
			alert("请输入查询关键字！");
			formObj.Keyword.focus();
			return(false);
		}
		else return(true);
	}
//--------------------------------------------------

//-------------------Popup--------------------------
var popUpWin=0;
function popUpWindow(URLStr,width, height)
{
  var left=(screen.availWidth-width)/2;
  var top=(screen.availHeight-height)/2;	
  if(popUpWin)
  {
    if(!popUpWin.closed) popUpWin.close();
  }
  popUpWin = open(URLStr, 'popUpWin', 'toolbar=no,location=no,directories=no,status=no,menub ar=no,scrollbar=no,resizable=no,copyhistory=yes,width='+width+',height='+height+',left='+left+', top='+top+',screenX='+left+',screenY='+top+'');
}
//--------------------------------------------------