function OpenWindow(url,name,width,height) {
  var x=(screen.width-width)/2;
  var y=(screen.height-height)/2;
  var win=window.open(url,name,"width="+width+",height="+height+",left="+x+",top="+y+",locationbar=no,menubar=no,resizable=yes,scrollbars=yes,status=no");
  win.innerWidth=width;
  win.innerHeight=height;
  win.focus();
}

function OpenFixWindow(url,name,width,height) {
  var x=(screen.width-width)/2;
  var y=(screen.height-height)/2;
  var win=window.open(url,name,"width="+width+",height="+height+",left="+x+",top="+y+",locationbar=no,menubar=no,resizable=no,scrollbars=no,status=no");
  win.innerWidth=width;
  win.innerHeight=height;
  win.focus();
}

function ShowImage(datakey,width,height) {
  OpenFixWindow("/image/showimage.php?datakey="+datakey,"Image",width,height);
}

function OpenBuddyWindow() {
  OpenWindow("/buddylist/buddylist.php","BuddyWindow",200,600);
}

function OpenURL(url) {
  x=window;
  while (x.opener!=null) {
    x=x.opener;
    if (x.opener==null) {
      x=x.top;
    }
  }

  x.location.href=url;
  window.focus();
}

function insertsmiley(form,control,code) {
	var c=document.forms[form].elements[control];
	c.value = c.value+" "+code;
	c.focus();
}

function InsertEMail(name,domain) {
	name=Base64.decode(name);
	domain=Base64.decode(domain);
	document.write('<a href=\"mailto:'+name+'@'+domain+'\">'+name+'@'+domain+'</a>');
}

var Base64 = {
		 
		_keyStr : "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",
	 	 
		// public method for decoding
		decode : function (input) {
			var output = "";
			var chr1, chr2, chr3;
			var enc1, enc2, enc3, enc4;
			var i = 0;
	 
			input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");
	 
			while (i < input.length) {
	 
				enc1 = this._keyStr.indexOf(input.charAt(i++));
				enc2 = this._keyStr.indexOf(input.charAt(i++));
				enc3 = this._keyStr.indexOf(input.charAt(i++));
				enc4 = this._keyStr.indexOf(input.charAt(i++));
	 
				chr1 = (enc1 << 2) | (enc2 >> 4);
				chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
				chr3 = ((enc3 & 3) << 6) | enc4;
	 
				output = output + String.fromCharCode(chr1);
	 
				if (enc3 != 64) {
					output = output + String.fromCharCode(chr2);
				}
				if (enc4 != 64) {
					output = output + String.fromCharCode(chr3);
				}
	 
			}
	 
			output = Base64._utf8_decode(output);
	 
			return output;
	 
		},

		// private method for UTF-8 decoding
		_utf8_decode : function (utftext) {
			var string = "";
			var i = 0;
			var c = c1 = c2 = 0;
	 
			while ( i < utftext.length ) {
	 
				c = utftext.charCodeAt(i);
	 
				if (c < 128) {
					string += String.fromCharCode(c);
					i++;
				}
				else if((c > 191) && (c < 224)) {
					c2 = utftext.charCodeAt(i+1);
					string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
					i += 2;
				}
				else {
					c2 = utftext.charCodeAt(i+1);
					c3 = utftext.charCodeAt(i+2);
					string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
					i += 3;
				}
	 
			}
	 
			return string;
		}
	 
	}

