

String.prototype.Trim  = function(){return this.replace(/(^\s*)|(\s*$)/g, "");}
String.prototype.LTrim = function(){return this.replace(/(^\s*)/g, "");}
String.prototype.Rtrim = function(){return this.replace(/(\s*$)/g, "");}

function TurnBanToQuan(str) { 
 var i; 
 var result=''; 
 for(i=0;i<str.length;i++) { 
    code=str.charCodeAt(i); 
    if(code>=65281&&code<65373)
        result+=String.fromCharCode(str.charCodeAt(i)-65248); 
    else 
        result+=str.charAt(i);
  } 
 return result; 
} 



function BASEisNotNum(theNum){
if (BASEtrim(theNum)=="")
return true;
for(var i=0;i<theNum.length;i++){
oneNum=theNum.substring(i,i+1);
if (oneNum<"0" || oneNum>"9")
return true;
}
return false;
}
function BASEisNotInt(theInt)
{
    theInt=BASEtrim(theInt);
    if ((theInt.length>1 && theInt.substring(0,1)=="0") || BASEisNotNum(theInt))
	{
        return true;
    }
    return false;
}
function BASEisPlusInt(theInt)
{
	theInt=BASEtrim(theInt);
	if(!BASEisNotInt(theInt))
	{
		if((theInt.length>1 && theInt.substring(0,1)=="-") || theInt=="0")
		    return false;
		else
		    return true;
	}
    return false;
}

function BASEisNotFloat(theFloat){
if(theFloat.length>1 && theFloat.substring(0,1)=="-")
{
	theFloat = theFloat.substring(1,theFloat.length-1)
}
len=theFloat.length;
dotNum=0;
if (len==0)
return true;
for(var i=0;i<len;i++){
oneNum=theFloat.substring(i,i+1);
if (oneNum==".")
dotNum++;
if ( ((oneNum<"0" || oneNum>"9") && oneNum!=".") || dotNum>1)
return true;
}
if (len>1 && theFloat.substring(0,1)=="0"){
if (theFloat.substring(1,2)!=".")
return true;
}
return false;
}

function BASEisNotPlusFloat(theFloat){
len=theFloat.length;
dotNum=0;
if (len==0)
return true;
for(var i=0;i<len;i++){
oneNum=theFloat.substring(i,i+1);
if (oneNum==".")
dotNum++;
if ( ((oneNum<"0" || oneNum>"9") && oneNum!=".") || dotNum>1)
return true;
}
if (len>1 && theFloat.substring(0,1)=="0"){
if (theFloat.substring(1,2)!=".")
return true;
}
return false;
}

function BASEtrim(str){
lIdx=0;rIdx=str.length;
if (BASEtrim.arguments.length==2)
act=BASEtrim.arguments[1].toLowerCase();
else
act="all";
for(var i=0;i<str.length;i++){
thelStr=str.substring(lIdx,lIdx+1);
therStr=str.substring(rIdx,rIdx-1);
if ((act=="all" || act=="left") && thelStr==" "){
lIdx++;
}
if ((act=="all" || act=="right") && therStr==" "){
rIdx--;
}
}
str=str.slice(lIdx,rIdx);
return str;
}


function validateCNDate( strValue ) 
{ 
    var objRegExp = /^\d{4}(\-|\/|\.)\d{1,2}\1\d{1,2}$/ 
    if(!objRegExp.test(strValue)) 
        return false;  
    else
	{ 
		var arrayDate = strValue.split(RegExp.$1);  
        var intDay = parseInt(arrayDate[2],10); 
        var intYear = parseInt(arrayDate[0],10); 
        var intMonth = parseInt(arrayDate[1],10); 
        if(intMonth > 12 || intMonth < 1) 
		{ 
            return false; 
        } 
        var arrayLookup = { '1' : 31,'3' : 31, '4' : 30,'5' : 31,'6' : 30,'7' : 31, '8' : 31,'9' : 30,'10' : 31,'11' : 30,'12' : 31} 
        //alert("intDay="+intDay+"\r\nparseInt(arrayDate[1])="+parseInt(arrayDate[1],10)+"\r\narrayLookup[parseInt(arrayDate[1])]=" + arrayLookup[parseInt(arrayDate[1])]);
		if(arrayLookup[intMonth] != null) 
		{ 
            
			if(intDay <= arrayLookup[intMonth] && intDay != 0) 
            return true;  
        } 
		//alert("intDay=" + intDay);
        if (intMonth-2 ==0) 
		{ 
            var booLeapYear = (intYear % 4 == 0 && (intYear % 100 != 0 || intYear % 400 == 0)); 
            if( ((booLeapYear && intDay <= 29) || (!booLeapYear && intDay <=28)) && intDay !=0) 
                return true; 
        } 
    } 
	
    return false;  
} 

function gotoFocus(obj)
{
    try
	{
		obj.focus();
	}
	catch(e){}
}


function CheckValueIsExist(obj,fldname)
{
	if(obj.value.Trim()=='')
	{
	    if (fldname!='')
		    alert(fldname+'不得为空。');
		gotoFocus(obj);
		return false;
	}
	return true;
}

function CheckLengthIsLegal(obj,fldname,StdLength)
{
	if(obj.value.length!=StdLength)
	{
	    if (fldname!='')
		    alert(fldname+'长度必须为'+ StdLength +'。');
		gotoFocus(obj);
		return false;
	}
	return true;
}

function CheckValueIsPlusInt(obj,fldname)
{
	if(obj.value.Trim()=='')
	{
	    if (fldname!='')
		    alert(fldname+'不得为空。');
		gotoFocus(obj);
		return false;
	}
	
	else if(!BASEisPlusInt(obj.value.Trim()))
	{
		alert(fldname + '必须为正整数。');
		gotoFocus(obj);
		return false;
	}
	return true;
}

function CheckValueIsInt(obj,fldname)
{
	if(obj.value.Trim()=='')
	{
	    if (fldname!='')
		    alert(fldname+'不得为空。');
		gotoFocus(obj);
		return false;
	}
	
	else if(BASEisNotInt(obj.value.Trim()))
	{
		alert(fldname + '必须为整数。');
		gotoFocus(obj);
		return false;
	}
	return true;
}

function CheckValueIsFloat(obj,fldname)
{
	if(obj.value.Trim()=='')
	{
	    if (fldname!='')
		    alert(fldname+'不得为空。');
		gotoFocus(obj);
		return false;
	}
	else if(BASEisNotFloat(obj.value.Trim()))
	{
		alert(fldname + '必须为数值（小数）。');
		gotoFocus(obj);
		return false;
	}
	return true;
}

function CheckValueIsFloat2(obj,fldname)
{
	if(obj.value.Trim()=='')
	{
		return true;
	}
	else if(BASEisNotFloat(obj.value.Trim()))
	{
		alert(fldname + '必须为数值（小数）。');
		gotoFocus(obj);
		return false;
	}
}


function CheckValueIsPlusFloat(obj,fldname)
{
	if(obj.value.Trim()=='')
	{
	    if (fldname!='')
		    alert(fldname+'不得为空。');
		gotoFocus(obj);
		return false;
	}
	//BASEisNotFloat函数，判断值是否为浮点数，来源于：js/BaseFunc.js
	else if(BASEisNotPlusFloat(obj.value.Trim()))
	{
		alert(fldname + '必须为正的数值（小数）。');
		gotoFocus(obj);
		return false;
	}
	return true;
}


function CheckValueIsDate(obj,fldname)
{
	if(obj.value.Trim()=='')
	{
	    if (fldname!='')
		    alert(fldname+'不得为空。');
		gotoFocus(obj);
		return false;
	}
	else if(!validateCNDate(obj.value.Trim()))
	{
		if (fldname!='')
		    alert(fldname+'不是有效的日期格式。');
	    gotoFocus(obj);
		return false;
	}
	return true;
}

function CompareDate(date1, date2)
{ 
    var re = /^(\d{1,4})\-(\d{1,2})\-(\d{1,2})$/;
	re.exec(date1);
	var val1 = RegExp.$1 * 10000 +  RegExp.$2 * 100 + RegExp.$3;
	re.exec(date2);
	var val2 = RegExp.$1 * 10000 +  RegExp.$2 * 100 + RegExp.$3;
	if(val1-val2 > 0)
	    return true;
	else
	    return false;
} 

function CompareTime(time1, time2)
{ 
    var re = /^(\d{1,4})\-(\d{1,2})\-(\d{1,2})\ (\d{1,2})\:(\d{1,2})\:(\d{1,2})$/;
	re.exec(time1);
	var val1 = RegExp.$1 * 24*60*60*31*12 +  RegExp.$2 * 24*60*60*31 + RegExp.$3 *24*60*60 + RegExp.$4 *60*60 + RegExp.$5 * 60 + RegExp.$6;
	re.exec(time2);
	var val2 = RegExp.$1 * 24*60*60*31*12 +  RegExp.$2 * 24*60*60*31 + RegExp.$3 *24*60*60 + RegExp.$4 *60*60 + RegExp.$5 * 60 + RegExp.$6;
	if(val1-val2 > 0)
	    return true;
	else
	    return false;
}  


function  ToFloat2(val,dec)  
{  
    val   =   Math.round   (val*Math.pow(10,dec))/Math.pow(10,dec);  
    return   val;  
}   
function  ToFloat(val,dec)    
{     
   if(dec<0)    return    "Error:dec<0!";     
   result=parseInt(val)+(dec==0?"":".");     
   val-=parseInt(val);     
   if(val==0)     
       for(i=0;i<dec;i++)    
	       result+='0';     
   else    
   {     
       for(i=0;i<dec;i++)    
	       f*=10;     
       result+=parseInt(Math.round(val));     
   }     
   return    result;     
}     
