//check ip address(like 1.1.1.1)
//return 0--valid -1--invalid
function IsValidIpAddress(ip)
{
   msg=/^(([0-9]{1,2})|(1[0-9]{1,2})|(2[0-4][0-9])|(25[0-5])).(([0-9]{1,2})|(1[0-9]{1,2})|(2[0-4][0-9])|(25[0-5])).(([0-9]{1,2})|(1[0-9]{1,2})|(2[0-4][0-9])|(25[0-5])).(([0-9]{1,2})|(1[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))$/
   if (!msg.test(ip))
   {
      return false;
   }
   return true;
}



function check_netmask(netmask)
{
   msg=/^(255.0.0.0)|(255.255.0.0)|(255.255.255.0)$/
   
   if ( !msg.test(netmask) )
   {
      return -1
   }
   return 0
	
}

function trim(val)
{
   return rtrim(ltrim(val))
}

function ltrim(val)
{
   var tmp = val
   
   while(true)
   {
      if (tmp.indexOf(' ')!=0||tmp=="")
         return tmp
      else
         tmp = tmp.substring(1,tmp.length)
   }
   
}

function rtrim(val)
{
	
   var tmp = val
   
   while(true)
   {
      if (tmp.lastIndexOf(' ')!=(tmp.length-1)||tmp=="")
         return tmp
      else
         tmp = tmp.substring(0,tmp.length-1)
   }

}

//check whether it is a number
//return 0--yes 1--not
function isNum(num)
{
   var msg

   msg=/^\d+$/
   if (!msg.test(num))
      return false;
   else
      return true;
}
/*

IsFloat(string,string,int or string):(测试字符串,+ or - or empty,empty or 0)

功能：判断是否为浮点数、正浮点数、负浮点数、正浮点数+0、负浮点数+0

*/

function IsFloat(objStr,sign,zero)

{

    var reg;    

    var bolzero;    

    

    if(trim(objStr)=="")

    {

        return true;

    }

    else

    {

        objStr=objStr.toString();

    }    

    

    if((sign==null)||(Trim(sign)==""))

    {

        sign="+-";

    }

    

    if((zero==null)||(trim(zero)==""))

    {

        bolzero=false;

    }

    else

    {

        zero=zero.toString();

        if(zero=="0")

        {

            bolzero=true;

        }

        else

        {

            alert("检查是否包含0参数，只可为(空、0)");

        }

    }

    

    switch(sign)

    {

        case "+-":

            //浮点数

            reg=/^((-?|\+?)\d+)(\.\d+)?$/;

            break;

        case "+": 

            if(!bolzero)           

            {

                //正浮点数

                reg=/^\+?(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$/;

            }

            else

            {

                //正浮点数+0

                reg=/^\+?\d+(\.\d+)?$/;

            }

            break;

        case "-":

            if(!bolzero)

            {

                //负浮点数

                reg=/^-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$/;

            }

            else

            {

                //负浮点数+0

                reg=/^((-\d+(\.\d+)?)|(0+(\.0+)?))$/;

            }            

            break;

        default:

            alert("检查符号参数，只可为(空、+、-)");

            return false;

            break;

    }

    

    var r=objStr.match(reg);

    if(r==null)

    {

        return false;

    }

    else

    {        

        return true;     

    }

}




function isValidSize(size)
{
   var msg;

   msg=/(^\d+$)|(^\d+.\d+$)/
   if (!msg.test(size))
      return false;
   else
      return true;

}

//check whether the year is leap year
//return 0--yes 1--not
function check_leap_year(year)
{

   if( ((year%4==0)&&(year%100!=0))||(year%400==0) )
      return 0
   else
      return 1
	
}

//check whether it is composed of hex num
function check_hex(hex_num)
{
   var msg

   msg=/^(\d|[a-f]|[A-F])*$/
   if (!msg.test(hex_num))
      return -1
   else
      return 0
}

function check_ntp_server(ntp_server)
{
   var msg

   msg=/^(\d|\w|[._-])*$/
   if (!msg.test(ntp_server))
      return -1
   else
      return 0

}

//?????????IndexString?checkbox???
function IsCheckboxSelected(IndexString)
{
	var i;
	
	for (i = 0; i < document.all.tags('input').length; i++)
	{
		obj = document.all.tags('input')[i];
		if(obj.type=="checkbox"&&obj.name.indexOf(IndexString)!=-1)
		{
			if(obj.checked==true)
				return true;
			else
				continue;
			
		}
	}
	
	return false;
}


function IsValidInput(name)
{

	if ( name.indexOf("'")!=-1 ||
	     name.indexOf('"')!=-1 ||
	     name.indexOf('\\')!=-1 ||
	     name.indexOf('/')!=-1 ||
	     name.indexOf(':')!=-1 ||
	     name.indexOf(',')!=-1 ||
	     name.indexOf('*')!=-1 ||
	     name.indexOf('?')!=-1 ||
	     name.indexOf('<')!=-1 ||
	     name.indexOf('>')!=-1 ||
	     name.indexOf('|')!=-1 ||
	     name.indexOf("%")!=-1 )
	{
		alert("输入框不能包含 \\/:,*?\"<>|'% 这些字符!");
		return false;
	}
	
	return true;

}

function IsValidFtpdir(name)
{

	if ( name.indexOf("'")!=-1 ||
	     name.indexOf('"')!=-1 ||
	     name.indexOf('\\')!=-1 ||
	     name.indexOf(':')!=-1 ||
	     name.indexOf('*')!=-1 ||
	     name.indexOf('?')!=-1 ||
	     name.indexOf('<')!=-1 ||
	     name.indexOf('>')!=-1 ||
	     name.indexOf('|')!=-1 ||
	     name.indexOf("%")!=-1 )
	{
		alert("Ftp目录不能包含 \\:*?\"<>|'% 这些字符!");
		return false;
	}
	
	return true;

}


function IsValidUserName(username)
{
   var msg;

   msg=/^(\d|\w|[._-])*$/
   if (!msg.test(username))
      return false;
   else
      return true;
}

function IsValidPassword(password)
{
   var msg;

   msg=/^(\d|\w|[._\-@\$#&\*])*$/
   if (!msg.test(password))
      return false;
   else
      return true;
}

function IsValidCode(code)
{
   var msg;
   
   msg=/^(\d|\w)*$/
   if (!msg.test(code))
      return false;
   else
      return true;
}

function chkDatebk(sDate){
	var r=/\d{4}(?:-\d{1,2}){0,2}/
	//正则表达式，判断是否为yyyy-mm-dd,yyyy-mm,yyyy格式
	if(sDate.match(r)==sDate){
	  var arr=sDate.split("-")
	  switch(arr.length){
	  //根据不同的yyyy-mm-dd,yyyy-mm格式判断年月日数字是否正确
	   case 3:
	    var tmpDate=new Date(arr[0],arr[1],arr[2]);
	    if(tmpDate.getMonth()==arr[1] && tmpDate.getFullYear()==arr[0]) return true;
	    break;
	   case 2:
	    if(arr[1]<13) return true;
	    break;
	   default:
	    return false;
	  }
	}
	return false;
}

function IsInteger(string ,sign) 
{  
	var integer; 
	if ((sign!=null) && (sign!='-') && (sign!='+')) 
	{ 
	alert('IsInter(string,sign)的参数出错：\nsign为null或"-"或"+"'); 
	return false; 
	} 
	integer = parseInt(string); 
	if (isNaN(integer)) 
	{ 
	return false; 
	} 
	else if (integer.toString().length==string.length) 
	{  
	if ((sign==null) || (sign=='-' && integer<0) || (sign=='+' && integer>0)) 
	{ 
	return true; 
	} 
	else 
	return false;  
	} 
	else 
	return false; 
} 


	/* 
 * 检测日期中的月和日的正确性
 * 日期格式如：2004-05-04
 */
function chkDate(val){
	
	var r=/\d{4}(?:-\d{1,2}){0,2}/
	//正则表达式，判断是否为yyyy-mm-dd,yyyy-mm,yyyy格式
	if(val.match(r)==val){
		
		 var mydate = val.split("-");
		 var year = mydate[0]%4;//取得是否为润年
		 var month = mydate[1];//取得日期中的月份
		 var day = mydate[2];//取得日期中的日
	           if(month>12 || month == 0 || day == 0)  
	           {return  false;}  
	           if(month==4||month==6||month==9||month==11){  
	                       if(day>30)  
	                                   return  false;  
	                       else  
	                                   return  true;  
	           }  
	           else  if(month==2)  
	           {  
	                       if(year==0&&day>29)  //润月天数
	                                   return  false;  
	                       else  if(year!=0&&day>28)  
	                                   return  false;  
	                       else  
	                                   return  true;  
	           }  
	           else{  
	                       if(day>31)  
	                                   return  false;  
	                       else  
	                                   return  true;  
	           }  
          }
          return  false;  
}


function ResizeImage(obj, MaxW, MaxH)
{
    if (obj != null) imageObject = obj;
    var state=imageObject.readyState;
	if(state!='complete') {
        setTimeout("ResizeImage(null,"+MaxW+","+MaxH+")",50);
		return;
    }
    var oldImage = new Image();
    oldImage.src = imageObject.src;
    var dW=oldImage.width; var dH=oldImage.height;
    if(dW>MaxW || dH>MaxH) {
        a=dW/MaxW; b=dH/MaxH;
        if(b>a) a=b;
        dW=dW/a; dH=dH/a;
    }
    if(dW > 0 && dH > 0) {
        imageObject.width=dW;
		imageObject.height=dH;
	}
}


//指定页面区域内容导入Word
 function AllAreaWord()
 {
  var oWD = new ActiveXObject("Word.Application");
  var oDC = oWD.Documents.Add("",0,1);
  var oRange =oDC.Range(0,1);
  var sel = document.body.createTextRange();
  sel.moveToElementText(PrintA);
  sel.select();
  sel.execCommand("Copy");
  oRange.Paste();
  oWD.Application.Visible = true;
  //window.close();
 }
