function set_editor_focus(id) {
	try {
		var oeditor = get_editor_object(id);
		oeditor.Focus();
	} catch(e) {
		alert(e);
	}
}

function get_editor_object(id) {
	try {
		var oeditor = FCKeditorAPI.GetInstance(id);
		return oeditor;
	} catch(e) {
		return null;
	}
}

function update_editor(editor_id) {
	var oeditor = get_editor_object(editor_id);
	oeditor.IsDirty();
	oeditor.UpdateLinkedField();
}

function create_eval_tag(_src, _cmd) {
	var _rtn = "<img src=\"" + _src + "\" eval=\"" + _cmd + "\" \/>";
	return _rtn
}

function create_plain_img_tag(_src){
	var _rtn = "<img src=\"" + _src + "\" \/>";
	return _rtn
}

function insert_eval_tag(editor_id, src, cmd) {
	try {		
		var oeditor = get_editor_object(editor_id);
		var _img_tag = create_eval_tag(src, cmd);
		
		oeditor.InsertHtml(_img_tag);
	}catch(e){
		alert(e);
	}
}

function insert_plain_img_tag(editor_id, src){
	try {		
		var oeditor = get_editor_object(editor_id);
		var _img_tag = create_plain_img_tag(src);
		
		oeditor.InsertHtml(_img_tag);
	}catch(e){
		alert(e);
	}
}

function insert_image_tag(editor_id, src, onclick_func) {
	try {
		set_editor_focus(editor_id);
		
		var oeditor = get_editor_object(editor_id);
		var _onclick = "";

		if (onclick_func != null) {
			_onclick = " onclick=\"" + onclick_func + "\" ";
		}
		
		var _tag = "<img src=\"" + src + "\" " + _onclick + " \/>";
		
		oeditor.InsertHtml(_tag);
	} catch(e) {
		alert(e);
	}
}

function insert_html_to_tail(id,value) {
	try {
		var oeditor = FCKeditorAPI.GetInstance(id);
		if (oeditor == null) {return;}
		oeditor.SetHTML(oeditor.GetXHTML() + value,false);
	} catch(e) {
		alert(e);
	}
}

function insert_a_to_cursor(id,href,text) {
	try {
		var oeditor = FCKeditorAPI.GetInstance(id);			
		if (oeditor.EditMode == FCK_EDITMODE_WYSIWYG) {
			var _a = "<a href=\"" + href + "\" \/>" + text + "<\/a>";
			oeditor.InsertHtml(_a);
		}
	} catch(e){
		alert('Switch to HTML mode first.');
	}
}

function get_selected_value_by_object(source) {
	if (source == null) { return ""; }
	try {
		var _rtn = source.options[source.selectedIndex].value;
		return _rtn;
	} catch (e){
		return "";
	}	
}

function get_selected_value_by_id(obj_id) {
	return get_selected_value_by_object($(obj_id));
}

function show_image_lightwindow(lwObj, src) {
	try {
		myLightWindow.activateWindow({
			href: src,
			type: 'image',
			loadingAnimation: false}
		);
	} catch(e) {
		alert("Your browser doesn't support preview dialog, please use Firefox 2.x, Safari 3.x or Opera 9.x or above.\n\nPlease also check your internet connection.");
	}
}
