/*validate if parameter is numeric*/
function isNumeric(numval)
{
    if (numval == ""){
        return true;
    }
    for (i=0; i<numval.length; i++){
        if (numval.charAt(i)<'0' || numval.charAt(i)>'9')
	{
            return false;
        }
    }
    return true;
}

/*validate if parameter is float*/
function isFloat(Floatval,intlen,decimallen)
{
    if (Floatval == "")
    {
        return true;
    }
   re = new RegExp("^\\d{1," + intlen + "}.\\d{1,"+decimallen+"}$");
   if (!re.test(Floatval))
   {
      return false;
   }
   else
   {
      return true;
   }
}
/*validate if parameter is numeric and is valid length*/
function checkDigit(min, max,digitValue)
{
	if ( digitValue == "" ) return true ;
  	re = new RegExp("^\\d{" + min + "," + max + "}$");
	if (!re.test(digitValue))
	{
		alert("Please enter " + min + " to " + max + " digits!");
		return false;
	}
	else
		return true;
}

function check_IPaddr( ipValue )
{ 
 	if ( ipValue == "" ) return true;
	var reg = /^([0-9]{1,3}).([0-9]{1,3}).([0-9]{1,3}).([0-9]{1,3})$/ 
	var r = ipValue.match(reg) 
	if(r==null)return false 
	if(r[1]>255||r[1]<0)return false 
	if(r[2]>255||r[2]<0)return false 
	if(r[3]>255||r[3]<0)return false 
	if(r[4]>255||r[4]<0)return false 
	return true 
} 

/*validate if this date is valid with 0000-00-00 00:00:00 format*/
function checkDate( dateValue )
{ 
	if ( dateValue == "" ) return true ;
	var reg = /^([0-9]{4})-([0-9]{1,2})-([0-9]{1,2}) ([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2})$/; 
	var r = dateValue.match(reg); 
	if(r==null)  return false;
	r[2]=r[2]-1; 
	var d= new Date(r[1], r[2],r[3], r[4],r[5], r[6]); 
	if(d.getFullYear()!=r[1])return false; 
	if(d.getMonth()!=r[2])return false; 
	if(d.getDate()!=r[3])return false; 
	if(d.getHours()!=r[4])return false; 
	if(d.getMinutes()!=r[5])return false; 
	if(d.getSeconds()!=r[6])return false; 
	return true; 
} 

function validateTwoobj(minObj , maxObj , obj )
{
	if ( minObj == "" ||  maxObj == "" ) return true ;
	if ( obj == "num" )
	{
		if ( minObj > maxObj ) 
		{
			alert("The min value can't bigger than the max value") ;
			return false;
		}
		return true;
	}
	if ( obj == "date" )
	{
		var reg =  /^([0-9]{4})-([0-9]{1,2})-([0-9]{1,2}) ([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2})$/; 
		var minres = minObj.match(reg); 
		var maxres = maxObj.match(reg);
		if(minres==null || maxres==null )
		{
			alert("it is not a valid date!")
			return false; 
		}
		minres[2]=minres[2]-1; 
		var mindate= Date.UTC(minres[1], minres[2],minres[3], minres[4],minres[5], minres[6]); 
		maxres[2]=maxres[2]-1; 
		var maxdate= Date.UTC(maxres[1], maxres[2],maxres[3], maxres[4],maxres[5], maxres[6]); 
		if ( maxdate - mindate < 0 )
		{
			alert("Begin date cann't be bigger than end date!")
			return false; 
		}
		return true ;
	}
}

//======================================
//Purpose: Trim left spaces
//======================================
function lTrim(str){
    var rtnStr;
    rtnStr=""
    for (var i=0;i<str.length;i++){
      if (str.charAt(i)!=" "){
        rtnStr=str.substring(i);
        break;
      }
    }
return rtnStr;
}

//======================================
//Purpose: trim right spaces
//======================================
function rTrim(str){
    var rtnStr;
    rtnStr=""
    for (var i=str.length-1;i>=0;i--){
        if (str.charAt(i)!=" "){
            rtnStr=str.substring(0,i+1);
            break;
        }
    }
    return rtnStr;
}

//======================================
//Purpose: trim both left and right spaces
//======================================
function trim(str){
    return(lTrim(rTrim(str)));
}

function haveSelected(formname , columnName)
{      
	var flag = false ;
	var len= formname.length ;
		
	for (i=0 ;i< len; i++)
	{
		if(formname.elements[i].name== columnName && formname.elements[i].checked==true)
		{
			flag = true ;
			break;
		}
	}
	return flag ;		
}

function check_mail( email )
{
	if((email.charAt(0)=="@")||(email.substring(email.length,email.length-1)==".")||(email.indexOf("@",0)==-1))
	{
		return false;
	 }
	if(email.length>1)
	{
		for(var i=1;i<=email.length;i++)
		{
			if(email.charAt(i)=="@")
			{
				j=i;
				substr=email.substring(j+1,email.length-1);
				if((substr.length<3)||(substr.indexOf(".",1)==-1)||substr.substring(0,1)==".")
				{
					return false;
				}
			}
		}
	 }
	 return true;   
}

function check_mobilephone( mobile_phone )
{
	return isNumeric(mobile_phone) && parseInt(mobile_phone) > 1000000;
}

function CheckColumnHaveNull(formname , columnName)
{
	var flag = false ;
	var len= formname.length ;	
	
        for (i=0 ;i< len; i++)
	{
		if( formname.elements[i].name.toLowerCase().indexOf( columnName ) >= 0 && 
		    formname.elements[i].value=="")
		{
			flag = true ;
			break;
		}
	}
	
	return flag ;
}

function checktel(tel){   
    //检查电话格式是否有错，有则返回1，无0
  
  if (tel.length==11 || tel.length==12){
             if((tel.substring(0,3)=="059") || (tel.substring(0,2)=="13")||(tel.substring(0,3)=="013")){
 				if(((tel.substring(0,4)=="0595") || (tel.substring(0,4)=="0591"))&& tel.length==11){
					return false;
				}
               return(true);
             }
			 
           else { return(false);}
              }
              else{ return(false);};

}

function checkphstel(tel){   
   //?????

  if (tel.length==11 || tel.length==12){
             if(tel.substring(0,3)=="059"){
 				if(((tel.substring(0,4)=="0595") || (tel.substring(0,4)=="0591"))&& tel.length!=12){
					return false;
				}
                return(true);
             }
             else { return(false);}
   }
   else{ return(false);};

}



function CheckColumnValueLength(formname , columnName , length_verify)
{
	var flag = false ;
	var len= formname.length ;	
	
        for (i=0 ;i< len; i++)
	{
		if( formname.elements[i].name.toLowerCase().indexOf( columnName ) >= 0 && 
		    formname.elements[i].value.length > length_verify )
		{
			flag = true ;
			break;
		}
	}
	
	return flag ;
}