// Hex Decryption routines

	function GetDec(hex) {
		switch (hex) {
			case "A":
				return 10
				break;
			case "B":
				return 11
				break;
			case "C":
				return 12
				break;
			case "D":
				return 13
				break;
			case "E":
				return 14
				break;
			case "F":
				return 15
				break;
			default:
				return Number(hex);
				break;
		}
	}
	
	function DectoHex(num) {
		switch (num) {
			case 10:
				return "A"
				break;
			case 11:
				return "B"
				break;
			case 12:
				return "C"
				break;
			case 13:
				return "D"
				break;
			case 14:
				return "E"
				break;
			case 15:
				return "F"
				break;
			default:
				return num;
				break;
		}
	}
	
	function DeCode(s)
		{
			var OutString=''
			var i
			for (i=0; i<s.length; i=i+2)
				{
					ChrValue = (GetDec(s.charAt(i))*16) + GetDec(s.charAt(i+1));
					if (i == 0) {
						DecKey = ChrValue;
					}
					else {
						if (ChrValue < DecKey) {
							ChrValue += 256;
						}
						ChrValue -= DecKey;
						frst=Math.round((ChrValue/16)-.49);
						scnd=ChrValue-(frst*16);
						OutString = OutString + unescape("%" + DectoHex(frst) + DectoHex(scnd));
					}
				}
			document.write(OutString)
		}

	function DeCode2(s)
		{
			var OutString=''
			var i
			for (i=0; i<s.length; i=i+2)
				{
					ChrValue = (GetDec(s.charAt(i))*16) + GetDec(s.charAt(i+1));
					if (i == 0) {
						DecKey = ChrValue;
					}
					else {
						if (ChrValue < DecKey) {
							ChrValue += 256;
						}
						ChrValue -= DecKey;
						frst=Math.round((ChrValue/16)-.49);
						scnd=ChrValue-(frst*16);
						OutString = OutString + unescape("%" + DectoHex(frst) + DectoHex(scnd));
					}
				}
			return OutString;
		}
