function mdec (string) {
	var aCode = 'a'.charCodeAt();
	var zCode = 'z'.charCodeAt();
	var ACode = 'A'.charCodeAt();
	var ZCode = 'Z'.charCodeAt();
	var result = '';
	for (var c = 0; c < string.length; c++) {
		var charCode = string.charCodeAt(c);
		if (charCode >= aCode && charCode <= zCode)
			charCode = aCode + (charCode - aCode + 13) % 26;
		else if (charCode >= ACode && charCode <= ZCode)
			charCode = ACode + (charCode - ACode + 13) % 26;
		result += String.fromCharCode(charCode);
	}
	return result;
}

function uncrypt(encStr)
{
	var thebmap = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';

	var bits;
	var decOut = '';
	var i = 0;
	encStr = mdec(encStr);
	for(; i<encStr.length; i += 4)
	{
		bits = (thebmap.indexOf(encStr.charAt(i))    & 0xff) <<18 |
			(thebmap.indexOf(encStr.charAt(i +1)) & 0xff) <<12 |
			(thebmap.indexOf(encStr.charAt(i +2)) & 0xff) << 6 |
			thebmap.indexOf(encStr.charAt(i +3)) & 0xff;
		decOut += String.fromCharCode((bits & 0xff0000) >>16, 
			(bits & 0xff00) >>8, bits & 0xff);
	}
	
	if(encStr.charCodeAt(i -2) == 61)
	{
		return(decOut.substring(0, decOut.length -2));
	}
	else if(encStr.charCodeAt(i -1) == 61)
	{
		return(decOut.substring(0, decOut.length -1));
	}
	else 
	{
		return(decOut)
	};
}

function writeln(string)
{
	//alert(string);
	document.open(); 
	document.write(string); 
	document.close(); 
}
