

//---------------------------------------------------------------------
// 返回浏览器的版本号
//---------------------------------------------------------------------
function GetIEVersion()
{
	var version=window.navigator.appVersion 
	version=version.split(";")
	version=version[1]
	version=version.substring(5,version.length)
	return parseFloat(version)	
}

//--------------------------------------------------------------------
//自定义的三个函数，用于去掉多余的空格
//String.trim() 、String.ltrim()、String.rtrim()
//--------------------------------------------------------------------
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, "");
}

//--------------------------------------------------------------------
// 按照指定的样式，格式化时期（时间）
// 参数：
// format: 指定的时间格式，支持 YYYY,YY,MM,M,DD,W,hh,mm,ss
// dat :   时间值
//--------------------------------------------------------------------
function FormatDate(format,dat)
{
	
	var YYYY=dat.getFullYear()+"";
	var YY=YYYY.substring(2,4)
    var M=dat.getMonth()+1;
    var MM=dat.getMonth()+1;
    var DD=dat.getDate();
    var W=dat.getDay();    
    var hh=dat.getHours()
    var mm=dat.getMinutes()
    var ss=dat.getSeconds()
    
    if (MM<10)
    	MM="0"+MM;    
    if (DD<10)
    	DD="0"+DD;    
    if (hh<10)
		hh="0"+hh;	
	if (mm<10)
		mm="0"+mm;	
	if (ss<10)
		ss="0"+ss;   
    
    switch(W)
    {
    case 0:
		W="日"
		break;
	case 1:
		W="一"
		break;
	case 2:
		W="二"
		break;
	case 3:
		W="三"
		break;
	case 4:
		W="四"
		break;
	case 5:
		W="五"
		break;
	case 6:
		W="六"
		break;
    }
    
   var reg   
   reg=new RegExp( "YYYY","g")
   format=format.replace(reg,YYYY)   
   reg=new RegExp( "YY","g")
   format=format.replace(reg,YY)   
   reg=new RegExp( "MM","g")
   format=format.replace(reg,MM)   
   reg=new RegExp( "M","g")
   format=format.replace(reg,M)   
   reg=new RegExp( "DD","g")
   format=format.replace(reg,DD)   
   reg=new RegExp( "W","g")
   format=format.replace(reg,W)   
   reg=new RegExp( "hh","g")
   format=format.replace(reg,hh)   
   reg=new RegExp( "mm","g")
   format=format.replace(reg,mm)   
   reg=new RegExp( "ss","g")
   format=format.replace(reg,ss)
	return format
}


//----------------------------------------------------------
//函数名：Sort
//描  述：用于对指定的Table进行排序
//参  数：
//	tableID: 要排序的Table的ID
//	colIndex:要排序的列的序号，从0开始
//  colType:指定按何种方式排序，有以下几种可选泽的类型 "int", "float" , "string" ,"date"
//	sort:排序方式，true为正序， false为逆序 ，缺省为true
//	start:指定排序开始的行下标，缺省为1，及从第二行开始排序
//  end : 指定排序结束的行下标，缺省为Table的最大下标
//  separator:时间串的分隔符,缺省为"-"
//----------------------------------------------------------
function Sort( tableID,colIndex,colType,sort,start,end,separator)
{	
	if (GetIEVersion()<5.0)
	{
		alert("对不起，您的浏览器版本太低，不支持排序的功能。")
		return
	}
	
	var collRow=tableID.rows	
	if (typeof(sort)=="undefined")
	{
		sort=true
	}
	if (typeof(start)=="undefined")
	{
		start=1
	}	
	if (typeof(end)=="undefined")
	{
		end=collRow.length-1
	}

	var lng=end+1
	for (var i=start;i<lng;i++)
	{			
		for (var k=start;k<lng-i-1+start;k++)
		{
			var v1,v2
			switch (colType)
			{
			case "int":
				var re= new RegExp( ",","g")
				v1=collRow(k).cells(colIndex).innerText
				v2=collRow(k+1).cells(colIndex).innerText		
				v1=parseInt( v1.replace(re,""))
				v2=parseInt( v2.replace(re,""))	
				if (v1+""=="NaN")
				{
					v1=0
				}
				if (v2+""=="NaN")
				{
					v2=0
				}
				break ;
			case "float" :
				var re= new RegExp( ",","g")
				v1=collRow(k).cells(colIndex).innerText
				v2=collRow(k+1).cells(colIndex).innerText
				v1=parseFloat( v1.replace(re,""))
				v2=parseFloat( v2.replace(re,""))
				if (v1+""=="NaN")
				{
					v1=0
				}
				if (v2+""=="NaN")
				{
					v2=0
				}
				break;
			case "string" :
				v1=collRow(k).cells(colIndex).innerText
				v2=collRow(k+1).cells(colIndex).innerText
				break;
			case "date" :
				v1= JsDate ( collRow(k).cells(colIndex).innerText)
				v2= JsDate ( collRow(k+1).cells(colIndex).innerText)
				break;		
			}				
			if (sort)
			{
				if (v1 > v2)
				{
					tableID.moveRow(k,k+1)
				}
			}
			else 
			{
				if (v1 < v2)
				{
					tableID.moveRow(k,k+1)
				}
			}		
		}
	}
}
//---------------------------------------
//用于检查一个字符串，是否符合日期格式
//sDat:日期字符串
//seperator:分隔符,缺省为"-"
//---------------------------------------
function CheckDateFormat(sDat,separator)
{
	if (separator+""=="undefined")
	{
		separator="-"
	}
	var aNum=sDat.split(separator)
	if (aNum[0].length<4)
	{
		alert("年号必须用4位数")
		return false
	}
	if (!(IsInt(aNum[0])&&IsInt(aNum[1])&&IsInt(aNum[2])))
	{
		alert("时间格式为：YYYY"+separator+"MM"+separator+"DD")
		return false
	}
	var d= JsDate(sDat,separator)
	
	if (d.getFullYear()==parseInt(aNum[0]) && (d.getMonth()+1)==parseInt(aNum[1],10) && d.getDate()==parseInt(aNum[2],10))
	{
		return true
	}
	else
	{
		alert("日期不合法")
		return false
	}
}

//--------------------------------------------
//把一个字符串转换成一个 javascript Date类型
//sDat:日期字符串
//seperator:分隔符
//--------------------------------------------
function JsDate(sDate,separator)
{
	if (separator+""=="undefined")
	{
		separator="-"
	}
	var aNum=sDate.split(separator)
	if (aNum.length<3)
	{
		return new Date(sDate)
	}
	else if (aNum.length==3)
	{
		return new Date(parseInt(aNum[0]),parseInt(aNum[1],10)-1,parseInt(aNum[2],10))
	}
	else
	{
		return new Date(parseInt(aNum[0]),parseInt(aNum[1],10)-1,parseInt(aNum[2],10),parseInt(aNum[3]),parseInt(aNum[4]),parseInt(aNum[5]))
	}	
}

function GroupNum(srcNum)
{
	var sign=""
	if (srcNum<0)
	{
		srcNum*=-1
		sign="-"
	}	
	srcNum=srcNum+""
	var aNum=srcNum.split(".")
	var str2=""
	var str1=aNum[0]
	var p=str1.length-3
	while (p>0)
	{
		str1=str1.substring(0,p)+","+str1.substring(p,str1.length)
		p=p-3
	}
	if (aNum.length==2)
	{
		str2=aNum[1]
		p=3
		while (p<str2.length)
		{	
			str2=str2.substring(0,p)+","+str2.substring(p,str2.length)
			p+=4
		}
		str2="."+str2
	}
	return sign+str1+str2
}

function IsInt(srcNum)
{
	srcNum+=""
	srcNum=srcNum.trim()
	if ( parseInt(srcNum)+""=="NaN" || 	parseInt("1"+srcNum)!="1"+srcNum)
		return false
	else
		return true
}

function IsFloat(srcNum)
{
	if (srcNum+""=="0")
	{
		return true
	}
	srcNum+=""
	srcNum=srcNum.trim()
	if ( parseFloat(srcNum)+""=="NaN" || parseFloat(srcNum+"1")+""!= srcNum+"1")
		return false
	else
		return true
}

function SetDecimal(srcNum,n)
{
	if (srcNum=="" || srcNum==0)
	{
		return srcNum
	}
	var sign=""
	if (srcNum<0)
	{
		sign="-"
		srcNum*=-1
	}
	if (srcNum<1)
	{
		sign+="0"
	}	
	srcNum=parseInt(srcNum*Math.pow(10,n)+0.5)+""
	var f=sign+srcNum.substring(0,srcNum.length-n)
	var b="0000000000"+srcNum
	b=b.substring(b.length-n,b.length)
	if (n>0)
		return f +"." +b
	else
		return f
}


function GetBoolValueFromStr(sBoolValue)
{
	var sTemp = sBoolValue+""
	var iTemp = parseInt(sTemp)
	if (sTemp.toUpperCase()=="TRUE" || (!(isNaN(iTemp)) && (iTemp!=0)))
		return true
	else
		return false
}
