var SITE_PATH;
var IMAGE_PATH;
var ICON_PATH;
var IMAGE_ATTACH_PATH;
var IMAGE_UPLOAD_CGI;
var MENU_BORDER_COLOR;
var MENU_BG_COLOR;
var MENU_TEXT_COLOR;
var MENU_SELECTED_COLOR;
var TOOLBAR_BG_COLOR;
var FORM_BORDER_COLOR;
var FORM_BG_COLOR;
var OBJ_NAME;
var SELECTION;
var RANGE;
var EDITFORM_DOCUMENT;
var UPLOAD_DOCUMENT;
var IS_IE;
var IS_FF;
var IS_OPERA;
var TOOLBAR_ICON;


function KindHtmlentitiesDecode(str)
{
	str = str.replace(/&lt;/g,'<');
	str = str.replace(/&gt;/g,'>');
	str = str.replace(/&amp;/g,'&');
	str = str.replace(/&quot;/g,'"');
	return str;
}
function KindHtmlToXhtml(str) 
{
	str = str.replace(/<p([^>]*>)/gi, "");
	str = str.replace(/<\/p>/gi, "");
	str = str.replace(/<br>/gi, "<br />");
	str = str.replace(/(<\w+)([^>]*>)/gi, function ($0,$1,$2) {
						return(($1 + $2).toLowerCase());
					}
				);
	str = str.replace(/(<\/\w+>)/gi, function ($0,$1) {
						return($1.toLowerCase());
					}
				);
	return str;
}
function KindWriteFullHtml(documentObj, editHtmlData)
{
	var editHtmlData = '<html>\r\n<head>\r\n<title>KindEditor</title>\r\n<style type="text/css">\r\np {margin:0;}\r\n</style>\r\n</head>\r\n';
	editHtmlData += '<body style="font-size:16px;font-family:Simsun;margin:2px;background-color:' + FORM_BG_COLOR + '">\r\n';
	editHtmlData += KindHtmlentitiesDecode(document.getElementsByName(eval(OBJ_NAME).hiddenName)[0].value);
	editHtmlData += '\r\n</body>\r\n</html>\r\n';
	documentObj.open();
	documentObj.write(editHtmlData);
	documentObj.close();
}
function KindEditor(objName) 
{
	this.objName = objName;
	this.hiddenName = objName;
	this.data = "";
	this.width = "100%";
	this.height = "200px";
	this.sitePath = '';
	this.imagePath = 'images/';
	this.iconPath = 'icons/';
	this.imageAttachPath = 'attached/';
	this.imageUploadCgi = "upload.php";
	this.menuBorderColor = '#4169e1';
	this.menuBgColor = '#e6e6fa';
	this.menuTextColor = '#8b0000';
	this.menuSelectedColor = '#6495ed';
	this.toolbarBgColor = '#DDDDDD';
	this.formBorderColor = '#AAAAAA';
	this.formBgColor = '#FFFFFF';
	this.init = function()
	{
		SITE_PATH = this.sitePath;
		IMAGE_PATH = SITE_PATH + this.imagePath;
		ICON_PATH = SITE_PATH + this.iconPath;
		IMAGE_ATTACH_PATH = SITE_PATH + this.imageAttachPath;
		IMAGE_UPLOAD_CGI = SITE_PATH + this.imageUploadCgi;
		MENU_BORDER_COLOR = this.menuBorderColor;
		MENU_BG_COLOR = this.menuBgColor;
		MENU_TEXT_COLOR = this.menuTextColor;
		MENU_SELECTED_COLOR = this.menuSelectedColor;
		TOOLBAR_BG_COLOR = this.toolbarBgColor;
		FORM_BORDER_COLOR = this.formBorderColor;
		FORM_BG_COLOR = this.formBgColor;
		OBJ_NAME = this.objName;
		IS_IE = (navigator.userAgent.toLowerCase().indexOf("msie") > -1) ? true : false;
		IS_FF = (navigator.userAgent.toLowerCase().indexOf("firefox") > -1) ? true : false;
		IS_OPERA = (navigator.userAgent.toLowerCase().indexOf("opera") > -1) ? true : false;
	}
	this.show = function()
	{
		this.init();
		var iframeSize = '';
		iframeSize += 'width:' + this.width + ';';
		iframeSize += 'height:' + this.height + ';';
		if (IS_OPERA) {
			var htmlData = '<div id="editTextarea" style="' + iframeSize + '">' +
			'<textarea name="CodeForm" id="CodeForm" style="' + iframeSize + 
			'padding:2px;margin:0;border:1px solid '+ FORM_BORDER_COLOR + 
			';font-size:12px;line-height:16px;font-family:Simsun;background-color:'+ 
			FORM_BG_COLOR +';">' + document.getElementsByName(this.hiddenName)[0].value + '</textarea></div>';
			document.open();
			document.write(htmlData);
			document.close();
			return;
		}
		var htmlData = '<div id="editIframe">' +
			'<iframe name="EditForm" id="EditForm" frameborder="0" style="' + iframeSize + 
			'padding:0;margin:0;border:1px solid '+ FORM_BORDER_COLOR +'">' +
			'</iframe>' +
			'</div>' +
			'<div id="editTextarea" style="' + iframeSize + 'display:none;">' +
			'<textarea name="CodeForm" id="CodeForm" style="' + iframeSize + 
			'padding:2px;margin:0;border:1px solid '+ FORM_BORDER_COLOR + 
			';font-size:12px;line-height:16px;font-family:Simsun;background-color:'+ 
			FORM_BG_COLOR +';"></textarea>' +
			'</div>' +
			'</div>' +
			'<span id="popupName" style="display:none;"></span>' +
			'<span id="popupData"></span>';
		document.open();
		document.write(htmlData);
		document.close();
		if (IS_IE) {
			EDITFORM_DOCUMENT = EditForm.document;
		} else {
			EDITFORM_DOCUMENT = document.getElementById('EditForm').contentDocument;
		}
		EDITFORM_DOCUMENT.designMode = 'On';
		KindWriteFullHtml(EDITFORM_DOCUMENT);
		var el = EDITFORM_DOCUMENT.body;
	}
	this.data = function()
	{
		if (!(IS_IE || IS_FF)) {
			htmlResult = document.getElementById("CodeForm").value;
			document.getElementsByName(this.hiddenName)[0].value = htmlResult;
			return htmlResult;
		}
		var htmlResult;
		htmlResult = KindHtmlToXhtml(EDITFORM_DOCUMENT.body.innerHTML);
		document.getElementsByName(this.hiddenName)[0].value = htmlResult;
		return htmlResult;
	}
}
