﻿// JScript File

 
var CurrentEditor;
var currentID;
var ua ;
var isIE; 
var isGecko;
var isSafari;
var isKonqueror;
var cssFile;
var includesPath;
var TotalEditor="";
var range;
var rootPath;
var readOnly=false;
var uploadPath;

function MiniEditor(Editor,width,height,imagesPath,blankPath)
{
    //root=rootPath;
    var ua = navigator.userAgent.toLowerCase();
	isIE = ((ua.indexOf("msie") != -1) && (ua.indexOf("opera") == -1) && (ua.indexOf("webtv") == -1)); 
	isGecko = (ua.indexOf("gecko") != -1);
	isSafari = (ua.indexOf("safari") != -1);
	isKonqueror = (ua.indexOf("konqueror") != -1);
	cssFile=blankPath+"myEditorCss.css";
	includesPath=blankPath;
	
	if (TotalEditor.length > 0)
	    TotalEditor += ";";
		TotalEditor += Editor;
		
        document.writeln('<div class="classEditor" id="allTool"' + Editor + '>');
            document.writeln('<iframe id="' + Editor + '" name="' + Editor + '" width="' + width + 'px" height="' + height + 'px" src="' + blankPath + 'blank.htm" onfocus="setCurrent(\'' + Editor + '\')"></iframe>');
            document.writeln('<iframe width="185" height="155" id="charmap' + Editor + '" src="' + includesPath + 'SpecialChar.htm" marginwidth="0" marginheight="0" scrolling="no" style="visibility:hidden; position: absolute;"></iframe>');
            //document.writeln('<td><input type="checkbox" id="chk"' + Editor + '" onclick=ReturnHTML(\''+Editor+'\')>Code</td>');
        document.writeln('</div>');
        
    EnableToWrite(Editor, '&nbsp;'); 
}

function EdtMiniEditor(Editor,width,height,imagesPath,blankPath,Text)
{
    //root=rootPath;
    var ua = navigator.userAgent.toLowerCase();
	isIE = ((ua.indexOf("msie") != -1) && (ua.indexOf("opera") == -1) && (ua.indexOf("webtv") == -1)); 
	isGecko = (ua.indexOf("gecko") != -1);
	isSafari = (ua.indexOf("safari") != -1);
	isKonqueror = (ua.indexOf("konqueror") != -1);
	cssFile=blankPath+"myEditorCss.css";
	includesPath=blankPath;
	
	if (TotalEditor.length > 0)
	    TotalEditor += ";";
		TotalEditor += Editor;
		
        document.writeln('<div class="classEditor" id="allTool"' + Editor + '>');
            document.writeln('<iframe id="' + Editor + '" name="' + Editor + '" width="' + width + 'px" height="' + height + 'px" src="' + blankPath + 'blank.htm" onfocus="setCurrent(\'' + Editor + '\')"></iframe>');
            document.writeln('<iframe width="185" height="155" id="charmap' + Editor + '" src="' + includesPath + 'SpecialChar.htm" marginwidth="0" marginheight="0" scrolling="no" style="visibility:hidden; position: absolute;"></iframe>');
            //document.writeln('<td><input type="checkbox" id="chk"' + Editor + '" onclick=ReturnHTML(\''+Editor+'\')>Code</td>');
        document.writeln('</div>');
        
    EnableToWrite(Editor, Text); 
}

function OpenText()
{
    var htmltext=document.getElementById("tEditor");
    textEditor.document.body.innerHTML=htmltext.value;
}

function NewMiniEditor(Editor,width,height,imagesPath,blankPath)
{
    //root=rootPath;
    var ua = navigator.userAgent.toLowerCase();
	isIE = ((ua.indexOf("msie") != -1) && (ua.indexOf("opera") == -1) && (ua.indexOf("webtv") == -1)); 
	isGecko = (ua.indexOf("gecko") != -1);
	isSafari = (ua.indexOf("safari") != -1);
	isKonqueror = (ua.indexOf("konqueror") != -1);
	cssFile=blankPath+"myEditorCss.css";
	includesPath=blankPath;
	uploadPath=blankPath+"Upload.aspx";
	
	if (TotalEditor.length > 0)
	    TotalEditor += ";";
		TotalEditor += Editor;
		
        document.writeln('<div class="classEditor" id="allTool"' + Editor + '>');
            /*****************************************************Format ToolBar*****************************************/
            document.writeln('<table class="classEditor" background="' + imagesPath + 'bg.gif" cellpadding="0" cellspacing="0" id="Table1' + Editor + '" width="' + width + '">');
                document.writeln('<tr>');
                    document.writeln('<td><img id="Start1" class="classImage" src="' + imagesPath + 'start.gif" width="7" height="25" >');
                    document.writeln('<img id="bold" class="classImage" src="' + imagesPath + 'bold.gif" width="25" height="25" alt="Bold" title="Bold" onClick="ExecuteCommand(\'' + Editor + '\', \'bold\', \'\')">');
                    document.writeln('<img id="italic" class="classImage" src="' + imagesPath + 'italic.gif" width="25" height="25" alt="Italic" title="Italic" onClick="ExecuteCommand(\'' + Editor + '\', \'italic\', \'\')">');
                    document.writeln('<img id="underline" class="classImage" src="' + imagesPath + 'underline.gif" width="25" height="25" alt="Underline" title="Underline" onClick="ExecuteCommand(\'' + Editor + '\', \'underline\', \'\')">');
                    document.writeln('<img id="seperator12" class="classImage" src="' + imagesPath + 'seperator.gif" width="6" height="25" >');
                    
                    document.writeln('<img id="sub" class="classImage" src="' + imagesPath + 'sub.gif" width="25" height="25" alt="Subscript" title="Subscript" onClick="ExecuteCommand(\'' + Editor + '\', \'subscript\', \'\')">');
                    document.writeln('<img id="sup" class="classImage" src="' + imagesPath + 'sup.gif" width="25" height="25" alt="Superscript" title="Superscript" onClick="ExecuteCommand(\'' + Editor + '\', \'superscript\', \'\')">');
                    document.writeln('<img id="seperator12" class="classImage" src="' + imagesPath + 'seperator.gif" width="6" height="25" >');
                    
                    document.writeln('<img class="rteImage" src="' + imagesPath + 'charmap.gif" width="20" height="20" alt="Special Character" title="Special Character" onClick="ShowDialog(\'' + Editor + '\', \'charmap\', \'charmap\')">');
                    document.writeln('<img class="classImage" src="' + imagesPath + 'insertimage.gif" width="25" height="25" alt="Insert Image" title="Insert Image" onClick="UploadImage(\''+ uploadPath + '\')">');//onClick="InsertImage('../TextEditor/Upload.aspx')"
                    document.writeln('<img id="seperator12" class="classImage" src="' + imagesPath + 'seperator.gif" width="6" height="25" >');

                    document.writeln('<div id="insertimage_' + Editor + '"></div>');
                    document.writeln('<div id="charmap_' + Editor + '"></div></td>');

                document.writeln('</tr>');
            document.writeln('</table>');
    
        /********************************************** Editor***********************************************/
            document.writeln('<iframe width="170" height="135" id="charmap' + Editor + '" src="' + includesPath + 'SpecialChar.htm" marginwidth="0" marginheight="0" scrolling="no" style="visibility:hidden; position: absolute;"></iframe>');
            document.writeln('<iframe id="' + Editor + '" name="' + Editor + '" width="' + width + 'px" height="' + height + 'px" src="' + blankPath + 'blank.htm" onfocus="setCurrent(\'' + Editor + '\')"></iframe>');
            
//            document.writeln('<td><input type="checkbox" id="chk"' + Editor + '" onclick=ReturnHTML(\''+Editor+'\')>Code</td>');

        document.writeln('</div>');
        
    EnableToWrite(Editor, '&nbsp;'); 
}

function EditNewMiniEditor(Editor,width,height,imagesPath,blankPath,text)
{
    //root=rootPath;
    var ua = navigator.userAgent.toLowerCase();
	isIE = ((ua.indexOf("msie") != -1) && (ua.indexOf("opera") == -1) && (ua.indexOf("webtv") == -1)); 
	isGecko = (ua.indexOf("gecko") != -1);
	isSafari = (ua.indexOf("safari") != -1);
	isKonqueror = (ua.indexOf("konqueror") != -1);
	cssFile=blankPath+"myEditorCss.css";
	includesPath=blankPath;
	uploadPath=blankPath+"Upload.aspx";
	
	if (TotalEditor.length > 0)
	    TotalEditor += ";";
		TotalEditor += Editor;
		
        document.writeln('<div class="classEditor" id="allTool"' + Editor + '>');
            /*****************************************************Format ToolBar*****************************************/
            document.writeln('<table class="classEditor" background="' + imagesPath + 'bg.gif" cellpadding="0" cellspacing="0" id="Table1' + Editor + '" width="' + width + '">');
                document.writeln('<tr>');
                    document.writeln('<td><img id="Start1" class="classImage" src="' + imagesPath + 'start.gif" width="7" height="25" >');
                    document.writeln('<img id="bold" class="classImage" src="' + imagesPath + 'bold.gif" width="25" height="25" alt="Bold" title="Bold" onClick="ExecuteCommand(\'' + Editor + '\', \'bold\', \'\')">');
                    document.writeln('<img id="italic" class="classImage" src="' + imagesPath + 'italic.gif" width="25" height="25" alt="Italic" title="Italic" onClick="ExecuteCommand(\'' + Editor + '\', \'italic\', \'\')">');
                    document.writeln('<img id="underline" class="classImage" src="' + imagesPath + 'underline.gif" width="25" height="25" alt="Underline" title="Underline" onClick="ExecuteCommand(\'' + Editor + '\', \'underline\', \'\')">');
                    document.writeln('<img id="seperator12" class="classImage" src="' + imagesPath + 'seperator.gif" width="6" height="25" >');
                    
                    document.writeln('<img id="sub" class="classImage" src="' + imagesPath + 'sub.gif" width="25" height="25" alt="Subscript" title="Subscript" onClick="ExecuteCommand(\'' + Editor + '\', \'subscript\', \'\')">');
                    document.writeln('<img id="sup" class="classImage" src="' + imagesPath + 'sup.gif" width="25" height="25" alt="Superscript" title="Superscript" onClick="ExecuteCommand(\'' + Editor + '\', \'superscript\', \'\')">');
                    document.writeln('<img id="seperator12" class="classImage" src="' + imagesPath + 'seperator.gif" width="6" height="25" >');
                    
                    document.writeln('<img class="rteImage" src="' + imagesPath + 'charmap.gif" width="20" height="20" alt="Special Character" title="Special Character" onClick="ShowDialog(\'' + Editor + '\', \'charmap\', \'charmap\')">');
                    document.writeln('<img class="classImage" src="' + imagesPath + 'insertimage.gif" width="25" height="25" alt="Insert Image" title="Insert Image" onClick="UploadImage(\''+ uploadPath + '\')">');//onClick="InsertImage('../TextEditor/Upload.aspx')"
                    document.writeln('<img id="seperator12" class="classImage" src="' + imagesPath + 'seperator.gif" width="6" height="25" >');

                    document.writeln('<div id="insertimage_' + Editor + '"></div>');
                    document.writeln('<div id="charmap_' + Editor + '"></div></td>');

                document.writeln('</tr>');
            document.writeln('</table>');
    
        /********************************************** Editor***********************************************/
            document.writeln('<iframe id="' + Editor + '" name="' + Editor + '" width="' + width + 'px" height="' + height + 'px" src="' + blankPath + 'blank.htm" onfocus="setCurrent(\'' + Editor + '\')"></iframe>');
            document.writeln('<iframe width="170" height="135" id="charmap' + Editor + '" src="' + includesPath + 'SpecialChar.htm" marginwidth="0" marginheight="0" scrolling="no" style="visibility:hidden; position: absolute;"></iframe>');
//            document.writeln('<td><input type="checkbox" id="chk"' + Editor + '" onclick=ReturnHTML(\''+Editor+'\')>Code</td>');

        document.writeln('</div>');
        
    EnableToWrite(Editor, text); 
}


function UploadImage(path) 
{
    settings="toolbar=no,location=no,directories=no,"+"status=no,menubar=no,scrollbars=yes,"+
            "resizable=no,width=400,height=250";
    window.open(path,"windowName",settings);
}
    
function ShowHideTool(Editor,Tool,chk)
{
    var toolID=Tool+Editor;
    var chkID=chk+Editor;
    
    var chkbox= document.getElementById(chkID);
    var ref = document.getElementById(toolID);
    
    if(chkbox.checked==true)
        ref.style.display="none";
    else
        ref.style.display="block";
    
}
/*********************************************Return the Generated Code******************************************/
function ReturnHTML(Editor)
{
	var oRTE = document.getElementById(Editor);
	alert( oRTE.contentWindow.document.body.innerHTML);
}

function BlankEditor(Editor)
{
    var oRTE = document.getElementById(Editor);
	oRTE.contentWindow.document.body.innerText="";
}

/***************************Show and Hide Unnecessary Dialog Like Color Palettee & Emotions**************************/
function ShowDialog(Editor,command,name) 
{
	setRange(Editor);
	var Dialogs="";
	if(name=="charmap")
	   Dialogs = new Array("charmap");
	else
	    Dialogs = new Array("colorpalettee", "emotion","inserttbl","charmap");
    var oDialog = document.getElementById(name + Editor);
    var buttonElement = document.getElementById(command + '_' + Editor);
    
    var iLeftPos = getOffsetLeft(buttonElement);
    var iTopPos = getOffsetTop(buttonElement) + (buttonElement.offsetHeight + 4);
    oDialog.style.left = (iLeftPos)+ 200 + "px";
    oDialog.style.top = (iTopPos)-10 + "px";
    
//    oDialog.style.left = (iLeftPos)+ "px";
//    oDialog.style.top = (iTopPos) + "px";
 
    if ((command == parent.command) && (Editor == CurrentEditor)) 
    {
	    if (oDialog.style.visibility == "hidden") 
		    showHideElement(oDialog, 'show');
	    else 
		    showHideElement(oDialog, 'hide');
    } 
    else 
    {
	    var TotEditor = TotalEditor.split(";");
	    for (var i = 0; i < TotEditor.length; i++) 
	    {
	        for(cnt=0;cnt<Dialogs.length;cnt++)
            {
		        showHideElement(Dialogs[cnt] + TotEditor[i], 'hide');
		    }
	    }
	    showHideElement(oDialog, 'show');
    }
	parent.command = command;
	CurrentEditor = Editor;
}



/*****************************************************Execute Selected Command************************************/
function ExecuteCommand(Editor,command,value)
{
    var objEditor;
    if (document.all) 
    	objEditor = frames[Editor];
    else 
        objEditor = document.getElementById(Editor).contentWindow;
        
    try
    {
    objEditor.focus();
    objEditor.document.execCommand(command,false,value);
    objEditor.focus();
    }
    catch(e){}
}



/*****************************************************Enable to Write in Editor*****************************************/
function EnableToWrite(Editor, html) 
{
	var frameHtml = "<html id=\"" + Editor + "\">\n";
	frameHtml += "<head>\n";
	frameHtml += "<link media=\"all\" type=\"text/css\" href=\"" + cssFile + "\" rel=\"stylesheet\">\n";
	frameHtml += "<style>\n";
	frameHtml += "body {\n";
    frameHtml += "	background: #FFFFFF;\n";
	frameHtml += "	margin: 0px;\n";
	frameHtml += "	padding: 0px;\n";
	frameHtml += "}\n";
	frameHtml += "</style>\n";
	frameHtml += "</head>\n";
	frameHtml += "<body>\n";
	frameHtml += html + "\n";
	frameHtml += "</body>\n";
	frameHtml += "</html>";
	if (document.all) 
	{
	    //for IE
		var objEditor = frames[Editor].document;
		objEditor.open();
		objEditor.write(frameHtml);
		objEditor.close();
		objEditor.designMode = "On";
	    killEnter(Editor);
	}
	else 
	{
	    document.getElementById(Editor).contentDocument.designMode = "on";
	    var objEditor = document.getElementById(Editor).contentWindow.document;
		objEditor.open();
		objEditor.write(frameHtml);
		objEditor.close();
    }
}



/*****************************************************Remove the Line spacing*************************************/
function killEnter(EditorEvent)
{
    //window.frames[Editor].focus();
    window.frames[EditorEvent].document.attachEvent("onkeydown", killReturnEnter);
    //editor=Editor;
}    

function killReturnEnter(event)
{
    var key=event.keyCode;
    if (key == 13 || event.which==13) 
    {
        temporary = unescape("%0A");
        window.frames[currentID].document.execCommand('paste',"",temporary);
        //window.frames[editor].document.execCommand('paste',"",temporary);
        return false;
    }
}

function setCurrent(id)
{
    currentID=id;
    window.frames[currentID].focus();
    return false;
}


/*****************************************************For Color Palettee*************************************/

function ColorPalette(Editor,command) 
{
	setRange(Editor);

	var oDialog = document.getElementById('colorpalettee' + Editor);
	var buttonElement = document.getElementById(command + '_' + Editor);
	var iLeftPos = getOffsetLeft(buttonElement);
	var iTopPos = getOffsetTop(buttonElement) + (buttonElement.offsetHeight + 4);
	oDialog.style.left = (iLeftPos+250) + "px";
	oDialog.style.top = (iTopPos+250) + "px";
	
	if ((command == parent.command) && (Editor == CurrentEditor)) 
	{
		//if current command dialog is currently open, close it
		if (oDialog.style.visibility == "hidden") 
			showHideElement(oDialog, 'show');
		else 
			showHideElement(oDialog, 'hide');
	} 
	else 
	{
		//if opening a new dialog, close all others
		var TotEditor = TotalEditor.split(";");
		for (var i = 0; i < TotEditor.length; i++) 
		{
			showHideElement('colorpalettee' + TotEditor[i], 'hide');
		}
		showHideElement(oDialog, 'show');
	}
	
	//save current values
	parent.command = command;
	CurrentEditor = Editor;
}

function setRange(Editor) 
{
	var oRTE;
	if (document.all) 
	{
		oRTE = frames[Editor];
		var selection = oRTE.document.selection; 
		if (selection != null) 
		    range = selection.createRange();
	} 
	else 
	{
		oRTE = document.getElementById(Editor).contentWindow;
		var selection = oRTE.getSelection();
		range = selection.getRangeAt(selection.rangeCount - 1).cloneRange();
	}
}	

function getOffsetLeft(currentObject) 
{
  var currentleft = 0;
  if (document.getElementById || document.all) 
  {
       while (currentObject.offsetParent) 
       {
          currentleft += currentObject.offsetLeft
          currentObject = currentObject.offsetParent;
       }
  }
  else
       if (document.layers)
          currentleft += currentObject.x;
  return currentleft;
}

function getOffsetTop(currentObject) 
{
   var currenttop = 0;
   if (document.getElementById || document.all) 
   {
      while (currentObject.offsetParent) 
      {
         currenttop += currentObject.offsetTop
         currentObject = currentObject.offsetParent;
      }
   }
   else 
        if (document.layers) currenttop += obj.y;
   return currenttop;
}

    
    
function getOffsetLeft1(elm) 
{
//debugger;
	var mOffsetLeft = elm.offsetLeft;
	var mOffsetParent = elm.offsetParent;
	var parents_up = 2;
	
	while(parents_up > 0) 
	{
		mOffsetLeft += mOffsetParent.offsetLeft;
		mOffsetParent = mOffsetParent.offsetParent;
		parents_up--;
	}
	alert(mOffsetLeft);
	return mOffsetLeft;
}

function getOffsetTop1(elm) 
{
//debugger;
	var mOffsetTop = elm.offsetTop;
	var mOffsetParent = elm.offsetParent;
	var parents_up = 2; //the positioning div is 2 elements up the tree
	
	while(parents_up > 0) 
	{
		mOffsetTop += mOffsetParent.offsetTop;
		mOffsetParent = mOffsetParent.offsetParent;
		parents_up--;
	}
	alert(mOffsetTop);
	return mOffsetTop;
}


function showHideElement(element, showHide) 
{
	//function to show or hide elements
	if (document.getElementById(element)) 
		element = document.getElementById(element);
	
	if (showHide == "show") 
		element.style.visibility = "visible";
	else if (showHide == "hide") 
		element.style.visibility = "hidden";
}

function setColor(color) 
{
	var Editor = CurrentEditor;
	var parentCommand = parent.command;
	
	if (document.all) 
	{
		//retrieve selected range
		var sel = frames[Editor].document.selection; 
		if (parentCommand == "hilitecolor") 
		    parentCommand = "backcolor";
		if (sel != null) 
		{
			var newRng = sel.createRange();
			newRng = range;
			newRng.select();
		}
	}
	
	ExecuteCommand(Editor, parentCommand, color);
	showHideElement('colorpalettee' + Editor, "hide");
}


/*********************************************Insert Special Character*****************************************/
function setChar(character) 
{
	var Editor = CurrentEditor;
	if (document.all) 
	{
		var sel = frames[Editor].document.selection; 
		if (sel != null) 
		{
			var newRng = sel.createRange();
			newRng = range;
			newRng.select();
		}
	}
	insertHTML(character);
	showHideElement('charmap' + Editor, "hide");
}

/*********************************************Insert Link but in IE*****************************************/
function InsertAndRemoveLink(Editor,command)
{
    var objEditor;
    if (document.all) 
    	objEditor = frames[Editor];
    else 
        objEditor = document.getElementById(Editor).contentWindow;
    
    if(isIE)
    {
        objEditor.document.execCommand(command,true,null);
        objEditor.focus();
    }
    else
       insertLink(Editor,command); 
}


/*********************************************Insert Link work both*****************************************/
function insertLink(Editor,command) 
{
	var szURL = prompt("Enter a URL for Link. To remove link from selected Text erase the http:// from TextBox.", "http://");
	try 
	{
	    if(command=='CreateLink')
		    ExecuteCommand(Editor, "CreateLink", szURL);
		else
	        ExecuteCommand(Editor, "Unlink", null);
	} 
	catch (e) 
	{
		//do nothing
	}
}


function insertHTML(html) 
{
	var rte = CurrentEditor;
	var oRTE;
	if (document.all) 
		oRTE = frames[rte];
	else 
		oRTE = document.getElementById(rte).contentWindow;
	
	oRTE.focus();
	if (document.all) 
		oRTE.document.selection.createRange().pasteHTML(html);
	else 
		oRTE.document.execCommand('insertHTML', false, html);
}


/*********************************************Insert Current Date and Time*****************************************/
function InsertDateAndTime(rte,command)
{
    CurrentEditor=rte;
    var oRTE,dateTime;
    if (document.all)
        oRTE = frames[rte];
	else 
	    oRTE = document.getElementById(rte).contentWindow;
	oRTE.focus();
	if(command=='CurrentDate')
    	dateTime=new Date().toLocaleDateString().toString();
    else
	    dateTime=new Date().toLocaleTimeString().toString();
	insertHTML(dateTime);
}




/*********************************************Insert Table*****************************************/
function dlgInsertTable(rte, command) 
{
	setRange(rte);
	parent.command = command;
	CurrentEditor = rte;
	var windowOptions = 'history=no,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=no,resizable=no,width=360,height=200,top=200,left=250';
	tblWindow=window.open(includesPath + 'insert_table.htm', 'InsertTable', windowOptions);
}


        /*******************************Work in IE only********************************/
function AddTable1() 
{ 
    var rte = CurrentEditor;
    //debugger;
    var oRTE;
    if (document.all)
        oRTE = frames[rte];
	else 
	    oRTE = document.getElementById(rte).contentWindow;
	oRTE.focus();

    var tdpad =   tblWindow.document.tableForm.padding.value; 
    var tdspace = tblWindow.document.tableForm.spacing.value; 
    var tborder = tblWindow.document.tableForm.border.value; 
    var twidthtype = (tblWindow.document.tableForm.widthType.value == "pixels") ? "" : "%"; 
    var twidth = tblWindow.document.tableForm.width.value;
    var tblWidth=twidth + twidthtype;
    
    var cols = tblWindow.document.tableForm.columns.value;
    var rows =tblWindow.document.tableForm.rows.value;
    var tdWidth=(parseInt(twidth))/cols;
    var Editor = document.getElementById(rte).contentWindow.document;
    
    var table =   Editor.createElement('table');
    var tbody = Editor.createElement('tbody'); 
    table.border = tborder; 
    table.cellPadding = tdpad; 
    table.cellSpacing = tdspace;
    table.width=tblWidth;
    
    for (var i=0; i<rows; i++)
    { 
        var row = Editor.createElement('tr'); 
        for (var j=0; j<cols; j++) 
        { 
            var cell = Editor.createElement('td');
            cell.width=tdWidth+"%";  
            cell.appendChild(Editor.createTextNode( ' ' )); 
            row.appendChild(cell); 
        } 
        tbody.appendChild(row); 
   } 
   table.appendChild(tbody);

   table=table.outerHTML;
   alert(table);
   insertHTML(table); 
   //oRTE.document.selection.createRange().pasteHTML(table); 
} 





/*********************************************Insert Image*****************************************/
function addImage(Path) 
{
//alert(location.host);
//alert(location.href);
//alert(self.location.hostname);
//alert(self.location.hash);
//alert(self.location.protocol);
//alert(location.pathname);
//alert(self.location.port);

var prt=self.location.protocol;
var prt1=self.location.host;
var prt2=self.location.port;
var prt3=self.location.pathname;

var p=prt+"//"+prt1+prt3;
//alert(p);

	imagePath = Path;
	if ((imagePath != null) && (imagePath != "")) 
	{
		ExecuteCommand(CurrentEditor, 'insertImage', imagePath);
	}
}



function stripHTML(oldString) 
{
	//function to strip all html
	var newString = oldString.replace(/(<([^>]+)>)/ig,"");
	
	//replace carriage returns and line feeds
   newString = newString.replace(/\r\n/g," ");
   newString = newString.replace(/\n/g," ");
   newString = newString.replace(/\r/g," ");
	
	//trim string
	newString = trim(newString);
	
	return newString;
}






//this function removes all the tags except Superscript & Subscrip. Made for miniEditor
function RemoveTag(text)
{
    var originaltext=text;
    var originallen=originaltext.length;
    var tempstr=originaltext;
    var finalstr="";
    
    var sub1,sub2,sub3,sub4,sub5,sub6,tag1,tag2,closingTag="";
    for(var i=0;i<originallen;i++)
    {
        var character=tempstr.charAt(i);
        if(character=="<")
        {
            sub1=tempstr.charAt(i);
            sub2=tempstr.charAt(i+1);
            sub3=tempstr.charAt(i+2);
            sub4=tempstr.charAt(i+3);
            sub5=tempstr.charAt(i+4);
            sub6=tempstr.charAt(i+5);
            
            tag1=sub1+sub2+sub3+sub4+sub5;
            tag2=tag1+sub6;
            
            if(tag1=="<SUB>" || tag1=="<sub>" || tag1=="<SUP>" || tag1=="<sup>")
            {
                finalstr=finalstr+tag1;
                tempstr=tempstr.replace(tag1,"");
                i=i-1;
            }
            else if(tag2=="</SUB>" || tag2=="</sub>" || tag2=="</SUP>" || tag2=="</sup>")
            {
                finalstr=finalstr+tag2;
                tempstr=tempstr.replace(tag2,"");
                i=i-1;
            }
            else
            {
                var findex=tempstr.indexOf(">");
                var firstTag=tempstr.substring(i,(findex+1));
                var flen=firstTag.length;
                
                for(var j=0;j<originallen;j++)
                {
                    var findfirsttag=tempstr.indexOf(firstTag);
                    if(findfirsttag>=0)
                    {
                        tempstr=tempstr.replace(firstTag,"");
                        
                        for(var k=1;k<flen;k++)
                        {
                            var endtagchar=firstTag.charAt(k);
                            if(endtagchar==" " || endtagchar==">")
                                break;
                            else
                                closingTag=closingTag+endtagchar;
                        }
                        closingTag="</"+closingTag+">";
                        tempstr=tempstr.replace(closingTag,"");
                        originallen=tempstr.length;
                        closingTag="";
                    }
                    else
                    {
                        i=i-1;
                        break;
                    }
                }
            }
        }
        else
            finalstr=finalstr+character;
    }
    //alert(tempstr);
    //document.getElementById(Editor).contentWindow.document.body.innerHTML=finalstr;
    if(finalstr=="")
        return tempstr;
    else
        return finalstr;
}



function removamp(text)
{
    var originaltext=text;
    var originallen=originaltext.length;
    
    for(var i=0;i<originallen;i++)
    {
        var findex=originaltext.indexOf("&amp;",i);
        var firstTag=originaltext.substring(findex,(findex+5));
        if(findex>=0)
        {
            originaltext=originaltext.replace(firstTag,"&");
            originallen=originaltext.length;
            i=findex;
        }
        else
        {
            break;
        }
    }
    return(originaltext);
}


function removeXMLandAMPandOP(text)
{
    var originaltext=text;
    var originallen=originaltext.length;
    
    //remove <?xml:> tag
    for(var i=0;i<originallen;i++)
    {
        var findex=originaltext.indexOf("<?xml:",i);
        var flidx=originaltext.indexOf(">",findex+1);
        var firstTag=originaltext.substring(findex,flidx+1);
        if(findex>=0)
        {
            originaltext=originaltext.replace(firstTag,"");
            originallen=originaltext.length;
            i=findex;
        }
        else
        {
            break;
        }
    }
    
    //replace the < and > sign of img tag only 
    for(var i=0;i<originallen;i++)
    {
        var findex=originaltext.indexOf("&lt;img src=",i);
        if(findex>=0)
        {
            var lindex=originaltext.indexOf("/&gt;",findex);
            var firstTag=originaltext.substring(findex,(lindex+5));
            var temporginaltag=firstTag;
            
            var ltindex=temporginaltag.indexOf("&lt;img src=",0);
            var ltTag=temporginaltag.substring(ltindex,(ltindex+4));
            temporginaltag=temporginaltag.replace(ltTag,"<");
            
            var gtindex=temporginaltag.indexOf("/&gt;",ltindex);
            var gtTag=temporginaltag.substring((gtindex+1),(gtindex+5));
            temporginaltag=temporginaltag.replace(gtTag,">");
            
            originaltext=originaltext.replace(firstTag,temporginaltag);
            originallen=originaltext.length;
        }
        else
        {
            break;
        }
    } 
    
           
    //replace &amp; to &
    for(var i=0;i<originallen;i++)
    {
        var findex=originaltext.indexOf("&amp;",i);
        var firstTag=originaltext.substring(findex,(findex+5));
        if(findex>=0)
        {
            originaltext=originaltext.replace(firstTag,"&");
            originallen=originaltext.length;
            i=findex;
        }
        else
        {
            break;
        }
    }
    
    //replace <o:p> tag
    for(var i=0;i<originallen;i++)
    {
        var findex=originaltext.indexOf("<o:p>",i);
        var firstTag=originaltext.substring(findex,(findex+5));
        if(findex>=0)
        {
            originaltext=originaltext.replace(firstTag,"");
            originallen=originaltext.length;
            i=findex;
        }
        else
        {
            break;
        }
    }
    //replace </o:p> tag
    for(var i=0;i<originallen;i++)
    {
        var findex=originaltext.indexOf("</o:p>",i);
        var firstTag=originaltext.substring(findex,(findex+6));
        if(findex>=0)
        {
            originaltext=originaltext.replace(firstTag,"");
            originallen=originaltext.length;
            i=findex;
        }
        else
        {
            break;
        }
    }
    
    //remove ' to " tag
        for(var i=0;i<originallen;i++)
        {
            var findex=originaltext.indexOf("'",i);
            var firstTag=originaltext.substring(findex-1,findex+2);
            if(findex>=0)
            {
                firstTag1=firstTag.replace(firstTag.substring(firstTag.indexOf("'",0),firstTag.indexOf("'",0)+1),"&#39;");
                originaltext=originaltext.replace(firstTag,firstTag1);
                originallen=originaltext.length;
                i=findex+1;
            }
            else
            {
                break;
            }
        }
    return(originaltext);
}


function LTandGTSymbol(text)
{

 //replace &lt; to &#60;
    var originaltext=text;
    var originallen=originaltext.length;
    for(var i=0;i<originallen;i++)
    {
        var findex=originaltext.indexOf("&lt;",i);
        var firstTag=originaltext.substring(findex,(findex+4));
        if(findex>=0)
        {
            originaltext=originaltext.replace(firstTag,"&#60");
            originallen=originaltext.length;
            i=findex;
        }
        else
        {
            break;
        }
    }
    
     //replace &gt; to &#62;;
    for(var i=0;i<originallen;i++)
    {
        var findex=originaltext.indexOf("&gt;",i);
        var firstTag=originaltext.substring(findex,(findex+4));
        if(findex>=0)
        {
            originaltext=originaltext.replace(firstTag,"&#62;");
            originallen=originaltext.length;
            i=findex;
        }
        else
        {
            break;
        }
    }
     return originaltext;
}
