function Jtrim(str) //去空隔函数
{
	var i = 0;
	var len = str.length;
	if ( str == "" ) return( str );
	j = len -1;
	flagbegin = true;
	flagend = true;
	while ( flagbegin == true && i< len)
	{
		if ( str.charAt(i) == " " )
		{
		i=i+1;
		flagbegin=true;
		}
		else
		{
		flagbegin=false;
		}
	}
	
	while (flagend== true && j>=0)
	{
		if (str.charAt(j)==" ")
		{
		j=j-1;
		flagend=true;
		}
		else
		{
		flagend=false;
		}
	}
	
	if ( i > j ) return ("")
	
	trimstr = str.substring(i,j+1);
	return trimstr;
}

function checkNum(id){//用来验证整数
	var l_dot=0;
	for(i=0;i<id.value.length;i++){
		if(!(id.value.substring(i,i+1)<="9" && id.value.substring(i,i+1)>="0"))
			return false;
	}
	return true;
}

function checkNumDot2(id){//验证两个小数点的数值
	var l_dot=0;
	var l_minus=0;
	var j=0;//用来记录小数点后的位数
	if(id.value.length>0&&id.value.substring(0,1)=="-")//用来判断是不是负数
		l_minus = 1;
	for(var i=l_minus;i<id.value.length;i++){
		if(id.value.substring(i,i+1)==".") l_dot++;
		if (l_dot>1)
			return false;
		if(l_dot==0){
				if(!((id.value.substring(i,i+1)<="9" && id.value.substring(i,i+1)>="0")|| id.value.substring(i,i+1)=="."))
				return false;
			}

		if(l_dot==1){
				if(!((id.value.substring(i,i+1)<="9" && id.value.substring(i,i+1)>="0")|| id.value.substring(i,i+1)=="."))
				return false;
				else
					j++;
			}

		
	}	
	if(j>3)
		return false;
		else
		return true;
}



function checkNumDot(id){//验证是否是数值
	var l_dot=0;
	var j=0;//用来记录小数点后的位数
	for(i=0;i<id.value.length;i++){
		if(id.value.substring(i,i+1)==".") l_dot++;
		if (l_dot>1)
			return false;

		if(!((id.value.substring(i,i+1)<="9" && id.value.substring(i,i+1)>="0")|| id.value.substring(i,i+1)=="."))
			return false;
	}
	return true;
}


function formatNum(num){
	var cc = new String(num);
	var number;
	if(cc.indexOf(".")>0){
		if(cc.substring(0,1)=="-")
			number = new String(num*1-0.002);
		else
			number = new String(num*1+0.002);	
	}else
		number = cc;

	if(cc.indexOf(".")>0&&number.length-number.indexOf(".")>3)
		number = number.substring(0,cc.indexOf(".")+3);
	return number;	
}

 /**
    * 验证一个字符串是否是数字,包括两位小数 ,to do: . 不认，但 .9 9.认
    * @param s 要验证的字符串
    * @return true -- 如果是数字　false -- 如果不是数字
    */
   function isDigit(s)
   {
    var patrn=/^[0-9]{0,18}[.]{0,1}[0-9]{0,2}$/;
     if (!patrn.exec(s)) {
      return false
     }
     return true
    }
/**
 * 验证一个字符串是否全部是数字
 */
   function isAllDigit(s)
   {
    var patrn=/^[0-9]{1,20}$/;
     if (!patrn.exec(s)) {
      return false
     }
     return true
   }
    /**
     * PURPOSE: 校验登录名：只能输入5-20个以字母开头、可带数字、“_”、“.”的字串
     *
     * @param s 要验证的字符串
     * @return true 登录名合法 false 不合法
     */
    function isRegisterUserName(s)
    {
      var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9._]){4,19}$/;
      if (!patrn.exec(s)) {
          return false
      }
      return true
    }

    /**
     * PURPOSE: 移动电话(手机）样式:13531214732或013531214732
     * @param mobile 手机号
     * @return true 合法的手机号 false　不合法的手机号
     */
      function isMobile(mobile){
              var pattern=/^0{0,1}13[0-9]{9}$/;
              if(pattern.test(mobile)){
                      return true;
              }else{
                      return false;
              }
      }

  /**
   * PURPOSE: 固定电话(小灵通,家庭电话)
   * @param telphone 要验证的固定电话
   * @return true 合法　false 不合法
   */
  function isTelphone(telphone){
                var pattern=/(^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)/;
                if(pattern.test(telphone)){
                        return true;
                }else{
                        return false;
                }
  }

  /**
   *检测是否是数字,'-',','组成的电话
   *
   *
   */
   function isPhone(phone){
		var pattern = /^[0-9,-]*$/;
		return pattern.test(phone);
   
   }

  /**
   * PURPOSE: 验证固定和移动电话
   * @param telphone 要验证的电话号码
   * @return true 合法 false 不合法
   */
    function  isTelAndMobile(telphone){
            var pattern=/(^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)/;
            if(pattern.test(telphone)){
                    return true;
            }else{
                    return false;
            }
    }

  /**
   * PURPOSE: 验证IP地址
   * @param ip 要验证的IP地址
   * @return true 合法 false 不合法
   */
    function isIP(ip){
    var pattern=/(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])/;
    if(pattern.test(ip)){
            return true;
    }else{
            return false;
    }
    }

  /**
   * PURPOSE: 邮政编码,要求:无地区规律,但都是6位数字,最大值为(西藏拉萨850000),最小值为(呼和浩特010000)
   * @param
   */
    function isPost(post){
    var pattern=/^[0-9]{6}$/;
    if(!pattern.test(post)){
    return false;
    }else{
    if(parseInt(post)<10000||parseInt(post)>850000){
            return false;
    }
    return true;
    }
    }
  /**
   * PURPOSE: 整数(可以带正负符号或者不带符号表正数)
   * @param elem 要验证的数字
   */
        //function isIntgeter(elem){
        //	var pattern=/^(\-|+)?\d+$/;
        //	if(!pattern.test(elem)){
        //		return false;
        //	}else{
        //		return true;
        //	}
        //}

  /**
   * PURPOSE: 验证是否是负整数
   * @param elem 要验证的数字
   */
	 function isNegative(elem){
                var pattern=/^[-][0-9]+$/;
                if(!pattern.test(elem)){
                        return false;
                }else{
                        return true;
                }
        }
	/**
	*验证正整数
	*/
	function isPositive(elem){
                var pattern=/^[+]?[0-9]+$/;
                if(!pattern.test(elem)){
                        return false;
                }else{
                        return true;
				}
        }
	/**
	*验证整数
	*/
	function isInteger(elem){
                var pattern=/^[+|-]?[0-9]+$/;
                if(!pattern.test(elem)){
                        return false;
                }else{
                        return true;
				}
        }
  /**
   * PURPOSE: 判断字符由字母和数字，下划线,点号组成.且开头的只能是下划线和字母
   */
        function isStrin(elem){
          var pattern=/^(\b[a-zA-Z]|\b_)([a-zA-Z0-9]+(_|\.)?[a-zA-Z0-9]*)+$/;
          if(pattern.test(elem)){
            return true;
          }else{
            return false;
          }
        }

  /**
   * PURPOSE: 由a-z和A-Z组成的字符串
   */
  function isStr(elem){
          var pattern=/^[a-zA-Z]+$/;
          if(pattern.test(elem)){
                  return true;
          }else{
                  return false;
          }
  }

  //分辨率的检测
  function checkScreen(){
          //分辨率初始化
          var size;
          if(screen.width==640 && screen.height==480)
           return size="640 x 480";
          if(screen.width==800 && screen.height==600)
           return size="800 x 600";
          if(screen.width==1024 && screen.height==768)
                  return size="1024 x 768";
          else
                  return size="640 x 480";
  }

  //判断操作平台是不是win98
  function isWin98(){
          if(navigator.appVersion.indexOf("98")!=-1){
                  return true;
          }else{
                  return false;
          }
  }

  function isContainChinese(elem){
          var pattern=/[^\x00-\xff]/g;
          if(pattern.test(elem)){
     //包含中文
            return true;
          }else{
            //不包含中文
			return false;
          }
        }

  //校验密码：只能输入6-15个字母、数字
    function isPasswd(s)
    {
            var patrn=/^[a-zA-Z0-9]{6,15}$/;
            if (!patrn.exec(s)) return false;
            return true;
    }

//校验身份证号码：15位数字或者18位数字或者17数字＋1字母
    function isIdNumber(s)
    {
            var patrn=/^\d{15}(\d{2}\w)?$/;
            if (!patrn.exec(s)) 
				return false;
            return true;
    }

  /**
   * 检测emial地址是不是合法.
   * @param email 要检测的邮件地址
   * @return boolean true--合法 false--非法
   */
  function isMail(email) {
    return(new RegExp(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/).test(email));
  }

  //去掉空格
  function trim(str) {
    return str.replace(/(^\s*)|(\s*$)/g, "");
  }


function replaceAll(src,regex,replacement){
	while(src.indexOf(regex)>-1){
		src=src.replace(regex,replacement);
	}
	return src;
}

  /**
   * PURPOSE: 将阿拉伯数字(小写)转化成中文(大写）
   */
  function arabia_to_chinese(Num) {
    Num = new String(Num); //保证输入来的数字为字符串
    for (i = Num.length - 1; i >= 0; i--) {
      Num = Num.replace(",", "") //替换tomoney()中的“,”
          Num = Num.replace(" ", "") //替换tomoney()中的空格

    }
    Num = Num.replace("￥", "") //替换掉可能出现的￥字符
    if (isNaN(Num)) { //验证输入的字符是否为数字
      alert("请检查小写金额是否正确");
      return;
    }
    //---字符处理完毕，开始转换，转换采用前后两部分分别转换---//
    part = String(Num).split(".");
    newchar = "";
    //小数点前进行转化
    for (i = part[0].length - 1; i >= 0; i--) {
      if (part[0].length > 10) {
        alert("位数过大，无法计算");
        return "";
      } //若数量超过拾亿单位，提示
      tmpnewchar = ""
          perchar = part[0].charAt(i);
      switch (perchar) {
        case "0":
          tmpnewchar = "零" + tmpnewchar;
          break;
        case "1":
          tmpnewchar = "壹" + tmpnewchar;
          break;
        case "2":
          tmpnewchar = "贰" + tmpnewchar;
          break;
        case "3":
          tmpnewchar = "叁" + tmpnewchar;
          break;
        case "4":
          tmpnewchar = "肆" + tmpnewchar;
          break;
        case "5":
          tmpnewchar = "伍" + tmpnewchar;
          break;
        case "6":
          tmpnewchar = "陆" + tmpnewchar;
          break;
        case "7":
          tmpnewchar = "柒" + tmpnewchar;
          break;
        case "8":
          tmpnewchar = "捌" + tmpnewchar;
          break;
        case "9":
          tmpnewchar = "玖" + tmpnewchar;
          break;
      }
      switch (part[0].length - i - 1) {
        case 0:
          tmpnewchar = tmpnewchar + "元";
          break;
        case 1:
          if (perchar != 0) {
            tmpnewchar = tmpnewchar + "拾";
          }
          break;
        case 2:
          if (perchar != 0) {
            tmpnewchar = tmpnewchar + "佰";
          }
          break;
        case 3:
          if (perchar != 0) {
            tmpnewchar = tmpnewchar + "仟";
          }
          break;
        case 4:
          tmpnewchar = tmpnewchar + "万";
          break;
        case 5:
          if (perchar != 0) {
            tmpnewchar = tmpnewchar + "拾";
          }
          break;
        case 6:
          if (perchar != 0) {
            tmpnewchar = tmpnewchar + "佰";
          }
          break;
        case 7:
          if (perchar != 0) {
            tmpnewchar = tmpnewchar + "仟";
          }
          break;
        case 8:
          tmpnewchar = tmpnewchar + "亿";
          break;
        case 9:
          tmpnewchar = tmpnewchar + "拾";
          break;
      }
      newchar = tmpnewchar + newchar;
    }
    //小数点之后进行转化
    if (Num.indexOf(".") != -1) {
      if (part[1].length > 2) {
        alert("小数点之后只能保留两位,系统将自动截段");
        part[1] = part[1].substr(0, 2)
      }
      for (i = 0; i < part[1].length; i++) {
        tmpnewchar = ""
            perchar = part[1].charAt(i)
            switch (perchar) {
          case "0":
            tmpnewchar = "零" + tmpnewchar;
            break;
          case "1":
            tmpnewchar = "壹" + tmpnewchar;
            break;
          case "2":
            tmpnewchar = "贰" + tmpnewchar;
            break;
          case "3":
            tmpnewchar = "叁" + tmpnewchar;
            break;
          case "4":
            tmpnewchar = "肆" + tmpnewchar;
            break;
          case "5":
            tmpnewchar = "伍" + tmpnewchar;
            break;
          case "6":
            tmpnewchar = "陆" + tmpnewchar;
            break;
          case "7":
            tmpnewchar = "柒" + tmpnewchar;
            break;
          case "8":
            tmpnewchar = "捌" + tmpnewchar;
            break;
          case "9":
            tmpnewchar = "玖" + tmpnewchar;
            break;
        }
        if (i == 0) {
          tmpnewchar = tmpnewchar + "角";
        }
        if (i == 1) {
          tmpnewchar = tmpnewchar + "分";
        }
        newchar = newchar + tmpnewchar;
      }
    }
    //替换所有无用汉字
    while (newchar.search("零零") != -1) {
      newchar = newchar.replace("零零", "零");
    }
    newchar = newchar.replace("零亿", "亿");
    newchar = newchar.replace("亿万", "亿");
    newchar = newchar.replace("零万", "万");
    newchar = newchar.replace("零元", "元");
    newchar = newchar.replace("零角", "");
    newchar = newchar.replace("零分", "");

    if (newchar.charAt(newchar.length - 1) == "元" ||
        newchar.charAt(newchar.length - 1) == "角") {
      newchar = newchar + "整"
          return newchar;

    }
  }

  //将阿拉伯数字翻译成中文的大写数字
  function chinese(num)
        {
    if(!/^\d*(\.\d*)?$/.test(num)){
      return "Number is wrong!";
    }

    var AA = new Array("零","壹","贰","叁","肆","伍","陆","柒","捌","玖");
    var BB = new Array("","拾","佰","仟","萬","億","点","");

    var a = (""+ num).replace(/(^0*)/g, "").split("."), k = 0, re = "";

    for(var i=a[0].length-1; i>=0; i--)
    {
        switch(k)
        {
            case 0 : re = BB[7] + re; break;
            case 4 : if(!new RegExp("0{4}\\d{"+ (a[0].length-i-1) +"}$").test(a[0]))
                     re = BB[4] + re; break;
            case 8 : re = BB[5] + re; BB[7] = BB[5]; k = 0; break;
        }
        if(k%4 == 2 && a[0].charAt(i+2) != 0 && a[0].charAt(i+1) == 0) re = AA[0] + re;
        if(a[0].charAt(i) != 0) re = AA[a[0].charAt(i)] + BB[k%4] + re; k++;
    }
    if(a.length>1) //加上小数部分(如果有小数部分)
    {
        re += BB[6];
        for(var i=0; i<a[1].length; i++) re += AA[a[1].charAt(i)];
    }
    return re;
        }

  //浏览器版本检测
  //获取浏览器的名字Netscape或者Microsoft Internet Explorer
  function browser() {
                var  browserName=navigator.appName;
                //获取浏览器的版本信息
                var  browserVersion=parseInt(navigator.appVersion);
                var browser;
                if(browserName=="Netscape"&&browserVersion==5){
                        browser="nn6";       //netspace6
                }
                else if(browserName="Netscape"&&browserVersion==4){
                        browser="nn4";      //netspace4
                }
                else if(browserName="Microsoft Internet Explorer"&&
            browserVersion==4&&navigator.appVersion.indexOf("MSIE 6.0")!=-1){
     browser="ie6";      //IE 6.0
                }
                else if(browserName="Microsoft Internet Explorer"&&browserVersion==4&&navigator.appVersion.indexOf("MSIE 5.5")!=-1){
                        browser="ie55";     //IE5.5
                }
                else if(browserName="Microsoft Internet Explorer"&&browserVersion==4&&navigator.appVersion.indexOf("MSIE 5.0")!=-1){
                        browser="ie5";       //IE5.0
                }
                else if(browserName="Microsoft Internet Explorer"&&browserVersion==4){
                        browser="ie4";       //IE4
                }
    return browser;
  }

//}


//函数名：chkdate
//功能介绍：检查是否为日期
//参数说明：要检查的字符串
//返回值：0：不是日期  1：是日期
function chkdate(datestr)
{
 var lthdatestr
 if (datestr != "")
  lthdatestr= datestr.length ;
 else
  lthdatestr=0;

 var tmpy="";
 var tmpm="";
 var tmpd="";
 //var datestr;
 var status;
 status=0;
 if ( lthdatestr== 0)
  return 0


 for (i=0;i<lthdatestr;i++)
 { if (datestr.charAt(i)== '-')
  {
   status++;
  }
  if (status>2)
  {
   //alert("Invalid format of date!");
   return 0;
  }
  if ((status==0) && (datestr.charAt(i)!='-'))
  {
   tmpy=tmpy+datestr.charAt(i)
  }
  if ((status==1) && (datestr.charAt(i)!='-'))
  {
   tmpm=tmpm+datestr.charAt(i)
  }
  if ((status==2) && (datestr.charAt(i)!='-'))
  {
   tmpd=tmpd+datestr.charAt(i)
  }

 }
 year=new String (tmpy);
 month=new String (tmpm);
 day=new String (tmpd)
 //tempdate= new String (year+month+day);
 //alert(tempdate);
 if ((tmpy.length!=4) || (tmpm.length>2) || (tmpd.length>2))
 {
  //alert("Invalid format of date!");
  return 0;
 }
 if (!((1<=month) && (12>=month) && (31>=day) && (1<=day)) )
 {
  //alert ("Invalid month or day!");
  return 0;
 }
 if (!((year % 4)==0) && (month==2) && (day==29))
 {
  //alert ("This is not a leap year!");
  return 0;
 }
 if ((month<=7) && ((month % 2)==0) && (day>=31))
 {
  //alert ("This month is a small month!");
  return 0;

 }
 if ((month>=8) && ((month % 2)==1) && (day>=31))
 {
  //alert ("This month is a small month!");
  return 0;
 }
 if ((month==2) && (day==30))
 {
  //alert("The Febryary never has this day!");
  return 0;
 }
 return 1;
}

//函数名：checkLength
//功能介绍：检查字符串的长度
//参数说明：要检查的字符串
//返回值：长度值
function checkLength(strTemp)
{
 var i,sum;
 sum=0;
 for(i=0;i<strTemp.length;i++)
 {
  if ((strTemp.charCodeAt(i)>=0) && (strTemp.charCodeAt(i)<=255))
   sum=sum+1;
  else
   sum=sum+2;
 }
 return sum;
}

//函数名:	validRequired
//参数	:	object 待验证的表单对象
//验证文本框和选择控件的必填字段
function validRequired(object,displayname){
	var ret="";
	if(object.type!="text"&&object.type!="select-one"&&object.type!="textarea"){
		//alert(object.type);
		return "";
	}
	if(trim(object.value)==""){
		if(object.type=="select-one")
			ret+="请选择 "+displayname+" !";
		if(object.type=="text"||object.type=="textarea")
			ret+=displayname+" 不能为空!";
		//object.focus();
		return ret;
	}
	//alert(trim(object.value));
	return "";
}



function validNum(object, required, displayname){
	var ret="";
	if(required=="1"){
		if(validRequired(object,displayname)!="")
			return validRequired(object,displayname);		
	}
	try{
		if(isNaN(object.value)){
			if(object.type=="select-one"){
				ret+="请选择 "+displayname+" !";
			}
			if(object.type=="text"||object.type=="textarea"){
				ret+=displayname+" 必须为数字!";
			}
			return ret;
		}

	}catch(e){
		alert(e)
	}
	return "";
}

