var dateNow=new Date();

//文件名非法字段检查
function fileNameCheck(strValue) {
	var illChar = "\\/:;,*?\"<>|";
	for (var i = 0; i < illChar.length; i ++) {
		if (strValue.indexOf(illChar.charAt(i)) >= 0) {
			return false;
		}
	}
	return true;
}

/**
 * form下的所有按钮disabled 或 enabled
 */
function enableButton(bEnable, formObj) {
	for (var i = 0; i < formObj.elements.length; i ++) {
		var objTemp = formObj.elements[i];
		if (objTemp.type == "button" || objTemp.type == "submit") {
			objTemp.disabled = !bEnable;
		}			
	}
}
/**
 * 非法字符判断
 */
function isString(obj) {
	var str = "'\"";
	for (var i = 0; i < str.length; i ++) {
		if (obj.value.indexOf(str.charAt(i)) >= 0) {
			return false;
		}
	}
	return true;
}
/**
 * 格式化数字,以,分割
 */
function formatNumber(number) {
	if (checkFloat(number)) {
	    var dotAft = "";
		var dotIndex = number.indexOf(".");
		if (dotIndex >0) {
			dotAft = number.substring(dotIndex);
		}
		else {
			dotIndex = number.length;
		}
		number = number.substring(0, dotIndex);
		var temp = dotIndex - 3;
		while (temp > 0) {
			number = number.substring(0, temp) + "," + number.substring(temp);
			temp -= 3;
		}
		return number + dotAft;
	}
	else {
		return number;
	}
}

/**
 * format float number accurate  at decimals after the "." position
 */
function formatFloat(src, pos) {
    return Math.round(src*Math.pow(10, pos))/Math.pow(10, pos);
}

/**
 * estimate the string number whether was a money number by 2 decimals after the "." position
 */
function isMoney(s) {	
	var re = new RegExp("^([0-9]+(\.[0-9]{1,2})?)?$");
	return re.test(s);		
}

/**
 * 测试非负整数，不以0开头
 */
function isInteger(s) {
	var re1 = new RegExp("^[0]?$");
	var re2 = new RegExp("^([1-9][0-9]*)*$");
	return ( re1.test(s) || re2.test(s) );
}

/**
 * 是否为数字
 */
function isDigital(obj) {
	if (!checkFloat(obj.value)) {		
		return false;
	}
	return true;
}
/**
 * 数字检查
 */
function checkFloat(str) {
	if (str.length == 0){
		return true;
	}
	for (var i = 0; i < str.length; i ++){
		if ("0123456789.".indexOf(str.charAt(i)) < 0){
			return false;
		}
	}
	var temp = str.indexOf(".");
	//.不能在第一位，也不能在最后一位。
	if (temp == 0) {
		return false;
	}
	if (temp > 0){
		if (temp == str.length-1 || str.indexOf(".", temp+1) > 0){
			return false;
		}	
	}
	return true;
}
/**
 * 数字检查
 */
function checkNumber(str) {
	if (str.length == 0){
		return true;
	}
	for (var i = 0; i < str.length; i ++){
		if ("0123456789".indexOf(str.charAt(i)) < 0){
			return false;
		}
	}
	return true;
}

/**
 * 字母检查
 */
function checkLetter(str){

   if (str.length == 0){
	  return true;
	}
	for (var i = 0; i < str.length; i ++){
	  if(!(str.charAt(i)>='a'&&str.charAt(i)<='z')&&!(str.charAt(i)>='A'&&str.charAt(i)<='Z')){
	       return false;
	   }
	}
	return true;
}

/**
 * 数字，字母检查
 */
function CheckCode(NUM)
{
        var i,j,strTemp;
        strTemp="0123456789-ABCDEFGHIGKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
        for (i=0;i<NUM.length;i++)
        {
                j=strTemp.indexOf(NUM.charAt(i));
                if (j==-1)
                {
                   return false;
                }
        }
         return true;
}

/**
 * 除去数字中多余的0
 */
function omitZero(obj) {
	if (obj.type != "text"){
		return;
	}
	var str = obj.value;
	if (str.length == 0){
		return;
	}
	var i = 0;
	for (i = 0; i < str.length-1; i ++){
		if (str.charAt(i) != '0'){
			break;
		}
	}
	var end = str.length;
	var j = end;
	
	if (str.indexOf(".") >= 0){
		 j = end - 1;
		for (; str.charAt(j) != "."; j --){
			if (str.charAt(j) != "0"){
				break;
			}
		}
		if (str.charAt(j) != "."){
			j ++;
		}
	}
	if (i >= 0){
	   obj.value = str.charAt(i) == '.' ? "0" + str.substring(i, j) : str.substring(i, j);	   
	}else{
		obj.value = "";
	}	 
}

// Delete the spaces
function trim(fieldValue)
{
    var str, beg, end;
    str = fieldValue.toString();
    for(beg=0;beg<str.length;beg++)
	{
		if(str.charAt(beg) != " ") 
			break;
	}
    if(beg==str.length)
    	return "";
    for(end=str.length-1;(str.charAt(end) == " ") && (end>=0);end--);
    return str.substring(beg,end+1);
}

// Check whether the value of obj is one valid ZipCode( 999 or 999-9999 )
function isZipCode(value){
  var retval=true;
    var del=value.indexOf('-');
    if (del==-1)
      retval=(value.length==3?(checkNumber(value)):false);
    else if (del!=3 || (value.length-del)!=5)
      retval=false;
    else if (checkNumber(value.substring(0,del))==false ||
             checkNumber(value.substring(del+1))==false){
      retval=false;
    }
  return retval;
}

// Check whether the value of obj is one valid EMail address ( aaa@aaa )
function isEMail(obj){
  var retval=true;
  var value =obj.value;
  if (obj!=null){
    var del=value.indexOf('@');
    retval = (del>0 && (value.length-del)>1
           && value.substring(del+1).indexOf('@')==-1);
  }

  return retval;
}

// Check whether the value of obj is one valid Telephone number ( 999-999-9999 )
function isTel(obj){
    telno = obj.value;
	var i = 0, ch;
	for(ch=telno.charAt(i);ch!="";ch=telno.charAt(i++))
		if(!(ch <= 9 || ch >= 0))
			if (i == 0 || ch != '-')
				return false;
	return true;
}

//是否是有效的日期，例如(2005-12-05)
function isDate(str)
{
	 if(str == "") return true;
     var r = str.match(/^(\d{1,4})(-|\/)(\d{2})\2(\d{2})$/);
     
     if(r==null){
     	return false; 
     }
     var d= new Date(r[1], r[3]-1, r[4]); 
     return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);
}

//TODO:没有实现的机能使用
function undoFunction(){
	return false;
}

String.prototype.trim = function()
{
	return this.replace(/(^[\s]*)|([\s]*$)/g, "");
}

//返回字符串的长度，每个全角字符长度为“2”
String.prototype.len=function()
{
	return this.replace(/[^\x00-\xff]/g,"aa").length;
}

//定义Map类
function Map(){
	this.akey = new Array();
	this.avalue = new Array();
}
Map.prototype.put = function(key,value){ 
	this.akey.push(key);
	this.avalue.push(value);
} 
Map.prototype.get = function(key){ 
	for(var i=0;i<this.akey.length;i++){
		var temp = this.akey[i];
		if(temp == key){
			return this.avalue[i];
		}
	}
}
Map.prototype.toString=function(){
	var result="";
	for (var i=0;i<this.akey.length;i++){
		result+="&"+this.akey[i]+"="+this.avalue[i];
	}
	return result.substr(1);
}
Map.prototype.getKey = function(value){ 
	for(var i=0;i<this.avalue.length;i++){
		var temp = this.avalue[i];
		if(temp == value){
			return this.akey[i];
		}
	}
}