		function URLEncode (clearString) {
			var output = '';
			var x = 0;
			clearString = clearString.toString();
			var regex = /(^[a-zA-Z0-9_.]*)/;
			while (x < clearString.length) {
				var match = regex.exec(clearString.substr(x));
				if (match != null && match.length > 1 && match[1] != '') {
					output += match[1];
					x += match[1].length;
				} else {
		    		if (clearString[x] == ' ')
		    			output += '+';
		    		else {
		    			var charCode = clearString.charCodeAt(x);
		    			var hexVal = charCode.toString(16);
		    			output += '%' + ( hexVal.length < 2 ? '0' : '' ) + hexVal.toUpperCase();
		    		}
		    	x++;
				}
			}
			return output;
		}
		
		function URLDecode (encodedString) {
			var output = encodedString;
			var i =0;
			while (output.length > i){
				output = output.replace('+','%20');
			  	i+=1;
			}
			var binVal, thisString;
			var myregexp = /(%[^%]{2})/;
			while ((match = myregexp.exec(output)) != null
		    && match.length > 1
		    && match[1] != '') {	
			    binVal = parseInt(match[1].substr(1),16);
			    thisString = String.fromCharCode(binVal);
			    output = output.replace(match[1], thisString);
			}
			return output;
		}
