	function paraencode(src) {
		var result='';
		for(var key in src) {
			var buf=key;
			buf=buf.replace(/%/g,'%25');
			buf=buf.replace(/&/g,'%26');
			buf=buf.replace(/=/g,'%3D');
			result+=buf+'=';
			buf=src[key];
			buf=buf.replace(/%/g,'%25');
			buf=buf.replace(/&/g,'%26');
			buf=buf.replace(/=/g,'%3D');
			result+=buf+'&';
		};
		if (result!=='') result=result.substr(0,result.length-1);
		return result;
	};
	function paradecode(src) {
		if (!src.length) return null;
		var result=new Array();
		var strarray=src.split('&');
		for(var key in strarray) {
			var element=strarray[key].split('=');
			// Decode Key
			var varkey=element[0].replace(/%26/g,'&');
			varkey=varkey.replace(/%3D/g,'=');
			varkey=varkey.replace(/%25/g,'%');
			// Decode Value
			var varvalue=element[1].replace(/%26/g,'&');
			varvalue=varvalue.replace(/%3D/g,'=');
			varvalue=varvalue.replace(/%25/g,'%');
			result[varkey]=varvalue;
		};
		return result;
	};
