var oCurrentControl;
var nCurrentID;
var bHtmlEdit = false;

function showMenu(oControl, ID, bAllowHTML) {
	if (oCurrentControl == oControl || oCurrentControl == null) {
		var ctlMenu = document.all["ctlMenu"];
		var sPosTop = event.clientY + document.body.scrollTop;
	
		ctlMenu.style.display = "block";
		ctlMenu.setCapture();
		oControl.style.cursor = "default";
	
		if ((event.screenY + ctlMenu.offsetHeight) > window.screen.availHeight) {
			sPosTop -= ctlMenu.offsetHeight;
		}
		
		var nPosLeft = event.clientX + document.body.scrollLeft;
		if (nPosLeft + ctlMenu.offsetWidth > document.all["ctlContent"].offsetLeft + document.all["ctlContent"].offsetWidth) {
			nPosLeft = document.all["ctlContent"].offsetLeft + document.all["ctlContent"].offsetWidth - ctlMenu.offsetWidth;
		}
		
		ctlMenu.style.posLeft = nPosLeft;
		ctlMenu.style.posTop = sPosTop;
	
		oCurrentControl = oControl;
		nCurrentID = ID;
		
		bHtmlEdit = (bHtmlEdit && bAllowHTML);
	}
	else {
		return;
	}
	var tblMenu = document.all["tblMenu"];
	var nRows;
	if (bHtmlEdit && bAllowHTML) {
		for (nRows = 3; nRows < tblMenu.rows.length; nRows++) {
			if (tblMenu.rows[nRows].cells[0].className != "Sperator") {
				tblMenu.rows[nRows].cells[0].setAttribute("className","action");
				tblMenu.rows[nRows].cells[0].style.color = "#000000";
			}
		}
	}
	else {
		for (nRows = 3; nRows < tblMenu.rows.length; nRows++) {
			if (tblMenu.rows[nRows].cells[0].className != "Sperator") {
				tblMenu.rows[nRows].cells[0].setAttribute("className","disabled");
				tblMenu.rows[nRows].cells[0].style.color = "#999999";
			}
		}
	}
}

function clickMenu() {
	ctlMenu.releaseCapture();
	oCurrentControl.style.cursor = "text";
	if (event.srcElement.id == 1 && event.srcElement.innerText.toLowerCase() == "save") {
		document.all["ctlDateMember"].value = oCurrentControl.id.substring(0,oCurrentControl.id.length-nCurrentID.toString().length);
		if (bHtmlEdit)
			document.all["ctlDateMemberValue"].value = oCurrentControl.innerHTML;
		else
			document.all["ctlDateMemberValue"].value = oCurrentControl.innerText;
		document.all["ctlItemID"].value = nCurrentID;
		document.forms["frmEdit"].submit();
	}
	else if (event.srcElement.id == 1) {
		oCurrentControl.contentEditable = true;
		oCurrentControl.style.backgroundColor = "#F9F6F6";
		event.srcElement.innerText = "Save";
		bHtmlEdit = true;
		document.all["ctlCleaner"].innerHTML = oCurrentControl.innerHTML;
	}
	else if (event.srcElement.id == 2) {
		window.location = window.location;
	}
	else if (event.srcElement.id == 3 && bHtmlEdit) {
		var oTextRange = document.selection.createRange();
		if (oTextRange.length) {
			var oParent = oTextRange.item(0);
			if (oParent.tagName == "IMG" || oParent.tagName == "TABLE" || oParent.tagName == "HR") {
				oTextRange.execCommand("JustifyLeft");
			}
		}
		else if (oTextRange.text != null) {
			oTextRange.execCommand("JustifyLeft");
		}
	}
	else if (event.srcElement.id == 4 && bHtmlEdit) {
		var oTextRange = document.selection.createRange();
		if (oTextRange.length) {
			var oParent = oTextRange.item(0);
			if (oParent.tagName == "IMG" || oParent.tagName == "TABLE" || oParent.tagName == "HR") {
				oTextRange.execCommand("JustifyCenter");
			}
		}
		else if (oTextRange.text != null) {
			oTextRange.execCommand("JustifyCenter");
		}
	}
	else if (event.srcElement.id == 5 && bHtmlEdit) {
		var oTextRange = document.selection.createRange();
		if (oTextRange.length) {
			var oParent = oTextRange.item(0);
			if (oParent.tagName == "IMG" || oParent.tagName == "TABLE" || oParent.tagName == "HR") {
				oTextRange.execCommand("JustifyRight");
			}
		}
		else if (oTextRange.text != null) {
			oTextRange.execCommand("JustifyRight");
		}
	}
	else if (event.srcElement.id == 17 && bHtmlEdit) {
		var oTextRange = document.selection.createRange();
		if (!oTextRange.length) {
			document.execCommand("JustifyFull");
		}
	}
	else if (event.srcElement.id == 18 && bHtmlEdit) {
		var oTextRange = document.selection.createRange();
		if (oTextRange.length) {
			var oParent = oTextRange.item(0);
			if (oParent.tagName == "IMG" || oParent.tagName == "TABLE" || oParent.tagName == "HR") {
				oTextRange.execCommand("JustifyNone");
			}
		}
		else if (oTextRange.text != null) {
			oTextRange.execCommand("JustifyNone");
		}
	}
	else if (event.srcElement.id == 6 && bHtmlEdit) {
		openImgGalley();
	}
	else if (event.srcElement.id == 7 && bHtmlEdit) {
		var oTextRange = document.selection.createRange();
		if (oTextRange.length) {
			var oParent = oTextRange.item(0);
			if (oParent.tagName == "IMG") {
				var oImg = new Object();
				oImg.align = oParent.align;
				oImg.alt = oParent.alt;
				oImg.border = oParent.border;
				oImg.marginLeft = oParent.style.marginLeft;
				oImg.marginRight= oParent.style.marginRight;
				oImg.marginTop = oParent.style.marginTop;
				oImg.marginBottom = oParent.style.marginBottom;

				if (oParent.getAttribute("onClick",0) != null)
					oImg.openPopup = "1";
				else
					oImg.openPopup = "0";

				var sArgs = "dialogHeight: 280px; dialogWidth: 460px; edge: Raised; center: Yes; help: No; resizable: No; status: No";
				var sUrl = sAppDomain + "/Admin/_IncClient/Image.htm";
				window.showModalDialog(sUrl, oImg, sArgs);
				
				oParent.align = oImg.align;
				oParent.alt = oImg.alt;
				oParent.border = oImg.border;
				oParent.style.marginLeft = oImg.marginLeft;
				oParent.style.marginRight = oImg.marginRight;
				oParent.style.marginTop = oImg.marginTop;
				oParent.style.marginBottom = oImg.marginBottom;
				if (oImg.openPopup == "1") {
					oParent.style.cursor = "pointer";
					//oParent.setAttribute("onClick","var a=window.open('','image','scrrolbars=auto');a.document.write('<body leftmargin=0 topmargin=0 rightmargin=0 bgcolor=\"#888888\" onLoad=\"focus()\";><table cellpadding=0 cellspacing=0 align=center height=100%><tr><td style=border: 2px solid #FFFFFF; height=100%><img src='+this.src+' style=border: 1px solid #000000;></td></tr></table></body>')");
					oParent.setAttribute("onClick","try{fnShowFullImg(this.src);}catch(e){}");
				}
				else {
					oParent.style.cursor = "";
					oParent.removeAttribute("onClick",0);
				}
			}
		}
		
		
		/*var oTextRange = document.selection.createRange();
		if (oTextRange.length > 0) {
			document.execCommand("InsertImage",true,"");
		}*/
	}
	else if (event.srcElement.id == 8 && bHtmlEdit) {
		var oTextRange = document.selection.createRange();
		if (oTextRange.text && oTextRange.text.length > 0) {
			var oParent = oTextRange.parentElement()
			var oLink = new Object();
			if (oParent.tagName == "A") {
				oLink.URL = oParent.href;
				oLink.Target = oParent.target;
			}
			else {
				oLink.URL = "";
				oLink.Target = "";
			}
			
			var sArgs = "dialogHeight: 160px; dialogWidth: 560px; edge: Raised; center: Yes; help: No; resizable: No; status: No;";
			var sUrl = sAppDomain + "/Admin/_IncClient/Link.htm";
			window.showModalDialog(sUrl, oLink, sArgs);
			if (oLink.URL != "") {
				var bSuccess = oTextRange.execCommand("CreateLink",false,oLink.URL);
				if (oLink.Target == "1")
					oTextRange.parentElement().target = "_blank";
				else
					oTextRange.parentElement().removeAttribute("target",0);
			}
			else {
				oTextRange.execCommand("Unlink");
			}
		}
		else if (oTextRange.length) {
			var oParent = oTextRange.item(0);
			if (oParent.tagName == "IMG") {
				var oLink = new Object();
				if (oParent.parentElement.tagName == "A") {
					oLink.URL = oParent.parentElement.href;
					oLink.Target = oParent.parentElement.target;
				}
				else {
					oLink.URL = "";
					oLink.Target = "";
				}

				var sArgs = "dialogHeight: 160px; dialogWidth: 560px; edge: Raised; center: Yes; help: No; resizable: No; status: No;";
				var sUrl = sAppDomain + "/Admin/_IncClient/Link.htm";
				window.showModalDialog(sUrl, oLink, sArgs);
				if (oLink.URL != "") {
					var bSuccess = document.execCommand("CreateLink",false,oLink.URL);
					if (oLink.Target == "1")
						oParent.parentElement.target = "_blank";
					else
						oParent.parentElement.removeAttribute("target",0);
				}
				else {
					document.execCommand("Unlink");
				}
			}
		}
	}
	else if (event.srcElement.id == 9 && bHtmlEdit) {
		var sValue = showModalDialog(sAppDomain + "/Admin/_IncClient/selcolor.htm","", "font:Verdana 12px; dialogWidth:30em; dialogHeight:26em");
		if (sValue != null) {
		  document.execCommand("ForeColor",window,sValue);
		}
	}
	else if (event.srcElement.id == 10 && bHtmlEdit) {
		var sValue = showModalDialog(sAppDomain + "/Admin/_IncClient/selcolor.htm","", "font:Verdana 12px; dialogWidth:30em; dialogHeight:26em");
		if (sValue != null) {
		  document.execCommand("BackColor",false,sValue);
		}
	}
	else if (event.srcElement.id == 11 && bHtmlEdit) {
		var oTextRange = document.selection.createRange();
		if (oTextRange.text.length > 0) {
			document.execCommand("Bold");
		}
	}
	else if (event.srcElement.id == 12 && bHtmlEdit) {
		var oTextRange = document.selection.createRange();
		if (oTextRange.text.length > 0) {
			document.execCommand("Underline");
		}
	}
	else if (event.srcElement.id == 13 && bHtmlEdit) {
		var oTextRange = document.selection.createRange();
		if (oTextRange.text.length > 0) {
			document.execCommand("Italic");
		}
	}
	else if (event.srcElement.id == 14 && bHtmlEdit) {
		var oTextRange = document.selection.createRange();
		if (oTextRange.text.length > 0) {
			document.all["ctlCleaner"].innerText = oTextRange.text;
			oTextRange.pasteHTML(document.all["ctlCleaner"].innerText);
		}
	}
	else if (event.srcElement.id == 15 && bHtmlEdit) {
		var oTextRange = document.selection.createRange();
		if (oTextRange.text.length > 0) {
			var sFontName = getFontName();
			if (sFontName.length > 0)
				document.execCommand("FontName",false,sFontName);
		}
	}
	else if (event.srcElement.id == 16 && bHtmlEdit) {
		var oTextRange = document.selection.createRange();
		if (oTextRange.text.length > 0) {
			var nFontSize = getFontSize();
			if (!isNaN(nFontSize))
				document.execCommand("FontSize",false,parseInt(nFontSize));
		}
	}
	else if (event.srcElement.id == 19 && bHtmlEdit) {
		document.execCommand("InsertHorizontalRule");
	}
	else if (event.srcElement.id == 20 && bHtmlEdit) {
		fnSetTable();
	}
	else if (event.srcElement.id == 21 && bHtmlEdit) {
		document.execCommand("RemoveFormat");
	}
	else {
	//	oCurrentControl.style.backgroundColor = "";
	//	bHtmlEdit = false;
	//	oCurrentControl = null;
	}
	
	ctlMenu.style.display = "none";
	document.all.tblAlignMenu.style.display = "none";
	document.all.tblStyleMenu.style.display = "none";
}

function highlightMenu() {
	if (document.readyState == "complete") {
		if (event.srcElement.className == "action") {
			event.srcElement.parentElement.style.backgroundColor = "#0A246A";
			event.srcElement.style.color = "#FFFFFF";
			
			if (event.srcElement.id == 30) {
				document.all.tblAlignMenu.style.display = "block";
				document.all.tblStyleMenu.style.display = "none";
				document.all["ctlContent"].offsetLeft + document.all["ctlContent"].offsetWidth
				document.all.tblAlignMenu.style.pixelLeft = (event.srcElement.offsetLeft+event.srcElement.offsetWidth-3);
				document.all.tblAlignMenu.style.pixelTop = event.srcElement.style.pixelTop;
			}
			else if (event.srcElement.id == 40) {
				document.all.tblAlignMenu.style.display = "none";
				document.all.tblStyleMenu.style.display = "block";
				document.all.tblStyleMenu.style.pixelLeft = (event.srcElement.offsetLeft+event.srcElement.offsetWidth-3);
				document.all.tblStyleMenu.style.pixelTop = event.srcElement.style.pixelTop;
			}
		}
	}
}

function turnOffMenu() {
	if (event.srcElement.className == "action") {
		event.srcElement.parentElement.style.backgroundColor = "#D4D0C8";
		event.srcElement.style.color = "#000000";
		if (event.srcElement.id != 3 && event.srcElement.id != 4 && event.srcElement.id != 30 && event.srcElement.id != 5 && event.srcElement.id != 17  && event.srcElement.id != 18) {
			document.all.tblAlignMenu.style.display = "none";
		}
		if (event.srcElement.id != 11 && event.srcElement.id != 12 && event.srcElement.id != 40 && event.srcElement.id != 13 && event.srcElement.id != 15  && event.srcElement.id != 16) {
			document.all.tblStyleMenu.style.display = "none";
		}
	}
}

function openImgGalley() {
	var iWidth = window.screen.availWidth - 7;
	var albumWin = window.open(sAppDomain+"/Admin/ImagesGallery/GetImgGallery.asp","gallery","left=0px,top=0px,height=290px,width=" + iWidth + "px,scrolling=yes,resizable=yes,status=no");
}

function restoreValue(oControl) {
	oControl.innerHTML = document.all["ctlCleaner"].innerHTML;
	oCurrentControl.style.cursor = "text";
	oCurrentControl.contentEditable = "inherit";
	oCurrentControl.style.backgroundColor = "";
}

function emphasize(oControl) {
	oControl.style.backgroundColor = "#F9F6F6";
}

function release(oControl) {
	if (oControl != oCurrentControl)
		oControl.style.backgroundColor = "";
}

function getFontSize() {
	var oFontSize = new Object();
		oFontSize.Size = "";
	showModalDialog(sAppDomain+"/Admin/_IncClient/fontsize.htm",oFontSize, "center:yes;dialogWidth:250px;dialogHeight:120px;status:no;help:no;");
	return oFontSize.Size;
}

function getFontName() {
	var oFont = new Object();
		oFont.Font = "";
	showModalDialog(sAppDomain+"/Admin/_IncClient/font.htm",oFont, "center:yes;dialogWidth:250px;dialogHeight:120px;status:no;help:no;");
	return oFont.Font;
}

function setKeys(sMainTable, sIndexKey) {
	var frmEdit = document.forms["frmEdit"];
	frmEdit["MainTable"].value = sMainTable;
	frmEdit["IndexKey"].value = sIndexKey;
}

function fnSetTable() {
	var oTextRange = document.selection.createRange();
	if (oTextRange.length) {
		var oParent = oTextRange.item(0);
		if (oParent.tagName == "TABLE") {
			
			var oTblDetails = new Object();
				oTblDetails.tblPadding = oParent.cellPadding;
				oTblDetails.tblSpacing = oParent.cellSpacing;
				oTblDetails.tblBorder = oParent.border;
				oTblDetails.tblRows = oParent.rows.length;
				oTblDetails.tblCols = oParent.rows[0].cells.length;
				oTblDetails.headrForeground = oParent.rows[0].cells[0].style.color;
				oTblDetails.headrBackground = oParent.rows[0].cells[0].bgColor;
				oTblDetails.tblDir = oParent.dir;
				oTblDetails.draw = "";
				oTblDetails.appPath = sAppDomain + "/Admin/_IncClient/";
				oTblDetails.evenRowColor = "";
				oTblDetails.evenRowBgColor = "";
				oTblDetails.oddRowColor = "";
				oTblDetails.oddRowBgColor = "";
				oTblDetails.Alignment = oParent.align;
				oTblDetails.className = oParent.className;

			if (oParent.rows.length > 2) {
				if (oParent.rows[1].cells.length > 0) {
					oTblDetails.oddRowColor = oParent.rows[1].cells[0].style.color;
					oTblDetails.oddRowBgColor = oParent.rows[1].cells[0].bgColor;
					oTblDetails.evenRowColor = oParent.rows[2].cells[0].style.color;
					oTblDetails.evenRowBgColor = oParent.rows[2].cells[0].bgColor;
					if (oParent.rows[2].cells[0].style.color == oParent.rows[0].cells[0].style.color && oParent.rows[2].cells[0].bgColor == oParent.rows[0].cells[0].bgColor) {
						oTblDetails.headrForeground = "";
						oTblDetails.headrBackground = "";
					}
				}
			}
				
			window.showModalDialog(sAppDomain + "/Admin/_IncClient/table.htm",oTblDetails, "font:Verdana 12px; dialogWidth:30em; dialogHeight:30em; status: No");
			if (oTblDetails.draw == "1") {
				var oTbl = oParent;
				
				var sHTML = "<table ";
				if (oTblDetails.tblDir != "")
					sHTML += " dir=" + oTblDetails.tblDir;
				if (oTblDetails.tblBorder != "")
					sHTML += " border=" + oTblDetails.tblBorder;
				if (oTblDetails.tblPadding != "")
					sHTML += " cellpadding=" + oTblDetails.tblPadding;
				if (oTblDetails.tblSpacing != "") 
					 sHTML += " cellspacing=" + oTblDetails.tblSpacing;
				if (oTblDetails.Alignment != "") 
					 sHTML += " align=" + oTblDetails.Alignment;
					  
				sHTML += " style=\"WIDTH:" + oTbl.style.width+ ";HEIGHT:" + oTbl.style.height + "\" class=\"" + oTblDetails.className + "\">"
				sHTML += "<tr>"
				for (var nColsCount = 0; nColsCount < parseInt(oTblDetails.tblCols); nColsCount++) {
					sHTML += "<td";
					if (oTblDetails.headrBackground != "") {
						sHTML += " bgColor=\"" + oTblDetails.headrBackground + "\"";
					}
					else if (oTblDetails.evenRowBgColor != "") {
						sHTML += " bgColor=\"" + oTblDetails.evenRowBgColor + "\"";
					}
					if (oTblDetails.headrForeground != "") {
						sHTML += " style=\"color:" + oTblDetails.headrForeground + "\"";
					}
					else if (oTblDetails.evenRowColor != "") {
						sHTML += " style=\"color:" + oTblDetails.evenRowColor + "\"";
					}
					sHTML += ">";
					if (oTbl.rows[0].cells[nColsCount])
						sHTML += oTbl.rows[0].cells[nColsCount].innerHTML;
					sHTML += "</td>";
				}
				sHTML += "</tr>";
			
				for (var nRowsCount = 1 ; nRowsCount < parseInt(oTblDetails.tblRows); nRowsCount++) {
					sHTML += "<tr valign=\"top\">";
					for (var nColsCount = 0; nColsCount < parseInt(oTblDetails.tblCols); nColsCount++) {
						sHTML += "<td";
						if (nRowsCount % 2 == 0) {
							if (oTblDetails.evenRowBgColor != "") {
								sHTML += " bgColor=\"" + oTblDetails.evenRowBgColor + "\"";
							}
							if (oTblDetails.evenRowColor != "") {
								sHTML += " style=\"color:" + oTblDetails.evenRowColor + "\"";
							}
						}
						else {
							if (oTblDetails.oddRowBgColor != "") {
								sHTML += " bgColor=\"" + oTblDetails.oddRowBgColor + "\"";
							}
							if (oTblDetails.oddRowColor != "") {
								sHTML += " style=\"color:" + oTblDetails.oddRowColor + "\"";
							}
						}
						sHTML += ">";
						
						if (oTbl.rows[nRowsCount] && oTbl.rows[nRowsCount].cells[nColsCount])
							sHTML += oTbl.rows[nRowsCount].cells[nColsCount].innerHTML;
						sHTML += "</td>";
					}
					sHTML += "</tr>";
				}
				sHTML += "</table>";
				
				oTbl.outerHTML = sHTML;
			}
		}
	}
	else {
		var oTblDetails = new Object();
			oTblDetails.tblPadding = "";
			oTblDetails.tblSpacing = "";
			oTblDetails.tblBorder = "";
			oTblDetails.tblRows = "";
			oTblDetails.tblCols = "";
			oTblDetails.headrForeground = "";
			oTblDetails.headrBackground = "";
			oTblDetails.evenRowColor = "";
			oTblDetails.evenRowBgColor = "";
			oTblDetails.oddRowColor = "";
			oTblDetails.oddRowBgColor = "";
			oTblDetails.tblDir = "";
			oTblDetails.draw = "";
			oTblDetails.appPath = sAppDomain + "/Admin/_IncClient/";
			oTblDetails.Alignment = "";
			
		window.showModalDialog(sAppDomain + "/Admin/_IncClient/table.htm",oTblDetails, "font:Verdana 12px; dialogWidth:30em; dialogHeight:30em; status: No");
		if (oTblDetails.draw == "1") {
			//editor_focus(oSelected);
			var sHTML = "<table border=\"" + oTblDetails.tblBorder + "\" cellpadding=\"" + oTblDetails.tblPadding + "\" cellspacing=\"" + oTblDetails.tblSpacing + "\" align=\"" + oTblDetails.Alignment + "\" class=\"wizard\">"
			sHTML += "<tr>"
			for (var nColsCount = 0; nColsCount < parseInt(oTblDetails.tblCols); nColsCount++) {
				sHTML += "<td";
				if (oTblDetails.headrBackground != "") {
					sHTML += " bgColor=\"" + oTblDetails.headrBackground + "\"";
				}
				else if (oTblDetails.evenRowBgColor != "") {
					sHTML += " bgColor=\"" + oTblDetails.evenRowBgColor + "\"";
				}
				if (oTblDetails.headrForeground != "") {
					sHTML += " style=\"color:" + oTblDetails.headrForeground + "\"";
				}
				else if (oTblDetails.evenRowColor != "") {
					sHTML += " style=\"color:" + oTblDetails.evenRowColor + "\"";
				}
				sHTML += ">&nbsp;</td>";
			}
			sHTML += "</tr>";
		
			for (var nRowsCount = 1 ; nRowsCount < parseInt(oTblDetails.tblRows); nRowsCount++) {
				sHTML += "<tr valign=\"top\">";
				for (var nColsCount = 0; nColsCount < parseInt(oTblDetails.tblCols); nColsCount++) {
					sHTML += "<td";
					if (nRowsCount % 2 == 0) {
						if (oTblDetails.evenRowBgColor != "") {
							sHTML += " bgColor=\"" + oTblDetails.evenRowBgColor + "\"";
						}
						if (oTblDetails.evenRowColor != "") {
							sHTML += " style=\"color:" + oTblDetails.evenRowColor + "\"";
						}
					}
					else {
						if (oTblDetails.oddRowBgColor != "") {
							sHTML += " bgColor=\"" + oTblDetails.oddRowBgColor + "\"";
						}
						if (oTblDetails.oddRowColor != "") {
							sHTML += " style=\"color:" + oTblDetails.oddRowColor + "\"";
						}
					}
					sHTML += ">&nbsp;</td>";
				}
				sHTML += "</tr>";
			}
			sHTML += "</table>";

			var oTextRange = document.selection.createRange();
			oTextRange.pasteHTML(sHTML);
		}
	}
}