
 var imagepath = "/nadmin/Editer/";
 var DesignModeType = "design";


 function ButtonUp(param) {
	param.style.border="1px outset";
 }

 function ButtonDown(param) {
	param.style.border = "1px inset";
 }
 function ButtonOut(param) {
	param.style.border="";
 }
 
 function Editor_Setup() {
 	if (editor.value == null) {
		editor.value = editor.innerHTML;
	}
	
	try
	{
 		var doc = editor.document;
 		doc.designMode = 'On';
 	
 		doc.open();
 		doc.write("<style>BODY,TABLE,TR,TD,INPUT,SELECT,TEXTAREA{FONT-SIZE: 9pt}</style>");
 		if(document.all[RdoHtml_ID].checked)
 		{
 			doc.write(document.all[HtmEditorValue_ID].value);
 		}
 		doc.close();
 	}
 	catch(e) {}
 	editor.document.onkeydown = Editor_onKeyDown_EditorValue;
	editor.document.oncontextmenu = Editor_Set_False;
	editor.focus();
}
 
 function Editor_Set_False()
 {
	editor.event.returnValue = false;
 }

 function Editor_ChangeMode(mode, changed) {
	if(mode != DesignModeType)
	{	
 		var toolbar1 = document.all["ToolBar1"];
 		var toolbarspliter = document.all["ToolBarSpliter"];
 		var toolbar2 = document.all["ToolBar2"];
 		var sTmp;
 		if (changed) {
 			DesignModeType = "html";			
 			sTmp=editor.document.body.innerHTML;
 			if (toolbar1 != null) {
 				toolbar1.style.display='none';
 				toolbarspliter.style.display='none';
 				toolbar2.style.display='none';
 			}
 			editor.document.body.innerText=sTmp;
 		}
 		else {
 			DesignModeType = "design";	 		
 			sTmp=editor.document.body.innerText;
 			if (toolbar1 != null) {
 				toolbar1.style.display='inline';
 				toolbarspliter.style.display='inline';
 				toolbar2.style.display='inline';
 			}
 			editor.document.body.innerHTML=sTmp;
 		}
 	}
 	editor.focus();
 }
 
 function Editor_Format(format) {
 		editor.focus();
 		editor.document.execCommand(format,'',null);
 }

<!--Ã³¸® -->

 function Editor_ForeColorPicker() {
 	showModalDialog(imagepath + 'colorpicker.php?editor=' + editor.name + '&command=forecolor',window,'dialogHeight=350px;dialogWidth=300px;status=no');
 }

 function Editor_BackColorPicker() {
 	showModalDialog(imagepath + 'colorpicker.php?editor=' + editor.name + '&command=backcolor',window,'dialogHeight=350px;dialogWidth=300px;status=no');
 }
 
 
 function Editor_FindImage() {

showModalDialog(imagepath + "insert_image.html", window, "resizable: no; help: no; status: no; scroll: no; ");
//showModalDialog(imagepath + "FindImage.htm", window, "dialogHeight=100px;dialogWidth=450px;resizable: no; help: no; status: no; scroll: no; ");
 }

 function Preview() {
	var win = window.open("about:blank", "¹Ì¸®º¸±â","location=no, directories=no, resizable=yes, status=no, toolbar=no, menubar=no, width=780 , height=580, scrollbars=yes");
	var doc = win.document;
	doc.open();
 	doc.write("<style>BODY,TABLE,TR,TD,INPUT,SELECT,TEXTAREA{FONT-SIZE: 9pt}</style>");
 	doc.write(editor.document.body.innerHTML);
 	doc.close();
 }
 
 function Editor_LoadImage(imgname) {
	editor.focus();
	var img = editor.document.createElement('IMG');
	img.id="imgid";
	img.src = imgname;
	img.border = 0;
	
	if (editor.document.selection.type=='Control') {
		editor.document.body.innerHTML += img.outerHTML;
	}
	else {
		sel = editor.document.selection.createRange();
		sel.pasteHTML(img.outerHTML);
	}
 }

 function Editor_Hyperlink() {
     editor.focus();
     editor.document.execCommand('createlink','1',null);
 }
 
 function Editor_Copy() {
		editor.focus();
     	editor.document.execCommand('copy','',null);
 }

 function Editor_Underline() { 
	Editor_Format('underline'); 
 }
 
 function Editor_Bold() { 
	Editor_Format('bold'); 
 }
 

 function Editor_Bullets() { 
	Editor_Format('insertunorderedlist'); 
 }
 
 function Editor_SetFont(name,value) {
 	editor.focus();
 	editor.document.execCommand('fontname','',value);
 }

 function Editor_Paste() {
 	editor.focus();
    editor.document.execCommand('paste','',null);
 }
 
 function Editor_Italic() { 
	Editor_Format('italic'); 
 }
 
 function Editor_Numbered() { 
	Editor_Format('insertorderedlist'); 
 }
 
 function Editor_Indent() { 
 	Editor_Format('indent'); 
 }

 function Editor_HRule() { 
	Editor_Format('inserthorizontalrule'); 
 }
 
 function Editor_RJustify() { 
	Editor_Format('justifyright'); 
 }

 function Editor_SetFontSize(name,value) {
 	editor.focus();
 	editor.document.execCommand('fontsize','',value);
 }

 function Editor_Redo() {
 	editor.focus();
    editor.document.execCommand('redo','',null);
 }
 
 function Editor_Undo() {
 	editor.focus();
    editor.document.execCommand('undo','',null);
 }

 function Editor_InsertImage() {
		editor.focus();
        editor.document.execCommand('InsertImage','1','');
 }

 function Editor_LJustify() { 
	Editor_Format('justifyleft'); 
 }
 
 function Editor_Cut() {
 	editor.focus();
    editor.document.execCommand('cut','',null);
 }
 
 function Editor_CJustify() { 
	Editor_Format('justifycenter'); 
 }

 function Editor_Outdent() { 
	Editor_Format('outdent'); 
 }

 function setData(flag) {
	doc = editor.document;

	document.all["Panel_HtmEditor"].style.display="none";
	document.all["Panel_TextEditor"].style.display="none";
	
	if(document.all[RdoHtml_ID].checked) {
		if(DesignModeType == "design") {
			if(flag == 1)
				doc.body.innerHTML = document.all[TextEditor_ID].value;
			document.all[HtmEditorValue_ID].value = doc.body.innerHTML;
		}
		else if(DesignModeType == "html") {
			if(flag == 1)
				doc.body.innerText = document.all[TextEditor_ID].value;	
			document.all[HtmEditorValue_ID].value = doc.body.innerText;
		}

		document.all["Panel_HtmEditor"].style.display="";
	}
	else {
		if(DesignModeType == "design") {
			if(flag == 1)
				document.all[TextEditor_ID].value = doc.body.innerHTML;		
		}
		else if(DesignModeType == "html") {
			if(flag == 1)
				document.all[TextEditor_ID].value = doc.body.innerText;		
		}

		document.all["Panel_TextEditor"].style.display="";
		document.all[TextEditor_ID].focus();
	}
 }
 
 function Editor_onKeyDown_EditorValue() {
 	if (editor.event.keyCode == 9) {
 		editor.event.cancelBubble = true;
 		editor.event.returnValue = false;
 	}
 	//if (editor.event.keyCode == 13) {		
		
	//	editor.event.returnValue = false;
	//	editor_insertHTML();
	//	editor.focus();
 	//}
 }

function editor_insertHTML(flag) {
	editor.focus();
	doc = editor.document;
	str1="\n";

	if(document.all[RdoHtml_ID].checked) {

	//var editorRange = doc.body.createTextRange(); 
   // var curRange    = doc.selection.createRange(); 
	//alert(editorRange.innerText);

		doc.body.innerText = doc.body.innerText + '\n' ;
		//doc.body.innerText = editorRange.collapse() + '\n' +editorRange.select();
	}
	else if(DesignModeType == "html") {
		doc.body.innerHTML = doc.body.innerHTML + "<br>";
	}

	document.all["Panel_HtmEditor"].style.display="";
	editor.focus();


  return;
}

function Editor_CheckTag(item,tagName) {
	if (item.tagName.search(tagName)!=-1) {
		return item;
	}
	if (item.tagName=='BODY') {
		return false;
	}
	item=item.parentElement;
	return Editor_CheckTag(item,tagName);
}

function Editor_GetRangeReference() {
	editor.focus();
	var objReference = null;
	var RangeType = editor.document.selection.type;
	var selectedRange = editor.document.selection.createRange();
 
	switch(RangeType) {
		case 'Control' :
			if (selectedRange.length > 0 ) {
				objReference = selectedRange.item(0);
			}
			break;
 
		case 'None' :
			objReference = selectedRange.parentElement();
			break;
	 
		case 'Text' :
			objReference = selectedRange.parentElement();
			break;
	}
	
	return objReference
 }

 function Editor_InsertDefaultTable() {
 	Editor_InsertTable(3,3);
 }

 function Editor_InsertTable(rows,columns) {
	editor.focus();
 	var newTable = editor.document.createElement('TABLE');
 	for(y=0; y<rows; y++) {
 		var newRow = newTable.insertRow();
 
 		for(x=0; x<columns; x++) {
 			var newCell = newRow.insertCell();
 			if ((y==0)&&(x==0)) {
				newCell.id='ura';
 			}
		}
 	}
 	newTable.border = 1;
 	newTable.width = 25 * columns;
 	if (editor.document.selection.type=='Control') {
 		sel.pasteHTML(newTable.outerHTML);
 	}
 	else {
 		sel = editor.document.selection.createRange();
 		sel.pasteHTML(newTable.outerHTML);
 	}
 
 	var r = editor.document.body.createTextRange();
 	var item=editor.document.all["ura"];
 	item.id='';
 	r.moveToElementText(item);
 	r.moveStart('character',r.text.length);
 	r.select();
 }

function Editor_DeleteRow() {
	objReference=Editor_GetRangeReference();
	objReference=Editor_CheckTag(objReference,'/^(TABLE)|^(TR)|^(TD)|^(TBODY)/');
	switch(objReference.tagName) {
		case 'TR' :
			var rowIndex = objReference.rowIndex;
			var parentTable=objReference.parentElement.parentElement;
			parentTable.deleteRow(rowIndex);
			break;
		case 'TD' :
			var cellIndex=objReference.cellIndex;
			var parentRow=objReference.parentElement;
			var rowIndex = parentRow.rowIndex;
			var parentTable=objReference.parentElement.parentElement.parentElement;
			parentTable.deleteRow(rowIndex);
			if (rowIndex>=parentTable.rows.length) {
				rowIndex=parentTable.rows.length-1;
			}
			if (rowIndex>=0) {
				var r = editor.document.body.createTextRange();
				r.moveToElementText(parentTable.rows[rowIndex].cells[cellIndex]);
				r.moveStart('character',r.text.length);
				r.select();
			}
			else {
				parentTable.removeNode(true);
			}
			break; 
		default :
			return;
	}
 }

 function Editor_DeleteColumn() {
	objReference=Editor_GetRangeReference();
	objReference=Editor_CheckTag(objReference,'/^(TABLE)|^(TR)|^(TD)|^(TBODY)/');
	switch(objReference.tagName) {
		case 'TD' :
			var rowIndex=objReference.parentElement.rowIndex;
			var cellIndex = objReference.cellIndex;
			var parentTable=objReference.parentElement.parentElement.parentElement;
			var newTable=parentTable.cloneNode(true);
			if (newTable.rows[0].cells.length==1) {
				parentTable.removeNode(true);
				return;
			}
			for(x=0; x<newTable.rows.length; x++) {
				if (newTable.rows[x].cells[cellIndex]=='[object]') {
					newTable.rows[x].deleteCell(cellIndex);
				}
			}
			if (cellIndex>=newTable.rows[0].cells.length) {
				cellIndex=newTable.rows[0].cells.length-1;
			}
			if (cellIndex>=0) {
				newTable.rows[rowIndex].cells[cellIndex].id='ura';
			}
			parentTable.outerHTML=newTable.outerHTML;
			if (cellIndex>=0) {
				var r = editor.document.body.createTextRange();
				var item=editor.document.all["ura"];
				item.id='';
				r.moveToElementText(item);
				r.moveStart('character',r.text.length);
				r.select();
			}
			break;
		default :
			return;
	}
 }

 function Editor_insertColumn() {
	objReference= Editor_GetRangeReference();
	objReference=Editor_CheckTag(objReference,'/^(TABLE)|^(TR)|^(TD)|^(TBODY)/');
	switch(objReference.tagName) {
		case 'TABLE' :
			var newTable=objReference.cloneNode(true);
			for(x=0; x<newTable.rows.length; x++) {
				var newCell = newTable.rows[x].insertCell();
			}
			newCell.focus();
			objReference.outerHTML=newTable.outerHTML;
			break;
		case 'TBODY' :
			var newTable=objReference.cloneNode(true);
			for(x=0; x<newTable.rows.length; x++) {
				var newCell = newTable.rows[x].insertCell();
			}
			objReference.outerHTML=newTable.outerHTML;
			break;
		case 'TR' :
			objReference=objReference.parentElement.parentElement;
			var newTable=objReference.cloneNode(true);
			for(x=0; x<newTable.rows.length; x++) {
				var newCell = newTable.rows[x].insertCell();
			}
			objReference.outerHTML=newTable.outerHTML;
			break;
		case 'TD' :
			var cellIndex = objReference.cellIndex;
			var rowIndex=objReference.parentElement.rowIndex;
			var parentTable=objReference.parentElement.parentElement.parentElement;
			var newTable=parentTable.cloneNode(true);
			for(x=0; x<newTable.rows.length; x++) {
				var newCell = newTable.rows[x].insertCell(cellIndex+1);
				if (x==rowIndex) {
					newCell.id='ura';
				}
			}
			parentTable.outerHTML=newTable.outerHTML;
			var r = editor.document.body.createTextRange();
			var item=editor.document.all["ura"];
			item.id='';
			r.moveToElementText(item);
			r.moveStart('character',r.text.length);
			r.select();
			break;
		default :
			Editor_InsertTable(3,1);
			return;
	}
 }

 function Editor_insertRow() {
	objReference=Editor_GetRangeReference();
	objReference=Editor_CheckTag(objReference,'/^(TABLE)|^(TR)|^(TD)|^(TBODY)/');
	switch(objReference.tagName) {
		case 'TABLE' :
			var newTable=objReference.cloneNode(true);
			var newRow= newTable.insertRow();
			 
			for(x=0; x<newTable.rows[0].cells.length; x++) {
				var newCell = newRow.insertCell();
			}
			objReference.outerHTML=newTable.outerHTML;
			break;
		case 'TBODY' :
			var newTable=objReference.cloneNode(true);
			var newRow = newTable.insertRow();
			for(x=0; x<newTable.rows[0].cells.length; x++) {
				var newCell = newRow.insertCell();
			}
			objReference.outerHTML=newTable.outerHTML;
			break;
		case 'TR' :
			var rowIndex = objReference.rowIndex;
			var parentTable=objReference.parentElement.parentElement;
			var newTable=parentTable.cloneNode(true);
			var newRow = newTable.insertRow(rowIndex+1);
			for(x=0; x< newTable.rows[0].cells.length; x++) {
				var newCell = newRow.insertCell();
			}
			parentTable.outerHTML=newTable.outerHTML;
			break;
		case 'TD' :
			var parentRow=objReference.parentElement;
			var rowIndex = parentRow.rowIndex;
			var cellIndex=objReference.cellIndex;
			var parentTable=objReference.parentElement.parentElement.parentElement;
			var newTable=parentTable.cloneNode(true);
			var newRow = newTable.insertRow(rowIndex+1);
			for(x=0; x< newTable.rows[0].cells.length; x++) {
				var newCell = newRow.insertCell();
				if (x==cellIndex) {
					newCell.id='ura';
				}
			}
			parentTable.outerHTML=newTable.outerHTML;
			var r = editor.document.body.createTextRange();
			var item=editor.document.all["ura"];
			item.id='';
			r.moveToElementText(item);
			r.moveStart('character',r.text.length);
			r.select();
			break;
		default :
			Editor_InsertTable(1,3);
			return;
	}
 }
