	/*********************
	 字符串对象原型方法，返回字符串
	*/
	String.prototype.trim = function(){
		return this.replace(/(^\s*)|(\s*$)/g,"")
	}
	
	String.prototype.rtrim = function(){ 
		return this.replace(/(\s*$)/g, ""); 
	}
	
	String.prototype.ltrim = function(){ 
		return this.replace(/(^\s*)/g, ""); 
	}
	
	/*********************
	日期：2002-01-31或者2009/12/04格式为正确格式
	时间：2002-1-31 12:34:56
	*/
	String.prototype.isdate = function(){  
        var r = this.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,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]);  
    }
	String.prototype.istime = function(){  
        var   r   =   this.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})   (\d{1,2}):(\d{1,2}):(\d{1,2})$/);    
        if(r==null)return   false;
		var d = new Date(r[1],r[3]-1,r[4],r[5],r[6],r[7]);
		return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()==r[7]);  
    }
	/*********************
	 得到24小时制的小时，分钟，秒的格式是否正确
	 str为时间字符串
	*/
	function chkHMS(str){
		if (!/^\d\d:\d\d:\d\d$/.test(str)) return false;
		d=str.split(':');
		if (d[0]<0||d[0]>23) return false;
		if (d[1]<0||d[1]>59) return false;
		if (d[2]<0||d[2]>59) return false;
		return true;
	}
	
	/*********************
	 得到24小时制的 小时:分钟 的格式是否正确
	 str为时间字符串
	*/
	function chkHM(str){
		if (!/^\d\d:\d\d$/.test(str)) return false;
		d=str.split(':');
		if (d[0]<0||d[0]>23) return false;
		if (d[1]<0||d[1]>59) return false;
		return true;
	}
	
	/*********************
	 字符串对象原型方法，若字符串为空则返回true
	*/
	String.prototype.isnull = function(){ 
		if(this.trim() == ""){ 
			return true; 
		}else{ 
			return false; 
		} 
	}
	
	/*********************
	 字符串对象原型方法，若字符串为整形数字符则返回true
	*/
	String.prototype.isint = function(){
		var regu = /^[-]{0,1}[0-9]{1,}$/;
		return regu.test(this);
	}
	
	/*********************
	 字符串对象原型方法，若字符串为IP地址则返回true
	*/
	String.prototype.isip = function () {
		if (isNull(this)) return false;
		var re=/^(\d+)\.(\d+)\.(\d+)\.(\d+)$/g;
		if(re.test(this)){
			if( RegExp.$1 <256 && RegExp.$2<256 && RegExp.$3<256 && RegExp.$4<256) return true;
		}
		return false;
	}
	
	/*********************
	 字符串对象原型方法，若字符串为金额格式则返回true
	 正数，小数点后最多3位
	*/
	String.prototype.ismoney = function (){
		var regu = "^[0-9]+[\.][0-9]{0,3}$";
		var re = new RegExp(regu);
		if (re.test(this)){
			return true;
		}else{
			return false;
		}
	}
	
	/*********************
	 字符串对象原型方法，返回字符串的长度
	*/
	String.prototype.len = function(){
		var len;
		var i;
		len = 0; 
		for (i=0;i<this.length;i++){
			if (this.charCodeAt(i)>255) len+=2; else len++; 
		} 
		return len;
	}
	
	//
	String.prototype.isUrl = function(){
    	  var strRegex = "^((https|http|ftp|rtsp|mms)?://)"
    + "?(([0-9a-z_!~*'().&=+$%-]+: )?[0-9a-z_!~*'().&=+$%-]+@)?" //ftp的user@
          + "(([0-9]{1,3}\.){3}[0-9]{1,3}" // IP形式的URL- 199.194.52.184
          + "|" // 允许IP和DOMAIN（域名）
          + "([0-9a-z_!~*'()-]+\.)*" // 域名- www.
          + "([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]\." // 二级域名
          + "[a-z]{2,6})" // first level domain- .com or .museum
          + "(:[0-9]{1,4})?" // 端口- :80
          + "((/?)|" // a slash isn't required if there is no file name
          + "(/[0-9a-z_!~*'().;?:@&=+$,%#-]+)+/?)$";
          var re=new RegExp(strRegex);
          if (re.test(this)){
              return (true);
          }else{
              return (false);
          }
      }
	
	/*********************
	 判断是否是数字或字母
	*/
	function isNumberOrLetter(s){
		var regu = "^[0-9a-zA-Z]+$";
		var re = new RegExp(regu);
		if(re.test(s)){
			return true;
		}else{
			return false;
		}
	}
	
	/*********************
	 判断是否是汉字、字母、数字组成
	*/
	function isChinaOrNumbOrLett(s){
		var regu = "^[0-9a-zA-Z\u4e00-\u9fa5]+$";  
		var re = new RegExp(regu);
		if (re.test(s)){
			return true;
		}else{
			return false;
		}
	}
	
	/*********************
	 确认对话框
	*/
	var confirmChange = function(url,caption){
		if(confirm(caption))
			window.location = url;
	}
	
	/*********************
	 若email为邮件地址，则返回true
	*/
	String.prototype.isEmail = function(){
  		return new RegExp(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/).test(this);
    }

	/*********************
	 得到小写的文件后缀名
	*/
	String.prototype.getFileExt = function (){
		var fileExt = this.substring(this.lastIndexOf(".")+1,this.length)
        fileExt = fileExt.toLowerCase()
		return fileExt;
	}
	
	/*********************
	 得到上传文件的大小(ie only)
	*/
//	function chksize(strFileName,maxsize){
//        try
//        {
//		   if(maxsize==''){
//		   	  var maxsize = 100;     //定义允许文件的大小，单位KB
//		   }
//		   var objStream = new ActiveXObject("ADODB.Stream");
//		   objStream.Type = 1;
//		   objStream.Open();
//		   objStream.LoadFromFile(strFileName);
//		   alert(objStream.Size/1024);
//		   if(Math.round(objStream.Size/1024)>maxsize){
//			   //alert ("抱歉！您选择的文件为 "+Math.round(objStream.Size/1024,2)+" KB　n超过了程序"+maxsize+" KB 的限制！");
//			   return false;
//		   }else{
//			  return true;
//		   }
//        }catch(e){
//            return false;
//        }
//    }
	
	/*********************
	 等比例缩放图片
	 调用：<img src="http://images2.wowchina.com/images_wow/download/wallpapers/2007/11/7/55591.jpg"  onload="javascript:DrawImage(this,200,200);" />
	*/
	function DrawImage(ImgD,FitWidth,FitHeight) 
	{ 
		var image=new Image(); 
		image.src=ImgD.src; 
		if(image.width>0 && image.height>0) 
		{ 
			if(image.width/image.height>= FitWidth/FitHeight) 
			{ 
				if(image.width>FitWidth) 
				{
					ImgD.width=FitWidth; 
					ImgD.height=(image.height*FitWidth)/image.width; 
				}else{
					ImgD.width=image.width; 
					ImgD.height=image.height; 
				} 
			}else{ 
				if(image.height>FitHeight) 
				{
					ImgD.height=FitHeight; 
					ImgD.width=(image.width*FitHeight)/image.height; 
				}else{
					ImgD.width=image.width; 
					ImgD.height=image.height; 
				}
			}
		}
	}

	
	/*********************
	 返回dom对象
	*/
	function o(id){
		if(arguments.length==0){
			return null;
		}else{
			if(document.getElementById(id)){
				return document.getElementById(id);
			}else{
				return null;	
			}
		}
    }
	
	/**********************
		为对象添加事件侦听
		调用方法：addEvent('objID','onclick',function(){test1('parm');});
	*/
	function addEvent(objId,eventName,eventFunc){
		var targetObj = document.getElementById(objId);
		if(targetObj){
			if(targetObj.attachEvent){
				targetObj.attachEvent(eventName,eventFunc);
			}else if(targetObj.addEventListener){
				var eventName = eventName.toString().replace(/on(.*)/i,'$1');
				targetObj.addEventListener(eventName,eventFunc,false);
			}
		}
	}
	
	
	/*
		得到对象RGB值
		str=s.style.color;
        obj=getRGB(str);
        alert("十进制RGB值为:\n\tR:"+obj.R+"\n\tG:"+obj.G+"\n\tB:"+obj.B);
	*/
	function getRGB(colorStr){
		var RGB={"R":0,"G":0,"B":0};  //RGB对象3属性R；G；B
		var p0=/\s*/;
		var p1=/#([\da-f]{2})([\da-f]{2})([\da-f]{2})$/i;
		var p2=/#([\da-f]{1})([\da-f]{1})([\da-f]{1})$/i;
		var p3=/(\d{1,3}),(\d{1,3}),(\d{1,3})/;
		var ptns=new Array(p0,p1,p2,p3);
		var n=3;
		do {
			i=colorStr.match(ptns[n]);
			n--;
		} while (!i)
		switch(n+1){
			case 0:
				 break;
			case 1:
				 RGB.R=parseInt(i[1],16);RGB.G=parseInt(i[2],16);RGB.B=parseInt(i[3],16);
				 break;
			case 2:
				 RGB.R=parseInt(i[1]+i[1],16);RGB.G=parseInt(i[2]+i[2],16);RGB.B=parseInt(i[3]+i[3],16);
				 break;
			case 3:
				 RGB.R=parseInt(i[1],10);RGB.G=parseInt(i[2],10);RGB.B=parseInt(i[3],10);
				 break;
			default:
				 alert("exception");
		}
		return RGB;
	}
	
	/*
		弹出窗口
	*/
	var pop=null
	function popWindow(url,name,w,h){
		if (pop==null || pop.closed){
			pop=window.open(url,name,'width='+w+',height='+h+',status=no,menubar=no,scrollbars=no,resizable=no,left='+ (screen.width-w)/2 +',top='+ (screen.height-h)/2);
		}else{
			pop.focus();
		}
	}
	function popWindow2(url,name,w,h){
		if (pop==null || pop.closed){
			 pop=window.open(url,name,'width='+w+',height='+h+',status=yes,menubar=yes,scrollbars=yes,resizable=yes,left='+ (screen.width-w)/2 +',top='+ (screen.height-h)/2);
		}else{
			 pop.focus();
		}
	}

