function showError(anode, n, def, prompt) {
    // varr msg = "Javascript is running function showError on error" + n;
    // alert(msg);

    // Highlight error, set focus, set error message
    anode.style.color = 'green';
    document.form1.efocus.value = n;
    var errorParagraph = document.getElementById('errorMessage');

    var newtext = document.createTextNode(prompt + ": " + def);
    if(errorParagraph.hasChildNodes()) {
        var emsgNode = errorParagraph.firstChild;
        errorParagraph.removeChild(emsgNode);
        errorParagraph.appendChild(newtext);
        // errorParagraph.replaceChild(newtext,emsgNode);
    }
    else {
        errorParagraph.appendChild(newtext);
    }

    // Set correction text field to error sting
    var error = document.getElementsByName("hiddenError" + n)[0];
    var etext = error.getAttribute('value');
    document.form1.correctField.value = etext;

    // Set radio buttons to replacements
    var replParagraph = document.getElementById('replParagraph');
    var oldRadio = replParagraph.childNodes;
    numkids = oldRadio.length;
    for(var j=numkids-1; j >=0; j--) {
        replParagraph.removeChild(oldRadio[j]);
    }
    var hiddenrepl = document.getElementsByName("hiddenReplacements" + n);
    var bIsIE = (String(navigator.userAgent).search(/MSIE/) != -1) ? true : false;
    for(var i=0; i < hiddenrepl.length; i++) {
        var replItem = hiddenrepl[i];
        var item = replItem.getAttribute('value');

        if(bIsIE) {
            if(i == 0) {
                var radio =
                    document.createElement("<input type='radio' name='replacement' value='" + item + "' checked='true' onclick='radioCheck(this);' />");
                document.form1.correctField.value = item;
            }
            else {
                var radio =
                    document.createElement("<input type='radio' name='replacement' value='" + item + "' onclick='radioCheck(this);' />");
            }
        }
        else {
            var radio = document.createElement('input');
            radio.setAttribute('type', 'radio');
            radio.setAttribute('name', 'replacement');
            radio.setAttribute('value', item);
            radio.setAttribute('onClick', "radioCheck(this);");
            if(i==0) {
                radio.checked = 'true';
                document.form1.correctField.value = item;
            }

        }
        replParagraph.appendChild(radio);
        var label = document.createTextNode(item);
        replParagraph.appendChild(label);
        var br = document.createElement('br');
        replParagraph.appendChild(br);
    }
}

function radioCheck(radio) {
    // Transfer radio button value to the correction field
    document.form1.correctField.value = radio.getAttribute('value');
}

function changeTo() {
    // Do Inline Correction using correction field
    var correction = document.form1.correctField.value;
    var n = document.form1.efocus.value;

    if(n >= 0) {
        // Correct the hiddenError field
        var error = document.getElementsByName("hiddenError" + n)[0];
        error.setAttribute('value',correction);

        // Correct the highlighted text node and change color
        var anode = document.getElementsByName("error" + n)[0];
        anode.firstChild.nodeValue = correction;
        anode.style.color = '#996666';
    }
    else {
        alert("Need to select a highlighted text");
    }
    return false;

}


function showHideDiv(idx) {
    if (document.getElementById && document.createTextNode) {
        m = document.getElementById("menu");
        trig = m.getElementsByTagName("div").item(idx).style.display;
        t = m.getElementsByTagName("h5").item(idx);
        h = t.getElementsByTagName("a").item(0).firstChild;
        if (trig == "block") 
            trig = "none";
        else if (trig == "" || trig == "none") 
            trig = "block";
        if (trig == "none") {
            h.nodeValue = h.nodeValue.replace('-', '+');
//             h.nodeValue = h.nodeValue.replace(highlighttext, normaltext);
//             t.style.background = normalbackground;
//             t.style.color = normalcolour;
        } else {
            h.nodeValue = h.nodeValue.replace('+', '-');
//             h.nodeValue = h.nodeValue.replace(normaltext, highlighttext);
//             t.style.background = highlightbackground;
//             t.style.color = highlightcolour;
        }
        m.getElementsByTagName("div").item(idx).style.display = trig;
    }
}



// Adding backwards compatibility
// RS: ??? making menu initially hidden ???
if (document.getElementById && document.createTextNode) {
    document.write('<style type="text/css">#menu div{display:none;}</style>');
//    document.write('<style type="text/css">#menu div{display:block;}</style>');
}



// for gsiStart.cgi (only)
function setPrompt(prompt, title) {
    document.form.title.value=title;
    document.form.prompt.value=prompt;
}

Xoffset=-50;    // modify these values to ...
Yoffset=30;    // change the popup position.
var old,skn,iex=(document.all),yyy=-1000;

var ns4=document.layers
var ns6=document.getElementById&&!document.all
var ie4=document.all

if (ns4)
skn=document.dek
else if (ns6)
skn=document.getElementById("dek").style
else if (ie4)
skn=document.all.dek.style
if(ns4)document.captureEvents(Event.MOUSEMOVE);
else{
skn.visibility="visible"
skn.display="none"
}

document.onmousemove=get_mouse;

function popup(msg,bak){
var content="<TABLE WIDTH=300 BORDER=2 BORDERCOLOR=#cccc99 CELLPADDING=2 CELLSPACING=0 "+
"BGCOLOR="+bak+"><TD ALIGN=left><FONT FACE='Arial, Verdana, Helvetica, sans-serif' COLOR=black SIZE=2>"+msg+"</FONT></TD></TABLE>";
yyy=Yoffset;
 if(ns4){skn.document.write(content);skn.document.close();skn.visibility="visible"}
 if(ns6){document.getElementById("dek").innerHTML=content;skn.display=''}
 if(ie4){document.all("dek").innerHTML=content;skn.display=''}
}

function get_mouse(e){
var x=(ns4||ns6)?e.pageX:event.x+document.body.scrollLeft;
skn.left=x+Xoffset;
var y=(ns4||ns6)?e.pageY:event.y+document.body.scrollTop;
skn.top=y+yyy;
}

function kill(){
yyy=-1000;
if(ns4){skn.visibility="hidden";}
else if (ns6||ie4)
skn.display="none"
}
