﻿//document.oncontextmenu = function() {
//	window.event.returnValue = false;
//}

function CheckFormBySearch(theForm)
{
	var formItem = null;
	for(iIndex=0;iIndex<document.forms[theForm].elements.length;iIndex++)
	{
		formItem = document.forms[theForm].item(iIndex);
		if(formItem != null)
			formItem.canempty = 1;
	}//for
	return CheckForm(theForm);
}

function CommitConfirmCheckForm(theForm)
{
	if(confirm("您确认提交吗？"))
	{
		return CheckForm(theForm);
	}
	else
	{
		return false;
	}
}

function CheckForm(theForm)
{
	for(iIndex=0;iIndex<document.forms[theForm].elements.length;iIndex++)
	{
		var ctrl = document.forms[theForm].item(iIndex);
		
		if(ctrl.tagName=="INPUT")
		{
			if(ctrl.type=="text" || ctrl.type=="password")
			{
				if (ctrl.canempty =="0" && ((ctrl.value =="") || (ctrl.value ==null)))
				{
					alert("“" + ctrl.texts + "”不能为空！");
					if(ctrl.disabled == "disabled" || ctrl.ReadOnly == true)
					{
					}
					else
					{
					    ctrl.focus();
					}
					return false;
				}
				if (ctrl.datatype=="area")
				{
					if(!isAreaData(ctrl.value))
					{
						alert("“" + ctrl.texts + "”必须是最多两个小数位的数字！");
						ctrl.focus();
						return false;
					}
				}
//				else if (ctrl.datatype=="date")
//				{
//					if(!IsDate(ctrl.value))
//					{
//						alert("日期格式不对，格式如：2006-01-01");
//						ctrl.focus();
//						return false;
//					}
//				}
                else if (ctrl.datatype=="int")
				{
					if(!isNumber(ctrl.value))
					{
						alert("“" + ctrl.texts +"”必须是整数！");
						ctrl.focus();
						return false;
					}
				}

				else if (ctrl.datatype=="price")
				{
					if(!isNumber(ctrl.value))
					{
						alert("“" + ctrl.texts +"”必须是整数！");
						ctrl.focus();
						return false;
					}
				}
				else if (ctrl.datatype=="money")
				{
					if(!isMoney(ctrl.value))
					{
						alert("“" + ctrl.texts +"”必须是最多两个小数位的数字！");
						ctrl.focus();
						return false;
					}
				}
				else if (ctrl.datatype=="integer")
				{
					if(ctrl.value == "")	//如果为空，默认0值
					{
						ctrl.value = "0";
					}
					if(!isInteger(ctrl.value))
					{
						alert("“" + ctrl.texts +"”必须是整数！");
						ctrl.focus();
						return false;
					}
				}
				else if (ctrl.datatype=="number")
				{
					if(ctrl.value == "")	//如果为空，默认0值
					{
						ctrl.value = "0";
					}
					if(!isInteger(ctrl.value))
					{
						alert("“" + ctrl.texts +"”必须是整数！");
						ctrl.focus();
						return false;
					}
				}
				else if (ctrl.datatype=="texts")
				{
					if(ctrl.value.length >ctrl.maxlength)
					{
						alert("“" + ctrl.texts + "”的长度不能超过" + ctrl.maxlength + "！");
						ctrl.focus();
						return false;
					}
					if(ctrl.minlength != null)
					{
					    if(ctrl.value.length < ctrl.minlength)
					    {
					        alert("“" + ctrl.texts + "”的长度不能小于" + ctrl.minlength + "个字符！");
						    ctrl.focus();
						    return false;
						}
					}
				}
				else if (ctrl.datatype=="float")
				{
					if(!isFloat(ctrl.value))
					{
						alert("“" + ctrl.texts + "”必须是最多两个小数位的数字！");
						ctrl.focus();
						return false;
					}
				}
				else if (ctrl.name=="confirmpassword")
				{
					if(document.forms[theForm].item("password").value !=ctrl.value)
					{
						alert("密码不一致，请重新输入！");
						ctrl.focus();
						return false;
					}
				}
				else if (ctrl.datatype=="email")
				{
					if(!isEmail(ctrl.value))
					{
						alert("“" + ctrl.texts + "”不是合法的Email地址！");
						ctrl.focus();
						return false;
					}
				}
				else if (ctrl.datatype == "telephone")
				{
					if(!IsTelephone(ctrl.value))
					{
						alert("“" + ctrl.texts + "”不是合法的固定电话！\n固定电话的格式为020-88888888。");
						ctrl.focus();
						return false;
					}
				}
				else if (ctrl.datatype == "mobile")
				{
					if(!IsMobile(ctrl.value))
					{
						alert("“" + ctrl.texts + "”不是合法的手机号码！");
						ctrl.focus();
						return false;
					}
				}
				else if (ctrl.datatype == "mobilelist")
				{
					if(!IsMobileList(ctrl.value))
					{
						alert("“" + ctrl.texts + "”不是合法的手机/小灵通号码！\n合法号码的格式为02085280100,13632446683。");
						ctrl.focus();
						return false;
					}
				}
				else if (ctrl.datatype == "telmobile")
				{
					if(!IsMobile(ctrl.value) && !IsTelephone(ctrl.value))
					{
						alert("“" + ctrl.texts + "”不是合法的固定电话号码或者手机号码！");
						ctrl.focus();
						return false;
					}
				}	
				
				else if (ctrl.datatype == "ip")
				{
					if(!isIp(ctrl.value))
					{
						alert("“" + ctrl.texts + "”不是IP地址！");
						ctrl.focus();
						return false;
					}
				}		

			}
		}
		else if(ctrl.tagName=="SELECT")
		{
			if (ctrl.canempty == "0" && ctrl.selectedIndex == 0)
			{
				alert("请选择“" + ctrl.texts + "”！");
				ctrl.focus();
				return false;
			}
		}
		else if(ctrl.tagName=="TEXTAREA")
		{
			if (ctrl.canempty =="0" && ctrl.value =="")
			{
				alert("“" + ctrl.texts + "”不能为空！");
				ctrl.focus();
				return false;
			}
			if(ctrl.value.length >ctrl.maxlength)
			{
				alert("“" + ctrl.texts +"”的长度不能超过" + ctrl.maxlength + "！");
				ctrl.focus();
				return false;
			}					
		}

	}
	return true;
}


function isIp(str)
{
    //alert(str);
    var pattern=/^(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])$/;
    flag_ip=pattern.test(str);
    if(!flag_ip)
    {
    //alert("IP地址输入非法!");
        return false;
    }
    return true;
}


function isEmail(str)
{
	if(str == "")
		return true;
	if(str.indexOf("@")==-1)
		return false;
	return true;
}

function isAreaData(str){
	
	if (!isNumber(str) && isNumber(str.replace('.',''))){
		if (str.length - str.lastIndexOf('.') >3)
			return false;
		return true;
	}
	
	if (isNumber(str) )
		return true;
	
	return false;	
}
function isFloat(str){//两个小数
	
	if (!isNumber(str) && isNumber(str.replace('.',''))){
		if (str.length - str.lastIndexOf('.') >3)
			return false;
		return true;
	}
	
	if (isNumber(str) )
		return true;
	
	return false;	
}
//str必须全为数字 
function isNumber(str){
	for(var i=0;i<str.length;i++) {
		var ch=str.charCodeAt(i);
		if(ch<48 || ch>57) {
			return false;
		}
	}
	return true;
}

function isMoney(s){
	if(s=="" || s==null)return false;
	if(isInteger(s))return true;
	var ma=s.match(/^(\d+)\.(\d{0,2})$/);
	if(ma==null)return false;
	return true;
}
function isInteger(s){
	if (s=="" || s==null) return true;
	var ma=s.match(/^(\d+)$/);
	if(ma==null)return false;
	return true;
}
function checkIsFloat(thefield){
     var nc=event.keyCode;
	 var tf=document.getElementById(thefield);
     var s=tf.value;
	 if((nc>=48) && (nc<=57) ){
	   var ndot=s.indexOf('.');
	   if(ndot!=-1){
	     if(s.length-ndot>2 ){
		   event.keyCode=0; return;
		 }
	     if(ndot>8 ){
		   event.keyCode=0; return;
		 }
	   }else{
	     if(s.length>=8){
           event.keyCode=0; return;
		 }
	   } 
	 }else if(nc==46){
	   for(var i=0;i<s.length;i++){
	     if(s.charAt(i)=='.'){
		   event.keyCode=0; return;
		 }
	   }
	   
	 }else{
	   event.keyCode=0;return;
	 }
  }
  function checkIsNumber(thefield){
     var nc=event.keyCode;
	 var tf=document.getElementById(thefield);
     var s=tf.value;
	 if((nc>=48) && (nc<=57) ){
	     if(s.length>=10){
           event.keyCode=0; return;
	  }
	  }else{
	   event.keyCode=0;return;
	 }
  }

//短日期，处理不正确，不使用
function IsDateShort(sValue)
{
	if (sValue=="" || sValue==null) return true; 
	//var r = sValue.match(/(\d{1,4})(\d{2})(\d{2})/); //不带-
	var r = sValue.match(/(\d{1,4})[-|\/](\d{1,2})[-|\/](\d{1,2})/); //带-
	if(r==null){
		return false; 
	}
	var d= new Date(r[1], r[2]-1, r[3]); 
	return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[2]&&d.getDate()==r[3]);
}

function IsDate(sValue)
{
	if (sValue=="" || sValue==null) return true; 
	var r = sValue.match(/^(\d{4})\-(\d{2})\-(\d{2}) (\d{2}):(\d{2})$/);
	if(r==null)
	{
		return false; 
	}
	var d= new Date(r[1], r[2]-1, r[3], r[4], r[5], 0); 
	return (d.getFullYear()==r[1] && (d.getMonth()+1)==r[2] && d.getDate()==r[3] && d.getHours()==r[4] && d.getMinutes()==r[5]);
}

function IsTelephone(sValue)
{
/*
	if (sValue=="" || sValue==null) return true; 
//	var ma = sValue.match(/^\d{3}-\d{8}|\d{4}-\d{7}|\d{4}-\d{8}$/);
	var ma = sValue.match(/^\d{3,4}-\d{7,8}$/);
	if(ma==null)
		return false;
	else
		return true;
*/
	//应客户的要求，电话号码只检查长度是否小于20即可，不用做严格过滤
	if (sValue=="" || sValue==null) return true; 
	return sValue.length <= 20;
}

//检查手机号/小灵通号
function IsMobile(sValue)
{
	if (sValue=="" || sValue==null) return true; 
	var ma = sValue.match( /^\d{11,12}$/);
	if(ma==null)
		return false;
	else
		return true;
}

//检查是否为手机号/小灵通号列表，以,隔开
function IsMobileList(sValue)
{
	if (sValue=="" || sValue==null) return true; 
	var sArray = sValue.split(',');
	for(var i = 0; i < sArray.length; i++)
	{
		if(sArray[i] != "")
		{
			if(!IsMobile(sArray[i]))
			{
				return false;
			}
		}
	}//for
	return true;
}

function Oper_MDialog(sUrl,sWidth,sHeight)
{
	var OV=window.showModalDialog(sUrl,window,"dialogWidth:"+sWidth+"px;dialogHeight:"+sHeight+"px;center:yes;help:no;status:no;resizable:no");
	return OV;
}
