<!--
function getToday(){
	var today = new Date();
	var strToday = today.getFullYear();
	var strMon = (today.getMonth()+1) + "";
	var strDate = today.getDate() + "";
	if(strMon.length == 1){
		strMon ='0' + strMon;
	}
	if(strDate.length == 1){
		strDate = '0' + strDate;
	}
	return strToday + '/' +strMon + '/' + strDate;
}
function checkdate(str){ 
	var reg = /^(\d+)-(\d{1,2})-(\d{1,2})$/; 
	var r = str.match(reg); 
	if(r==null)return false; 
	r[2]=r[2]-1; 
	var d= new Date(r[1], r[2],r[3]); 
	if(d.getFullYear()!=r[1])return false; 
	if(d.getMonth()!=r[2])return false; 
	if(d.getDate()!=r[3])return false; 

	return true; 
}

function checkdateEx(str){ 
	var reg = /^(\d+)\/(\d{1,2})\/(\d{1,2})$/; 
	var r = str.match(reg); 
	if(r==null)return false; 
	r[2]=r[2]-1; 
	var d= new Date(r[1], r[2],r[3]); 
	if(d.getFullYear()!=r[1])return false; 
	if(d.getMonth()!=r[2])return false; 
	if(d.getDate()!=r[3])return false; 

	return true; 
}

function checkstring(str,reStr){
	var reCheck=new RegExp(reStr,"ig")
	return reCheck.test(str);
}

function checkprimarykey(str){
	var checkstr = "['&%#<>"+"\\\""+"]";
	return checkstring(str,checkstr);
}

function checktel(strTel){
	var reTel = new RegExp("^[0-9]+([-*][0-9]+)*$", "ig");
	if (!reTel.test(strTel)){
		return false;
	}
	else{
		return true;
	}
}

function checkemail(strEmail){
	var reEmail = new RegExp("^[^@;]+@[^\.@;]+(\.[^\.@;]+)+$","ig"); 
	if (!reEmail.test(strEmail)){
		return false;
		//alert("not a Email!");
	}
	else{
		return true;
		//alert("is a Email");
	}
}

function maskfloat(){
//use in onkeydown event
 	if (!(event.keyCode>=48 && event.keyCode<=57 || event.keyCode>=96 && event.keyCode<=105 || event.keyCode == 190 || event.keyCode == 8 || event.keyCode == 9 || event.keyCode>=35 && event.keyCode<=40 || event.keyCode==46 || event.keyCode==110 )){event.keyCode=39;return}
} 
function checkNumberic(str){
	var reStr = /^((\d+)(\.(\d+)){0,1}){0,1}$/;
	if (!(reStr.test(str))){
		return false;
	}
	return true;
}
function checkInt4(str){
	var reStr = /^\d+$/;
	if (!(reStr.test(str))){
		return false;
	}
	return true;
}

function cnum(obj,bInt){
	var reNum=bInt?/^0*(\d+).*$/:/^0*(\d+(\.\d+)?).*$/;
	if(obj.tagName=="INPUT"){
		var sTemp=obj.value.replace(/[^\d\.]/g,"").replace(reNum,"$1");
		obj.value=(sTemp==""?"0":(sTemp.substr(0,1)=="."?"0" + sTemp: sTemp));	//如果是小数点开头的数字，则在前面加上0
	}
	else var sTemp=obj.replace(/[^\d\.]/g,"").replace(reNum,"$1")
	return bInt?sTemp.toInt():sTemp.toFloat();
}

//给String类型增加toFloat方法，作用是如果String为空字符串，则返回0，否则返回Float格式的数字
//如果是非数字的字符串，将返回NaN(not a number)。
String.prototype.toFloat=function(){
	return this.length>0?(isNaN(this)?0:parseFloat(this)):0;
}

//给String类型增加toInt方法，作用是如果String为空字符串，则返回0，否则返回Int格式的数字
//如果是非数字的字符串，将返回NaN(not a number)。
String.prototype.toInt=function(){
	return this.length>0?(isNaN(this)?0:parseInt(this)):0;
}

//Add the trim method to the String object.
//This method is to delete blank characters at the left and right part of a string.
String.prototype.trim = function(){
	return this.replace(/(^\s*)|(\s*$)/g,"");
}

//Add the left trim and right trim method to the String object.
String.prototype.ltrim = function(){
	return this.replace(/(^\s*)/g, "");
}

String.prototype.rtrim = function(){
	return this.replace(/(\s*$)/g, "");
}

String.prototype.checkInt=function(begin,end){
	try{
		var reStr = /^(-){0,1}\d+$/;
		if (!(reStr.test(this))){
			return false;
		}
		if(begin!=""){
			if (!(parseInt(this)>=parseInt(begin))) {
				return false;
			}
		}
		if(end != ""){
			if(end!=""){
				if (!(parseInt(this)<=parseInt(end))) {
					return false;
				}
			}
		}
		return true;
	}
	catch(e){
		alert(e);
		return false;
	}
}
String.prototype.checkFloat=function(begin,end){
	try{
		var reStr = /^(-){0,1}(((\d+)(\.(\d+)){0,1}){1})$/;
		if (!(reStr.test(this))){
			return false;
		}
		if(begin!=""){
			if (!(parseFloat(this)>=parseFloat(begin))) {
				return false;
			}
		}
		if(end != ""){
			if(end!=""){
				if (!(parseFloat(this)<=parseFloat(end))) {
					return false;
				}
			}
		}
		return true;
	}
	catch(e){
		alert(e);
		return false;
	}
}
	

String.prototype.endWith=function(str){
	if(this.substring(this.length - str.length, this.length) == str)
		return true;
	else
		return false;	
}

String.prototype.actualLen=function(){
	var i,sum; sum=0;
	for(i=0;i<this.length;i++){
		if ((this.charCodeAt(i)>=0)
			&& (this.charCodeAt(i)<=255))
			sum=sum+1; else sum=sum+2;
		}
	return sum;
}

//Function that shows a ModalDialog.
function showmodal(url, diagArg, width, height, statusbar){
	window.showModalDialog(url, diagArg, (width?("Dialogwidth:" + width +"px;"):"") + (height?("Dialogheight:"+height+"px;"):"") + (statusbar?("status:" + statusbar + ";"):"") + "scroll:no;help:no;")
}

//去除两边空白字符的函数，相当于vb的trim
//空白字符皝Eǎ嚎崭瘛ab、垂直tab、回车和form-feed字穪E
function jtrim(str){
	//使用正则柄衼E狡ヅ渥址?
	//其中\s柄婢空白字符，\S柄婢非空白字符，*柄婢匹艁E个或者多个，+柄婢匹艁E个或者多竵E
	//括号匹配并记录结果，(?:pattern)匹配但不记录结果，$1柄婢括号内得到的匹配结箒E
	//使用(\s+\S+)*是因为字符串中间也可能出现空白字穪E
	//var reg=/^\s*(\S*(?:\s+\S+)*)\s*$/;
	var regLeft=/^\s*/;
	var regRight=/\s*$/;
	return str.replace(regLeft,"").replace(regRight,"");
}

//除法函数，用来得到精确的除法结箒E
//说明：javascript的除法结果会有误阐楷在两个浮点数相除的时候会比较明显。这个函数返回较为精确的除法结果。
//调用：accDiv(arg1,arg2)
//返回值：arg1除以arg2的精确结箒E
function accDiv(arg1,arg2){
	var t1=0,t2=0,r1,r2;
	try{t1=arg1.toString().split(".")[1].length}catch(e){}
	try{t2=arg2.toString().split(".")[1].length}catch(e){}
	with(Math){
		r1=Number(arg1.toString().replace(".",""))
		r2=Number(arg2.toString().replace(".",""))
		return (r1/r2)*pow(10,t2-t1);
	}
}

//给Number类型增加一个div方法，调用起来竵E臃奖恪?
Number.prototype.div = function (arg){
	return accDiv(this, arg);
}

//乘法函数，用来得到精确的乘法结箒E
//说明：javascript的乘法结果会有误阐楷在两个浮点数相乘的时候会比较明显。这个函数返回较为精确的乘法结果。
//调用：accMul(arg1,arg2)
//返回值：arg1乘以arg2的精确结箒E
function accMul(arg1,arg2)
{
	arg1=String(arg1);var i=arg1.length-arg1.indexOf(".")-1;i=(i>=arg1.length)?0:i
	arg2=String(arg2);var j=arg2.length-arg2.indexOf(".")-1;j=(j>=arg2.length)?0:j
	return arg1.replace(".","")*arg2.replace(".","")/Math.pow(10,i+j)
}

//给Number类型增加一个mul方法，调用起来竵E臃奖恪?
Number.prototype.mul = function (arg){
	return accMul(arg, this);
}

//加法函数，用来得到精确的加法结箒E
//说明：javascript的加法结果会有误阐楷在两个浮点数相加的时候会比较明显。这个函数返回较为精确的加法结果。
//调用：accAdd(arg1,arg2)
//返回值：arg1加上arg2的精确结箒E
function accAdd(arg1,arg2){
	var r1,r2,m;
	try{r1=arg1.toString().split(".")[1].length}catch(e){r1=0}
	try{r2=arg2.toString().split(".")[1].length}catch(e){r2=0}
	m=Math.pow(10,Math.max(r1,r2))
	return (arg1*m+arg2*m)/m
}

//给Number类型增加一个add方法，调用起来竵E臃奖恪?
Number.prototype.add = function (arg){
	return accAdd(arg,this);
}
//format string for sql statement
String.prototype.toSql=function(){
	var str=this.replace(/'/gi,"''");
	return str
}

//-->