﻿// JScript 文件

			  	function doSelectAll()
				{
					var flag=$("input.SelectAll")[0].checked;
					
						var c=document.getElementsByTagName("input");
						for(var i=0;i<c.length;i++)
						{
							if(c.item(i).className.indexOf("SelectSingle")>=0)
							{
								c.item(i).checked=flag;
							}
						}
					
					doSelect();
				}
				function doSelect()
				{
					var s="";
						var c=document.getElementsByTagName("input");
						for(var i=0;i<c.length;i++)
						{
							if(c.item(i).className.indexOf("SelectSingle")>=0)
							{
								if(c.item(i).checked)
								{
									s+=","+c.item(i).value;
								}
							}
						}
					if(s!="")
					{
						s=s.substring(1);
					}
					$("input.SelectID").val(s);
				}
//作者: lijinan
//email:s_jali@163.com
//QQ:164365268
//KK_AjaxCheck(), 用Ajax检查数据
//使用方法:  $(document).ready(function(){KK_AjaxCheck("父容器的jQuery id,如果为空则为整个文档")});
//使用前提:  把需要用ajax验证的Input加 AjaxCheck 的class名
//属性说明:  当把Input的class名设置为 AjaxCheck后,需要在Input加属性, ajaxURL=ajax页面路径,ajaxJID=信息容器jQuery id
//ajaxData=参数传递, 默认传 value=obj.value, 如 flag=1&kind=2
//ajaxType=ajaxType=1为 0,1匹配: 1为可以使用,0为不可以使用; ajaxType=2为为指定触发函数, 其他则为直接将结果显示在jid.
//ajaxFunc=只有当ajaxType=2时有用,此为返回时的触发函数, 如: ajaxFunc="checkData(myval,{data})"  返回数据用 {data}表示

	function KK_AjaxCheck(parentpanel)
	{
	    //debugger;
		var lst=$(parentpanel+" .AjaxCheck");
		for(var i=0;i<lst.length;i++)
		{
			lst[i].onblur=function()
			{
			   // alert("test");
				KK_doAjaxCheck(this);
			}
		}
	}
	function KK_doAjaxCheck(obj)
	{
	   // debugger;
		var jObject=$(obj);
		var ajaxURL=jObject.attr("ajaxURL");  //ajax页面路径
		var ajaxJID=jObject.attr("ajaxJID");  //返回的容器
		var ajaxData=jObject.attr("ajaxData");  //参数传递, 默认传 value=obj.value, 如 flag=1&kind=2
		var ajaxFunc=jObject.attr("ajaxFunc");  //返回时,触发指定函数, 如: ajaxFunc="checkData(myval,{data})"  返回数据用 {data}表示
		var ajaxType=jObject.attr("ajaxType");  // ajaxType=1为 0,1匹配: 1为可以使用,0为不可以使用; ajaxType=2为为指定触发函数, 其他则为直接将结果显示在jid.
		var ajaxRight=jObject.attr("ajaxRight");  //当返回1(可以使用)时的提示信息, 只有当ajaxType=1时有效, 默认为"可以使用"
		var ajaxWrong=jObject.attr("ajaxWrong"); //当返回0(不可以使用)时的提示信息,只有当ajaxType=1时有效, 默认为"不可以使用"
		var postData=jObject.val();
		if(!ajaxRight)
		{
			ajaxRight="可以使用";
		}
		if(!ajaxWrong)
		{
			ajaxWrong="不可以使用";
		}
		if(postData!=""&&ajaxURL)
		{
			KK_SetMsg(ajaxJID,"数据检查中...",3);
			postData="value="+escape(postData)+"&"+ajaxData;
			$.ajax({
			   type:"POST",
			   url:ajaxURL,
			   data:postData,
			   success:function(data)
			   {
			        //debugger;
				   switch(ajaxType)
				   {
					   case "1":
					        if(ajaxJID)
					        {
					   		    switch(data)
							    {
								    case "0":
									    KK_SetMsg(ajaxJID,ajaxWrong,2);
									    break;
								    case "1":
									    KK_SetMsg(ajaxJID,ajaxRight,1);
									    break;
								    default :
									    KK_SetMsg(ajaxJID,"未查询到相关数据",3);
									    break;
							    }
							}
							break;
					  case "2":
					        if(ajaxFunc)
					        {
					  		    var execStr=ajaxFunc.replace("{data}",data);
							    eval(execStr);
							}
							break;
					  default :
					    if(ajaxJID)
					        {
					  	            KK_SetMsg(ajaxJID,data,3);
					  	    }
						break;
				   }
			   }
			   });
		}
	}


//作者: lijinan
//email:s_jali@163.com
//QQ:164365268
//KK_CheckInput(),检查输入的合法性
//@parentpanel,父容器的jQuery id,默认为空
//class名: NeedCheck(必填),GroupCheck(一致性检查),NumCheck(1~20位数字检查),EmailCheck(邮箱检查),PassCheck(6~20位合法字符检查),Regex(正则检查)
//属性名: msgJID=信息容器的jQuery id
//属性名: msgContent=错误时的信息
//属性名: regPtn=当class名为Regex(正则检查)时的正则表达式
	function KK_CheckInput(parentpanel)
	{
	  //  debugger;
		var flag=true;
		var target;
		$(parentpanel+" .NeedCheck").each(
							 function()
							 {
									target=$(this);
									msgJID=target.attr("msgJID");
									msgContent=target.attr("msgContent");
									if(target.val()=="")
									{
										flag=false;
									        if(KK_Check.isEmpty(msgContent))
									        {
									            msgContent="此项必填";
									        }
									        KK_SetMsg(msgJID,msgContent);
									}
									else
									{										
										    KK_SetMsg(msgJID,"");
									}
							 }
							 );
        var grouplist=$(parentpanel+" .GroupCheck");
        var groupvalue="";
		//debugger;
        for(var i=0;i<grouplist.length;i++)
        {
            if(groupvalue=="")
            {
                groupvalue=grouplist[i].value;
            }
			else
			{
				target=$(grouplist[i]);
					msgJID=target.attr("msgJID");
					
				if(grouplist[i].value!=groupvalue)
				{
					flag=false;
					msgContent=target.attr("msgContent");
					
						if(KK_Check.isEmpty(msgContent))
						 {
								 msgContent="填写的内容不一致";
						 }
						KK_SetMsg(msgJID,msgContent);
					 
					break;
				}
				else
				{
					
						KK_SetMsg(msgJID,"");
				}
			}
        }
		
		$(parentpanel+" .NumCheck").each(
										  function()
											 {
													target=$(this);
													msgJID=target.attr("msgJID");
													msgContent=target.attr("msgContent");
													if(!KK_Check.isDigit(target.val()))
													{
														flag=false;
															if(KK_Check.isEmpty(msgContent))
															{
																msgContent="此项必需为数字";
															}
															KK_SetMsg(msgJID,msgContent);														
													}
													else
													{
														KK_SetMsg(msgJID,"");
													}
											 }
										  );
		$(parentpanel+" .EmailCheck").each(
										 function()
										 {
											 target=$(this);
													msgJID=target.attr("msgJID");
													msgContent=target.attr("msgContent");
													if(!KK_Check.isEmail(target.val()))
													{
														flag=false;
															if(KK_Check.isEmpty(msgContent))
															{
																msgContent="此项必需为邮箱";
															}
															KK_SetMsg(msgJID,msgContent);														
													}
													else
													{
														KK_SetMsg(msgJID,"");
													}
										 }
										 );
										 
		$(parentpanel+" .MobileCheck").each(
										 function()
										 {
											 target=$(this);
													msgJID=target.attr("msgJID");
													msgContent=target.attr("msgContent");
													if(!KK_Check.isMobil(target.val()))
													{
														flag=false;
															if(KK_Check.isEmpty(msgContent))
															{
																msgContent="此项必需为手机号码";
															}
															KK_SetMsg(msgJID,msgContent);														
													}
													else
													{
														KK_SetMsg(msgJID,"");
													}
										 }
										 );
		 $(parentpanel+" .TelCheck").each(
		 function()
		 {
			 target=$(this);
					msgJID=target.attr("msgJID");
					msgContent=target.attr("msgContent");
					if(!KK_Check.isTel(target.val()))
					{
						flag=false;
							if(KK_Check.isEmpty(msgContent))
							{
								msgContent="此项必需为电话号码 如：020-25652145";
							}
							KK_SetMsg(msgJID,msgContent);														
					}
					else
					{
						KK_SetMsg(msgJID,"");
					}
		 }
		 );				 
		$(parentpanel+" .PassCheck").each(
										 function()
										 {
											 target=$(this);
													msgJID=target.attr("msgJID");
													msgContent=target.attr("msgContent");
													if(!KK_Check.isPasswd(target.val()))
													{
														flag=false;
															if(KK_Check.isEmpty(msgContent))
															{
																msgContent="只能输入6-20個字母、数字、下划线";
															}
															KK_SetMsg(msgJID,msgContent);														
													}
													else
													{
														KK_SetMsg(msgJID,"");
													}
										 }
										 );
		$(parentpanel+" .Regex").each(
										 function()
										 {
											 target=$(this);
													msgJID=target.attr("msgJID");
													msgContent=target.attr("msgContent");
													regPtn=target.attr("regPtn");
													if(!KK_Check.regCheck(regPtn,target.val()))
													{
														flag=false;
															if(KK_Check.isEmpty(msgContent))
															{
																msgContent="输入不正确";
															}
															KK_SetMsg(msgJID,msgContent);														
													}
													else
													{
														KK_SetMsg(msgJID,"");
													}
										 }
										 );
		
		if(!flag)
		{
				//alert("请检查填写信息");
				if(target)
					target.focus();
		    return false;
		}
		return true;
	}
	//KK_SetMsg 设置信息
	//@jid,信息的jid
	//@content,信息内容
	//@type,信息类型,1为正确,2为错误,3为检测中
	function KK_SetMsg(jid,content,type)
	{
	    if(jid)
	    {
	        var msgcolor="red";
	        switch(type)
	        {
	            case 1:
	                msgcolor="green";
	                break;
	            case 2:
	                msgcolor="red";
	                break;
	            case 3:
	                msgcolor="gray";
	                break;
	        }
	        $(jid).html("<font color='"+msgcolor+"'>"+content+"</font>");
       // $(jid).html("<font color='"+msgcolor+"'>"+content+"</font>");
	    }
	}
	

function KK_Check()
{
}
KK_Check.isEmpty=function(s)
{
    if(typeof(s)!="undefined")
    {
        if(s!="")
        {
            return false;
        }
    }
    return true;
}
	KK_Check.isDigit=function (s)
	{
		var patrn=/^[0-9]{1,20}$/;
		if (!patrn.exec(s)) return false
		return true
	}

//校验登录名：只能输入5-20个以字母开头、可带数字、“_”、“.”的字串 

	KK_Check.isRegisterUserName=function (s)
	{
		var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/;
		if (!patrn.exec(s)) return false
		return true
	}
	KK_Check.regCheck=function(ptn,s)
	{
		var patrn=new RegExp(ptn); 
		if (!patrn.exec(s)) return false
		return true
	}
//校验用户姓名：只能输入1-30个以字母开头的字串 

	KK_Check.isTrueName=function (s)
	{
		var patrn=/^[a-zA-Z]{1,30}$/;
		if (!patrn.exec(s)) return false
		return true
	}


//校验密码：只能输入6-20个字母、数字、下划线
	KK_Check.isPasswd=function(s)
	{
		var patrn=/^(\w){6,20}$/;
		if (!patrn.exec(s)) return false
		return true
	}

//校验普通电话、传真号码：可以“+”开头，除数字外，可含有“-” 

	KK_Check.isTel=function(s)
	{
	//var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?(\d){1,12})+$/;
	//var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;
	var patrn=/^\d{3,4}-\d{7,8}(-\d{3,4})?$/;
	if (!patrn.exec(s)) return false
	return true
	}

//校验手机号码：必须以数字开头，除数字外，可含有“-” 

	KK_Check.isMobil=function (s)
	{
		var patrn=/^0*(13|15|18)\d{9}$/;
		if (!patrn.exec(s)) return false
		return true
	}

//校验邮政编码 

	KK_Check.isPostalCode=function(s)
	{
		//var patrn=/^[a-zA-Z0-9]{3,12}$/;
		var patrn=/^[a-zA-Z0-9 ]{3,12}$/;
		if (!patrn.exec(s)) return false
		return true
	}

//校验搜索关键字 

	KK_Check.isIP=function(s) //by zergling
	{
		var patrn=/^[0-9.]{1,20}$/;
		if (!patrn.exec(s)) return false
		return true
	}
	KK_Check.isEmail=function(s)
	{
		var patrn=/^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/;
		if (!patrn.exec(s)) return false
		return true	
	}

//正则表达式"^\\d+$"　　//非负整数（正整数 + 0）
//"^[0-9]*[1-9][0-9]*$"　　//正整数 
//"^((-\\d+)|(0+))$"　　//非正整数（负整数 + 0） 
//"^-[0-9]*[1-9][0-9]*$"　　//负整数 
//"^-?\\d+$"　　　　//整数 
//"^\\d+(\\.\\d+)?$"　　//非负浮点数（正浮点数 + 0） 
//"^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$"　
////正浮点数 
//"^((-\\d+(\\.\\d+)?)|(0+(\\.0+)?))$"　　//非正浮点数（负浮点数 + 0） 
//"^(-(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*)))$"　
////负浮点数 
//"^(-?\\d+)(\\.\\d+)?$"　　//浮点数 
//"^[A-Za-z]+$"　　//由26个英文字母组成的字符串 
//"^[A-Z]+$"　　//由26个英文字母的大写组成的字符串 
//"^[a-z]+$"　　//由26个英文字母的小写组成的字符串 
//"^[A-Za-z0-9]+$"　　//由数字和26个英文字母组成的字符串 
//"^\\w+$"　　//由数字、26个英文字母或者下划线组成的字符串 
//"^[\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+$"　　　　//email地址 
//"^[a-zA-z]+://(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*(\\?\\S*)?$"　　//url
//"^[A-Za-z0-9_]*$"


