﻿function CheckEmail(eml)
{
	if(!/^[\.\w]([(\/)(\-)(\+).\w])*@([(\-)\w]{1,64}\.){1,7}[(\-)\w]{1,64}$/.test(eml))
	{
		return false;
	} 
	else 
	{
		if(eml && eml != "" && (eml.indexOf("@") != -1))
		{
			var indexOfA = eml.indexOf("@");
			var name = eml.substring(0, indexOfA);
			if(name.length >64 || eml.length > 256)
			{
				return false;
			} 
			else 
			{
				return true;
			}
		}
	}
	return false;
//return true;
}

function CheckNumber(value,args)
{
	args = args.sort(function(a, b)
					 {
						 if(a > b) 
						 {
							 return -1;
						 } 
						 else 
						 {
							 return 1;	
						}
					});
	if(args[0]==null)
	{
		from=0;
	}
	else
	{
		from=args[0];
	}
	if(args[1]==null)
	{
		to=value.length;
	}
	else
	{
		to=args[1];
	}
	return (-1 !== value.search(eval("/^\\d{" + from +  "," + to + "}$/"))) ? true : false;
}

function CheckQQ(value,args)
{
	return CheckEmail(value) || CheckNumber(value,args);
}

/**
 * 身份证(严格)
 * @param value
 * @return bool
 */
function CheckIdkeyStrict(value) 
{
  if(-1 !== value.search(/^\d{15}$/)) 
  {
    return true;
  }
  if(-1 !== value.search(/^\d{18}$|^\d{17}x$/i)) 
  {
    var weight = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];
    var checkCode = [1, 0, 'x', 9, 8, 7, 6, 5, 4, 3, 2];
    var s = 0;
    for(i=0; i<17; i++) 
	{
      s += value.substr(i, 1) * weight[i];
    }
    if(checkCode[s%11] == value.substr(17, 1).toLowerCase( )) return true;
  }
  return false;
}

/**
 * 身份证（宽松）
 * @param value
 * @return
 */
function CheckIdkeyLoose(value) 
{
  return 	(-1 !== value.search(/^(\d{15}|\d{18}|\d{17}x)$/i)) ? true : false;
}

/**
 * 禁止简单的密码
 *
 * @param string $value
 * @return boolean
 */
function CheckSimplePwd(value)
{
	if(new RegExp("^1{6,}$|^2{6,}$|^3{6,}$|^4{6,}$|^5{6,}$|^6{6,}$|^7{6,}$|^8{6,}$|^9{6,}$|^0{6,}$|^a{6,}$|^b{6,}$|^c{6,}$|^d{6,}$|^e{6,}$|^f{6,}$|^g{6,}$|^h{6,}$|^i{6,}$|^j{6,}$|^k{6,}$|^l{6,}$|^m{6,}$|^n{6,}$|^o{6,}$|^p{6,}$|^q{6,}$|^r{6,}$|^s{6,}$|^t{6,}$|^u{6,}$|^v{6,}$|^w{6,}$|^x{6,}$|^y{6,}$|^z{6,}$|^012345$|^123456$|^234567$|^345678$|^456789$|^0123456$|^1234567$|^2345678$|^3456789$|^01234567$|^12345678$|^23456789$|^012345678$|^123456789$|^0123456789$", "i").test(value))
	{
		return false;
	}
	else
	{
		return true;
	}
}

function CheckMobile(value)
{
	if(new RegExp("^1(\\d{10})$").test(value))
	{
		return true;
	}
	else
	{
		return false;
	}
}


function CheckSepicalSymbol(value,args)
{
	if(new RegExp("[,|;|<|>]","g").test(value))
	{
		return true;
	}
	else
	{
		return false;
	}
}

function CheckMailCode(value)
{
	 if(new RegExp("^\\d{6}$","g").test(value))
	 {
		return true;
	}
	else
	{
		return false;
	}
}

function CheckStringLength(value,args)
{   
	if(args[0]==null)
	{
		from=0;
	}
	else
	{
		from=args[0];
	}
	if(args[1]==null)
	{
		to=value.length;
	}
	else
	{
		to=args[1];
	}
	value = value.replace(/[^\x00-\xff]/g,'**').length;
	
	return (from <= (value + 0) && (value + 0) <= to);
//return true;
}

function CheckIntRange(value,args)
{
	value = Number(value);
	if(value === NaN || value==="")
	{
		return false;
	}
	if(args[0]==null)
	{
		min=0;
	}
	else
	{
		min=args[0];
	}
	if(args[1]==null)
	{
		max=value;
	}
	else
	{
		max=args[1];
	}
	return (min <= (value+0) && (value+0) <= max);
}

function CheckEqual(value,args){
	var target = document.getElementsByName(args[0])[0].value;
	if(value == target){
		return true;
	}else{
		return false;
	}
}

function CheckByReg(value,strregexp)
{
	if (strregexp)
	{
		//alert(strregexp);
		if(new RegExp(strregexp).test(value))
		{
			return true;
		}
		else
		{
			return false;
		}
	}
	else
	{
		return false;
	}
}

/**
 * 全部为汉字
 * @param value
 * @return
 */
function CheckChinese(value) 
{
	return /^[\u4e00-\u9fa5]+$/.test(value);
}

function getRadioValue(radioObj){
	 for (i=0; i<radioObj.length; i++)
	    {
	        if (radioObj[i].checked)
	        {
	            return radioObj[i].value;
	        }
	    }
	  return null; 
}
/**
 * js验证失败的处理函数
 * @param node
 * @param msg
 * @return
 */
function dealError(node,msg)
{
	//node.focus();
	if(node.id) 
	{
		hideTip(node);
		var errorObj = document.getElementById(node.id + "_msg");
		if(errorObj) 
		{
			errorObj.style.display = '';
			errorObj.innerHTML = msg;
			errorObj.className = 'error';
		} 
		else 
		{
			alert(msg); //默认的
		}
	}
}

/**
 * js验证失败的处理函数
 * @param strKey
 * @param strImgURL
 * @param strMsg
 * @return
 */
function ShowTipbyKey(strKey, strImgURL, strMsg)
{
	if(strKey) 
	{
		var msgObj = document.getElementById("LL_Tip_" + strKey);
		if(msgObj) 
		{
			msgObj.innerHTML = strMsg;
			if (strImgURL)
			{
				imgObj = document.getElementById("IMG_Tip_" + strKey);
				if (imgObj)imgObj.src = strImgURL;
			}
		}
		else 
		{
			alert(msg); //默认的
		}
	}
}

/**
 * js验证成功的处理函数
 * 为了把刚才有错误的状态 换成 成功的状态
 * @param node
 * @return
 */
function dealOk(node)
{
	if(node.id) 
	{
		hideTip(node);
		var okObj = document.getElementById(node.id + "_msg");
		if(okObj) 
		{
			okObj.style.display = '';
			okObj.innerHTML = '';
			if(node.value) 
			{
				okObj.className = '';
//				okObj.className = 'done'; //这个样式为 “绿色的对号”
			} 
			else 
			{
				okObj.className = '';
			}	
		}
	}
}

function ShowOKByKey(strKey)
{
	if(strKey) 
	{
		var msgObj = document.getElementById("LL_Tip_" + strKey);
		if(msgObj) 
		{
			msgObj.innerHTML = '';			
		}
		imgObj = document.getElementById("IMG_Tip_" + strKey);
		if (imgObj)	imgObj.src = "images/righttick.gif";
		
	}
}

/**
 * 关掉文本框后面的提示信息
 * onfocus=CloseErrorMsg(this)
 * @param node
 * @return
 */
function CloseErrorMsg(node) 
{
	if(node && node.id) 
	{
		var msgObj = document.getElementById(node.id + "_msg");
		msgObj.innerHTML = '';
		msgObj.className = '';
	}
}

/**
 * 关掉文本框后面的提示信息
 * onfocus=CleanErrorMsg(key)
 * @param key
 * @return
 */
function CleanErrorMsg(key) 
{
	if(key.length) 
	{
		var msgObj = document.getElementById("LL_Tip_" + key);
		if (null != msgObj) msgObj.innerHTML = '';
		var imgObj = document.getElementById("IMG_Tip_" + key);
		if (null != imgObj) imgObj.src = 'images/white.gif';
	}
        return false;
}

/**
 * 在文本框旁边 显示/隐藏 提示框
 * 需要显式地在input属性里添加onfucus属性
 * @param node
 * @return void
 */
var showTipfun = function(node){tipHandler(node, '');}
var hideTipfun = function(node){tipHandler(node, 'none');}
var tipHandler = function(node, showOrHide) 
				{
					var nodeId = node.id;
					if(nodeId) 
					{
						objTip = document.getElementById(nodeId + "_tip");
						if(objTip) 
						{
							objTip.style.display = showOrHide;
						}
					}
				}

/**
 * 验证 验证码
 * 不在模型里，需要在具体的页面中手动触发（onblur、onsubmit）
 * @return
 */
function validate_scode() 
{
	var flag = false;
    var scode = document.getElementById('scode');
    if('' == scode.value) 
	{
        dealError(scode, '验证码不能为空');
    } 
	else 
	{
		 $.ajax(
				{
					type: "POST",
					async: false,		   
					url: "/login/isRightScode",
					data: "scode=" + scode.value,
					success: function(data)
					{
						if(0 == data) 
						{
							dealError(scode, '验证码输入有误');
						} 
						else 
						{
							dealOk(scode);
							flag = true;
						}
					}
				}
			   );
    }
    return flag;
}

/**
 * 过滤badwords
 * @param value
 * @return
 */
function CheckBadWords(value) 
{
	var _heads  = 'kingsoft|cb|ks|gm|test|fs|jx|db|cq|blog|passport|vip|wps|system|damei|xoyo|kol|bjsupport';
	var _words  = 'hujintao|wenjiabao|jiangzemin|zhurongji|qiubojun|leijun|flg|falun|minghui|lihongzhi|tmd|nmd|fuck|sex|xxx|penis|viagra|tits|pussy|shit|damn|bastard|asshole|bitch|vagina|breastroot|root|admin|gm|gamemaster|@xoyo.com|xoyo|@kol.com|kol';
	var re = new RegExp("^(" + _heads + ")|(" + _words + ")", "i");
	return !(re.test(value));
}

/**
 * 不能包含空格
 * @param value
 * @return
 */
function CheckNoSpace(value) 
{
	return !(/\s+/.test(value));
}

function CheckTheDate(year, month, date)
{
	//alert(year + "-" + month + "-" + date);
	//年月日检验函数	
    datelist = new Array(31,29,31,30,31,30,31,31,30,31,30,31);
	if (year > 2010 || year < 1900 || month > 12 || month < 1 || date > 31 || date < 1)  return(false);
    if(date > datelist[month-1]) return(false);

    yyyy = eval(year);
    if ( month == "02" )
    {
        if ( (yyyy % 400) == 0 )
        {
            if ( date > 29 )  return(false);
        }
        else if ( (yyyy % 4) == 0 && (yyyy % 100) != 0 )
        {
            if ( date > 29 )  return(false);
        }
        else
        {
            if ( date > 28 )  return(false);
        }
    }
    return(true);    
}

function CheckYYYYMMDD(dayString)
{
	if (dayString.length !=10) return(false);    
	
	var digit = "0123456789";
	for(i = 0; i < 10; i++)
    {
		if (i == 4 || i == 7)
		{
			if (dayString.charAt(i) != '-') return(false);
		}
		else
		{
			if(digit.indexOf(dayString.charAt(i), 0) == -1) return(false);
		}
    }
    
    year  = dayString.substr(0,4); //截取年部分
    month = dayString.substr(5,2); //截取月部分
    date  = dayString.substr(8,2); //截取日部分
	
	return CheckTheDate(year, month, date);
} 

function CheckMMDDYYYY(dayString)
{
	if (dayString.length !=10) return(false);    
	
	var digit = "0123456789";
	for(i = 0; i < 10; i++)
    {
		if (i == 2 || i == 5)
		{
			if (dayString.charAt(i) != '/') return(false);
		}
		else
		{
			if(digit.indexOf(dayString.charAt(i), 0) == -1) return(false);
		}
    }
    
	month = dayString.substr(0,2); //截取月部分
	date  = dayString.substr(3,2); //截取日部分
    year  = dayString.substr(6,4); //截取年部分
	return CheckTheDate(year, month, date);
}

//过滤电话输入框中的非法字符
function TexboxFilter(evt)
{
        evt=evt?evt:(window.event?window.event:null);
        if (evt == null)
            return false;
　　 if(!(
　　      (evt.keyCode>=48 && evt.keyCode<=57)
　　      ||(evt.keyCode>=96&&evt.keyCode<=105) 
　　      || evt.keyCode ==13 || evt.keyCode == 9 
　　      || evt.keyCode ==8 || evt.keyCode== 27
　　      )
　　   )
　　 return false;
}

function ChangeNewImg()
{
    document.getElementById("IMG_ValidateCode").src = "JpegImage.aspx?" + Math.random();
 }
