function UrlEncode1(str){
	var ret = "";
	var strSpecial="!\"#$%&'()*+,/:;<=>?[]^`{|}~%";
	var tt= "";
	for(var i=0;i<str.length;i++){
		var chr	= str.charAt(i);
		var c	= str2asc(chr);
		tt += chr+":"+c+"n";
		if(parseInt("0x"+c) > 0x7f){
			ret+="%"+c.slice(0,2)+"%"+c.slice(-2);
		}else{
			if(chr==" ") 
				ret += "+";
			else if(strSpecial.indexOf(chr)!=-1) 
				ret += "%"+c.toString(16); 
			else
				ret += chr;
		}
	}
	return ret; 
}

function UrlDecode1(str){
	var ret = "";
	for(var i=0;i<str.length;i++){
		var chr = str.charAt(i);
		if(chr == "+"){
			ret += " ";
		}else if(chr=="%"){
			var asc = str.substring(i+1,i+3);
			if(parseInt("0x"+asc)>0x7f){
				ret += asc2str(parseInt("0x"+asc+str.substring(i+4,i+6))); 
				i += 5;
			}else{
				ret += asc2str(parseInt("0x"+asc)); 
				i += 2;
			}
		}else{
			ret += chr; 
		}
	}
return ret; 
}




/**************************************************************************/
function UrlEncode2(str){      
    var i,c,p,q,ret=""
	var strSpecial = "!\"#$%&'()*+,/:;<=>?@[\]^`{|}~%";      
    for(i=0;i<str.length;i++){      
        if(str.charCodeAt(i)>=0x4e00){      
            var p=strGB.indexOf(str.charAt(i));      
            if(p>=0){      
                q = p%94;      
                p = (p-q)/94;      
                ret += ("%"+(0xB0+p).toString(16)+"%"+(0xA1+q).toString(16)).toUpperCase();      
            }      
        }      
        else{      
            c = str.charAt(i);      
            if(c==" ")      
                ret += "+";      
            else if(strSpecial.indexOf(c)!=-1)      
                ret += "%"+str.charCodeAt(i).toString(16);      
            else     
                ret += c;      
        }      
    }      
    return ret;      
}