		function tool3(n,start,end,offset)	{
			n = n + offset;
			if (offset > 0 && n > end)	{
				n = start + (n - end - 1);
			} else if (offset < 0 && n < start)	{
				n = end - (start - n - 1);
			}
			return String.fromCharCode(n);
		}

		function tool2(enc,offset)	{
			var dec = "";
			var len = enc.length;
			for(var i=0; i < len; i++)	{
				var n = enc.charCodeAt(i);
				if (n >= 0x2B && n <= 0x3A)	{
					dec += tool3(n,0x2B,0x3A,offset);	
				} else if (n >= 0x40 && n <= 0x5A)	{
					dec += tool3(n,0x40,0x5A,offset);	
				} else if (n >= 0x61 && n <= 0x7A)	{
					dec += tool3(n,0x61,0x7A,offset);	
				} else {
					dec += enc.charAt(i);
				}
			}
			return dec;
		}

		function tool1(s)	{
			location.href = tool2(s,-2);
		}
		