eval(function(p,a,c,k,e,d){while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+c.toString(a)+'\\b','g'),k[c])}}return p}('j={l:6(){9 0=i;8{0=3 o()}2(5){8{0=3 k("n.g")}2(5){8{0=3 k("m.g")}2(5){0=e}}}a 0},0:6(c,d,b,f,7){9 0=j.l();1(!0){a e}0.s(d,c,f);0.p=6(){1(0.t==4){1(0.q==r){1(7)7(0)}}};9 h=(b)?b:i;0.v(h);a u}};',32,32,'request|if|catch|new||exception|function|func|try|var|return|params|url|method|false|asynch|XMLHTTP|str|null|MyAjax|ActiveXObject|init|Microsoft|Msxml2|XMLHttpRequest|onreadystatechange|status|200|open|readyState|true|send'.split('|')));
function Editor(id,btns,ctrls,st_id) {
	var start = null;
	var end = null;
	var selection = null;
	var obj_textarea = document.getElementById(id+'_textarea');
	var obj_preview = null;
	var obj_image = null;
	var preview_flag = false;

	for(var i in btns)
	{
		document.getElementById(id+'_btn_'+btns[i]).onclick = eval(btns[i]);
		if(btns[i]=='image') {
			obj_image = document.getElementById(id+'_images_window');
			obj_image_inner = document.getElementById(id+'_images_window_inner');
			obj_image_inner.loaded = false;
//			document.getElementById(id+'_images_ok').onclick = function(e) { e = fixE(e); hide(obj_image); }
			hide(obj_image);
		}
		if(btns[i]=='preview') {
			obj_preview = document.getElementById(id+'_preview_window');
			hide(obj_preview);
		}
	}
	for(var i in ctrls) {
		var el = document.getElementById(id+'_opt_'+ctrls[i]);
		el.onchange = eval(ctrls[i]);
		if(ctrls[i]=='color') el.style.color = el.value;
	}
	
	obj_textarea.onselect = obj_textarea.onclick = obj_textarea.onkeyup = typeof document.selection == 'undefined'?selectionFF:selectionIE;
	
	function bold(e) { if(!preview_flag) insertTags('bold'); }
	function italic(e) { if(!preview_flag) insertTags('italic'); }
	function underline(e) { if(!preview_flag) insertTags('underline'); }
	function selectionFF(e) { start = obj_textarea.selectionStart; end = obj_textarea.selectionEnd; }
	function selectionIE(e) { selection = document.selection.createRange(); }
	function hide(obj) { obj.style.display = 'none'; }
	function show(obj) { obj.style.display = 'block'; }
	this.insertImage = function(url,big_url,style) { insertTags('image', url, big_url, style); }
	function size(e) { if(!preview_flag) {e = fixE(e); insertTags('size', e.src.value);} }
	function link(e) {
		if(!preview_flag) {
			var href = prompt("Enter your link", "http://");
			if(href != null) var title = prompt("Enter title for the link", "My link");
			if(href != null && title != null) insertTags('link',href,title);
		}
	}
	
	function preview(e) {
		if(obj_preview.style.display == 'none') {
			preview_flag = true;
			this.firstChild.src = this.firstChild.src.substring(0,this.firstChild.src.lastIndexOf('.'))+'_off.gif';
			show(obj_preview);
			obj_preview.innerHTML = obj_textarea.value.replace(/[\n]/g,'<br/>');
			hide(obj_textarea);
		} else {
			preview_flag = false;
			this.firstChild.src = this.firstChild.src.substring(0,this.firstChild.src.lastIndexOf('_'))+'.gif';
			hide(obj_preview);
			show(obj_textarea);
		}
	}
	
	function image(e, edit_site_id) {
		if(!preview_flag)
		{
			if(obj_image.style.display == 'none')
			{
				if(!obj_image.loaded)
				{
					obj_image_inner.innerHTML = "Loading...";
					new MyAjax.request("/users/gallery/images.php?e_id="+id+"&site_id="+st_id,
							"GET",
							null,
							true,
							function(r)
							{
								obj_image_inner=document.getElementById(id+'_images_window_inner');
								obj_image_inner.innerHTML = r.responseText;
								obj_image_inner.loaded = true;
							}
						);
				}
				show(obj_image);
			}
			else hide(obj_image);
		}
	}
	
	function color(e) {
		if(!preview_flag) {
			e = fixE(e);
			e.src.style.background = e.src.value;
			insertTags('color', e.src.value);
		}
	}
	
	function fixE(e) {
		if (typeof e == 'undefined') e = window.event;
		if (typeof e.layerX == 'undefined') e.layerX = e.offsetX;
		if (typeof e.layerY == 'undefined') e.layerY = e.offsetY;
		if (typeof e.src == 'undefined' && e.target) e.src = e.target;
		if (typeof e.src == 'undefined' && e.srcElement) e.src = e.srcElement;
		if (typeof e.stopPropagation != 'undefined') e.stopPropagation();
		e.cancelBubble = true;
		return e;
	}
	
	function insertTags(param,value,val,val2) {
		if(typeof document.selection == 'undefined') {
			switch(param) {
				case 'bold':
				case 'italic':
				case 'underline':
					var txt = '<'+param.substr(0,1)+'>'+obj_textarea.value.substr(start,end - start)+'</'+param.substr(0,1)+'>';
					obj_textarea.value = obj_textarea.value.substr(0,start)+txt+obj_textarea.value.substr(end);
				break;
				case 'color':
				case 'size':
					var txt = '<font '+param+'="'+value+'">'+obj_textarea.value.substr(start,end - start)+'</font>';
					obj_textarea.value = obj_textarea.value.substr(0,start)+txt+obj_textarea.value.substr(end);
				break;
				case 'link':
					var txt = '<a href="'+value+'">'+val+'</a>';
					obj_textarea.value = obj_textarea.value.substr(0,start)+txt+obj_textarea.value.substr(start);
				break;
				case 'image':
					var txt = '<a href="'+val+'" target=_blank><img src="'+value+'" border=0 '+val2+' /></a>';
					obj_textarea.value = obj_textarea.value.substr(0,start)+txt+obj_textarea.value.substr(start);
				break;
				default: break;
			}
			obj_textarea.focus();
			end = start += txt.length;
			obj_textarea.setSelectionRange(start,end);
		} else {
			switch(param) {
				case 'bold':
				case 'italic':
				case 'underline':
					var txt = '<'+param.substr(0,1)+'>'+selection.text+'</'+param.substr(0,1)+'>';
				break;
				case 'color':
				case 'size':
					var txt = '<font '+param+'="'+value+'">'+selection.text+'</font>';
				break;
				case 'link':
					var txt = '<a href="'+value+'">'+val+'</a>';
				break;
				case 'image':
					var txt = '<a href="'+val+'"><img src="'+value+'" /></a>';
				break;
				default: break;
			}
			selection.text = txt;
			obj_textarea.focus();
			selection.select();
		}
	}
}
var Editors = new Array();