var isIE = document.all ? true : false; // ie 여부
var isPageLoaded = false; // 페이지 로딩완료여부

var wyditorPath = "/common/wyditor" // 에디터 경로

var arrWyditor = new Array();

var currentIframe, currentAction;

// 배열
Array.prototype.inArray = function (value) {
	for (var key in this) {
		if (this[key] == value) {
			return true;
		}
	}
	return false;
}

// 이벤트
function addEvent(obj, evt, exec) {
	if (isIE) obj.attachEvent('on'+evt, exec);
	else if (window.addEventListener) obj.addEventListener(evt, exec, false);
	else if (window.attachEvent) obj.attachEvent(evt, exec);
}

function removeEvent(obj, evt, exec) {
	if (isIE) obj.detachEvent('on'+evt, exec);
	else if (window.removeEventListener) obj.removeEventListener(evt, exec, false);
	else if (window.detachEvent) obj.detachEvent(evt, exec);
}

addEvent(window, "load", function () { isPageLoaded = true; });

// 위치
function getOffset(obj) {
	var objOffset = { left : 0, top : 0 };
	var objOffsetParent = obj.offsetParent;

	objOffset.left = obj.offsetLeft;
	objOffset.top = obj.offsetTop;

	while (objOffsetParent) {
		objOffset.left += objOffsetParent.offsetLeft;
		objOffset.top += objOffsetParent.offsetTop;

		objOffsetParent = objOffsetParent.offsetParent;
	}

	return objOffset;
}

// 팝업
function openWyditorPopup(theURL, winName, width, height, etcFeatures) {
	var left = (screen.width/2) - (width/2);
	var top = (screen.availHeight/2) - (height/2);
	var features = "left="+left+",top="+top+",width="+width+",height="+height+",status=yes";
	if (etcFeatures) features += ","+etcFeatures;

	var popup = window.open(theURL, winName, features);
	popup.focus();

	return popup;
}


// 기본환경설정
function wyditorConfig () {
	this.imgWidth = 650;					// 에디터 이미지 폭
	this.uploadPath = '';						// 에디터 업로드 경로	(공백인 경우 업로드 처리 기본경로 사용)

	this.htmlMode = '';						// Html소스보기 모드	('': 노출, 'hide': 숨김)

	this.toolbarBgcolor = "#FDF6F3";				// 툴바 배경 색상
	this.lineColor = "#FFDECE";							// 라인 색상
	this.textareaBgcolor = "#F5F5F5";				// Textarea 배경 색상

	// 기본 툴바 항목
	this.arrToolbarItem = [
		"fontname", // 글꼴
		"space", // 공백 (구분선 사용시 slide)
		"fontsize", // 크기
		"space",
		"bold", "italic", "underline", "strike", // 굵게, 기울림꼴, 밑줄, 취소선
		"forecolor", "backcolor", // 글자색, 배경색
		"space",
		"left", "center", "right", // 왼쪽맞춤, 가운데맞춤, 오른쪽맞춤
		"space",
		"orderedlist", "unorderedlist", "indent", "outdent", // 숫자목록, 점목록, 들여쓰기, 내여쓰기
		"space",
		"link", // 링크삽입
		"unlink", // 링크제거
		"space",
		"hr", // 가로선
		"space",
		"image", // 이미지업로드
		"space",
		"multimedia", // 멀티미디어링크
		"space",
		"preview" // 미리보기
	];

	// 글꼴
	this.arrFont = {
		"돋움" : "돋움",
		"굴림" : "굴림",
		"바탕" : "바탕",
		"궁서" : "궁서",
		"Arial" : "Arial",
		"Tahoma" : "Tahoma",
		"Verdana" : "Verdana",
		"Time" : "Time"
	};

	// 크기
	this.arrFontSize = {
		"1" : "1(8pt)",
		"2" :	"2(10pt)",
		"3" :	"3(12pt)",
		"4" :	"4(14pt)",
		"5" :	"5(18pt)",
		"6" :	"6(24pt)",
		"7" :	"7(36pt)"
	};
}

// 복제 관련
function wyditorClone(objEditor) {
	if (objEditor.objIfrm.style.display != 'none') {
		objEditor.objText.value = objEditor.objIfrm.contentWindow.document.body.innerHTML;
	}
	else {
		objEditor.objIfrm.contentWindow.document.body.innerHTML = objEditor.objText.value;
	}
	objEditor.orgTextarea.value = objEditor.objText.value;
}

// 글꼴, 크기, 색상 선택 레이어 처리
function displayLayer(action, objButton, objIfrm) {
	var layerId;

	wyditor_hideLayer();

	if (action) {
		switch (action) {
			case 'fontname':
				layerId = "divWyditorFont";
				break;
			case 'fontsize':
				layerId = "divWyditorFontSize";
				break;
			case 'forecolor':
			case 'backcolor':
				layerId = "divWyditorColorPicker";
				break;
			case 'link':
				layerId = "divWyditorLink";
				break;
			default :
				return false;
		}
		if (document.getElementById(layerId)) {
			var objPos = getOffset(objButton);

			if (layerId == "divWyditorColorPicker") {
				document.getElementById("wyditorColorTitle").innerHTML = (action=="forecolor") ? "글자색" : "배경색";
			}

			document.getElementById(layerId).style.left = objPos.left+'px';
			document.getElementById(layerId).style.top = (objPos.top+objButton.offsetHeight)+'px';
			document.getElementById(layerId).style.display = '';

			if (layerId == "divWyditorLink") {
				initWyditorLink(objIfrm);
			}

			setTimeout(function () { addEvent(document, 'click', clickHideLayer) }, 300);
		}
	}
}

function clickHideLayer(e) {
	var e = window.event || e;
	var objElement = (e.srcElement) ? e.srcElement : e.target;

	var objParent = objElement.parentNode;
	while (objParent) {
		objParent = objParent.offsetParent;
		if (objParent && objParent.id.indexOf('divWyditor') > -1) return;
	}

	wyditor_hideLayer();
}

function wyditor_hideLayer() {
	removeEvent(document, 'click', clickHideLayer);

	if (document.getElementById('divWyditorFont')) document.getElementById('divWyditorFont').style.display = 'none';
	if (document.getElementById('divWyditorFontSize')) document.getElementById('divWyditorFontSize').style.display = 'none';
	if (document.getElementById('divWyditorColorPicker')) document.getElementById('divWyditorColorPicker').style.display = 'none';
	if (document.getElementById('divWyditorLink')) document.getElementById('divWyditorLink').style.display = 'none';
}

// 글꼴 관련
function makeWyditorFont(arrFont) {
	var sHtml;
	if (!document.getElementById("divWyditorFont")) {
		sHtml = "<div id='divWyditorFont' unselectable='on' style='position:absolute; display:none; background-color:#FFFFFF; border:1px solid #DDDDDD;'>"
		sHtml += "<table border='0' cellpadding='0' cellspacing='0'>";
		for (var font in arrFont) {
			if (arrFont[font]) {
				sHtml += "<tr onMouseOver=\"this.style.backgroundColor='#E0E0E0'\" onMouseOut=\"this.style.backgroundColor=''\"><td onMouseDown=\"selectWyditorFont('"+font+"');\" style='padding:1px 3px 1px 3px; font-size:9pt; color:#696969; cursor:pointer;'>"+arrFont[font]+"</td></tr>";
			}
		}
		sHtml += "</table> ";
		sHtml += "</div>";

		document.write(sHtml);
	}
}

function selectWyditorFont(font) {
	currentIframe.contentWindow.document.execCommand("fontname", false, font);
	wyditor_hideLayer();
	setTimeout(function () { focusIfrm(currentIframe) }, 100);
}

// 크기 관련
function makeWyditorFontSize(arrFontSize) {
	var sHtml;
	if (!document.getElementById("divWyditorFontSize")) {
		sHtml = "<div id='divWyditorFontSize' unselectable='on' style='position:absolute; display:none; background-color:#FFFFFF; border:1px solid #DDDDDD;'>"
		sHtml += "<table border='0' cellpadding='0' cellspacing='0'>"
		for (var size in arrFontSize) {
			if (arrFontSize[size]) {
				sHtml += "<tr onMouseOver=\"this.style.backgroundColor='#E0E0E0'\" onMouseOut=\"this.style.backgroundColor=''\"><td onMouseDown=\"selectWyditorFontSize('"+size+"');\" style='padding:1px 3px 1px 3px; font-size:9pt; color:#696969; cursor:pointer;'><font size='"+size+"'>"+arrFontSize[size]+"</font></td></tr>";
			}
		}
		sHtml += "</table> ";
		sHtml += "</div>";

		document.write(sHtml);
	}
}

function selectWyditorFontSize(fontsize) {
	currentIframe.contentWindow.document.execCommand("fontsize", false, fontsize);
	wyditor_hideLayer();
	setTimeout(function () { focusIfrm(currentIframe) }, 100);
}

// 색상선택 관련
function makeWyditorColor() {
	var sHtml;
	if (!document.getElementById("divWyditorColorPicker")) {
		sHtml = "<div id='divWyditorColorPicker' unselectable='on' style='position:absolute; display:none; background-color:#FFFFFF;'>"
		sHtml += "<table border='0' cellpadding='0' cellspacing='0'>"
			+"<tr height='1'><td colspan='5' bgcolor='#CCCCCC'></td></tr>"
			+"<tr height='20'>"
			+"<td rowspan='4' width='1' bgcolor='#CCCCCC'></td>"
			+"<td>"
			+"<table cellpadding='0' cellspacing='0' border='0' width='100%'><tr>"
			+"<td width='35%' valign='bottom' style='padding-left:5px;'><div id='wyditorColorTitle' style='font-size:9pt; color:#696969;'></div></td>"
			+"<td width='65%' align='right'>"
			+"<table border=0 cellpadding=0 cellspacing=0 style='border:1px solid #CCCCCC; margin-right:2px;'>"
			+"<tr height='14'><td id='wyditorSampleColor' width='70' bgcolor='#FFFFFF'></td></tr>"
			+"</table>"
			+"</td>"
			+"</tr></table>"
			+"</td>"
			+"<td rowspan='4' width='1' bgcolor='#CCCCCC'></td>"
			+"</tr>"
			+"<tr height='1'><td colspan='5' bgcolor='#CCCCCC'></td></tr>"
			+"<tr height='131'>"
			+"<td width='131' align='center'>"
			+"<table cellspacing=1 cellpadding=0 border=0 bgcolor='#FFFFFF'>"
			+"<col width='12'><col width='12'><col width='12'><col width='12'><col width='12'><col width='12'><col width='12'><col width='12'><col width='12'><col width='12'>"
			+"<tr height='12'>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#FFFFFF'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#E5E4E4'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#D9D8D8'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#C0BDBD'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#A7A4A4'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#8E8A8B'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#827E7F'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#767173'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#5C585A'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#000000'></td>"
			+"</tr>"
			+"<tr height='12'>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#FEFCDF'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#FEF4C4'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#FEED9B'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#FEE573'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#FFED43'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#F6CC0B'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#E0B800'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#C9A601'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#AD8E00'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#8C7301'></td>"
			+"</tr>"
			+"<tr height='12'>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#FFDED3'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#FFC4B0'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#FF9D7D'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#FF7A4E'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#FF6600'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#E95D00'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#D15502'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#BA4B01'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#A44201'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#8D3901'></td>"
			+"</tr>"
			+"<tr height='12'>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#FFD2D0'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#FFBAB7'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#FE9A95'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#FF7A73'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#FF483F'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#FE2419'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#F10B00'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#D40A00'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#940000'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#6D201B'></td>"
			+"</tr>"
			+"<tr height='12'>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#FFDAED'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#FFB7DC'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#FFA1D1'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#FF84C3'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#FF57AC'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#FD1289'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#EC0078'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#D6006D'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#BB005F'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#9B014F'></td>"
			+"</tr>"
			+"<tr height='12'>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#FCD6FE'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#FBBCFF'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#F9A1FE'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#F784FE'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#F564FE'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#F546FF'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#F328FF'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#D801E5'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#C001CB'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#8F0197'></td>"
			+"</tr>"
			+"<tr height='12'>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#E2F0FE'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#C7E2FE'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#ADD5FE'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#92C7FE'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#6EB5FF'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#48A2FF'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#2690FE'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#0162F4'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#013ADD'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#0021B0'></td>"
			+"</tr>"
			+"<tr height='12'>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#D3FDFF'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#ACFAFD'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#7CFAFF'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#4AF7FE'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#1DE6FE'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#01DEFF'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#00CDEC'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#01B6DE'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#00A0C2'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#0084A0'></td>"
			+"</tr>"
			+"<tr height='12'>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#EDFFCF'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#DFFEAA'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#D1FD88'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#BEFA5A'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#A8F32A'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#8FD80A'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#79C101'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#3FA701'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#307F00'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#156200'></td>"
			+"</tr>"
			+"<tr height='12'>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#D4C89F'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#DAAD88'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#C49578'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#C2877E'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#AC8295'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#C0A5C4'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#969AC2'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#92B7D7'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#80ADAF'></td>"
			+"<td style='cursor:pointer;' onMouseOver='setWyditorSampleColor(this)' onMouseDown='selectWyditorColor(this);' bgcolor='#9CA53B'></td>"
			+"</tr>"
			+"</table>"
			+"</td>"
			+"</tr>"
			+"<tr height='1'><td colspan='5' bgcolor='#CCCCCC'></td></tr>"
			+"</table>";

		sHtml += "</div>";

		document.write(sHtml);
	}
}

function setWyditorSampleColor(item) {
	var color = item.bgColor.toUpperCase();

	if (color.length == 7) {
		document.getElementById("wyditorSampleColor").style.backgroundColor = color;
	}
	else {
		document.getElementById("wyditorSampleColor").style.backgroundColor = "";
	}
}

function selectWyditorColor(item) {
	var color = item.bgColor.toUpperCase();
	var action = (!isIE && currentAction == "backcolor") ? "hilitecolor" : currentAction;

	currentIframe.contentWindow.document.execCommand(action, false, color);
	wyditor_hideLayer();
	setTimeout(function () { focusIfrm(currentIframe) }, 100);
}

// 링크 관련
function makeWyditorLink() {
	var sHtml;
	if (!document.getElementById("divWyditorLink")) {
		sHtml = "<div id='divWyditorLink' unselectable='on' style='position:absolute; display:none; background-color:#FFFFFF; border:1px solid #DDDDDD;'>";
		sHtml += "<table border='0' cellpadding='0' cellspacing='0'>";
		sHtml += "<tr><td style='padding:10px;'>";
		sHtml += "<table cellpadding='0' cellspacing='0' border='0'>";
		sHtml += "<tr><td style='font-size:9pt; color:#696969;'>하이퍼링크</td></tr>";
		sHtml += "<tr>";
		sHtml += "<td style='padding:5px 0 10px 0;'>";
		sHtml += "<input type='text' id='wyditorLink' value='http://' style='width:180px; font-size:9pt; color:#696969; border:1px solid #CFCFCF;'></td>";
		sHtml += "</tr>";
		sHtml += "<tr>";
		sHtml += "<td align='center'><img src='"+wyditorPath+"/images/btn_confirm.gif' hspace='5' onClick='setWyditorLink()' style='cursor:pointer;'><img src='"+wyditorPath+"/images/btn_cancel.gif' hspace='5' onClick='wyditor_hideLayer()' style='cursor:pointer;'></td>";
		sHtml += "</tr>";
		sHtml += "</table>";
		sHtml += "<td></tr>";
		sHtml += "</table>";
		sHtml += "</div>";

		document.write(sHtml);
	}
}

var isReplaceLink = false;

function initWyditorLink(objIfrm) {
	var objTxt = document.getElementById("wyditorLink");
	var range = objIfrm.range;
	var initLink = 'http://';

	if (!objTxt) return;

	if (isIE) {
		if (range.parentElement().tagName.toUpperCase() == 'A' && range.parentElement().innerHTML == range.text) {
			initLink = range.parentElement().href;
			isReplaceLink = true;
		}
	}
	else {
		var node = range.commonAncestorContainer;
		if (node.parentNode.tagName.toUpperCase() == 'A' && node.parentNode.innerHTML == range.toString()) {
			initLink = node.parentNode.href;
		}
	}

	objTxt.focus();
	objTxt.value = initLink;
}

function setWyditorLink() {
	var objTxt = document.getElementById("wyditorLink");
	var sLink = objTxt.value;

	if(!(/^(http|https|ftp|mailto):(?:\/\/)?((\w|-)+(?:[\.:@](\w|-))+)(?:\/|@)?([^"\?]*?)(?:\?([^\?"]*?))?$/.test(sLink.toLowerCase()))){
		alert("URL을 올바르게 입력해 주세요.");
		objTxt.focus();
		objTxt.select();
		return false;
	}

	var text = (isIE) ? currentIframe.range.text : currentIframe.range.toString();

	var sHtml = (text != '') ? '<a href="'+sLink+'">'+text+'</a>' : '<a href="'+sLink+'">'+sLink+'</a>';

	currentIframe.contentWindow.focus();

	if (isIE && isReplaceLink) {
		currentIframe.range.parentElement().parentNode.removeChild(currentIframe.range.parentElement());
	}

	if (text) currentIframe.contentWindow.document.execCommand("delete", false, null);

	if (isIE) {
		currentIframe.range.pasteHTML(sHtml);
	}
	else {
		currentIframe.contentWindow.document.execCommand("InsertHTML", false, sHtml);
	}

	wyditor_hideLayer();
	setTimeout(function () { focusIfrm(currentIframe) }, 100);
}

// 에디터(Iframe)포커스 관련
function focusIfrm(objIfrm) {
	if (isIE) {
		objIfrm.range.select();
	}
	else {
		objIfrm.selection.removeAllRanges();
		objIfrm.selection.addRange(objIfrm.range);
	}
}

// 미리보기
function openWyditorPreview(objEditor, width) {
	var objPop = openWyditorPopup("about:blank", "WyditorPreview", width+20, 600, "scrollbars=yes");

	objPop.document.open();
	objPop.document.write("<html><head><title>미리보기</title>");
	objPop.document.write("<style type='text/css'>");
	if (isIE)	objPop.document.write("p { margin-top:3px; margin-bottom:3px; margin-left:0; margin-right:0; word-break:break-all; }");
	else		objPop.document.write("p { margin-top:3px; margin-bottom:3px; margin-left:0; margin-right:0; white-space:-moz-pre-wrap; }");
	objPop.document.write("ul, ol { margin-top:3px; margin-bottom:3px; }");
	objPop.document.write("body, table, td{");
	objPop.document.write("font-family:'굴림'; font-size:9pt;}");
	objPop.document.write("</style>");
	objPop.document.write("<"+"script"+">");
	objPop.document.write("function resizeImageEditor(no){ var width=document.getElementById('editor_img'+no).width;");
	objPop.document.write("if (width>"+objEditor.config.imgWidth+") { document.getElementById('editor_img'+no).width="+objEditor.config.imgWidth+"; }");
	objPop.document.write("}");
	objPop.document.write("<\/"+"script"+">");
	objPop.document.write("</head><body bgcolor='#FFFFFF' style='margin:10px;'>");
	objPop.document.write(objEditor.objIfrm.contentWindow.document.body.innerHTML);
	objPop.document.write("</body></html>");
	objPop.document.close();
}

function wyditorUploadOk(textareaName, url) {
	if (arrWyditor[textareaName]) {
		arrWyditor[textareaName].addLink(url);
	}
}

function wyditorLinkMediaOk(textareaName, url) {
	if (arrWyditor[textareaName]) arrWyditor[textareaName].addLink(url);
}

// 에디터
function wyditor(textareaName) {
	var self = this;

	this.config = new wyditorConfig();

	this.textareaName = textareaName;
	this.contentPadding = 10;

	this.selection = null;
	this.range = null;

	this.widthUnit = null;

	arrWyditor[textareaName] = self;
}

wyditor.prototype.setToolbar = function (arrToolbar) {
	if (arrToolbar) this.config.arrToolbarItem = arrToolbar;
}

wyditor.prototype.setImgWidth = function (imgWidth) {
	if (imgWidth) this.config.imgWidth = imgWidth;
}

wyditor.prototype.setUploadPath = function (path) {
	if (path) this.config.uploadPath = path;
}

wyditor.prototype.setHtmlMode = function (htmlMode) {
	if (htmlMode) this.config.htmlMode = htmlMode.toLowerCase();
}

wyditor.prototype.create = function () {
	var self = this;

	// 원 Textarea
	this.orgTextarea = document.getElementsByName(this.textareaName)[0];
	this.orgTextarea.id = this.textareaName;
	this.orgTextarea.style.display = 'none';

	this.widthUnit = (this.orgTextarea.style.width.substr(this.orgTextarea.style.width.length-1, this.orgTextarea.style.width.length) == '%') ? '%' : 'px';

	this.orgTextareaWidth = parseInt(this.orgTextarea.style.width, 10);
	this.orgTextareaHeight = parseInt(this.orgTextarea.style.height, 10);

	// 에디터 - Textarea 생성
	this.objText = document.createElement("textarea");
	this.objText.setAttribute("id", this.textareaName+"_textarea");
	this.objText.style.width = this.orgTextareaWidth+this.widthUnit;
	this.objText.style.height = (this.orgTextareaHeight-2)+'px';
	this.objText.style.border = "0";
	this.objText.style.overflow = "auto";
	this.objText.style.display = 'none';
	this.objText.onmouseout = function () { try { wyditorClone(self) } catch (e) {} };

	// 에디터 - Iframe 생성
	this.objIfrm = document.createElement("iframe");
	this.objIfrm.setAttribute("id", this.textareaName+"_iframe");
	this.objIfrm.setAttribute("scrolling", "yes");
	this.objIfrm.setAttribute("frameBorder", "0");
	this.objIfrm.setAttribute("marginWidth", "0");
	this.objIfrm.setAttribute("marginHeight", "0");
	this.objIfrm.setAttribute("wrap", "virtual");
	this.objIfrm.style.width = this.orgTextareaWidth+this.widthUnit;
	this.objIfrm.style.height = this.orgTextareaHeight+'px';
	this.objIfrm.onmouseout = function () { try { wyditorClone(self) } catch (e) {} };

	this.objTable = document.createElement("table");
	this.objTable.setAttribute("id", this.textareaName+"_table");
	this.objTable.setAttribute("border", "0");
	this.objTable.setAttribute("cellPadding", "4");
	this.objTable.setAttribute("cellSpacing", "0");
	this.objTable.setAttribute("width", this.orgTextareaWidth+this.widthUnit);
	this.objTable.style.tableLayout = "fixed";

		var objTbody = document.createElement("tbody");

		var objTr1 = document.createElement("tr");
		objTr1.bgColor = this.config.toolbarBgcolor;
			var objTdToolbar = document.createElement("td");
			objTdToolbar.setAttribute("id", this.textareaName+"_toolbarTd");
			objTdToolbar.setAttribute("unselectable", "on");
			objTdToolbar.style.padding = "5px";
			objTdToolbar.style.borderBottom = "1px solid "+this.config.lineColor;
				// 툴바
				var objDivToolbarLeft = document.createElement("div");
				objDivToolbarLeft.setAttribute("id", this.textareaName+"_toolbarLeft");
				if (isIE) {
					objDivToolbarLeft.style.styleFloat = "left";
				}
				else {
					objDivToolbarLeft.style.cssFloat = "left";
				}
				objDivToolbarLeft.appendChild(this.createToolbar());
			objTdToolbar.appendChild(objDivToolbarLeft);

/*
			if (this.config.htmlMode != 'hide') {
				// 소스보기 버튼
					var objDivToolbarRight = document.createElement("div");
					objDivToolbarRight.setAttribute("id", this.textareaName+"_toolbarRight");
					if (isIE) {
						objDivToolbarRight.style.styleFloat = "right";
					}
					else {
						objDivToolbarRight.style.cssFloat = "right";
					}
						this.objButtonHtml = document.createElement("img");
						this.objButtonHtml.setAttribute("id", this.textareaName+"_html");
						this.objButtonHtml.setAttribute("src", wyditorPath+"/images/html.gif");
						this.objButtonHtml.setAttribute("title", "소스보기");
						this.objButtonHtml.setAttribute("align", "absmiddle");
						this.objButtonHtml.setAttribute("border", "0");
						if (isIE)	this.objButtonHtml.style.filter = "alpha(opacity=60)";
						else		this.objButtonHtml.style.MozOpacity = "0.60";
						this.objButtonHtml.style.cursor = "pointer";
						this.objButtonHtml.onclick = function () { self.changeEditorMode() };
					objDivToolbarRight.appendChild(this.objButtonHtml);
				objTdToolbar.appendChild(objDivToolbarRight);
			}
*/
		objTr1.appendChild(objTdToolbar);

		var objTr2 = document.createElement("tr");
		objTr2.setAttribute("vAlign", "top");
			var objTdIfrm = document.createElement("td");
			objTdIfrm.setAttribute("id", this.textareaName+"_ifrm");
			objTdIfrm.setAttribute("bgColor", self.config.textareaBgcolor);
			objTdIfrm.setAttribute("unselectable", "on");
		objTr2.appendChild(objTdIfrm);

		objTbody.appendChild(objTr1);
		objTbody.appendChild(objTr2);

	this.objTable.appendChild(objTbody);

	this.orgTextarea.parentNode.insertBefore(this.objTable, this.orgTextarea);
	objTdIfrm.appendChild(this.objIfrm);
	objTdIfrm.appendChild(this.objText);

	if (this.config.arrToolbarItem.inArray("fontname")) {
		makeWyditorFont(this.config.arrFont);
	}
	if (this.config.arrToolbarItem.inArray("fontsize")) {
		makeWyditorFontSize(this.config.arrFontSize);
	}
	if (this.config.arrToolbarItem.inArray("forecolor") || this.config.arrToolbarItem.inArray("backcolor")) {
		makeWyditorColor();
	}
	if (this.config.arrToolbarItem.inArray("link")) {
		makeWyditorLink();
	}

	setTimeout(function () { self.initContent(); },10);

	return true;
}

wyditor.prototype.createToolbar = function () {
	var self = this;
	var objToolItem = null;

	var objDivToolbar = document.createElement("div");
	objDivToolbar.setAttribute("id", this.textareaName+"_toolbarButtons");
	objDivToolbar.setAttribute("unselectable", "on");

	for (var i=0, len=this.config.arrToolbarItem.length; i<len; i++) {
		objToolItem = null;
		switch (this.config.arrToolbarItem[i]) {
			case "fontname" :
				objToolItem = this.createButton("/images/fontname.gif", "fontname", "글꼴");
				break;
			case "fontsize" :
				objToolItem = this.createButton("/images/fontsize.gif", "fontsize", "크기");
				break;
			case "bold":
				objToolItem = this.createButton("/images/bold.gif", "bold", "크기");
				break;
			case "italic":
				objToolItem = this.createButton("/images/italic.gif", "italic", "기울림꼴");
				break;
			case "underline":
				objToolItem = this.createButton("/images/underline.gif", "underline", "밑줄");
				break;
			case "strike":
				objToolItem = this.createButton("/images/strike.gif", "StrikeThrough", "취소선");
				break;
			case "forecolor":
				objToolItem = this.createButton("/images/forecolor.gif", "forecolor", "글자색");
				break;
			case "backcolor":
				objToolItem = this.createButton("/images/backcolor.gif", "backcolor", "배경색");
				break;
			case "left":
				objToolItem = this.createButton("/images/left.gif", "justifyleft", "왼쪽맞춤");
				break;
			case "center":
				objToolItem = this.createButton("/images/center.gif", "justifycenter", "가운데맞춤");
				break;
			case "right":
				objToolItem = this.createButton("/images/right.gif", "justifyright", "오른쪽맞춤");
				break;
			case "orderedlist":
				objToolItem = this.createButton("/images/orderedlist.gif", "insertorderedlist", "숫자목록");
				break;
			case "unorderedlist":
				objToolItem = this.createButton("/images/unorderedlist.gif", "insertunorderedlist", "점목록");
				break;
			case "indent":
				objToolItem = this.createButton("/images/indent.gif", "indent", "들여쓰기");
				break;
			case "outdent":
				objToolItem = this.createButton("/images/outdent.gif", "outdent", "내여쓰기");
				break;
			case "link":
				objToolItem = this.createButton("/images/link.gif", "link", "링크삽입");
				break;
			case "unlink":
				objToolItem = this.createButton("/images/unlink.gif", "unlink", "링크제거");
				break;
			case "hr":
				objToolItem = this.createButton("/images/hr.gif", "InsertHorizontalRule", "가로선");
				break;
			case "image":
				objToolItem = this.createButton("/images/image.gif", "image", "이미지업로드");
				break;
			case "multimedia":
				objToolItem = this.createButton("/images/multimedia.gif", "multimedia", "멀티미디어링크");
				break;
			case "preview":
				objToolItem = this.createButton("/images/preview.gif", "preview", "미리보기");
				break;
			case "slide":
				objToolItem = this.createSlide();
				break;
			case "space":
				objToolItem = this.createSpace();
				break;
		}
		if (objToolItem) objDivToolbar.appendChild(objToolItem);
	}

	return objDivToolbar;
}

wyditor.prototype.createButton = function (src, action, title) {
	var self = this;

	var objButton = document.createElement("img");
	objButton.setAttribute("src", wyditorPath+src);
	if (title) objButton.setAttribute("title", title);
	objButton.setAttribute("align", "absmiddle");
	objButton.setAttribute("border", "0");
	objButton.style.cursor = "pointer";
	objButton.onclick = function () { self.eventHandler(action, this); return true; } ;

	return objButton;
}

wyditor.prototype.createSpace = function () {
	var objBlank = document.createElement("img");
	objBlank.setAttribute("src", wyditorPath+"/images/blank.gif");
	objBlank.setAttribute("width", "3");
	objBlank.setAttribute("align", "absmiddle");

	return objBlank;
}

wyditor.prototype.createSlide = function () {
	var objLine = document.createElement("img");
	objLine.setAttribute("src", wyditorPath+"/images/slide.gif");
	objLine.setAttribute("align", "absmiddle");
	objLine.setAttribute("border", "0");

	return objLine;
}

wyditor.prototype.initContent = function() {
	var self = this;
	var objCont = self.objIfrm.contentWindow;

	var objDoc = objCont.document;
	objDoc.open();
	objDoc.write("<html><head>");
	objDoc.write("<style type='text/css'>");
	if (isIE)	objDoc.write("p { margin-top:3px; margin-bottom:3px; margin-left:0; margin-right:0; word-break:break-all; }");
	else		objDoc.write("p { margin-top:3px; margin-bottom:3px; margin-left:0; margin-right:0; white-space:-moz-pre-wrap; }");
	objDoc.write("ul, ol { margin-top:3px; margin-bottom:3px; }");
	objDoc.write("body { font-family:'굴림'; font-size:9pt; overflow:auto; }");
	objDoc.write("table, td { font-family:'굴림'; font-size:9pt; }");
	objDoc.write("</style>");
	objDoc.write("<"+"script"+">");
	objDoc.write("function resizeImageEditor(no) { var width=document.getElementById('editor_img'+no).width;");
	objDoc.write("if (width>"+this.imgWidth+") { document.getElementById('editor_img'+no).width="+this.imgWidth+"; }");
	objDoc.write("}");
	objDoc.write("<\/"+"script"+">");
	objDoc.write("</head><body bgcolor='#FFFFFF' style='margin:"+self.contentPadding+"px;'>"+self.decodeContents(self.orgTextarea.value)+"</body></html>");
	objDoc.close();
	objDoc.designMode = "on";

	self.objText.style.backgroundColor = self.config.textareaBgcolor;
	self.objText.style.padding = self.contentPadding+"px";
	self.objText.style.fontSize = "9pt";
	self.objText.style.fontFamily = "굴림";
	if (isIE)	self.objText.style.wordBreak = "break-all";
	else		self.objText.style.whiteSpace = "-moz-pre-wrap";

	addEvent(objCont, "blur", function () { wyditorClone(self); });
	addEvent(self.objText, "blur", function () { wyditorClone(self); });
	addEvent(objDoc, 'click', wyditor_hideLayer);

	return true;
}

wyditor.prototype.getContent = function() {
	var self = this;
	var sHtml;

	wyditorClone(self);
	if (self.objIfrm.style.display != 'none') {
		sHtml = self.objIfrm.contentWindow.document.body.innerHTML;
	}
	else {
		sHtml = self.objText.value;
	}
	return sHtml;
}

wyditor.prototype.setContent = function(value) {
	var self = this;
	self.objIfrm.contentWindow.document.body.innerHTML = value;
	self.objText.value = value;
	wyditorClone(self);
}

wyditor.prototype.decodeContents = function(value) {
	value = value.replace(/&lt;/gi, "<");
	value = value.replace(/&gt;/gi, ">");
	value = value.replace(/&amp;/gi, "&");
	return value;
}

wyditor.prototype.changeEditorMode = function() {
	var self = this;

	var objButtonHtml = document.getElementById(self.textareaName+"_html");

	if (self.objIfrm.style.display != 'none') {
		self.objText.value = self.objIfrm.contentWindow.document.body.innerHTML;
		self.objIfrm.style.display = 'none';
		self.objText.style.display = 'inline';
		self.objText.focus();

		var arrToolBtn = document.getElementById(self.textareaName+"_toolbarButtons").childNodes;
		for (var i=0, len=arrToolBtn.length; i<len; i++) {
			if (arrToolBtn[i].title) {
				if (isIE) arrToolBtn[i].style.filter = "alpha(opacity=40)";
				else arrToolBtn[i].style.MozOpacity = "0.4";
				arrToolBtn[i].style.cursor = "";
			}
		}

		if (isIE)	this.objButtonHtml.style.filter = "";
		else		this.objButtonHtml.style.MozOpacity = "";
		objButtonHtml.setAttribute("title", "에디터보기");
	}
	else {
		self.objIfrm.contentWindow.document.body.innerHTML = self.objText.value;
		self.objText.style.display = 'none';
		self.objIfrm.style.display = 'inline';
		self.objIfrm.contentWindow.focus();

		var arrToolBtn = document.getElementById(self.textareaName+"_toolbarButtons").childNodes;
		for (var i=0, len=arrToolBtn.length; i<len; i++) {
			if (arrToolBtn[i].title) {
				if (isIE) arrToolBtn[i].style.filter = "";
				else arrToolBtn[i].style.MozOpacity = "";
				arrToolBtn[i].style.cursor = "pointer";
			}
		}

		if (isIE)	this.objButtonHtml.style.filter = "alpha(opacity=60)";
		else		this.objButtonHtml.style.MozOpacity = "0.60";
		objButtonHtml.setAttribute("title", "소스보기");
	}
	wyditorClone(self);
}

wyditor.prototype.eventHandler = function (action, objButton) {
	var self = this;

	if (self.objIfrm.style.display == 'none') return false;

	self.objIfrm.contentWindow.focus();

	if (isIE) {
		self.objIfrm.selection = self.objIfrm.contentWindow.document.selection;
		self.objIfrm.range = self.objIfrm.selection.createRange();
	}
	else {
		self.objIfrm.selection = self.objIfrm.contentWindow.getSelection();
		self.objIfrm.range = self.objIfrm.selection.getRangeAt(0);
	}
	currentIframe = self.objIfrm;
	currentAction = action;
	wyditor_hideLayer();

	switch (action) {
		case "fontname":
		case "fontsize":
		case "forecolor":
		case "backcolor":
		case "link":
			displayLayer(action, objButton, self.objIfrm);
			break;
		case "image":
			openWyditorPopup(wyditorPath+"/pop_attach.asp?mode=img&id="+self.textareaName+"&path="+self.config.uploadPath+"&rnd="+Math.random(), "WyditorUpload", 500, 276);
			break;
		case "multimedia":
			openWyditorPopup(wyditorPath+"/pop_medialink.asp?id="+self.textareaName+"&rnd="+Math.random(), "WyditorMediaLink", 400, 245);
			break;
		case "preview":
			var width = (self.widthUnit == '%') ? 700 : self.orgTextareaWidth;
			openWyditorPreview(self, width);
			break;
		default:
			try {
				self.objIfrm.contentWindow.document.execCommand(action, false, null);
			} catch (e) {}
	}
	return true;
}

wyditor.prototype.addLink = function (url) {
	var self = this;
	var sHtml = "";

	self.objIfrm.contentWindow.focus();

	try {
		if (url.indexOf("<") >= 0) {
			alert("허용하지 않는 링크주소입니다");
			return;
		}

		var ext = url.slice(url.lastIndexOf(".")+1).toLowerCase();
		var rnd = parseInt(Math.random() * 100000, 10);

		url = url.replace(/'/g, "\'");

		if  (ext == "gif" || ext == "jpg" || ext == "png" || ext == "bmp") {
			sHtml = "<img src='"+url+"' id='editor_img"+rnd+"' onLoad='setTimeout(\"resizeImageEditor("+rnd+")\", 200)' style='CURSOR: hand' onclick=window.open('/common/editor/popupwin/editor_imageview.asp?src="+url+"','imageview','menubar=no,toolbar=no,location=no,status=no,scrollbars=yes,resizable=yes,left=0,top=0'); alt='클릭하시면 확대된 이미지를 보실 수 있습니다.' border='0'>";
		}
		else if (ext == "avi" || ext == "wma" || ext == "wmv" || ext == "asf" || ext == "asx" || ext == "swf") {
			sHtml = "<embed autostart='true' src='"+url+"' style='width:300px; height:340px'>";
		}
		else if (ext == "mp3") {
			sHtml = "<embed autostart='true' src='"+url+"'>";
		}
		else {
			sHtml = url;
		}

		sHtml += "<br/>";

		self.objIfrm.contentWindow.focus();

		if (isIE) {
			
			self.objIfrm.contentWindow.document.selection.createRange().pasteHTML(sHtml);
		}
		else {
			self.objIfrm.contentWindow.document.execCommand("InsertHTML", false, sHtml);
		}
	}
	catch(e) {}

	self.objIfrm.contentWindow.focus();
}

