function findObj(n, d)
{
	var p,i,x;
	if(!d) d=document;
	if((p=n.indexOf("?"))>0&&parent.frames.length)
	{
	    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);
	}
	if(!(x=d[n])&&d.all) x=d.all[n];
	for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  	for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=findObj(n,d.layers[i].document); return x;
}

function showHideLayers()
{
	var i,p,v,obj,args=showHideLayers.arguments;
  	for (i=0; i<(args.length-2); i+=3) if ((obj=findObj(args[i]))!=null)
	{
		v=args[i+2];
    	if (obj.style)
		{
			obj=obj.style; v=(v=='show')?'visible':(v='hide')?'hidden':v;
		}
    	obj.visibility=v;
	}
}

function doCopyValue(nombretext,editor)
{
    document.sampleform.elements[nombretext].value = "" + frames[editor].document.body.innerHTML + "";
}


function trimIt(trimStr)
{
	var i = trimStr.length;
	while (trimStr.charAt(0) == " ")
            {
		trimStr = trimStr.substring(1,i)
		i = i-1;
	}
	while (trimStr.charAt(trimStr.length-1) == " ")
	{
		trimStr = trimStr.substring( 0,trimStr.length-1)
	}
	return trimStr;

}

function doMakeBold(nombretext,editor)
{
    // Get a text range for the selection
    var tr = frames[editor].document.selection.createRange()
    tr.execCommand("Bold")
    tr.select()
    doCopyValue(nombretext,editor);

}

function doCopy(nombretext,editor)
{
    // Get a text range for the selection
    var tr = frames[editor].document.selection.createRange()
    tr.execCommand("Copy", false)
   doCopyValue(nombretext,editor);
}

function doPaste(nombretext,editor)
{
    // Get a text range for the selection
    var tr = frames[editor].document.selection.createRange()
    tr.execCommand("Paste", false)
    doCopyValue(nombretext,editor);
}

function doInsertUL(nombretext,editor)
{
    // Get a text range for the selection
    var tr = frames[editor].document.selection.createRange()
    tr.execCommand("InsertUnorderedList", false)
    doCopyValue(nombretext,editor);
}

function doIndent(nombretext,editor)
{
    // Get a text range for the selection
    var tr = frames[editor].document.selection.createRange()
    tr.execCommand("Indent", false)
    doCopyValue(nombretext,editor);
}

function doUnIndent(nombretext,editor)
{
    // Get a text range for the selection
    var tr = frames[editor].document.selection.createRange()
    tr.execCommand("Outdent", false)
    doCopyValue(nombretext,editor);
}

function doMakeItalic(nombretext,editor)
{
    var tr = frames[editor].document.selection.createRange()
    tr.execCommand("Italic")
    tr.select()
    doCopyValue(nombretext,editor);
}

function doMakeUnderline(nombretext,editor)
{
    var tr = frames[editor].document.selection.createRange()
    tr.execCommand("Underline")
    tr.select()
    doCopyValue(nombretext,editor);
}

function doInsertLink(nombretext,editor)
{
    var tr = frames[editor].document.selection.createRange()
    tr.execCommand("CreateLink")
    tr.select()
    doCopyValue(nombretext,editor);
}

function doUnLink(nombretext,editor)
{
    var tr = frames[editor].document.selection.createRange()
    tr.execCommand("UnLink")
    tr.select()
    doCopyValue(nombretext,editor);
}

function getActiveText(e,editor)
{
	text = (frames[editor].document.all) ? frames[editor].document.selection.createRange().text : frames[editor].document.getSelection();
    return text;
}

function getPos(el,which)
{
    var iPos=0
    while (el.offsetParent!=null)
    {
      iPos+=el["offset"+which]
      el = el.offsetParent
      el.onfocus = new Function("displayToolbar(null,false)")
    }
    return iPos
}

function displayToolbar(ed, how)
{
    var eb = document.all.editbar
    if (how)
      eb.style.display = "block"
    else
      eb.style.display = "none"
    if (ed!=null) {
      eb.style.pixelTop = getPos(ed,"Top") + ed.offsetHeight + 1
      eb.style.pixelLeft = getPos(ed,"Left")
      eb._editor = window.frames[ed.id]
      eb._editor.setFocus()
    }
}


function doInsertComment(comment, highlightText, fullText)
{
    tempOne = eval("'" + highlightText + "'");
  	originalStr = new RegExp(tempOne);
    replaceStr  = "<a href=# title='" + comment + "'>" + highlightText + "</a>";
    fullText = fullText.replace(originalStr, replaceStr);
    alert(fullText);
    return(fullText);
}

function getComment(nombretext,editor)
{
	var theText    = getActiveText(editor);
    if (theText == "")
    {
        // Nothing is highlighted!
        alert("Please select some text to comment.");
    }
    else
    {
    	if (theComment = prompt("Please enter your comment:", ""))
        {
        	if (trimIt(theComment) != "")
            {
                oldMainSpace = document.sampleform.nombretext.value;
                document.sampleform.nombretext.value = doInsertComment(theComment, theText, oldMainSpace);
            }
        }
    }
    doRenderHTML(nombretext,editor);
    //doCopyValue();
}



function doFontName(what,nombretext,editor)
{
    var tr = frames[editor].document.selection.createRange()
    tr.execCommand("FontName", false, what)
    tr.select()
    doCopyValue(nombretext,editor);
}

function doFontSize(what,nombretext,editor)
{
    var tr = frames[editor].document.selection.createRange()
    tr.execCommand("FontSize", false, what)
    tr.select()
    doCopyValue(nombretext,editor);
}

function doCreateAnchor(nombretext,editor)
{
    var tr = frames[editor].document.selection.createRange()
    tr.execCommand("CreateBookmark")
    tr.select()
    doCopyValue(nombretext,editor);
}

function doFontColor(what,nombretext,editor)
{
    var tr = frames[editor].document.selection.createRange()
    tr.execCommand("ForeColor", false, what)
    tr.select()
    doCopyValue(nombretext,editor);
}

function doSelectAll(editor)
{
    var tr = frames[editor].document
    tr.execCommand("SelectAll", false, null)
}

function doPrint(editor)
{
    frames[editor].print();
}

function doJustify(where,nombretext,editor)
{
    var tr = frames[editor].document.selection.createRange()
    if (where == 'Left') tr.execCommand("JustifyLeft")
    else if (where == 'Right') tr.execCommand("JustifyRight")
    else if (where == 'Center') tr.execCommand("JustifyCenter")
    tr.select()
    doCopyValue(nombretext,editor);
}

function doSwapMode(b,editor)
{
    var eb = document.all.frames[editor]
    eb.swapModes()
    b.value = eb.format + " Mode"
}

function doSave(editor)
{
    var tr = frames[editor].document
    tr.execCommand("SaveAs", true)
}

function doRenderHTML(nombretext,editor)
{
	frames[editor].document.body.innerHTML=document.sampleform.nombretext.value;
}



function doSelectColor(val,nombretext,editor)
{
    var tr = frames[editor].document.selection.createRange()
    tr.execCommand("ForeColor", false, val)
    tr.select()
    doCopyValue(nombretext,editor);
}


