function base64Encode(txtenc)
{
	var txt = txtenc;
	while ((txt.length % 3)!=0) { txt+=' '; }

	var map = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-/"
	var ln = txt.length;
	var c1,c2,c3,c4,ret = '';
	for (var i=0; i < ln; i+=3) {
		c1 = (txt.charCodeAt(i) >> 2) & 63;
		c2 = ((txt.charCodeAt(i) << 4) & 48) + ((txt.charCodeAt(i+1) >> 4) & 15);
		c3 = ((txt.charCodeAt(i+1) << 2) & 60) + ((txt.charCodeAt(i+2) >> 6) & 3);
		c4 = ((txt.charCodeAt(i+2) ) & 63);
		ret += map.charAt(c1) + map.charAt(c2) + map.charAt(c3) + map.charAt(c4);
	}	
	ret += "=";
	return(ret);
}