String.prototype.UrlEncode = function(){ 
	var str = this; 
	str = str.replace(/./g,function(sHex){ 
		window.EnCodeStr = ""; 
		window.sHex = sHex; 
		window.execScript('window.EnCodeStr=Hex(Asc(window.sHex))',"vbscript"); 
		return window.EnCodeStr.replace(/../g,"%$&"); 
	});
	return str; 
}
Number.prototype.toFixed = function(s){
    return (parseInt(this * Math.pow( 10, s ) + 0.5)/ Math.pow( 10, s )).toString();
}

function array_sum(array) {
    var key, sum = 0;
    if (typeof array !== 'object') {
        return null;
    }
    for (key in array) {
        sum = longCount(parseFloat(sum),parseFloat(array[key]),'+');
    }
    return sum;
}
function stripslashes (str) {
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: Ates Goral (http://magnetiq.com)
    // +      fixed by: Mick@el
    // +   improved by: marrtins    // +   bugfixed by: Onno Marsman
    // +   improved by: rezna
    // +   input by: Rick Waldron
    // +   reimplemented by: Brett Zamir (http://brett-zamir.me)
    // +   input by: Brant Messenger (http://www.brantmessenger.com/)    // +   bugfixed by: Brett Zamir (http://brett-zamir.me)
    // *     example 1: stripslashes('Kevin\'s code');
    // *     returns 1: "Kevin's code"
    // *     example 2: stripslashes('Kevin\\\'s code');
    // *     returns 2: "Kevin\'s code"    
    return (str+'').replace(/\\(.?)/g, function (s, n1) {
        switch (n1) {
            case '\\':
                return '\\';
            case '0':  
                return '\u0000';
            case '':
                return '';
            default:
                return n1;
        }
    });
}
function IsURL(str_url){ 
    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);
    //re.test() 
    if (re.test(str_url)){
        return (true);
    }else{
        return (false);
    }
}
function get_html_url_val(){
	//定义一个数组，用于存放取出来的字符串参数。
	var argsArr = new Object();
	//获取URL中的查询字符串参数
	var url = top.location.toString();
	//这里的pairs是一个字符串数组
	if(url.indexOf("#")){
		var arr = url.split("#");
		if(arr[1]){
			var pairs = decodeURIComponent(arr[1]).split("&");//name=myname&password=1234&sex=male&address=nanjing
			for(var i=0;i<pairs.length;i++){
				var sign = pairs[i].indexOf("=");
				//如果没有找到=号，那么就跳过，跳到下一个字符串（下一个循环）。
				if(sign == -1){continue;}
				var aKey = pairs[i].substring(0,sign);
				var aValue = pairs[i].substring(sign+1);
				argsArr[aKey] = aValue;
			}
		}
	}
	return argsArr;
} 

function in_array(v,a){
	return jQuery.inArray(v,a)>=0;
}
function arraypush(a, value) {
	a[a.length] = value;
	return a.length;
}
function trimcn(str) {
	return str.replace(/^[\s\n　]*(.*?)[\s\n　]*$/g, '$1');
}

function formatnum(obj){
	$(obj).val($(obj).val().replace(/[^\d]/g,'').replace(/^0*/,""));//去非数字、去前0
}
function strDateTime(str){//js datetime 验证 
   //var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2})(:(\d{1,2}))?$/;//秒可有可无
   var reg = /^(\d{4})(-)(\d{1,2})-(\d{1,2}) (\d{1,2}):(\d{1,2})(:(\d{1,2}))?$/;//秒可有可无     
   var r = str.match(reg); 
   
   if(r==null)return false;  
   var d = new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]==undefined?'00':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]==undefined?'00':r[7])); 
}
function longCount(str1,str2,type) {
	// js浮点数 +,-,*,/ 运算修正
	// longCount('10','9.2','-')
	var comma1 = 0;
	str1 = String(str1);
	str2 = String(str2);
	if (str1.indexOf(".")!=-1) {
		str1 = str1.replace(/0*$/,"");
		comma1 = str1.length - str1.indexOf(".")-1;
	}
	var comma2 = 0;
	if (str2.indexOf(".")!=-1) {
		str2 = str2.replace(/0*$/,"");
		comma2 = str2.length - str2.indexOf(".")-1;
	}
	str1 = str1.replace(/\./,"");
	str2 = str2.replace(/\./,"");
	var value,comma;
	if (type!="*") {
		if (comma1>comma2) {
			for (var i=0;i<comma1-comma2;i++) str2 += "0";
			comma = (type=="/")?0:comma1;
		}else {
			for (var i=0;i<comma2-comma1;i++) str1 += "0";
			comma = (type=="/")?0:comma2;
		}
	}else {
		comma = comma1 + comma2;
	}
	if (type=="+") {
		value = parseInt(str1,10) + parseInt(str2,10);
	}else if (type=="-") {
		value = parseInt(str1,10) - parseInt(str2,10);
	}else if (type=="*") {
		value = parseInt(str1,10) * parseInt(str2,10);
	}else if (type=="/") {
		value = parseInt(str1,10) / parseInt(str2,10);
	}
	value = String(value);
	if (comma>0) value = value.substring(0,value.length-comma)+"."+value.substring(value.length-comma,value.length);
	if (value.indexOf(".")!=-1)		value = value.replace(/0*$/,"");
	if (value.substring(0,1)==".")	value = "0"+value; //恢复正常显示 0.22
	return value;
}

function setCookie(name,value,Days){
    var exp  = new Date();    //new Date("December 31, 9998");
    exp.setTime(exp.getTime() + Days*24*60*60*1000);
    document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
}
function getCookie(name){
    var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
     if(arr != null) return unescape(arr[2]); return null;
}
function delCookie(name){
    var exp = new Date();
    exp.setTime(exp.getTime() - 1);
    var cval=getCookie(name);
    if(cval!=null) document.cookie= name + "="+cval+";expires="+exp.toGMTString();
}

function break_words_css(str){
    var strb='';
    str=str.toString();
    for(var i=0;i<str.length;i++){
        strb+='<font>'+str.charAt(i)+'</font>';
    }
    return strb;
}

function obj2str(o){
   var r = [];
   if(typeof o == "string" || o == null) {
     return o;
   }
   if(typeof o == "object"){
     if(!o.sort){
       r[0]="{"
       for(var i in o){
         r[r.length]=i;
         r[r.length]=":";
         r[r.length]=obj2str(o[i]);
         r[r.length]=",";
       }
       r[r.length-1]="}"
     }else{
       r[0]="["
       for(var i =0;i<o.length;i++){
         r[r.length]=obj2str(o[i]);
         r[r.length]=",";
       }
       r[r.length-1]="]"
     }
     return r.join("");
   }
   return o.toString();
}
function str2obj(json){ 
    return eval("("+json+")"); 
}
