// JavaScript Document
/*
输入字段检验V1.2
作者：黄平
使用说明：
在需要检检验的字段加入属性

notnull
------------------------------------------
notnull=true             该字段不能为空

缺省值为不验证，或可以为空值
==========================================
msg

msg="检验没通过后的提示信息的主语"

缺省值为“该值”
===========================================

check
------------------------------------------
check=email		该字段为空电子邮件地址
check=date		该字段为日期类型
check=num		该字段只能输入数字
============================================

max			需和check一起使用

max			该字段的值不能大于max如果check=num,max的值请输入数字.
============================================

min			需和check一起使用

min			该字段的值不能小于min如果check=date,min的值请输入合法的日期.

=========================================
notnull和check可以同时使用。
*/
//document.writeln("<iframe id='addupfile'  frameborder='0'  style='position:absolute; width:550px; height:310; z-index:3; display:none; top: 381px; left: 31px; overflow: hidden; background-color: #99CCCC; layer-background-color: #99CCCC; border: 1px none #000000;'></iframe>");
var idstring="";
function ClearAll()
{
	with(document.forms[0]){
		for(var i=0;i<elements.length;i++){
			if(elements[i].type!="text" && elements[i].type!="select-one" &&
			elements[i].type!="checkbox" && elements[i].type!="Radio" &&
			elements[i].type!="textarea" && elements[i].type!="password"){
				continue;
			}
			else{
				elements[i].value="";
			}
		}
	}
}
function Check(obj)//检测验证当前指定的控件
{
		if(obj.msg=="undefined"){obj.msg="该值";}
		if(obj.notnull=="undefined"){obj.notnull=false;}
        if(obj.notnull){
            if(CheckNull(obj)!=true){
                alert(obj.ErrorMessage)
                obj.focus();
                if(obj.type!="select-one")obj.select();
                return false;
            }
  		}
        if(obj.check!="undefined"){
            if(CheckNull(obj)){
                if(CheckValue(obj)!=true){

                alert(obj.ErrorMessage)
                obj.focus();
                if(obj.type!="select-one")obj.select();
                return false;
             	}
            }
        }	
        return true;
	
}
function CheckForm(obj)//检测验证指定的FORM内的所有控件
{

for(var v1=0;v1<obj.length;v1++){  	
     with(obj){
         for(var i=0;i<elements.length;i++){
             if(elements[i].type!="text" && elements[i].type!="select-one" &&
                elements[i].type!="checkbox" && elements[i].type!="Radio" &&
                elements[i].type!="textarea" && elements[i].type!="password")continue;
				if(elements[i].msg=="undefined"){elements[i].msg="该值";}
				if(elements[i].notnull=="undefined"){elements[i].notnull="false";}				
               	if(elements[i].notnull=="true"){
               		if(CheckNull(elements[i])!=true){
                	  	alert(elements[i].ErrorMessage)
                  		elements[i].focus();
                  		if(elements[i].type!="select-one")elements[i].select();
                  		return false;
             		}
  				}
                if(elements[i].check!="undefined"){
                	if(CheckNull(elements[i])){
                		if(CheckValue(elements[i])!=true){
                	  	alert(elements[i].ErrorMessage)
                  		elements[i].focus();
                  		if(elements[i].type!="select-one")elements[i].select();
                  		return false;
             			}
             		}
             	}
             }
        }
     }
     
    // return confirm("确定保存吗？");
	return true;
}
function CheckAll()// 检测验证当前页所有控件
{
   for(var v1=0;v1<document.forms.length;v1++){  	
     with(document.forms[v1]){
         for(var i=0;i<elements.length;i++){
             if(elements[i].type!="text" && elements[i].type!="select-one" &&
                elements[i].type!="checkbox" && elements[i].type!="Radio" &&
                elements[i].type!="textarea" && elements[i].type!="password")continue;
				if(elements[i].msg=="undefined"){elements[i].msg="该值";}
				if(elements[i].notnull=="undefined"){elements[i].notnull=false;}
               	if(elements[i].notnull==true){
               		if(CheckNull(elements[i])!=true){
                	  	alert(elements[i].ErrorMessage)
                  		elements[i].focus();
                  		if(elements[i].type!="select-one")elements[i].select();
                  		return false;
             		}
  				}
                if(elements[i].check!="undefined"){
                	if(CheckNull(elements[i])){
                		if(CheckValue(elements[i])!=true){
                	  	alert(elements[i].ErrorMessage)
                  		elements[i].focus();
                  		if(elements[i].type!="select-one")elements[i].select();
                  		return false;
             			}
             		}
             	}
             }
        }
     }
     return true;
     //return confirm("确定保存吗？");

}
//-----------------------------------------------------------------------------

function CheckValue(obj)//检测控件的值
{
	if(obj.value.indexOf("'")>=0){
		obj.ErrorMessage=obj.msg+"里不能有 ' 号";
		return false
	}
	if(obj.value.indexOf('"')>=0){
		obj.ErrorMessage=obj.msg+'里不能有 " 号';
		return false
	}
	if(obj.check=="email"){
		return IsMail(obj);
	}
	if(obj.check=="date"){
		if(IsDate(obj)==false) return false
		
		if(obj.max!=undefined){
			if(datemax(obj)==false) return false
		}
		if(obj.min!=undefined){
			if(datemin(obj)==false) return false
		}
		return true;
	}
	if(obj.check=="num"){
		if(IsNum(obj)==false) return false
		if(obj.max!="undefined"){
			
			if(nummax(obj)==false) return false
		}
		if(obj.min!="undefined"){
			if(nummin(obj)==false) return false
		}
	}
	return true;
}
//-----------------------------------------------------------------------------
function datemax(obj){
	var temp=buildate(obj.value);
	var max=buildate(obj.max);
	if(temp>max){
		obj.ErrorMessage=obj.msg+"超出最大日期"+obj.max;
		return false		
	}
	return true	
}
//-------------------------------------------------------------------------------
function datemin(obj){

	var temp=buildate(obj.value);
	var min=buildate(obj.min);
	
	if(temp<min){
		obj.ErrorMessage=obj.msg+"超出最小日期"+obj.min;
		return false		
	}
	else{
	
	return true
	}
}
//------------------------------------------------------------------------------
function buildate(str){// 传入 (yyyy-mm-dd)返回日期类型
	var tempdate=str
	var count=tempdate.indexOf("-");
	if(count<0){
		obj.ErrorMessage=obj.msg+"非法日期格式\n请参照(yyyy-mm-dd)";
		return false;
	}
		var year=Number(tempdate.substring(0,count));
		tempdate=tempdate.substring(count+1);
		var count=tempdate.indexOf("-");
	if(count<0){
		obj.ErrorMessage=obj.msg+"非法日期格式\n请参照(yyyy-mm-dd)";
		return false;
	}
	var month=Number(tempdate.substring(0,count));
	tempdate=tempdate.substring(count+1)
	var day=Number(tempdate);
	//alert(year+"-"+month+"-"+day);
	return new Date(year,month,day);
}
//----------------------------------------------------------------------
function nummax(obj){
	var temp=Number(obj.value);
	var max=Number(obj.max);
	if(max<temp){
		obj.ErrorMessage=obj.msg+"超出最大值"+max;
		return false
	}
	return true
	
}
//-----------------------------------------------------------------------------
function nummin(obj){
	var temp=Number(obj.value);
	var min=Number(obj.min);
	if(min>temp){
		obj.ErrorMessage=obj.msg+"该值超出最小值"+min;
		return false
	}
	return true
	
}
//---------------------------------------------------------------------------
function IsMail(obj){//检测值是否为电子邮件地址\s+@\s+\.\s+
	var i=obj.value.indexOf("@")
	if(i<1){
		obj.ErrorMessage=obj.msg+"非法的电子邮件地址"
		return false
	}
	return true 
}

//---------------------------------------------------------------------------
function CheckNull(obj){//检测值是否为空

	if(obj.value==""){
		obj.ErrorMessage=obj.msg+"不能为空"
		return false
	}
	//alert(obj.value.indexOf("'"));   测试用
	if(obj.value.indexOf("'")>=0){
		obj.ErrorMessage=obj.msg+"里不能有 ' 号";
		return false
	}
	if(obj.value.indexOf('"')>=0){
		obj.ErrorMessage=obj.msg+'里不能有 " 号';
		return false
	}
	return true 
}
//-----------------------------------------------------------------------------
function IsNum(obj){
	if(isNaN(obj.value)){
		obj.ErrorMessage=obj.msg+"只能为数字"
		return false	
	}
	return true;
}
//-----------------------------------------------------------------------------
function IsDate(obj){//检测值是否为日期型
	var tempdate=obj.value;
	var count=tempdate.indexOf("-");
	if(count<0){
		obj.ErrorMessage=obj.msg+"非法格式。(yyyy-mm-dd)";
		return false;
	}
	var year=Number(tempdate.substring(0,count));
	if(year<100 && year>30){
		year=year+1900
	}
	else if(year<30 && year>=0){
		year=year+2000
	}
	tempdate=tempdate.substring(count+1);
	var count=tempdate.indexOf("-");
	if(count<0){
		obj.ErrorMessage=obj.msg+"非法格式。(yyyy-mm-dd)";
		return false;
	}
	
	var month=Number(tempdate.substring(0,count));
	tempdate=tempdate.substring(count+1)
	var day=Number(tempdate);
	obj.value=year+"-"+month+"-"+day;

	//alert(year+"-"+month+"-"+day);
	if(year<1900 || year>2200){
		obj.ErrorMessage=obj.msg+"不是个合法的日期,年份超出范围";
		return false;
	}
	if(month<1 || month>12){
		obj.ErrorMessage=obj.msg+"不是个合法的日期，月份超出范围";
		return false;
	}
	if(month==1||month==3||month==5||month==7||month==8||month==10||month==12){
		if(day<1 || day>31){
			obj.ErrorMessage=obj.msg+"不是合法的日期，日子超出范围";
			return false;
		}
	}
	else{
		if(day<1 || day>30){
			obj.ErrorMessage=obj.msg+"不是合法的日期，日子超出范围";
			return false;
		}
		if(month==2){
			if(((year%4==0) || (year%400==0)) && (year%100!=0)){
				if(day<1 || day>29){
					obj.ErrorMessage=obj.msg+"不是合法的日期,日子超出范围";
					return false;
				}
			}
			else{
				if(day<1 || day>28){
					obj.ErrorMessage=obj.msg+"不是合法的日期,日子超出范围";
					return false;	
				}
			}
		}
	}
	

	return true
	}
//-------------------------------------------------------------------------------------------*/


function String.prototype.Trim() {return this.replace(/(^\s*)|(\s*$)/g,"");}
function String.prototype.Ltrim(){return this.replace(/(^\s*)/g, "");}
function String.prototype.Rtrim(){return this.replace(/(\s*$)/g, "");}