function changeDisplay(id, e) { var div = document.getElementById(id); div.style.display = (div.style.display == 'block')? 'none': 'block'; if(!document.all) e.preventDefault(); }
function addVal(id, val) { wrapSelection(document.getElementById(id), '', val); }

function mozWrap(txtarea, lft, rgt) {
	var selLength = txtarea.textLength;
	var selStart = txtarea.selectionStart;
	var selEnd = txtarea.selectionEnd;
	if (selEnd==1 || selEnd==2) selEnd=selLength;
	var s1 = (txtarea.value).substring(0,selStart);
	var s2 = (txtarea.value).substring(selStart, selEnd)
	var s3 = (txtarea.value).substring(selEnd, selLength);
	txtarea.value = s1 + lft + s2 + rgt + s3;
}


function IEWrapCaret(txtarea, lft, rgt) {
    if(txtarea.createTextRange && txtarea.caretPos) {
         var caretPos = txtarea.caretPos;
         var txt = lft + caretPos.text + rgt;
         caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? txt + ' ' : txt;
	} else {
        txtarea.value = txtarea.value + txt;
    }
}

function storeCaret(txtarea) {
    if(txtarea.createTextRange) 
        txtarea.caretPos = document.selection.createRange().duplicate();
}

function wrapSelection(txtarea, lft, rgt) {
	if (document.all) { IEWrapCaret(txtarea, lft, rgt); }
	else if (document.getElementById) {mozWrap(txtarea, lft, rgt); }
}
