﻿// Remove left spaces
function LTrim( str )
{
    var whitespace = new String( " \t\n\r" );
    var s = new String( str );

    if ( whitespace.indexOf( s.charAt(0) ) != -1 )
    {
        var j = 0, i = s.length;
        while ( j < i && whitespace.indexOf( s.charAt(j) ) != -1 )
        {
            j++;
        }
        s = s.substring( j, i );
    }
    return s;
    
} // end LTrim


// Remove right spaces
function RTrim(str)
{
    var whitespace = new String( " \t\n\r" );
    var s = new String( str );

    if ( whitespace.indexOf( s.charAt( s.length-1 ) ) != -1 )
    {
        var i = s.length - 1;
        
        while ( i >= 0 && whitespace.indexOf( s.charAt(i) ) != -1 )
        {
            i--;
        }
        s = s.substring( 0, i+1 );
    }
    return s;

} // end RTrim


// Remove spaces of both sides
function Trim( str )
{

    return RTrim( LTrim( str ) );
    
} // end Trim

 
// Encode str to XML
function XMLEncode( str )
{
       str = Trim( str );
       str = str.replace( "&","&amp;" );
       str = str.replace( "<","&lt;" );
       str = str.replace( ">","&gt;" );
       str = str.replace( "'","&apos;" );
       str = str.replace( "\"","&quot;" );
       return str;

} // end XMLEncode

 
// obj value is empty?
function IsEmpty( obj )
{
    obj = document.getElementsByName(obj).item(0);
    if ( Trim( obj.value ) == "" )
    {       
        if ( obj.disabled == false && obj.readOnly == false )
        {
            obj.focus();
        }
        return false;
    }
    
    return true;
    
} // end IsEmpty


// objStr is Integer?
function IsInt( objStr,sign,zero )
{
    var reg;
    var bolzero;

    if( Trim( objStr ) == "" )
    {
        return false;
    }
    else
    {
        objStr = objStr.toString();
    }
    
    if ( sign == null )
    {
        sign = "+-";
    }

    if ( Trim( sign ) == "" )
    {
        sign = "";
    }

    if ( (zero == null ) || ( Trim( zero ) == "" ) )
    {
        bolzero = false;
    }
    else
    {
        zero = zero.toString();
        
        if ( zero == "0" )
        {
            bolzero = true;
        }
        else
        {
            alert( "arg3 must be null/0 !" );
        }
    }

    switch( sign )
    {
        case "+-":
        
            // integer
            reg = /(^-?|^\+?)\d+$/;
            break;

        case "+": 
        
            if( !bolzero )           
            {
                // positive integer
                reg = /^\+?[0-9]*[1-9][0-9]*$/;
            }
            else
            {
                // positive integer + 0
                // reg=/^\+?\d+$/;
                reg = /^\+?[0-9]*[0-9][0-9]*$/;
            }
            break;

        case "-":

            if ( !bolzero )
            {
                // negative integer
                reg = /^-[0-9]*[1-9][0-9]*$/;
            }
            else
            {
                // negative integer + 0
                //reg=/^-\d+$/;
                reg = /^-[0-9]*[0-9][0-9]*$/;
            }            
            break;

        case "":

            if ( !bolzero )
            {
                // integer without sign
                reg = /^[0-9]*[1-9][0-9]*$/;
            }
            else
            {
                // integer without sign + 0
                //reg=/^-\d+$/;
                reg = /^[0-9]*[0-9][0-9]*$/;
            }            
            break;

        default:
        
            alert( "arg2 must be null/+/-" );
            return false;
            break;
            
    } // end switch

    var r = objStr.match( reg );

    if( r == null )
    {
        return false;
    }
    else
    {        
        return true;
    }

} // end isInt

// float? +float? -float? +float + 0? -float + 0?
function IsFloat( objStr, sign, zero )
{
    var reg;    
    var bolzero;    

    if ( Trim( objStr ) == "" )
    {
        return false;
    }
    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( "arg3 must be null/0" );
        }
    }

    switch(sign)
    {
        case "+-":
        
            // float
            reg = /^((-?|\+?)\d+)(\.\d+)?$/;
            break;

        case "+": 

            if( !bolzero )           
            {
                // +float
                reg = /^\+?(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$/;
            }
            else
            {
                // +float + 0
                reg = /^\+?\d+(\.\d+)?$/;
            }
            break;

        case "-":

            if( !bolzero )
            {
                // -float
                reg = /^-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$/;
            }
            else
            {
                // -float + 0
                reg = /^((-\d+(\.\d+)?)|(0+(\.0+)?))$/;
            }            
            break;

        default:

            alert( "arg2 must be null/+/-" );
            return false;
            break;
            
    }// end switch

    var r=objStr.match(reg);

    if(r==null)
    {
        return false;
    }
    else
    {        
        return true;
    }

} // end IsFloat


// integer in range?
function IsInRange( objValue, min, max )
{
	return ( ( objValue >= min ) && ( objValue <= max ) );
}


// Has < or >?
function HasTags( objValue )
{
	if ( ( objValue.indexOf( "," ) >= 0 ) || ( objValue.indexOf( "|" ) >= 0 ) )
		return true;
	else
		return false;
}

//判断日期是否正确
function isPartYear(checkyear,checkmonth,checkdate)
{

	var year,month,day;
	if(Trim(checkyear.value)!="")
	{
 		var pp = isNumber(checkyear,"请输入正确的数字或者半角状态的数字！");

		if(pp == true)
		{
			year = Trim(checkyear.value);

			if(parseInt(year) >= 1900)
			{
				if(year.length==4)
				{
					if(isNaN(year)==true)
					{
						alert("请输入正确的年份！");
						checkyear.focus();
						return false;
					}
				}
				else
				{
					alert("请输入正确的年份！");
					checkyear.focus();
					return false;
				}
			}
			else
			{
				alert("年份必须大于等于1900年！");
				checkyear.focus();
				return false;
			}
		}
		else
		{
			return false;
		}
	}
	else
	{
 		alert("年份不能为空！");
		checkyear.focus();
		return false;
	}
	if(Trim(checkmonth.value)!="")
	{
 		month = Trim(checkmonth.value);
 		if(month.length<=2)
		{
  			if(isNaN(month)==true)
			{
   				alert("请输入正确的月份！");
   				checkmonth.focus();
   				return false;
  			}
			if(month<1||month>12) 
			{ 
				alert("月份必须在1和12之间!"); 
				checkmonth.focus();
				return false; 
			}
 		}
		else
		{
  			alert("请输入正确的月份！");
  			checkmonth.focus();
  			return false;
 		}
	}
	else
	{
 		alert("月份不能为空！");
		checkmonth.focus();
		return false;
	}
	if(Trim(checkdate.value)!="")
	{
 		day = Trim(checkdate.value);
 		if(day.length<=2)
		{
  			if(isNaN(day)==true)
			{
   				alert("请输入正确的日期！");
   				checkdate.focus();
   				return false;
  			}
			if(day<1||day>31) 
			{ 
				alert("日期必须在1和31之间!"); 
				checkdate.focus();
				return false; 
			}
			if(month==2)
			{  
				if(isLeapYear(year)&&day>29)
				{ 
					alert("二月份日期必须在1到29之间!"); 
					checkdate.focus();
					return false; 
				}       
				if(!isLeapYear(year)&&day>28)
				{ 
					alert("二月份日期必须在1到28之间!");
					checkdate.focus(); 
					return false; 
				} 
			} 
			if((month==4||month==6||month==9||month==11)&&(day>30))
			{ 
				alert("在四，六，九，十一月份 \n日期必须在1到30之间!");
				checkdate.focus(); 
				return false; 
			}
 		}
		else
		{
  			alert("请输入正确的日期！");
  			checkdate.focus();
  			return false;
 		}
	}
	else
	{
 		alert("日期不能为空！");
		checkdate.focus();
		return false;
	}
	return true;
}

//日期合并
function UniteDate(boxyear,boxmonth,boxday)
{
	var year,month,day;
	var datetime;
	year = boxyear.value;
	month = boxmonth.value;
	if(month.length==1)
	{
		month = "0" + month;
	}
	day = boxday.value;
	if(day.length==1)
	{
		day = "0" + day;
	}
	datetime = year + "-" +  month + "-" + day;
	return(datetime);
}
//判断是否是闰年
function isLeapYear(year) 
{ 
	if((year%4==0&&year%100!=0)||(year%400==0)) 
 	{ 
 		return true; 
 	}  
 	return false; 
}

//判断是否是数字
function isNumber(pObj,errMsg)
{
	var obj = eval(pObj);
	strRef = "1234567890";
	if(!isEmpty(pObj,errMsg))return false;

	for (i=0;i<obj.value.length;i++) 
	{
		tempChar = obj.value.substring(i,i+1);
		if (strRef.indexOf(tempChar,0)==-1) 
		{
   			if (errMsg == null || errMsg =="")
    			alert("数据不符合要求,请检查");
   			else
    			alert(errMsg);
   			if(obj.type=="text") 
    		obj.focus(); 
  		 	return false; 
  		}
 	}
 	return true;
}

//去掉空格
function Trim(str)
{
	if(str.charAt(0) == " ")
	{
		str = str.slice(1);
		str = Trim(str); 
 	}
	return str;
}
//判断是否是空
function isEmpty(pObj,errMsg)
{
	var obj = eval(pObj);
	if( obj == null || Trim(obj.value) == "")
	{
		if (errMsg == null || errMsg =="")
   			alert("输入为空!");
  		else
   			alert(errMsg); 
  		obj.focus(); 
  		return false;
 	}
 	return true;
}

//判断是否是电话号码
function isTelNumber(pObj,errMsg)
{
	var obj = eval(pObj);
	strRef = "1234567890-－*";
	if(!isEmpty(pObj,errMsg))return false;
	for (i=0;i<obj.value.length;i++) 
	{
		tempChar = obj.value.substring(i,i+1);
		if (strRef.indexOf(tempChar,0)==-1) 
		{
   			if (errMsg == null || errMsg =="")
    			alert("数据不符合要求,请检查");
   			else
    			alert(errMsg);
   			if(obj.type=="text") 
    		obj.focus(); 
  		 	return false; 
  		}
 	}
 	return true;
}
//判断是否是空
function isEmpty(pObj,errMsg)
{
	var obj = eval(pObj);
	if( obj == null || Trim(obj.value) == "")
	{
		if (errMsg == null || errMsg =="")
   			alert("输入为空!");
  		else
   			alert(errMsg); 
  		obj.focus(); 
  		return false;
 	}
 	return true;
}