////////////////////////////////////////////////
// G-Editor ver. 1.0.0
//
// GPL License / www.sir.co.kr / 2007-11-13
////////////////////////////////////////////////
geditor = function(name) {
/////////////// »ç¿ëÀÚ ¼³Á¤ ½ÃÀÛ ///////////////
// geditor.js ÆÄÀÏ °æ·Î
var ge_path = '/conf/geditor';
// »ó´Ü Åø¹Ù À̹ÌÁö °æ·Î
var ge_icon_path = ge_path + '/icons';
// À̸ðƼÄÜ À̹ÌÁö °æ·Î
var ge_emoticon_path = ge_path + '/emoticons';
// À̸ðƼÄÜ °¹¼ö
var ge_emoticon_count = 43;
/////////////// »ç¿ëÀÚ ¼³Á¤ ³¡ ///////////////
var ge_empty_path = ge_icon_path + '/empty.gif';
var IS_IE = true;
var _WYSIWYG = 'WYSIWYG';
var _TEXT = 'TEXT';
var _HTML = 'HTML';
var ge_name = 'geditor_'+name;
var ge_content = name;
var ge_mode = _WYSIWYG;
var ge_code = '';
var ge_editor = null;
var ge_width = 0;
var ge_height = 0;
var ge_image_width = 0;
var ge_iframe = ge_name+'_frame';
var ge_textarea = ge_name+'_textarea';
var ge_source = ge_name+'_source';
var ge_table_rows = 3;
var ge_table_cols = 3;
var ge_table_x = 0;
var ge_table_y = 0;
var ge_is_empty = null;
var ge_range = null;
var ge_image_preview = null;
var ge_is_image = false;
var ge_notag = false;
var ge_nomode = false;
var ge_noimg = false;
var ge_color = [
"#FFFFFF","#FFCCCC","#FFCC99","#FFFF99","#FFFFCC",
"#99FF99","#99FFFF","#CCFFFF","#CCCCFF","#FFCCFF",
"#CCCCCC","#FF6666","#FF9966","#FFFF66","#FFFF33",
"#66FF99","#33FFFF","#66FFFF","#9999FF","#FF99FF",
"#C0C0C0","#FF0000","#FF9900","#FFCC66","#FFFF00",
"#33FF33","#66CCCC","#33CCFF","#6666CC","#CC66CC",
"#999999","#CC0000","#FF6600","#FFCC33","#FFCC00",
"#33CC00","#00CCCC","#3366FF","#6633FF","#CC33CC",
"#666666","#990000","#CC6600","#CC9933","#999900",
"#009900","#339999","#3333FF","#6600CC","#993399",
"#333333","#660000","#993300","#996633","#666600",
"#006600","#336666","#000099","#333399","#663366",
"#000000","#330000","#663300","#663333","#333300",
"#003300","#003333","#000066","#330099","#330033"];
this.notag = function() {
ge_notag = true;
}
this.nomode = function() {
ge_nomode = true;
}
this.noimg = function() {
ge_noimg = true;
}
this.get_mode = function() {
return ge_mode;
}
this.init = function() {
ge_editor = document.getElementById(ge_iframe).contentWindow.document;
ge_editor.designMode = "on";
ge_editor.write("");
ge_editor.write("
");
ge_editor.write("");
ge_editor.write("");
ge_editor.write(ge_code);
ge_editor.write("");
ge_editor.close();
if (navigator.appName.indexOf("Microsoft") != -1)
IS_IE = true;
else
IS_IE = false;
var self = this;
var editor = ge_editor;
var name = ge_name;
if (IS_IE) {
ge_editor.attachEvent("onclick", function(event) { self.eventHandler(event, editor, name); });
ge_editor.attachEvent("onkeypress", function(event) { self.eventHandler(event, editor, name); });
ge_editor.attachEvent("onkeyup", function(event) { self.eventHandler(event, editor, name); });
document.getElementById(ge_iframe).contentWindow.attachEvent("onblur", function(event) { self.eventHandler(event, editor, name); });
document.getElementById(ge_textarea).attachEvent("onchange", this.update);
document.getElementById(ge_source).attachEvent("onchange", this.update);
} else {
ge_editor.addEventListener("click", function(event) { self.eventHandler(event, editor, name); }, false);
ge_editor.addEventListener("blur", function(event) { self.eventHandler(event, editor, name); }, false);
document.getElementById(ge_textarea).addEventListener("change", this.update, false);
document.getElementById(ge_source).addEventListener("change", this.update, false);
}
if (ge_nomode == false)
document.getElementById(ge_name+"_geditor_html_source_button").checked = false;
ge_editor.body.focus();
ge_range = this.get_range();
}
this.update = function() {
switch(ge_mode) {
case _WYSIWYG : ge_code = ge_editor.body.innerHTML; break;
case _TEXT : ge_code = document.getElementById(ge_textarea).value; break;
case _HTML : ge_code = document.getElementById(ge_source).value; break;
}
document.getElementById(ge_content).style.backgroundImage = '';
document.getElementById(ge_content).value = ge_code;
}
this.eventHandler = function(event, editor, ge_name) {
if (event.type == "blur") {
eval(ge_name + ".update()");
return;
}
if (event.type == "click") {
eval(ge_name + ".clear_option()");
eval(ge_name + ".get_tags()");
}
if (event.type == "keypress" && IS_IE) {
// IE ÀÇ °æ¿ì ¿£Å͸¦ ÀÔ·ÂÇÏ¸é °¡ ÀԷµDZ⠶§¹®¿¡ À̸¦
·Î º¯°æÇÑ´Ù.
var range = editor.selection.createRange();
if (event.keyCode == 13 && range.parentElement().tagName != "LI") {
event.returnValue = false;
event.cancelBubble = true;
range.pasteHTML("
");
range.collapse(false);
range.select();
}
}
/*
if (event.type == "blur") {
eval(ge_name + ".update()");
}
*/
if (event.type == "keyup") {
switch (event.keyCode) {
case 37:
case 38:
case 39:
case 40:
case 8:
eval(ge_name + ".get_tags()");
}
}
}
this.get_range = function() {
ge_editor.body.focus();
if (IS_IE)
ge_range = ge_editor.selection.createRange();
}
this.get_tags = function() {
var _parent = null;
var ancestors = [];
if (IS_IE)
{
var sel = ge_editor.selection;
var rng = sel.createRange();
if (sel.type == "Text" || sel.type == "None")
_parent = rng.parentElement();
else if (sel.type == "Control")
_parent = rng.item(0);
else
_parent = ge_editor.document.body;
}
else
{
var sel = document.getElementById(ge_iframe).contentWindow.getSelection();
var rng = sel.getRangeAt(0);
_parent = rng.commonAncestorContainer;
if (!rng.collapsed && rng.startContainer == rng.endContainer &&
rng.startOffset - rng.endOffset < 2 && rng.startContainer.hasChildNodes())
{
_parent = rng.startContainer.childNodes[rng.startOffset];
}
while (_parent.nodeType == 3) {
_parent = _parent.parentNode;
}
}
while (_parent && (_parent.nodeType == 1) && (_parent.tagName.toLowerCase() != 'body')) {
ancestors.push(_parent);
_parent = _parent.parentNode;
}
ancestors.push(ge_editor.body);
var path = ' <BODY> ';
for (var i = ancestors.length; --i >= 0;) {
el = ancestors[i];
if (!el || el.tagName.toUpperCase() == 'HTML' || el.tagName.toUpperCase() == 'BODY')
continue;
path += '<'+el.tagName.toUpperCase()+'> ';
}
if (ge_notag == false)
document.getElementById("geditor_"+ge_name+"_path").innerHTML = path;
}
this.edit = function(key, value) {
if (ge_mode!=_WYSIWYG)
return;
if (typeof value == 'undefined')
value = null;
ge_editor.body.focus();
ge_editor.execCommand(key, false, value);
this.update();
this.get_tags();
}
this.text2html = function() {
ge_code = document.getElementById(ge_textarea).value;
ge_code = ge_code.replace(new RegExp("\n", "gi"), "
");
ge_code = ge_code.replace(new RegExp("
|
| ", "gi"), "
");
ge_code = ge_code.replace(new RegExp("", "gi"), "");
ge_code = ge_code.replace(new RegExp("
", "gi"), "
");
ge_code = ge_code.replace(new RegExp("
", "gi"), "
");
ge_code = ge_code.replace(new RegExp("
", "gi"), "\n");
ge_code = ge_code.replace(new RegExp("
", "gi"), "\n");
ge_code = ge_code.replace(new RegExp("\n\r", "gi"), "");
}
this.mode_change = function() {
this.clear_option();
switch(ge_mode) {
case _WYSIWYG:
ge_mode = _TEXT;
this.html2text(ge_editor.body.innerHTML);
document.getElementById(ge_iframe).style.display = 'none';
document.getElementById(ge_iframe).style.display = 'none';
document.getElementById(ge_source).style.display = 'none';
document.getElementById(ge_textarea).style.display = 'block';
document.getElementById(ge_textarea).value = ge_code;
document.getElementById(ge_name+"_geditor_html_source_button").checked = false;
document.getElementById(ge_name+"_geditor_html_source_div").style.display = 'none';
document.getElementById(ge_name+"_geditor_status").value = _TEXT;
document.getElementById(ge_name+"_geditor_toolbar").style.visibility = 'hidden';
break;
case _TEXT:
ge_mode = _WYSIWYG;
this.text2html();
document.getElementById(ge_textarea).value = '';
document.getElementById(ge_iframe).style.display = 'block';
document.getElementById(ge_source).style.display = 'none';
document.getElementById(ge_textarea).style.display = 'none';
document.getElementById(ge_name+"_geditor_html_source_div").style.display = 'block';
document.getElementById(ge_name+"_geditor_html_source_button").checked = false;
document.getElementById(ge_name+"_geditor_status").value = _WYSIWYG;
document.getElementById(ge_name+"_geditor_toolbar").style.visibility = 'visible';
this.init();
break;
case _HTML:
ge_mode = _TEXT;
this.html2text(document.getElementById(ge_source).value);
document.getElementById(ge_source).value = '';
document.getElementById(ge_iframe).style.display = 'none';
document.getElementById(ge_source).style.display = 'none';
document.getElementById(ge_textarea).style.display = 'block';
document.getElementById(ge_textarea).value = ge_code;
document.getElementById(ge_name+"_geditor_html_source_button").checked = false;
document.getElementById(ge_name+"_geditor_html_source_div").style.display = 'none';
document.getElementById(ge_name+"_geditor_status").value = _TEXT;
document.getElementById(ge_name+"_geditor_toolbar").style.visibility = 'hidden';
break;
}
}
this.html_source = function(code) {
code = code.replace(new RegExp("
", "gi"), "
");
code = code.replace(new RegExp("", "gi"), "");
code = code.replace(new RegExp("
", "gi"), "
");
code = code.replace(new RegExp("
", "gi"), "
");
return code;
}
this.mode_source = function(flag) {
if (flag==true) {
ge_code = this.html_source(ge_editor.body.innerHTML);
document.getElementById(ge_iframe).style.display = 'none';
document.getElementById(ge_source).style.display = 'block';
document.getElementById(ge_source).value = ge_code;
document.getElementById(ge_name+"_geditor_status").value = _WYSIWYG;
document.getElementById(ge_name+"_geditor_toolbar").style.visibility = 'hidden';
ge_mode = _HTML;
} else {
ge_code = document.getElementById(ge_source).value;
ge_mode = _WYSIWYG;
document.getElementById(ge_source).value = '';
document.getElementById(ge_iframe).style.display = 'block';
document.getElementById(ge_source).style.display = 'none';
document.getElementById(ge_name+"_geditor_toolbar").style.visibility = 'visible';
this.init();
}
}
this.run = function() {
var content = document.getElementById(ge_content);
if (content.style.width)
ge_width = content.style.width;
else if (content.offsetWidth)
ge_width = content.offsetWidth;
else if (content.cols)
ge_width = content.cols*6.5;
if (content.style.height)
ge_height = content.style.height;
else if (content.offsetHeight)
ge_height = content.offsetHeight;
else if (content.cols)
ge_height = content.rows*20;
ge_code = content.value;
var div = document.createElement('div');
draw = "";
draw += "";
draw += "  ";
draw += "  ";
draw += "  ";
draw += " ";
draw += "";
draw += "  ";
draw += "  ";
draw += "  ";
draw += "  ";
draw += "  ";
draw += "  ";
draw += "  ";
draw += "  ";
draw += "  ";
draw += "  ";
draw += "  ";
draw += "  ";
draw += "  ";
draw += "  ";
draw += "  ";
draw += "  ";
draw += "  ";
draw += "  ";
draw += "  ";
if (ge_noimg == false) {
draw += "  ";
}
draw += "  ";
draw += "  ";
draw += "  ";
draw += "  ";
draw += " Åõ¾î½ºÄÉÁÙ";
// draw += " Á¤º¸³Ö±â";
draw += " ";
draw += "";
draw += "";
draw += "";
draw += "";
draw += " ";
if (ge_notag == false) {
draw += "";
}
if (ge_nomode == false) {
draw += "";
}
draw += " |
";
draw += "";
draw += "";
div.innerHTML = draw;
document.getElementById(ge_content).parentNode.insertBefore(div, document.getElementById(ge_content));
document.getElementById(ge_content).style.backgroundImage = '';
document.getElementById(ge_content).style.display = 'none';
this.init();
}
this.font_family = function(obj) {
var font_kor = ['malgun gothic','Gulim', 'GulimChe', 'Dotum', 'DotumChe', 'Batang', 'BatangChe', 'Gungsuh', 'GungsuhChe'];
var font_kori = ['¸¼Àº °íµñ', '±¼¸²', '±¼¸²Ã¼', 'µ¸¿ò', 'µ¸¿òü', '¹ÙÅÁ', '¹ÙÅÁü', '±Ã¼', '±Ã¼Ã¼'];
var font_eng = ['Verdana', 'Tahoma', 'Arial', 'Arial Black', 'Courier', 'Times New Roman'];
var kor = '°¡³ª´Ù¶ó¸¶¹Ù»ç';
var eng = 'ABCDEFGHIJKLMN';
this.get_range();
this.clear_option();
var div = this.get_option_div(obj);
div.id = "geditor_option_div";
for(var i=0; i
\n";
if (where == 'center')
html = "" + html + "
";
ge_is_image = true;
self.insert_editor(html);
} else {
self.clear_option();
}
}
var close = this.button('´Ý±â');
close.onclick = function() {
self.clear_option();
}
button_div.appendChild(submit);
button_div.appendChild(close);
div.appendChild(img_div);
div.appendChild(file_div);
div.appendChild(addr_div);
div.appendChild(align_div);
div.appendChild(info_div);
div.appendChild(button_div);
document.body.appendChild(div);
}
this.button = function(text) {
var btn = document.createElement("input");
btn.type = 'button';
btn.value = text;
btn.style.backgroundColor = '#ffffff';
btn.style.border = '1px solid #ccc';
btn.style.width = '40px';
btn.style.height = '22px';
btn.style.marginLeft = '10px';
return btn;
}
this.insert_image_preview = function(file) {
ge_image_preview.src = file;
}
this.insert_emoticon = function(obj) {
this.clear_option();
this.get_range();
var div = this.get_option_div(obj, 250);
div.id = "geditor_option_div";
div.style.width = '300px';
var info = document.createElement("div");
info.style.fontSize = 11;
info.innerHTML = "À̸ðƼÄÜ [´Ý±â]";
var emoticons = document.createElement("div");
for (var i=1; i<=ge_emoticon_count; i++) {
var span = document.createElement("span");
span.style.paddingRight = '5px';
var img = document.createElement("img");
img.src = ge_emoticon_path + "/" + i + ".gif";
img.style.cursor = 'pointer';
img.onclick = new Function(ge_name+".insert_emoticon_to_editor(\""+img.src+"\")");
span.appendChild(img)
emoticons.appendChild(span);
}
div.appendChild(info);
div.appendChild(emoticons);
document.body.appendChild(div);
}
this.insert_emoticon_to_editor = function(file) {
this.insert_editor("
");
}
this.insert_box = function(obj) {
this.clear_option();
this.get_range();
var self = this;
var div = this.get_option_div(obj);
div.id = "geditor_option_div";
div.style.width = '200px';
var info = document.createElement("p");
info.style.fontSize = 11;
info.innerHTML = "¹Ú½º [´Ý±â]";
div.appendChild(info);
var bgcolor = [ "#FFDAED","#C9EDFF","#D0FF9D","#FAFFA9","#E4E4E4","#FFFFFF","#FFFFFF","#FFFFFF","#FFFFFF","#FFFFFF"];
var bordercolor = [ "#FF80C2","#71D0FF","#6FD200","#CED900","#919191","#FF80C2","#71D0FF","#6FD200","#CED900","#919191"];
for (var i=0; i<10; i++) {
var color = bgcolor[i];
var linekind = 'solid';
var box_div = document.createElement("p");
var box = document.createElement("input");
box.type = 'button';
box.style.border = '1px solid ' + bordercolor[i];
box.style.backgroundColor = bgcolor[i];
box.style.height = '10px';
box.style.marginBottom = '5px';
box.style.cursor = 'pointer';
box.style.width = '200px';
box.style.height = '20px';
box.value = "";
box.onclick = new Function(ge_name+".insert_box_to_editor(\""+bgcolor[i]+"\", \""+bordercolor[i]+"\", \""+linekind+"\")");
box_div.appendChild(box)
div.appendChild(box_div);
}
for (var i=0; i<10; i++) {
var color = bgcolor[i];
var linekind = 'dashed';
var box_div = document.createElement("p");
var box = document.createElement("input");
box.type = 'button';
box.style.border = '1px dashed ' + bordercolor[i];
box.style.backgroundColor = bgcolor[i];
box.style.height = '10px';
box.style.marginBottom = '5px';
box.style.cursor = 'pointer';
box.style.width = '200px';
box.style.height = '20px';
box.value = "";
box.onclick = new Function(ge_name+".insert_box_to_editor(\""+bgcolor[i]+"\", \""+bordercolor[i]+"\", \""+linekind+"\")");
box_div.appendChild(box)
div.appendChild(box_div);
}
document.body.appendChild(div);
}
this.insert_box_to_editor = function(bgcolor, bordercolor, linekind) {
this.insert_editor("", "
");
}
this.insert_movie = function(obj) {
this.clear_option();
this.get_range();
var self = this;
var div = this.get_option_div(obj, 100);
div.id = "geditor_option_div";
var info = document.createElement("div");
info.style.fontSize = '11px';
info.style.border = '1px solid #ccc';
info.style.padding = '5px';
info.style.marginBottom = '10px';
info.innerHTML = '¹«ºñŬ¸³ ÁÖ¼Ò ³Ö±â';
var src_div = document.createElement("div");
var info2 = document.createElement("span");
info2.style.fontSize = '11px';
info2.innerHTML = 'ÁÖ¼Ò : ';
var src = document.createElement("input");
src.size = 25;
src.style.fontSize = '11px';
src.id = 'geditor_' + ge_name + '_insert_movie_src';
src_div.appendChild(info2);
src_div.appendChild(src);
var size_div = document.createElement("div");
size_div.style.fontSize = '11px';
var info3 = document.createElement("span");
info3.innerHTML = '°¡·Î : ';
var info4 = document.createElement("span");
info4.innerHTML = '¼¼·Î : ';
info4.style.marginLeft = '10px';
var width = document.createElement("input");
width.size = 5;
width.id = 'geditor_' + ge_name + '_insert_movie_width';
var height = document.createElement("input");
height.size = 5;
height.id = 'geditor_' + ge_name + '_insert_movie_height';
size_div.appendChild(info3);
size_div.appendChild(width);
size_div.appendChild(info4);
size_div.appendChild(height);
var button = document.createElement("div");
button.style.paddingTop = '10px';
button.style.paddingBottom = '5px';
button.style.textAlign = 'center';
var submit = this.button('È®ÀÎ');
submit.onclick = function()
{
alert("À§ÁöÀ¨ ¿¡µðÅÍ¿¡¼´Â Á¤»óÀûÀ¸·Î º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù.\n\n¹Ìµð¾î »ðÀԽà HTML source ¸ðµå ȤÀº TEXT ¸ðµå·Î ²À È®ÀÎÇØÁÖ¼¼¿ä.");
var html = "";
self.insert_editor(html);
}
var close = this.button('´Ý±â');
close.onclick = function() { self.clear_option(); }
button.appendChild(submit);
button.appendChild(close);
info.appendChild(src_div);
info.appendChild(size_div);
info.appendChild(button);
div.appendChild(info);
var info = document.createElement("div");
info.style.fontSize = '11px';
info.style.border = '1px solid #ccc';
info.style.padding = '5px';
info.innerHTML = '¹«ºñŬ¸³ HTML ³Ö±â';
var input_div = document.createElement("div");
var input = document.createElement("textarea");
input.cols = 30;
input.rows = 3;
input.style.fontSize = '11px';
input_div.appendChild(input);
var button = document.createElement("div");
button.style.paddingTop = '10px';
button.style.paddingBottom = '5px';
button.style.textAlign = 'center';
var submit = this.button('È®ÀÎ');
submit.onclick = function() {
alert("À§ÁöÀ¨ ¿¡µðÅÍ¿¡¼´Â Á¤»óÀûÀ¸·Î º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù.\n\n¹Ìµð¾î »ðÀԽà HTML source ¸ðµå ȤÀº TEXT ¸ðµå·Î ²À È®ÀÎÇØÁÖ¼¼¿ä.");
self.insert_editor(input.value);
}
var close = this.button('´Ý±â');
close.onclick = function() { self.clear_option(); }
button.appendChild(submit);
button.appendChild(close);
info.appendChild(input_div);
info.appendChild(button);
div.appendChild(info);
document.body.appendChild(div);
}
this.insert_link = function(obj) {
this.clear_option();
this.get_range();
var self = this;
var div = this.get_option_div(obj, 100);
div.id = "geditor_option_div";
var info = document.createElement("div");
info.style.fontSize = 11;
info.innerHTML = '¸µÅ© ³Ö±â';
var select = document.createElement("select");
var option = document.createElement("option");
option.value = '_blank';
option.innerHTML = 'ț̢';
select.appendChild(option);
var option = document.createElement("option");
option.value = '_self';
option.innerHTML = 'ÇöÀçâ';
select.appendChild(option);
var protocol = document.createElement("select");
var protocol_list = ['http://', 'ftp://', 'mailto:']
for (i=0; i", "");
}
var close = this.button('´Ý±â');
close.onclick = function() { self.clear_option(); }
div.appendChild(info);
div.appendChild(select);
div.appendChild(protocol);
div.appendChild(input);
div.appendChild(submit);
div.appendChild(close);
document.body.appendChild(div);
}
// È£ÁÖ ½ºÄÉÁÙ
this.insert_schedule = function(obj) {
this.clear_option();
this.get_range();
var self = this;
var div = this.get_option_div(obj);
div.id = "geditor_option_div";
div.style.width = '200px';
var info = document.createElement("p");
info.style.fontSize = 11;
info.innerHTML = "½ºÄÉÁÙ [´Ý±â]";
div.appendChild(info);
for (var i=1; i<=10; i++) {
var box_div = document.createElement("p");
var box = document.createElement("input");
box.type = 'button';
box.style.border = '1px solid #000';
box.style.height = '10px';
box.style.marginBottom = '5px';
box.style.cursor = 'pointer';
box.style.width = '200px';
box.style.height = '20px';
box.value = i + " ÀÏ";
box.onclick = new Function(ge_name+".insert_schedule_click(\""+i+"\")");
box_div.appendChild(box)
div.appendChild(box_div);
}
document.body.appendChild(div);
}
this.insert_schedule_click = function(row)
{
var schedule = "";
schedule += "Day | ";
schedule += "Ãâ¹ß/µµÂø | ";
schedule += "±³Åë | ";
schedule += "½Ä»ç | ";
schedule += "ÀÏÁ¤ |
";
for (var i=1; i<=row; i++) {
schedule += "";
schedule += ""+i+"ÀÏ | ";
schedule += " | ";
schedule += " | ";
schedule += " | ";
schedule += " | ";
schedule += "
";
}
schedule += "
";
this.insert_editor(schedule);
}
this.insert_table = function(obj) {
this.clear_option();
this.get_range();
var self = this;
var div = this.get_option_div(obj, 50);
div.id = "geditor_option_div";
var info = document.createElement("div");
info.style.fontSize = 11;
info.innerHTML = "Å×À̺í [´Ý±â]";
var table = document.createElement("table");
table.border = 0;
table.cellSpacing = 2;
table.id = 'geditor_insert_table_table';
table.unselectable = "on";
table.style.cursor = 'pointer';
var tbody = document.createElement("tbody");
tbody.id = 'geditor_insert_table_tbody';
for (var i=0; i";
var width = Math.floor(100/col);
for (var i=0; i";
for (var j=0; j ";
}
table += "";
}
table += "
";
this.insert_editor(table);
}
this.insert_table_mouse_over = function(row,col)
{
var table = document.getElementById("geditor_insert_table_table");
var rows = table.firstChild.childNodes;
for (var a=0; a= ge_table_rows-1) {
for (var i=rows.length-1; i>row; i--) {
document.getElementById("geditor_insert_table_tbody").removeChild(document.getElementById("tr"+i));
}
}
if (col == rows[0].childNodes.length)
{
for (var i=0; i= ge_table_cols-1 && this.table_x > col)
{
for (var i=0; i[´Ý±â]";
else
info.innerHTML = "¹è°æ»ö [´Ý±â]";
var table = document.createElement("table");
table.border = 0;
table.cellSpacing = 2;
table.unselectable = "on";
table.style.cursor = 'pointer';
var tbody = document.createElement("tbody");
fi = 0;
for (var i=0; i<7; i++) {
var tr = document.createElement("tr");
tr.height = 10;
tr.id = "tr"+i;
for (var j=0; j<10; j++) {
var td = document.createElement("td");
td.width = 10;
td.style.border = '1px solid #ccc';
td.style.fontSize = '10px';
td.style.backgroundColor = ge_color[fi];
td.innerHTML = ' ';
td.unselectable = "on";
td.onclick = new Function(ge_name+"."+flag+"color(\""+ge_color[fi]+"\")");
td.id = "td"+i+""+j;
tr.appendChild(td);
fi++;
}
tbody.appendChild(tr);
}
table.appendChild(tbody)
div.appendChild(info);
div.appendChild(table);
document.body.appendChild(div);
}
this.forecolor = function(color) {
this.edit('forecolor',color);
this.clear_option();
}
this.backcolor = function(color) {
if (IS_IE)
this.edit('BackColor',color);
else
this.edit('Hilitecolor',color);
this.clear_option();
}
this.insert_editor = function(begin, end) {
switch(ge_mode) {
case _WYSIWYG:
if (typeof end == 'undefined') end = '';
if (IS_IE)
ge_range.pasteHTML(begin + ge_range.htmlText + end);
else
{
var editor = document.getElementById(ge_iframe);
var range = editor.contentWindow.getSelection();
if (range.focusNode.tagName == 'HTML') {
var range = editor.contentDocument.createRange();
range.setStart(editor.contentDocument.body,0);
range.setEnd(editor.contentDocument.body,0);
var tmp = document.createElement("div");
tmp.appendChild(range.extractContents());
range.insertNode(range.createContextualFragment(begin + tmp.innerHTML + end));
} else {
var range = range.getRangeAt(0);
var tmp = document.createElement("div");
tmp.appendChild(range.extractContents());
range.insertNode(range.createContextualFragment(begin + tmp.innerHTML + end));
}
}
this.update();
break;
case _TEXT:
document.getElementById(ge_textarea).value += html;
break;
case _HTML:
document.getElementById(ge_source).value += html;
break;
}
this.clear_option();
}
this.get_option_div = function(obj, left) {
if (IS_IE) height = -1; else height = 5;
if (typeof left == 'undefined') left = 0;
var div = document.createElement("div");
div.style.border = "#CCCCCC 1px solid";
div.style.padding = "10px";
div.style.display = "block";
div.style.position = "absolute";
div.style.zIndex = 1;
div.style.backgroundColor = "#FFFFFF";
div.style.top = this.get_top(obj) + obj.offsetHeight + height;
div.style.left = this.get_left(obj) - left;
div.style.textAlign = "left";
div.style.fontSize = '11px';
div.unselectable = "on";
return div;
}
this.html_preview = function() {
switch(ge_mode) {
case _WYSIWYG:
ge_code = ge_editor.body.innerHTML;
break;
case _TEXT:
this.text2html();
break;
case _HTML:
ge_code = document.getElementById(ge_name+"_source").value;
break;
}
var pre = window.open('', 'pre', 'scrollbars=yes,width=700,height=500');
pre.document.write(ge_code);
}
this.get_content = function() {
switch(ge_mode) {
case _WYSIWYG:
return ge_editor.body.innerHTML;
break;
case _TEXT:
this.text2html();
this.init();
return ge_editor.body.innerHTML;
break;
case _HTML:
ge_mode = _TEXT;
return document.getElementById(ge_name+"_source").value;
break;
}
}
this.clear_option = function () {
if (document.getElementById("geditor_option_div") != null) {
document.body.removeChild(document.getElementById("geditor_option_div"));
this.get_tags();
}
if (document.getElementById("geditor_option_image_div") != null) {
if (ge_is_image == false) {
if (document.getElementById('ge_is_empty') != null) {
if (document.getElementById('ge_is_empty').value == 'false') {
document.getElementById("geditor_image_form_work").value = 'delete';
document.getElementById("geditor_image_form").submit();
}
}
}
document.body.removeChild(document.getElementById("geditor_option_image_div"));
ge_is_image = false;
}
}
this.get_ext = function(file) {
var ext = '';
ext = file.split(".");
ext = ext[ext.length-1].toLowerCase();
return ext;
}
this.get_image_size = function(path) {
var size = new Array();
var image = new Image();
image.src = path;
size[0] = image.width;
size[1] = image.height;
return size;
}
this.get_top = function(obj) {
var top = obj.offsetTop;
var parent = obj.offsetParent;
while(parent) {
top += parent.offsetTop;
parent = parent.offsetParent;
}
return top;
}
this.get_left = function(obj) {
var left = obj.offsetLeft;
var parent = obj.offsetParent;
while(parent) {
left += parent.offsetLeft;
parent = parent.offsetParent;
}
return left;
}
this.height_decrease = function(row)
{
o = parseInt(document.getElementById(ge_iframe).offsetHeight);
h = o - row;
if (h > 0) {
document.getElementById("geditor_"+ge_name).style.height = h + 5 + 'px';
document.getElementById(ge_iframe).style.height = h + 'px';
document.getElementById(ge_textarea).style.height = h + 'px';
document.getElementById(ge_source).style.height = h + 'px';
}
}
this.height_original = function()
{
document.getElementById("geditor_"+ge_name).style.height = parseInt(ge_height) + 5 + 'px';
document.getElementById(ge_iframe).style.height = ge_height;
document.getElementById(ge_textarea).style.height = ge_height;
document.getElementById(ge_source).style.height = ge_height;
}
this.height_increase = function(row)
{
h = parseInt(document.getElementById(ge_iframe).offsetHeight) + row;
document.getElementById("geditor_"+ge_name).style.height = h + 5 + 'px';
document.getElementById(ge_iframe).style.height = h + 'px';
document.getElementById(ge_textarea).style.height = h + 'px';
document.getElementById(ge_source).style.height = h + 'px';
}
} // end class geditor
var geditor_textareas = document.getElementsByTagName("textarea");
for (i=0; i