function chkLen(IntStr) 
{
    var len = 0;
    for (i=0;i<IntStr.length;i++)
    {
        if (IntStr.charCodeAt(i)>255) 
            len+=2; 
        else 
            len++;
    }
    return len;
}

function _ChkDigital(IntStr)
{
    var len = chkLen(IntStr);
    for( i=0; i<len; i++ )
    {
  //  	if( IntStr.charAt(i)== '.' )
   //     {
   //         return true;
    //    }
    
        if( IntStr.charAt(i)< '0' || IntStr.charAt(i)> '9' )
        {
            return false;
        }
    }
    return true;
}

function _ChkDate(sYear,sMon,sDay) 
{
	//Year	
	if(sYear.length!=4) return 'Y';
	if(!_ChkDigital(sYear)) return 'Y';
	if(sYear.charAt(0)=='0') return 'Y';

	//Month
	if(sMon.length!=2) return 'M';
	if(!_ChkDigital(sMon)) return 'M';
	if( (sMon<"01") || (sMon>"12")) return 'M';

	//Day
	if(sDay.length!=2) return 'D';
	if(!_ChkDigital(sDay)) return 'D';
	if(sDay<"01") return 'D';
	if(sMon=="01"||sMon=="03"||sMon=="05"||sMon=="07"||sMon=="08"||sMon=="10"||sMon=="12")
		if(sDay>"31")
			return 'D';
	if(sMon=="04"||sMon=="06"||sMon=="09"||sMon=="11")
		if(sDay>"30")
			return 'D';
	if(sMon=="02")
	{
		var nTemp=new Number(sYear);
		if(nTemp%400==0||(nTemp%4==0&&nTemp%100!=0)){
     		if(sDay>"29") return 'D';
		}else{
			if(sDay>"28") return 'D';
		}
	}
	return 'T';
}

function _ChkLetter(Str)
{
    var len;
    len = chkLen(Str);
    for( i=0; i<len; i++ )
    {
        if( !((Str.charAt(i)>= 'a' && Str.charAt(i)<= 'z')||(Str.charAt(i)>= 'A' && Str.charAt(i)<= 'Z')) )
              return false;
    }
    return true;
}

function _ChkLtrAndDgt(Str)
{
    var len;
    len = chkLen(Str);
    for( i=0; i<len; i++ )
    {
        if(!((Str.charAt(i)>= 'a' && Str.charAt(i)<= 'z')||
             (Str.charAt(i)>= 'A' && Str.charAt(i)<= 'Z') || 
             (Str.charAt(i)>= '0' && Str.charAt(i)<= '9') ||
             (Str.charAt(i) == '_')||(Str.charAt(i) == '.')))
              return false;
    }
    return true;
}

function ChkLtrAndDgtAndDot(Str)
{
    var len;
    len = chkLen(Str);
    for( i=0; i<len; i++ )
    {
        if(!((Str.charAt(i)>= 'a' && Str.charAt(i)<= 'z')||
             (Str.charAt(i)>= 'A' && Str.charAt(i)<= 'Z') || 
             (Str.charAt(i)>= '0' && Str.charAt(i)<= '9') ||
             (Str.charAt(i) == '.')||(Str.charAt(i) == '@')))
              return false;
    }
    return true;
}

function chkInt(TextBox,Min,Max,PromptString,Status)
{
    if( TextBox.value.length==0 )
    {
        if(Status == 1)
        {
            alert(PromptString);
            TextBox.select();
            return false;
        }
        else
        {
            return true;
        }
    }

    if( (TextBox.value<Min) || (TextBox.value>Max) )
    {
        alert(PromptString);
          TextBox.select();
          return false;
    }

    if(!_ChkDigital(TextBox.value))
    {
        alert(PromptString);
          TextBox.select();
          return false;
    }
    return true;
}

function chkNumber(TextBox,PromptString,Status)
{
    if( TextBox.value.length==0 )
    {
        if(Status == 1)
        {
            alert(PromptString);
            TextBox.select();
            return false;
        }
        else
        {
            return true;
        }
    }

    if(_ChkDigital(TextBox.value))
        return true;
    else
    {
        alert(PromptString);
          TextBox.select();
          return false;
    }
    return true;
}

function chkDate(TextBox,PromptString,Status)
{//check yyyymmdd
    if( TextBox.value.length == 0 )
    {
        if(Status == 1)
        {
            alert(PromptString);
            TextBox.select();
            return false;
        }
        else
        {
            return true;
        }
    }

    if(TextBox.value.length!=8)
    {
          alert(PromptString);
          TextBox.select();
          return false;
    }

   // if( _ChkDate(TextBox.value.substr(6,2),TextBox.value.substr(3,2),TextBox.value.substr(0,2),TextBox.value.substr(2,1),TextBox.value.substr(5,1))=='T' )
   if( _ChkDate(TextBox.value.substr(0,4),TextBox.value.substr(4,2),TextBox.value.substr(6,2))=='T' )
    {
        return true;
    }
    else
    {
          alert(PromptString);
          TextBox.select();
          return false;
    }
    return true;
}

function chkDate2(TextBox,PromptString,Status)
{// check yyyy-mm-dd
    if( TextBox.value.length == 0 )
    {
        if(Status == 1)
        {
            alert(PromptString);
            TextBox.select();
            return false;
        }
        else
        {
            return true;
        }
    }

    if(TextBox.value.length!=10)
    {
          alert(PromptString);
          TextBox.select();
          return false;
    }

   // if( _ChkDate(TextBox.value.substr(6,2),TextBox.value.substr(3,2),TextBox.value.substr(0,2),TextBox.value.substr(2,1),TextBox.value.substr(5,1))=='T' )
   if( _ChkDate(TextBox.value.substr(0,4),TextBox.value.substr(5,2),TextBox.value.substr(8,2))=='T' )
    {
        return true;
    }
    else
    {
          alert(PromptString);
          TextBox.select();
          return false;
    }
    return true;
}

function chkDate3(TextBox,PromptString,Status)
{// check yyyymm
    if( TextBox.value.length == 0 )
    {
        if(Status == 1)
        {
            alert(PromptString);
            TextBox.select();
            return false;
        }
        else
        {
            return true;
        }
    }

    if(TextBox.value.length!=6)
    {
          alert(PromptString);
          TextBox.select();
          return false;
    }

   // if( _ChkDate(TextBox.value.substr(6,2),TextBox.value.substr(3,2),TextBox.value.substr(0,2),TextBox.value.substr(2,1),TextBox.value.substr(5,1))=='T' )
   if( _ChkDate(TextBox.value.substr(0,4),TextBox.value.substr(4,2),'01')=='T' )
    {
        return true;
    }
    else
    {
          alert(PromptString);
          TextBox.select();
          return false;
    }
    return true;
}

function chkEMail(TextBox,PromptString,Status)
{
    if( TextBox.value.length==0 )
    {
        if(Status == 1)
        {
            alert(PromptString);
            TextBox.select();
            return false;
        }
        else
        {
            return true;
        }
    }

    var strLength = chkLen(TextBox.value);
    var strEMail = TextBox.value;
    if(strLength > 50)
    {
          alert(PromptString);
          TextBox.select();
          return false;    
    }
    if((strEMail.indexOf("@") == -1) || (strEMail.indexOf("@") == 0) || (strEMail.indexOf("@") == (strLength-1)))
    {
        alert(PromptString);
          TextBox.select();
          return false;    
    }
    return true;
}

function chkAC_LOGIN(TextBox,PromptString,Status)
{
    if( TextBox.value.length==0 )
    {
        if(Status == 1)
        {
            alert(PromptString);
           // TextBox.select();
            return false;
        }
        else
        {
            return true;
        }
    }

    var strLength = chkLen(TextBox.value);
    if((strLength < 5) || (strLength > 10))
    {
        alert(PromptString);
          TextBox.select();
          return false;    
    }    
    if(_ChkLtrAndDgt(TextBox.value)==false)
    {
        alert(PromptString);
          TextBox.select();
          return false;    
    }
    return true;
}

function chkAC_PASSWORD(TextBox,PromptString,Status)
{
    if( TextBox.value.length==0 )
    {
        if(Status == 1)
        {
            alert(PromptString);
            TextBox.select();
            return false;
        }
        else
        {
            return true;
        }
    }

    var strLength = chkLen(TextBox.value);
    if((strLength < 5) || (strLength > 10))
    {
        alert(PromptString);
          TextBox.select();
          return false;    
    }    
    if(_ChkLtrAndDgt(TextBox.value)==false)
    {
        alert(PromptString);
          TextBox.select();
          return false;    
    }
    return true;
}

function chkNew_PASSWORD(TextBox1,TextBox2,PromptString,Status)
{
    if( TextBox1.value.length==0 )
    {
        if(Status == 1)
        {
            alert(PromptString);
            TextBox1.select();
            return false;
        }
        else
        {
            return true;
        }
    }
    var strLength = chkLen(TextBox1.value);
    if((strLength < 5) || (strLength > 10))
    {
          alert(PromptString);
          TextBox1.select();
          return false;    
    }    
    if(_ChkLtrAndDgt(TextBox1.value)==false)
    {
          alert(PromptString);
          TextBox1.select();
          return false;    
    }

    if(TextBox1.value!=TextBox2.value)
    {
        alert(PromptString);
        TextBox2.select();
        return false;
    }
    return true;
}

function chkAC_PHONE(TextBox,PromptString,Status)
{
    if( TextBox.value.length==0 )
    {
        if(Status == 1)
        {
            alert(PromptString);
            TextBox.select();
            return false;
        }
        else
        {
            return true;
        }
    }

    var strLength = chkLen(TextBox.value);
    var strPhone = TextBox.value;
    if(strLength > 20)
    {
        alert(PromptString);
          TextBox.select();
          return false;    
    }
    for( i=0; i<strLength; i++ )
    {
        if(!(strPhone.charAt(i) >= '0' && strPhone.charAt(i) <= '9') || (strPhone.charAt(i) == '-') || (strPhone.charAt(i) == ' '))
        {
            alert(PromptString);
              TextBox.select();
              return false;    
        }

    }    
    return true;
}



function _isNull(text)
{
    var strLength = chkLen(text);    
    if(strLength == 0)
    {
        return true;
    }
    else
    {
        var j = 0;
		for(i=0;i < strLength; i++)
        {
            if( (text.charAt(i)==' ')||(text.charAt(i)==unescape("%A0")) )
                j++;
        }
        if(strLength == j)
		{
		    return true
		}
		else
		{
		    return false;
		}
    }
    return false;
}

function chkIsNull(TextBox,PromptString)
{
    if(_isNull(TextBox.value))
    {
        alert(PromptString);
        TextBox.select();
        return false;
    }
    return true
}

function chkStrLen(TextBox,iMaxLen,PromptString,Status)
{
    if( TextBox.value.length==0 )
    {
        if(Status == 1)
        {
           alert(PromptString);
           //TextBox.select();
            return false;
        }
        else
        {
            return true;
        }
    }

    var strLength = chkLen(TextBox.value);
    if(strLength > iMaxLen)
    {
        alert(PromptString);
        TextBox.select();
        return false;
    }
    return true;
}



function chkCurrentDay(TextBox,CurrentDay,PromptString)
{
	strYear = "20" + TextBox.value.substr(6,2) + "";
	strMonth = TextBox.value.substr(3,2) + "";
	strDate = TextBox.value.substr(0,2) + "";
    inputDay = strYear + strMonth + strDate;
    if(CurrentDay > inputDay)
	{
	    alert(PromptString);
		return false;
	}
    return true;
}
function chkBothDay(TextBox1,TextBox2,PromptString)
{
	strYear1 = "20" + TextBox1.value.substr(6,2) + "";
	strMonth1 = TextBox1.value.substr(3,2) + "";
	strDate1 = TextBox1.value.substr(0,2) + "";
    inputDay1 = strYear1 + strMonth1 + strDate1;

	strYear2 = "20" + TextBox2.value.substr(6,2) + "";
	strMonth2 = TextBox2.value.substr(3,2) + "";
	strDate2= TextBox2.value.substr(0,2) + "";
    inputDay2 = strYear2 + strMonth2 + strDate2;
	
	if(inputDay1 > inputDay2)
	{
	    alert(PromptString);
		return false;
	}
    return true;
}



function chkAll(TextBox,sType,sInfo,sNotNull,iMaxLen,nullAlert)
{
	//TextBox  is from box  
	//sType is check box type   or  LENGTH|NUMBER|DATA|DATA2|SELECT  |RADIO|CHECKBOX
	//sInfo  is alert infomation add err show
	//iNotNull   is  1 or 0   value=1 is not null  value=0 allow null
	//iMaxLine  the box value line max size.
	
	 sInfo = "\""+sInfo+"\" ";
	 
	 	if(sType == "M_SELECT")
		{
			var isNull = 0;
			if(sNotNull == "YES")
			{
				for(var i = 0 ; i<TextBox.length;i++)
				{

					if(TextBox[i].selected == true)
					{		
						isNull = 1;		
					}
				}
				if(isNull == 0)
				{
					alert("请选择"+sInfo);
					return false;
				}
			}
			return true;
		}
	 
		if(sType == "RADIO" || sType == "CHECKBOX")
		{
	
			var isNull = 0;
			if(sNotNull == "YES")
			{
				for(var i = 0 ; i<TextBox.length;i++)
				{

					if(TextBox[i].checked == true)
					{		
						isNull = 1;	
	
					}
				}
				if(isNull == 0)
				{
					alert("请选择"+sInfo);
					return false;
				}
			}
			return true;
		}

 		TextBox.value = TextBox.value.replace(/(^\s*)|(\s*$)/g, "");
 
		if(TextBox.value.length==0)
		{
			if(sNotNull == "YES")
			{
				if(sType == "SELECT")
				{
					alert("请选择"+sInfo);	
				}else
				{	
					if(nullAlert == null)
					{				
						alert("请输入"+sInfo+"。");
					}else
					{
						alert(nullAlert);
					}
					//TextBox.select();
					
				}
				return false;
			}
			return true;
		}
		
		if(sType == "LENGTH")
		{
			var info = sInfo+"超出范围:"+iMaxLen;
			return chkStrLen(TextBox,iMaxLen,info,0); 
		}
		
		if(sType == "NUMBER")
		{
			var info = sInfo+" 请输入正整数类型!";
			return chkNumber(TextBox,info,0);
		}
		
		if(sType == "DATE")
		{
			var info = sInfo+"输入不正确, 格式为:yyyymmdd";
			return chkDate(TextBox,info,0);
		}
		if(sType == "DATE2")
		{
			var info = sInfo+"输入不正确, 格式为:yyyy-mm-dd";
			return chkDate2(TextBox,info,0);
		}
		if(sType == "DATE3")
		{
			var info = sInfo+"输入不正确, 格式为:yyyymm";
			return chkDate3(TextBox,info,0);
		}
		if(sType == "EMAIL")
		{
			var info = sInfo+"输入不正确";
			if(!checkEmail(TextBox.value))
			{
				//alert(info);
				//TextBox.select();
				return false;
			}
			
		}
			if(sType == "PHONE")
		{
			var info = sInfo+"输入不正确";
			if(!phonecheck(TextBox.value))
			{
				alert(info);
				//TextBox.select();
				return false;
			}
			
		}
	return true;
}

function showChildSelect(ParentName,ChildName,ChildDicId)
{
	 	var strUrl= encodeURI("DWActionShowChild?parentCode="+ParentName.value+"&childDic="+ChildDicId);
	
		//alert(strUrl);
		//if(innerXmlHttp==null)
		var innerXmlHttp = new ActiveXObject("Msxml2.XmlHttp");		
		innerXmlHttp.open("GET",strUrl,false);
		innerXmlHttp.send();
		
		var sReturn = innerXmlHttp.responseText;
		
		//alert(sReturn);
		
         if(typeof(sReturn)!="undefined" && sReturn.length!=0)
         {	
	        var sss = sReturn.split("@");   
    	   	document.getElementById(ChildName).options.length=0      
	        for(var i=0;i<sss.length-2;i++)
	        {
        	    var array1 = sss[i+1].split(",");            
                var sFileTypeId = array1[0];
                var sFileTypeName =array1[1];                   
            	document.getElementById(ChildName).options[i] = new Option(sFileTypeName,sFileTypeId);                               
		     } 
			
		  }  
      
    }
    /**
 * Reference: Sandeep V. Tamhankar (stamhankar@hotmail.com),
 * http://javascript.internet.com
 */
function checkEmail(emailStr) 
{
    if (emailStr.length == 0)
    {
        return true;
     }
       var emailPat=/^(.+)@(.+)$/;
       var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]";
       var validChars="\[^\\s" + specialChars + "\]";
       var quotedUser="(\"[^\"]*\")";
       var ipDomainPat=/^(\d{1,3})[.](\d{1,3})[.](\d{1,3})[.](\d{1,3})$/;
       var atom=validChars + '+';
       var word="(" + atom + "|" + quotedUser + ")";
       var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
       var domainPat=new RegExp("^" + atom + "(\\." + atom + ")*$");
       var matchArray=emailStr.match(emailPat);
       if (matchArray == null) {
              return false;
       }
       var user=matchArray[1];
       var domain=matchArray[2];
 
       if (user.match(userPat) == null) {
           return false;
        }
       var IPArray = domain.match(ipDomainPat);
       if (IPArray != null) {
       for (var i = 1; i <= 4; i++) {
           if (IPArray[i] > 255) {
                return false;
              }
          }
           return true;
        }
        var domainArray=domain.match(domainPat);
        if (domainArray == null) {
         return false;
        }
        
        var atomPat=new RegExp(atom,"g");
        var domArr=domain.match(atomPat);
        var len=domArr.length;
      
       if ((domArr[domArr.length-1].length < 2) ||
            (domArr[domArr.length-1].length > 3)) {
           return false;
      }
       if (len < 2) {
           return false;
        }
               
     return true;
  }
  
  function getMessage(url,message)
{
	var strUrl= encodeURI(url); 	
	var innerXmlHttp = new ActiveXObject("Msxml2.XmlHttp");
	innerXmlHttp.open("GET",strUrl,false);
	innerXmlHttp.send(message);
	return  innerXmlHttp.responseText;
	
}

	function my_Calendar(obj){
		var sReturn = self.showModalDialog("../inc/Calendar.jsp",null,"dialogwidth:270px ;dialogheight:260px");
		if(typeof(sReturn)=="undefined") ;
		else{	
			   obj.value = sReturn;
		}		
	}
	
	function change_month(id,i)
{
	
	var vmonth = id.value;
	if(vmonth.length !=7 || (vmonth.indexOf('-')!=4))
	{
		alert('输入格式错误, 请按照 yyyy-mm 格式输入');
		id.select();
		return false;
	}

	
	year = vmonth.substring(0,4);
	month = vmonth.substring(5,7);
	if(!isNumber(year) || !isNumber(month))	
	{
		alert('输入格式错误, 请按照 yyyy-mm 格式输入');
		id.select();
		return false;

	}
	
	year = Number(year);
	month = Number(month);
	month = month+i;

	if(month>12)
	{
		year = year+1;
		vmonth=year+'-01'
	}else if(month<1)
	{
		year = year-1;
		vmonth=year+'-12'
	}else
	{
		if(month>9)
			vmonth=year+'-'+month;
		else
			vmonth=year+'-0'+month;
	}
	id.value=vmonth;

	return false;
}
   function isNumber(oNum)
   {
	  if(!oNum) return false;
	  var strP=/^\d+(\.\d+)?$/;
	  if(!strP.test(oNum)) return false;
	  try{
	  if(parseFloat(oNum)!=oNum) return false;
	  }
	  catch(ex)
	  {
	   return false;
	  }
	  return true;
   }
   

function phonecheck(str){ 
	var reg=/(^[0-9]{3,4}\-[0-9]{7,8}$)|(^[0-9]{7,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)/; 
	if (reg.test(str)==false)
    {
    	return false;
    }
	return true;
}
	